ซอฟต์ฟอร์กคืออะไร? คำอธิบายเกี่ยวกับการอัปเกรดบล็อกเชน
เมื่อเกิดซอฟต์ฟอร์ก กฎของบล็อกเชนจะเข้มงวดขึ้น ไม่ใช่หย่อนลง โหนดเก่าที่ไม่ได้เข้าร่วมการอัปเกรด? พวกมันก็ยังคงติดตามบล็อกใหม่ต่อไปอยู่ดี ไม่มีปัญหา ไม่มีการแยกสายโซ่ คุณอาจเคยได้ยินคำนี้มาก่อนในการอัปเกรด Bitcoin เช่น SegWit หรือ Taproot และสงสัยว่าอะไรคือสิ่งที่แตกต่างระหว่างซอฟต์ฟอร์กกับฮาร์ดฟอร์ก
นี่คือคำอธิบายแบบง่ายๆ ข้ามศัพท์เฉพาะทางไปได้เลย คุณถือคริปโตเคอร์เรนซี รันโหนด หรือแค่สงสัยว่าทำไมการอัปเกรดบางอย่างถึงก่อให้เกิดความวุ่นวาย ในขณะที่บางอย่างกลับผ่านไปโดยไม่มีใครสังเกตเห็น? โดยทั่วไปแล้วมันมักจะมาจากความแตกต่างข้อนี้ข้อเดียว
Soft Fork ใน Blockchain คืออะไร?
ซอฟต์ฟอร์กทำให้กฎของบล็อกเชนเข้มงวดขึ้น ไม่ใช่ผ่อนคลายลง บล็อกที่เคยผ่านการตรวจสอบภายใต้กฎเดิมอาจถูกปฏิเสธในตอนนี้ แต่บล็อกที่ปฏิบัติตามกฎใหม่ที่เข้มงวดกว่านั้น ซอฟต์แวร์เก่าก็ยังคงยอมรับว่าถูกต้องอยู่
เคล็ดลับสำคัญอยู่ที่ความเข้ากันได้แบบทางเดียวนี้เอง โหนดเก่าๆ ไม่เข้าใจกฎใหม่ๆ อย่างละเอียด และเอาจริงๆ แล้ว พวกมันก็ไม่จำเป็นต้องเข้าใจด้วยซ้ำ พวกมันแค่เห็นบล็อกที่ดูเหมือนถูกต้อง แล้วก็ทำงานต่อไปโดยไม่รู้ว่าส่วนหนึ่งของสิ่งที่เคยใช้ได้นั้น ตอนนี้ใช้ไม่ได้อีกต่อไปแล้ว
ฮาร์ดฟอร์กพลิกสถานการณ์นี้ พวกมันคลายกฎหรือเขียนกฎใหม่ทั้งหมดในแบบที่โหนดเก่าไม่สามารถตรวจสอบได้ ความเข้มงวดกับการคลายกฎ ความแตกต่างเพียงเล็กน้อยนี้จะตัดสินว่าการอัปเกรดจะทำให้ทุกคนอยู่บนเชนเดียวกันหรือจะแบ่งเครือข่ายออกเป็นสองส่วน
ลองนึกภาพตามนี้ดีกว่า: มันคือคู่มือที่หดเล็กลง ไม่ใช่การเขียนใหม่ ก่อนการแยกสายโค้ด บล็อกบางประเภทจะถือว่าถูกต้อง หลังจากนั้น ช่วงของบล็อกเหล่านั้นจะหดเล็กลง บล็อกบางประเภทที่เคยผ่านการตรวจสอบ ตอนนี้กลับถูกบล็อกโดยโหนดที่ได้รับการอัปเกรดแล้ว แต่ส่วนสำคัญคือ บล็อกทุกประเภทที่ยอมรับได้ภายใต้กฎใหม่ ก็เคยใช้ได้ภายใต้กฎเก่าเช่นกัน ไม่มีอะไรใหม่ได้รับอนุญาตให้เข้ามา มีแต่ของเก่าที่ถูกปิดกั้น นั่นคือเหตุผลทั้งหมดที่ทำให้ซอฟต์แวร์ที่ยังไม่ได้แก้ไขยังคงทำงานได้ราวกับไม่มีอะไรเกิดขึ้น
ซอฟต์ฟอร์กทำงานอย่างไรกันแน่?
หลักการทำงานนั้นขึ้นอยู่กับพฤติกรรมของโหนดและการตรวจสอบความถูกต้องของกฎ โดยคร่าวๆ แล้วมันทำงานดังนี้:
- นักพัฒนาเสนอการเปลี่ยนแปลงที่จำกัดขอบเขตของธุรกรรมหรือบล็อกที่ถูกต้อง โดยปกติเพื่อแก้ไขข้อจำกัดหรือเพิ่มความสามารถใหม่
- ชุมชนและผู้ดำเนินการโหนดจะตรวจสอบ ทดสอบ และอภิปรายข้อเสนอ โดยมักจะผ่านกระบวนการที่เป็นทางการ เช่น ข้อเสนอการปรับปรุง Bitcoin (BIPs)
- ผู้ขุดหรือผู้ตรวจสอบความถูกต้องจะเริ่มส่งสัญญาณสนับสนุนกฎใหม่ โดยมักจะผ่านกลไกที่ฝังอยู่ในบล็อกที่พวกเขาสร้างขึ้น
- เมื่อสัญญาณถึงระดับการเปิดใช้งาน ซึ่งโดยทั่วไปจะอยู่ที่ประมาณ 90-95% ของบล็อกล่าสุด กฎใหม่จะถูกบังคับใช้โดยโหนดที่ได้รับการอัปเกรด
- โหนดที่ยังไม่ได้อัปเกรดจะยังคงตรวจสอบความถูกต้องของบล็อกโดยใช้ตรรกะเดิม เนื่องจากกฎใหม่เป็นส่วนหนึ่งของกฎเดิม บล็อกที่ตรงตามกฎใหม่จึงตรงตามกฎเดิมด้วย ดังนั้นโหนดที่ยังไม่ได้อัปเกรดจึงยอมรับบล็อกเหล่านั้นได้โดยไม่มีปัญหา
- เครือข่ายยังคงทำงานต่อไปในรูปแบบห่วงโซ่เดียว โดยโหนดที่ได้รับการอัปเกรดจะบังคับใช้กฎที่เข้มงวดกว่า ในขณะที่โหนดที่ยังไม่ได้รับการอัปเกรดจะได้รับประโยชน์จากกฎเหล่านั้นโดยปริยายโดยไม่ต้องบังคับใช้กฎเหล่านั้นอย่างเป็นทางการ
ผลลัพธ์ที่ได้คือ การอัปเกรดแบบเรียลไทม์ที่ไม่จำเป็นต้องให้ผู้เข้าร่วมทุกคนดำเนินการพร้อมกัน นั่นคือเหตุผลที่ซอฟต์ฟอร์กเป็นเครื่องมือหลักสำหรับการปรับปรุงบล็อกเชนทั่วไป สิ่งหนึ่งที่ควรเน้นย้ำคือ โหนดที่ไม่ได้รับการอัปเกรดไม่ได้บังคับใช้กฎใหม่ด้วยตนเอง พวกเขาเพียงแค่ใช้ประโยชน์จากพลังการประมวลผลหลักของเครือข่ายที่บังคับใช้กฎเหล่านั้นสำหรับทุกคน ซึ่งเป็นส่วนหนึ่งที่ทำให้การยอมรับของนักขุดมีความสำคัญอย่างมากต่อความเร็วและความปลอดภัยของการอัปเกรดซอฟต์ฟอร์ก

ส้อมนุ่มกับส้อมแข็ง: ความแตกต่างที่แท้จริงคืออะไร?
คำถามเรื่องซอฟต์ฟอร์กกับฮาร์ดฟอร์กเกิดขึ้นบ่อยครั้ง และคำตอบสั้นๆ ก็คือเรื่องความเข้ากันได้ ซอฟต์ฟอร์กจะจำกัดขอบเขตของกฎเกณฑ์ให้แคบลงจนซอฟต์แวร์เก่าๆ ยังยอมรับได้ ส่วนฮาร์ดฟอร์กจะเปลี่ยนกฎเกณฑ์ไปอย่างสิ้นเชิงจนซอฟต์แวร์เก่าๆ ปฏิเสธโดยสิ้นเชิง
| ด้าน | ส้อมนุ่ม | ฮาร์ดฟอร์ค |
|---|---|---|
| ทิศทางของกฎ | เข้มงวดขึ้นและจำกัดขอบเขตของบล็อกที่ถูกต้อง | หลวมขึ้นหรือเปลี่ยนแปลงไปโดยพื้นฐาน |
| ใช้งานร่วมกับเวอร์ชันเก่าได้หรือไม่? | ใช่ โหนดเก่ารับบล็อกใหม่ได้ | ไม่ โหนดเก่าปฏิเสธบล็อกใหม่ |
| จำเป็นต้องอัปเกรดทั้งระบบหรือไม่? | เลขที่ | ใช่ หรือไม่เช่นนั้นโซ่ก็จะแตกออก |
| ความเสี่ยงของการแตกแยกของห่วงโซ่ | ต่ำ | มีโอกาสสูงหากความเห็นไม่เป็นเอกฉันท์ |
| จำเป็นต้องมีการประสานงาน | การส่งสัญญาณของนักขุด/ผู้ตรวจสอบความถูกต้อง | ข้อตกลงเครือข่ายฉบับเต็ม |
| ตัวอย่าง | เซกวิต, แทปรูท | Bitcoin Cash แยกตัวออกมาจาก Bitcoin |
โดยทั่วไปแล้ว ซอฟต์ฟอร์กมักมีความเสี่ยงน้อยกว่า เนื่องจากเครือข่ายไม่จำเป็นต้องเห็นพ้องต้องกันอย่างเป็นเอกฉันท์และในทันที ในขณะที่ฮาร์ดฟอร์กนั้นก่อให้เกิดความวุ่นวายมากกว่า เนื่องจากใครก็ตามที่ไม่ทำการอัปเกรดให้ทันเวลา จะเหลือเพียงการใช้งานบล็อกเชนที่แตกต่างและเข้ากันไม่ได้
นั่นเป็นเหตุผลว่าทำไมฮาร์ดฟอร์กจึงมักเป็นข่าวใหญ่ ในขณะที่ซอฟต์ฟอร์กแทบจะไม่ได้รับความสนใจเลย ฮาร์ดฟอร์กมักมาพร้อมกับสัญลักษณ์หุ้นใหม่ การจดทะเบียนในตลาดแลกเปลี่ยนใหม่ และการถกเถียงกันในที่สาธารณะว่าเชนใดคือโครงการ "ที่แท้จริง" ในขณะที่ซอฟต์ฟอร์กมักจะแสดงออกมาในรูปแบบของการเพิ่มหมายเลขเวอร์ชันในซอฟต์แวร์กระเป๋าเงินของคุณ โดยที่ผู้ใช้ส่วนใหญ่ไม่เคยสังเกตเห็นการเปลี่ยนแปลงกฎเกณฑ์พื้นฐานเลย
ตัวอย่างจริงของซอฟต์ฟอร์กในบิตคอยน์และอื่นๆ
ซอฟต์ฟอร์กไม่ใช่แนวคิดเชิงทฤษฎี บิตคอยน์ใช้มันซ้ำแล้วซ้ำเล่าเพื่อเพิ่มฟังก์ชันการทำงานโดยไม่เคยแยกเครือข่ายออกเป็นส่วนๆ ด้วยกำลังบังคับ
- SegWit (2017): Segregated Witness ได้ปรับโครงสร้างวิธีการนับข้อมูลธุรกรรมเพื่อกำหนดขนาดบล็อก แก้ไขข้อผิดพลาดที่เรียกว่า transaction malleability และวางรากฐานสำหรับ Lightning Network นับเป็นตัวอย่างของ soft fork ที่ถูกอ้างถึงมากที่สุดในประวัติศาสตร์ของ Bitcoin
- Taproot (2021): นำเสนอรูปแบบลายเซ็น Schnorr และปรับปรุงความเป็นส่วนตัวและประสิทธิภาพสำหรับธุรกรรมที่ซับซ้อน ในขณะเดียวกันก็ยังคงใช้งานร่วมกับโหนดที่ยังไม่ได้อัปเกรดได้
- P2SH (2012): Pay-to-Script-Hash ทำให้วิธีการแสดงกระเป๋าเงินแบบหลายลายเซ็นและสคริปต์ที่คล้ายกับสัญญาอัจฉริยะบนบล็อกเชนนั้นง่ายขึ้น โดยไม่บังคับให้เกิดการแบ่งเครือข่าย
- BIP66 (2015): บังคับใช้การเข้ารหัส DER อย่างเข้มงวดสำหรับลายเซ็นดิจิทัล ปิดช่องโหว่ทางเทคนิคที่อาจทำให้เกิดความไม่สอดคล้องกันในการตรวจสอบความถูกต้อง
แต่ละมาตรการเหล่านี้ได้เพิ่มความเข้มงวดของกฎเกณฑ์ของ Bitcoin ในลักษณะที่เฉพาะเจาะจงและรอบคอบ และแต่ละมาตรการก็ถูกนำมาใช้โดยไม่แบ่งแยกชุมชนออกเป็นสองสกุลเงินที่แข่งขันกัน
เหตุใดนักพัฒนาจึงเลือกใช้ Soft Fork มากกว่า Hard Fork
หากเลือกได้ นักพัฒนาหลักของ Bitcoin และ Ethereum ส่วนใหญ่จะเลือกใช้ซอฟต์ฟอร์กก่อน และไม่ใช่แค่เพราะความชอบทางเทคนิคเท่านั้น เหตุผลนั้นค่อนข้างสมเหตุสมผล
ประการแรก ไม่มีใครถูกบังคับให้ต้องอัปเกรดในวันเดียวกัน กระเป๋าเงินดิจิทัล ตลาดแลกเปลี่ยน และกลุ่มผู้ขุดเหรียญดิจิทัล สามารถย้ายระบบได้ตามกำหนดการของตนเอง แทนที่จะต้องแข่งกับกำหนดเส้นตายที่ตายตัว ความยืดหยุ่นในระดับใหญ่เช่นนี้มีความสำคัญอย่างมาก เนื่องจากเป็นการยากที่จะให้ผู้ดำเนินการอิสระหลายพันรายประสานงานการอัปเกรดพร้อมกัน
นอกจากนี้ยังมีเรื่องของความเป็นเอกภาพ การแยกเครือข่ายแบบซอฟต์ฟอร์กช่วยรักษาเครือข่ายและเหรียญไว้เป็นหนึ่งเดียว ไม่มีโทเค็นคู่แข่งปรากฏขึ้น ไม่มีตลาดแลกเปลี่ยนใดต้องเลือกว่าเครือข่ายใดเป็น "ของจริง" ไม่มีชุมชนใดแตกแยกออกเป็นกลุ่มๆ เพื่อโต้เถียงเรื่องความถูกต้อง สำหรับเครือข่ายการชำระเงินโดยเฉพาะแล้ว ความเสถียรแบบนี้มีค่ามากทีเดียว
ความสามารถในการย้อนกลับก็มีความสำคัญเช่นกัน เนื่องจากโหนดเก่าๆ ไม่เคยบังคับใช้กฎใหม่ด้วยตนเองอย่างเต็มที่ การซอฟต์ฟอร์กที่ผิดพลาดบางครั้งอาจสามารถแก้ไขได้ง่ายกว่าการย้อนกลับฮาร์ดฟอร์กที่สร้างเหรียญใหม่ขึ้นมาซึ่งสามารถซื้อขายได้อย่างอิสระแล้ว
ความเสี่ยงและข้อจำกัดของซอฟต์ฟอร์ก
การแยกเครือข่ายแบบค่อยเป็นค่อยไป (Soft fork) ไม่ได้ปราศจากความเสี่ยง แม้ว่าจะโดยทั่วไปแล้วจะถูกมองว่าเป็นเส้นทางที่ปลอดภัยกว่าก็ตาม มีข้อจำกัดที่สำคัญบางประการที่เราควรรู้
- โหนดที่ยังไม่ได้อัปเกรดจะยังคงตรวจสอบความถูกต้องของบล็อกภายใต้กฎเดิม ซึ่งหมายความว่าโหนดเหล่านั้นไม่สามารถตรวจสอบได้อย่างอิสระว่าเงื่อนไขเฉพาะของกฎใหม่นั้นได้รับการบังคับใช้อย่างถูกต้องหรือไม่ จึงต้องอาศัยเสียงส่วนใหญ่เป็นหลัก
- หากกลุ่มผู้ขุดจำนวนมากพอปฏิเสธที่จะอัปเกรดและยังคงผลิตบล็อกภายใต้กฎเดิมต่อไป สถานการณ์ที่ขัดแย้งก็อาจเกิดขึ้นได้ ซึ่งบางครั้งอาจส่งผลให้เกิดการแตกแยกโดยพฤตินัย แม้ว่าการแยกเครือข่ายนั้นจะเป็นแบบ "อ่อน" ก็ตาม
- การพึ่งพาการส่งสัญญาณจากผู้ขุดอย่างมากหมายความว่าการเปิดใช้งานซอฟต์ฟอร์กอาจได้รับอิทธิพลจากความเข้มข้นของกลุ่มผู้ขุด ซึ่งก่อให้เกิดคำถามที่สมเหตุสมผลเกี่ยวกับความเป็นศูนย์กลางของกระบวนการในทางปฏิบัติอย่างแท้จริง
- การปรับใช้ซอฟต์ฟอร์กบางรูปแบบอย่างปลอดภัยนั้นซับซ้อนกว่าที่คิด เนื่องจากนักพัฒนาต้องตรวจสอบให้แน่ใจว่ากฎใหม่เป็นส่วนย่อยที่เข้มงวดของกฎเดิมอย่างแท้จริง ความผิดพลาดใดๆ ก็อาจสร้างช่องโหว่ในการตรวจสอบที่ไม่คาดคิดได้
ทั้งหมดนี้ไม่ได้ทำให้ซอฟต์ฟอร์กเป็นอันตราย เพียงแต่หมายความว่า "ใช้งานร่วมกับเวอร์ชันก่อนหน้าได้" ไม่ได้หมายความว่า "ปราศจากความเสี่ยง" และการประสานงานยังคงมีความสำคัญแม้ว่าจะไม่มีการแยกเวอร์ชันอย่างเด็ดขาดก็ตาม

วิธีการเปิดใช้งาน Soft Fork บนบล็อกเชน
การเขียนโค้ดใหม่เพียงอย่างเดียวไม่ได้ทำให้ซอฟต์ฟอร์กใช้งานได้จริง ต้องมีคนตรวจสอบว่าเครือข่ายพร้อมใช้งานจริงหรือไม่ ซึ่งเป็นงานที่ต้องอาศัยการประสานงาน
บิตคอยน์ได้เปลี่ยนวิธีการต่างๆ มาใช้หลายวิธีแล้ว วิธีคลาสสิกคือการส่งสัญญาณแบบ BIP9: นักขุดจะใส่เครื่องหมายเล็กๆ ลงในบล็อกที่พวกเขาขุดได้ ซึ่งโดยพื้นฐานแล้วเป็นการยกมือขึ้นเพื่อบอกว่า "พร้อมแล้ว" เมื่อบล็อกล่าสุดจำนวนมากพอ (โดยปกติประมาณ 95%) ยกมือขึ้นภายในช่วงเวลาที่กำหนด กฎใหม่ก็จะเริ่มมีผลบังคับใช้ จากนั้นจึงค่อยบังคับใช้
วิธีการเปิดใช้งานแบบใหม่ๆ เช่น Speedy Trial และซอฟต์ฟอร์กแบบต่างๆ ที่ผู้ใช้เปิดใช้งานเอง ได้เกิดขึ้นมาส่วนหนึ่งเพราะการส่งสัญญาณจากนักขุดเพียงอย่างเดียวอาจหยุดชะงักได้หากกลุ่มนักขุดตอบสนองช้าหรือไม่เต็มใจด้วยเหตุผลทางการเมือง กลไกทางเลือกเหล่านี้ทำให้ผู้ดำเนินการโหนดและชุมชนในวงกว้างมีอิทธิพลโดยตรงมากขึ้นต่อการอัปเกรดว่าจะเกิดขึ้นจริงหรือไม่ แทนที่จะปล่อยให้การตัดสินใจเป็นของนักขุดทั้งหมด
การเปิดใช้งาน Taproot ในปี 2021 เป็นตัวอย่างที่ดีที่แสดงให้เห็นว่าวิธีการเหล่านี้สามารถทำงานร่วมกันได้อย่างไร Taproot ใช้กระบวนการส่งสัญญาณที่ได้รับการปรับปรุงเรียกว่า Speedy Trial ซึ่งกำหนดช่วงเวลาที่สั้นลงและชัดเจนสำหรับนักขุดในการส่งสัญญาณความพร้อม โดยมีเส้นทางสำรองที่จะช่วยให้ชุมชนสามารถเปิดใช้งานการอัปเกรดได้แม้ว่าจะไม่ได้รับการสนับสนุนจากนักขุดอย่างเต็มที่ก็ตาม ในทางปฏิบัติแล้วเส้นทางสำรองนั้นมีความสำคัญน้อยกว่า เนื่องจากสัญญาณผ่านไปได้ด้วยดี แต่การมีอยู่ของมันแสดงให้เห็นว่าการออกแบบการเปิดใช้งานได้พัฒนาไปไกลมากแล้วนับตั้งแต่ซอฟต์ฟอร์กยุคแรกๆ ของ Bitcoin ซึ่งขับเคลื่อนโดยนักขุดเพียงอย่างเดียว
ข้อคิดส่งท้าย
การพัฒนาของเครือข่ายบล็อกเชนส่วนใหญ่เป็นไปอย่างเงียบๆ ค่อยเป็นค่อยไป และไม่แตกแยก การควบคุมกฎเกณฑ์ให้เข้มงวดขึ้นแทนที่จะผ่อนปรน จะทำให้เครือข่ายสามารถเพิ่มฟีเจอร์ แก้ไขข้อบกพร่อง ทำงานได้คล่องตัวขึ้น และยังคงใช้งานได้สำหรับผู้ที่ไม่เคยอัปเกรดมาก่อน ธุรกิจที่เลือกใช้โครงสร้างพื้นฐานคริปโตควรต้องการสิ่งเดียวกัน การปรับปรุงที่สร้างขึ้นบนรากฐานที่มั่นคงและเป็นหนึ่งเดียว ไม่ใช่การเปลี่ยนแปลงแบบฉับพลัน Plisio ก็มีแนวโน้มเช่นนั้นเช่นกัน: เสถียร เข้ากันได้ และสร้างขึ้นมาเพื่อให้ทำงานได้อย่างต่อเนื่อง แม้ว่าเครือข่ายเบื้องล่างจะเปลี่ยนแปลงไปเรื่อยๆ ก็ตาม