นักพัฒนาโปรโตคอลมักจะมองว่าอนาคตของ Bitcoin ในแง่ร้ายมากกว่า Bitcoiners ส่วนใหญ่ การเปิดรับความไม่สมบูรณ์ของ Bitcoin ในแต่ละวันจะกำหนดมุมมองที่สงบสุขอย่างแน่นอน และสิ่งสำคัญคือต้องสะท้อนถึงความสำเร็จของ Bitcoin ทุกคนในโลก ไม่ว่าเชื้อชาติ อายุ เพศ สัญชาติ หรือเกณฑ์ใดๆ ก็ตาม สามารถจัดเก็บและโอนมูลค่าบนเครือข่ายการเงินที่เป็นกลางได้อย่างแข็งแกร่งกว่าที่เคย อย่างไรก็ตาม Bitcoin มีปัญหาที่ชาว Bitcoin จำนวนมากไม่ทราบ แต่อาจคุกคามโอกาสในระยะยาวได้หากไม่ได้รับการแก้ไขอย่างเหมาะสม ช่องโหว่ที่แก้ไขโดย Consensus Cleanup เป็นตัวอย่างหนึ่ง
การล้างข้อมูลฉันทามติ (BIP 541) เป็นข้อเสนอ delicate fork ที่มุ่งแก้ไขช่องโหว่ที่มีมายาวนานหลายรายการภายในโปรโตคอลฉันทามติของ Bitcoin เนื่องจากเป็นข้อเสนอ delicate fork จึงแยกออกจากความพยายามของ Bitcoin Core อื่นๆ ส่วนใหญ่ที่นำเสนอในฉบับนี้ แม้ว่าข้อเสนอดังกล่าวจะเคยได้รับการสนับสนุนจากบุคคลที่เกี่ยวข้องกับโครงการ Bitcoin Core มาก่อน แต่จริงๆ แล้วข้อเสนอดังกล่าวอยู่ในหมวดหมู่การพัฒนาโปรโตคอล Bitcoin ที่กว้างกว่า
เราจะอธิบายแต่ละข้อจากข้อเสนอทั้งสี่รายการ โดยอธิบายถึงผลกระทบของปัญหาที่ได้รับการจัดการและแนวทางการแก้ไขที่นำไปใช้ เราจะหารือถึงวิธีที่การบรรเทาผลกระทบที่เสนอมีการพัฒนาเพื่อแก้ไขคำติชมตลอดจนช่องโหว่ที่พบใหม่ เราจะจบด้วยภาพรวมโดยย่อเกี่ยวกับสถานะปัจจุบันของข้อเสนอ delicate fork
เครือข่าย Bitcoin ปรับความยากในการขุดเพื่อรักษาอัตราการบล็อกเฉลี่ยหนึ่งต่อ 10 นาที ข้อผิดพลาด “ปิดทีละจุด” (ข้อผิดพลาดในการเขียนโปรแกรมทั่วไป) ในการใช้งานจะเปิดการโจมตีที่เรียกว่าการโจมตี Timewarp โดยที่นักขุดส่วนใหญ่สามารถเร่งอัตราการผลิตบล็อกโดยการควบคุมความยากลำบากให้ลดลง
โชคดีที่การโจมตีนี้ต้องใช้เกณฑ์ของนักขุดมากกว่า 51% แต่การเร่งความเร็วของอัตราการบล็อกโดยไม่ตั้งใจนั้นถือเป็นปัญหาสำคัญ หมายความว่าโหนดเต็มรูปแบบไม่สามารถควบคุมการใช้ทรัพยากรได้อีกต่อไป และผู้โจมตีสามารถเร่งกำหนดการปล่อยเงินอุดหนุน Bitcoin ได้อย่างมาก
แม้ว่าจะต้องใช้ “นักขุด 51%” แต่ก็ถือเป็นการเบี่ยงเบนที่สำคัญจากรูปแบบภัยคุกคาม Bitcoin มาตรฐาน การโจมตี 51% ตามปกติจะช่วยให้นักขุดสามารถป้องกันการยืนยันธุรกรรมได้ตราบเท่าที่พวกเขายังคงได้เปรียบอยู่ แต่การมีอยู่ของจุดบกพร่องนี้ทำให้พวกเขามีอำนาจทำลายเครือข่ายได้ภายในเวลาเพียง 38 วัน โดยการลดความยุ่งยากของเครือข่ายลงอย่างรวดเร็ว
แทนที่จะทำลายเครือข่าย มีความเป็นไปได้มากกว่าที่ผู้โจมตีจะใช้ประโยชน์จากจุดบกพร่องนี้ในระดับที่เล็กลง นักขุดในปัจจุบันสามารถประสานงานเพื่อเพิ่มอัตราการบล็อกเป็นสี่เท่า (เป็น 2.5 บล็อกนาที) ในขณะเดียวกันก็รักษาเครือข่าย Bitcoin ให้อยู่ในสภาพที่ดูเหมือนทำงาน เพิ่มพื้นที่บล็อกที่มีอยู่สี่เท่าอย่างมีประสิทธิภาพ และขโมยเงินอุดหนุนบล็อกจากนักขุดในอนาคต ผู้ใช้ที่มีสายตาสั้นอาจได้รับแรงจูงใจให้สนับสนุนการโจมตีนี้ เนื่องจากพื้นที่บล็อกที่มากขึ้นจะทำให้ค่าธรรมเนียม -ceteris paribus- ลดลงสำหรับธุรกรรม onchain แน่นอนว่าสิ่งนี้จะต้องสร้างความเสียหายให้กับรันเนอร์แบบเต็มโหนดและบ่อนทำลายเสถียรภาพในระยะยาวของเครือข่าย

การโจมตี Timewarp ใช้ประโยชน์จากความจริงที่ว่าระยะเวลาในการปรับความยากไม่ทับซ้อนกัน ทำให้สามารถตั้งค่าการประทับเวลาแบบบล็อกเพื่อให้ช่วงเวลาใหม่ปรากฏขึ้นก่อนที่ช่วงเวลาก่อนหน้าจะเสร็จสิ้น เนื่องจากการทับซ้อนกันอาจเป็นการฮาร์ดฟอร์ค การบรรเทาที่ดีที่สุดถัดไปคือการเชื่อมโยงการประทับเวลาของบล็อกเข้ากับขอบเขตของช่วงการปรับความยาก ข้อกำหนด BIP 54 กำหนดว่าบล็อกแรกของช่วงเวลาไม่สามารถมีการประทับเวลาเร็วกว่าบล็อกสุดท้ายของช่วงเวลาก่อนหน้าเกินกว่าสองชั่วโมง
นอกจากนี้ ข้อกำหนด BIP 54 กำหนดว่าระยะเวลาในการปรับเปลี่ยนความยากลำบากต้องใช้เวลาเป็นค่าบวกเสมอ นั่นคือ สำหรับช่วงระยะเวลาการปรับความยากที่กำหนด บล็อกสุดท้ายจะต้องไม่มีการประทับเวลาเร็วกว่าบล็อกแรก แปลกใจที่เรื่องนี้ไม่เป็นเช่นนั้นใช่ไหม? เราแปลกใจที่มันจำเป็นจริงๆ ปรากฎว่านี่เป็นวิธีแก้ไขง่ายๆ สำหรับการโจมตีอันชาญฉลาดที่เกี่ยวข้องกับ Timewarp ซึ่งผู้พัฒนานามแฝง Zawy และ Mark “Murch” Erhardt ได้คิดขึ้นมาเมื่อตรวจสอบข้อเสนอ Consensus Cleanup
นักขุดทุกคนสามารถใช้ประโยชน์จากการดำเนินการตรวจสอบที่มีราคาแพงเพื่อสร้างบล็อกที่ใช้เวลานานในการตรวจสอบ ในขณะที่บล็อก Bitcoin ปกติใช้เวลาในการตรวจสอบลำดับร้อยมิลลิวินาที แต่เวลาตรวจสอบสำหรับ “บล็อกการโจมตี” เหล่านี้มีตั้งแต่มากกว่าสิบนาทีบนคอมพิวเตอร์ระดับไฮเอนด์ไปจนถึงสูงสุดสิบชั่วโมงบน Raspberry Pi (ตัวเลือกฮาร์ดแวร์โหนดเต็มรูปแบบยอดนิยม)
ผู้โจมตีที่มีแรงจูงใจจากภายนอกอาจใช้ประโยชน์จากสิ่งนี้เพื่อขัดขวางเครือข่ายทั้งหมด ในขณะที่การโจมตีในรูปแบบที่มีเหตุผลทางเศรษฐกิจมากกว่า นักขุดสามารถชะลอการแข่งขันได้นานพอที่จะเพิ่มผลกำไรโดยไม่สร้างการหยุดชะงักของเครือข่ายในวงกว้าง
ความพยายามในอดีตในการบรรเทาปัญหานี้เป็นเรื่องที่สับสนวุ่นวาย เนื่องจากต้องมีข้อจำกัดในความสามารถในการเขียนสคริปต์ของ Bitcoin ข้อจำกัดดังกล่าวมีศักยภาพในการถูกริบ ซึ่งเป็นสิ่งสำคัญอย่างยิ่งในการหลีกเลี่ยงในการออกแบบ delicate fork ที่ร้ายแรงใดๆ
Nice Consensus Cleanup ประจำปี 2019 ของ Matt Corallo เสนอให้แก้ปัญหาเวลาตรวจสอบบล็อกที่ยาวเหล่านี้โดยทำให้การดำเนินการที่ไม่ชัดเจนสองสามรายการในสคริปต์ที่ไม่ใช่ Segwit (“แบบเดิม”) เป็นโมฆะ บางคนตั้งข้อกังวลว่าแม้ว่าธุรกรรมที่ใช้การดำเนินการเหล่านั้นจะไม่ได้รับการถ่ายทอดหรือขุดโดยค่าเริ่มต้นโดย Bitcoin Core เป็นเวลาหลายปี แต่บางคนอาจยังขึ้นอยู่กับมันโดยที่ทุกคนไม่รู้ แน่นอนว่าสิ่งนี้จะต้องได้รับการชั่งน้ำหนักกับความเสี่ยงในทางปฏิบัติสำหรับผู้ใช้ Bitcoin ทุกคนของนักขุดที่ใช้ประโยชน์จากปัญหานี้
แม้ว่าข้อกังวลเรื่องการริบทรัพย์นั้นค่อนข้างเป็นไปตามทฤษฎี แต่ก็มีประเด็นทางปรัชญาเกี่ยวกับวิธีการพัฒนาโปรโตคอล Bitcoin ในการพยายามออกแบบการบรรเทาที่เหมาะสมสำหรับช่องโหว่ที่มีพื้นผิวการริบน้อยที่สุดที่เป็นไปได้ การทำซ้ำข้อเสนอ Consensus Cleanup ในภายหลังของฉันได้แก้ไขข้อกังวลนี้ด้วยการแนะนำขีดจำกัดที่ระบุพฤติกรรมที่เป็นอันตรายได้อย่างแม่นยำ โดยไม่ทำให้การดำเนินการสคริปต์ Bitcoin ใด ๆ ที่เฉพาะเจาะจงเป็นโมฆะ
ส่วนหัวของบล็อก Bitcoin มีรูทของ Merkle ที่ยอมรับธุรกรรมทั้งหมดในบล็อก ทำให้สามารถให้หลักฐานที่กระชับได้ว่าธุรกรรมที่กำหนดเป็นส่วนหนึ่งของห่วงโซ่ที่มีหลักฐานการทำงานจำนวนหนึ่ง โดยทั่วไปจะเรียกว่า “หลักฐาน SPV”
เนื่องจากจุดอ่อนในการออกแบบแผนผัง Merkle รวมถึงธุรกรรมขนาด 64 ไบต์ที่สร้างขึ้นเป็นพิเศษในบล็อก ทำให้ผู้โจมตีสามารถปลอมแปลงหลักฐานดังกล่าวสำหรับธุรกรรมปลอมโดยพลการ (ไม่มีอยู่จริง) สิ่งนี้อาจใช้เพื่อหลอกลวงผู้ตรวจสอบ SPV ซึ่งมักใช้เพื่อตรวจสอบการชำระเงินที่เข้ามาหรือการฝากเข้าในระบบด้านข้าง มีการบรรเทาผลกระทบที่ทำให้ผู้ตรวจสอบสามารถปฏิเสธการพิสูจน์ที่ไม่ถูกต้องดังกล่าวได้ อย่างไรก็ตาม สิ่งเหล่านี้มักถูกมองข้าม—แม้กระทั่งโดยผู้เชี่ยวชาญด้านการเข้ารหัส—และอาจยุ่งยากในบางบริบท
การล้างข้อมูลฉันทามติแก้ไขปัญหานี้โดยทำให้ธุรกรรมที่มีขนาดซีเรียลไลซ์เป็น 64 ไบต์เป็นโมฆะ ธุรกรรมดังกล่าวไม่สามารถปลอดภัยได้ตั้งแต่แรก (พวกเขาสามารถเผาเงินหรือปล่อยให้ใครก็ตามใช้จ่ายเท่านั้น) และไม่ได้รับการส่งต่อหรือขุดโดยค่าเริ่มต้นโดย Bitcoin Core ตั้งแต่ปี 2019 มีการหารือถึงแนวทางทางเลือกอื่น ๆ เช่นวิธีการแบบกลมในการปรับปรุงการบรรเทาผลกระทบที่มีอยู่กแต่ผู้เขียนเลือกที่จะแก้ไขต้นตอของปัญหา โดยไม่จำเป็นต้องให้ผู้ดำเนินการใช้มาตรการบรรเทาผลกระทบ และไม่จำเป็นต้องรู้เกี่ยวกับช่องโหว่ตั้งแต่แรกด้วยซ้ำ
ก: ยอมรับความลึกของต้นไม้ Merkle ในส่วนของฟิลด์เวอร์ชันของส่วนหัวของบล็อก
“Mirco… Mezzo… Macroflation—Overheated Financial system” เป็นหัวข้อของบล็อกโพสต์4 Russell O’Connor ตีพิมพ์ในเดือนกุมภาพันธ์ 2555 ซึ่งเขาอธิบายว่าธุรกรรม Bitcoin สามารถทำซ้ำได้อย่างไร นี่เป็นข้อบกพร่องที่สำคัญใน Bitcoin ซึ่งทำลายสมมติฐานพื้นฐานที่ว่าตัวระบุธุรกรรม (แฮช) นั้นไม่ซ้ำกัน เนื่องจากธุรกรรม coinbase ของผู้ขุดมีอินพุตว่างเพียงช่องเดียว ซึ่งหมายความว่าธุรกรรม coinbase ใด ๆ ที่มีเอาต์พุตเดียวกันจะมีตัวระบุธุรกรรมที่เหมือนกัน
สิ่งนี้ได้รับการแก้ไขโดยนักพัฒนา Bitcoin Core (ในขณะนั้นยังคงเรียกว่า “Bitcoin”) ด้วย BIP 302ซึ่งจำเป็นต้องมีโหนดเต็มรูปแบบเพื่อทำการตรวจสอบเพิ่มเติมเมื่อได้รับบล็อก การตรวจสอบเพิ่มเติมนั้นไม่จำเป็นอย่างเคร่งครัดในการแก้ปัญหา และได้รับการดำเนินการด้านข้างด้วย BIP 343 ปีเดียวกัน น่าเสียดายที่การแก้ไขที่นำมาใช้ใน BIP 34 นั้นไม่สมบูรณ์ และจะต้องมีการตรวจสอบเพิ่มเติม BIP 30 อีกครั้งใน 20 ปี นอกเหนือจากที่ไม่จำเป็นอย่างเคร่งครัด การตรวจสอบนี้ไม่สามารถทำได้โดยการออกแบบไคลเอ็นต์ Bitcoin ทางเลือก เช่น Utreexo และจะป้องกันไม่ให้ตรวจสอบความถูกต้องของบล็อกเชนอย่างมีประสิทธิภาพ
การล้างข้อมูลฉันทามติแนะนำการแก้ไขปัญหาที่มีประสิทธิภาพยิ่งขึ้นและรองรับอนาคตได้ ธุรกรรม Bitcoin ทั้งหมด รวมถึงธุรกรรม coinbase มีช่องสำหรับ “ล็อคเวลา” ธุรกรรม ค่าของฟิลด์แสดงถึงความสูงของบล็อกสุดท้ายที่ธุรกรรมไม่ถูกต้อง ข้อกำหนด BIP 54 กำหนดให้ธุรกรรม coinbase ทั้งหมดตั้งค่าฟิลด์นี้เป็นความสูงของบล็อก (ลบ 1)
เมื่อรวมกับคำแนะนำอันชาญฉลาดจาก Anthony Cities เพื่อให้แน่ใจว่าการตรวจสอบการล็อคเวลาจะเกิดขึ้นเสมอ สิ่งนี้รับประกันได้ว่าจะไม่มีการรวมธุรกรรม coinbase ที่มีมูลค่าการล็อคเวลาเดียวกันไว้ในบล็อกก่อนหน้า สิ่งนี้รับประกันได้ว่าไม่มีธุรกรรม coinbase ใดที่อาจมีตัวระบุที่ไม่ซ้ำกัน (แฮช) เหมือนธุรกรรมในอดีต โดยไม่ต้องมีการตรวจสอบ BIP 30
ช่องโหว่ที่แก้ไขโดย Consensus Cleanup (BIP 54) ไม่ใช่ภัยคุกคามต่อ Bitcoin ในขณะนี้ แม้ว่าบางส่วนอาจทำลายเครือข่ายได้ แต่ก็ยังไม่น่าจะถูกนำไปใช้ประโยชน์ในตอนนี้ อย่างไรก็ตาม สิ่งนี้อาจเปลี่ยนแปลงได้ และเป็นสิ่งสำคัญยิ่งที่เราจะลดความเสี่ยงระยะยาวต่อเครือข่าย Bitcoin ในเชิงรุก แม้ว่าจะหมายถึงต้องแบกรับภาระระยะสั้นในการประสานงาน delicate fork ก็ตาม
งานเกี่ยวกับการล้างข้อมูลฉันทามติเริ่มต้นจากข้อเสนอเดิมของ Matt Corallo ในปี 2019 ซึ่งมารวมกันในอีก 6 ปีต่อมาด้วยการตีพิมพ์ BIP 54 ของฉัน และการนำ delicate fork ไปใช้งานใน Bitcoin Inquisition ซึ่งเป็นการทดสอบการเปลี่ยนแปลงฉันทามติของ Bitcoin ตลอดเวลานี้ข้อเสนอได้รับการตอบรับอย่างมาก มีการพิจารณาทางเลือกต่างๆ และการบรรเทาจุดอ่อนเพิ่มเติม ฉันเชื่อว่าตอนนี้พร้อมที่จะแบ่งปันกับผู้ใช้ Bitcoin เพื่อประกอบการพิจารณาแล้ว
การล้างข้อมูลฉันทามติเป็นทางแยกที่นุ่มนวล นักพัฒนาโปรโตคอล Bitcoin เลือกการปรับปรุงที่จะจัดลำดับความสำคัญและเผยแพร่ต่อสาธารณะ แต่การตัดสินใจขั้นสุดท้ายในการเปลี่ยนแปลงกฎฉันทามติของ Bitcoin นั้นขึ้นอยู่กับผู้ใช้ ทางเลือกเป็นของคุณ

อย่าพลาดโอกาสในการเป็นเจ้าของ ประเด็นหลัก — นำเสนอบทความที่เขียนโดย Core Builders หลายคนที่อธิบายโครงการที่พวกเขาทำด้วยตัวเอง!
งานชิ้นนี้เป็นจดหมายจากบรรณาธิการที่นำเสนอล่าสุด พิมพ์ นิตยสาร Bitcoin ฉบับ The Core Concern เรากำลังแชร์แนวคิดนี้ที่นี่เพื่อเป็นการดูแนวคิดต่างๆ ที่ได้รับการสำรวจในฉบับเต็มตั้งแต่เนิ่นๆ
(1) https://github.com/bitcoin/bips/blob/grasp/bip-0054.md
(2) https://github.com/bitcoin/bips/blob/grasp/bip-0030.mediawiki
(3) https://github.com/bitcoin/bips/blob/grasp/bip-0034.mediawiki
