Spacechains: ข้อเสนอ Bitcoin Sidechain ใหม่นี้ทำงานอย่างไร

โหนดต้นทาง: 1544330

Spacechains เป็น Bitcoin sidechain ที่นำเสนอกลไกการตรึงแบบทางเดียวโดยใช้การออกแบบเหมืองแบบ blind merge

แนวคิดของ sidechains เป็นกลไกการขยายขนาดและคุณลักษณะสำหรับ Bitcoin เป็นแนวคิดที่เก่ามาก แนวคิดพื้นฐานของ "บรรพบุรุษ" ของ sidechains รวมโซ่ขุดย้อนกลับไปก่อนที่ Satoshi จะหายตัวไป

ข้อเสนอนั้นเป็นเพียงแนวคิดของโซ่สองสายที่แยกจากกันโดยสิ้นเชิงและไม่เกี่ยวข้องกันซึ่งถูกขุดโดยกลุ่มคนงานเหมืองเดียวกัน โดยไม่มีความสามารถในการเคลื่อนย้ายสิ่งใดๆ ระหว่างโซ่ ดิ ข้อเสนอ sidechain ดั้งเดิม ถูกสร้างขึ้นในปี 2014 โดยผู้คนจำนวนมากที่ค้นพบ Blockstream อย่างแท้จริงหนึ่งสัปดาห์หรือมากกว่านั้นหลังจากที่บทความถูกตีพิมพ์ แนวคิดพื้นฐานคือการสามารถเคลื่อนย้ายเหรียญไปมาระหว่างบล็อคเชน Bitcoin หลักและไซด์เชนอื่น ๆ ด้วยหลักฐานการตรวจสอบการชำระเงินอย่างง่าย (SPV) ที่ใช้ในการพิสูจน์สิ่งต่าง ๆ นั้นถูกต้องเมื่อคุณส่งเหรียญจากโซ่หนึ่งไปยังอีกสายหนึ่ง สิ่งนี้ไม่เคยเกิดขึ้นเนื่องจากความซับซ้อนในการดำเนินการเกี่ยวกับการปรับโครงสร้างองค์กรใหม่ โอกาสในการขโมยและความเสี่ยงของการรวมศูนย์การขุด (ซึ่งทั้งหมดสามารถอ่านได้ในส่วนที่สี่ของ กระดาษขาว Bitcoin).

กลไกการตรึงสำหรับไซด์เชนสามารถมีได้สองแบบ ทางเดียวและสองทาง ความหมายควรชัดเจน — ใน Peg coin แบบสองทางสามารถเคลื่อนที่ไปมาระหว่าง chain parent และ sidechain และในหมุดแบบทางเดียว พวกเขาสามารถย้ายจาก chain parent ไปยัง sidechain เท่านั้นและไม่เคยย้ายกลับ ในปัจจุบัน รูปแบบเฉพาะของ sidechain pegs แบบสองทางที่ใช้กับ Bitcoin นั้นผ่านฉันทามติของสหพันธรัฐ ซึ่งหมายความว่า peg นั้นได้รับการค้ำประกันโดยกลุ่ม "custodian" ที่น่าเชื่อถือซึ่งรักษาการควบคุมเงินที่ผูกไว้กับ sidechain ในกระเป๋าเงิน multisig จนกว่าจะถูกถอนออก

อย่างไรก็ตาม ผู้คนยังคงทำงานออกแบบอื่นๆ สำหรับหมุดด้านข้างที่ไม่ได้ถูกรวมเข้าด้วยกัน ฉันจะพูดถึงข้อเสนอ Spacechain ของ Ruben Somsen เป็นตัวอย่างหนึ่ง เป็นกลไกการตรึงทางเดียวโดยใช้การออกแบบทุ่นระเบิดแบบผสมผสาน คล้ายกับ พอล สทตอร์กของ ซึ่งหมายความว่าเหรียญสามารถเข้าไปใน sidechain ได้เท่านั้นและไม่มีวันออกไปได้ และนักขุดไม่ต้องรันซอฟต์แวร์ใหม่เพื่อรับค่าตอบแทนสำหรับการขุด sidechain (แต่ผมจะกล่าวในภายหลังว่าพวกเขาจะได้ประโยชน์มากขึ้นจากการทำเช่นนั้น)

ข้อเสนอ Spacechain

การทำเหมืองแบบรวมต้องใช้ผู้ขุดเพื่อเรียกใช้โหนดของทั้งสาย Bitcoin และสายอื่น ๆ ที่พวกเขากำลังขุด เพื่อรวบรวมบล็อกสำหรับทั้งสองสายและผูกพันกับพวกเขาในส่วนหัวของบล็อก Bitcoin ที่พวกเขากำลังขุด การทำเหมืองแบบ Blind Merge ใช้ประโยชน์จากข้อเท็จจริงที่ว่าในความเป็นจริง นักขุด Bitcoin จำเป็นต้องมีส่วนหัวของบล็อกเชนอื่น ๆ เพื่อผูกมัดในบล็อก Bitcoin ของพวกเขาเท่านั้น คนอื่นอาจประสบปัญหาในการรวบรวมบล็อกสำหรับอีกสายหนึ่ง

กลไกที่สมเสนเสนอมานี้ใช้ได้ ANYPREVOT (APO) เพื่อให้การแข่งขันแบบเปิดสำหรับทุกคนสามารถแข่งขันเพื่อสร้างบล็อกไซด์เชนถัดไปได้ โดยรับประกันว่าจะสามารถคอมมิตได้เพียงหนึ่งบล็อกต่อบล็อกเชนหลักของ Bitcoin ข้อดีอีกประการของข้อเสนอของ Ruben คือไม่ต้องใช้ซอฟต์ฟอร์กเฉพาะเพื่อให้สามารถปรับใช้ spacechains ได้ มีการเสนอ Eltoo/ANYPREVOUT เพื่อประโยชน์ของ Lightning Network ซึ่งช่วยให้ statechas มีความยืดหยุ่น เช่นเดียวกับช่องทางการผลิต Spacechains เป็นอีกทางเลือกหนึ่งของหลาย ๆ สิ่งที่ทำให้ ANYPREVOUT สามารถปูทางได้

แนวคิดทั่วไปของข้อเสนอการขุดแบบ blind merged ของเขาคือ การใช้ APO ช่วยให้คุณสามารถกำหนดชุดธุรกรรมที่มีความยาวซึ่งใช้ UTXO เริ่มต้นแบบเดียวกันที่ป้อนเข้าไปและมุ่งมั่นที่จะสร้างมันขึ้นมาใหม่เสมอ ดังนั้น ลองนึกภาพ UTXO satoshi เดียว โดยแต่ละธุรกรรมที่สร้างไว้ล่วงหน้ารับประกันว่า UTXO เดียวกันจะถูกสร้างขึ้นใหม่เป็นเอาต์พุตเมื่อได้รับการยืนยัน คิดว่ามันเหมือนกับเครื่องหมายประเภทหนึ่ง UTXO พิเศษนี้เป็นตัวระบุที่ช่วยให้ทุกคนที่ดูบล็อคเชน Bitcoin หลักรู้ว่า “นี่คือที่ที่ฉันพบความมุ่งมั่นในการบล็อกของ sidechain X” สิ่งนี้ทำให้เกิดปัญหาอย่างหนึ่ง: ค่าธรรมเนียมการขุด หากต้องสร้าง UTXO ใหม่ด้วยจำนวนเท่ากัน จะไม่มีเงินจ่ายค่าธรรมเนียม

สิ่งนี้สามารถจัดการได้โดยใช้ ซิกแฮช_ซิงเกิล (ลายเซ็นจากอินพุทเท่านั้นที่บ่งชี้ว่าอินพุทเดียวและเอาท์พุทที่สอดคล้องกัน) และ SIGHASH_ใครๆ ก็สามารถชำระเงินได้ (ผู้คนสามารถเพิ่มอินพุตและเอาต์พุตเพิ่มเติมได้อย่างอิสระโดยไม่ทำให้ลายเซ็นเป็นโมฆะ ตราบใดที่อินพุต/เอาต์พุตโดยใช้ SIGHASH_SINGLE ถูกปล่อยทิ้งไว้ เพื่อไม่ให้ลายเซ็นนั้นเป็นโมฆะ) จากนั้นทุกคนสามารถเพิ่มอินพุตและเปลี่ยนเอาต์พุตเพื่อชำระค่าธรรมเนียมการขุดสำหรับการทำธุรกรรม

นี่เป็นกลไกที่ใช้ในการคอมมิตกับส่วนหัวบล็อกของบล็อกไซด์เชน เช่นเดียวกับที่ Taproot ผูกมัดกับแผนผังของเงื่อนไขการใช้จ่ายที่แตกต่างกันโดยการปรับแต่งคีย์สาธารณะปกติด้วย Merkle root ของแผนผัง ทุกคนสามารถปรับแต่งคีย์สาธารณะปกติด้วยแฮชส่วนหัวของบล็อกของบล็อกไซด์เชน จากนั้นโหนด Sidechain สามารถเปิดเผยและส่งต่อส่วนหัวของบล็อกนั้นด้วยตัวชี้ไปยังธุรกรรมในสายโซ่หลักเพื่อพิสูจน์ว่ามันถูกขุดจริงๆ จากนั้นโหนด sidechain จะทำการตรวจสอบตามปกติทั้งหมดเพื่อให้แน่ใจว่าบล็อก sidechain นั้นปฏิบัติตามกฎฉันทามติที่เหมาะสม และถ่ายทอดบล็อกจริงข้ามเครือข่าย sidechain เหมือนกับบนเชนหลัก

หากหนึ่งในทรานแซกชันที่ใช้คอมมิตกับบล็อกไซด์เชนบนเชนหลักถูกใช้เพื่อคอมมิตกับบล็อกที่ไม่ถูกต้อง หรือแม้แต่ข้อมูลขยะทั้งหมด เมื่อโหนดไซด์เชนเห็นธุรกรรมข้อผูกมัดที่ใช้บนเชน สองสิ่งสามารถเกิดขึ้นได้: หนึ่ง, บล็อกที่ไม่ถูกต้องจะถูกกระจายไปทั่วเครือข่าย sidechain และเมื่อไม่สามารถผ่านการตรวจสอบความถูกต้องได้ บล็อกจะถูกกำพร้า หรือสอง ข้อมูลจะไม่ถูกเปิดเผย ซึ่งในกรณีนี้ บล็อกไซด์เชนถัดไปจะต่อยอดและคอมมิตกับบล็อกสุดท้ายที่เปิดเผยจริง และข้อผูกมัดที่ไม่ได้เปิดเผยจะถูกละเว้น ความเป็นไปได้ที่สองนี้เป็นไปตามตรรกะของสายโซ่ที่ยาวที่สุดแบบเดียวกับสายโซ่หลัก ดังนั้นแม้ว่าจะมีการเปิดเผยบางอย่างในภายหลัง แต่ก็ยังคงเป็นเด็กกำพร้าเนื่องจากบล็อกในอนาคตที่ไม่ได้สร้างขึ้นบนมัน

แต่ก็ยังมีปัญหาการใช้จ่ายซ้ำซ้อน ใครก็ตามที่มีไพรเวตคีย์ที่ใช้สร้าง UTXO มาร์กเกอร์อาจใช้ธุรกรรมที่กำหนดไว้ล่วงหน้าอันใดอันหนึ่งเป็นสองเท่าเพื่อคอมมิตกับบล็อกไซด์เชนและทำให้ทั้งชุดเป็นโมฆะตั้งแต่นั้นเป็นต้นมา

สิ่งนี้แก้ไขได้โดยการแทรกลายเซ็นลงในสคริปต์การล็อกของ UTXO เอง สิ่งนี้ล็อคในลายเซ็นบนอินพุตและเอาต์พุต รับประกันการสร้าง UTXO เครื่องหมายในการทำธุรกรรมครั้งต่อไปโดยใช้ เนื่องจากลายเซ็นนั้นจะถูกส่งต่อและตรวจสอบโดยอัตโนมัติเมื่อใช้ UTXO จึงไม่สามารถเปลี่ยนเพียงลายเซ็นอื่นแล้วใช้จ่ายไปยังปลายทางอื่นได้

สิ่งนี้ทิ้งปัญหาสุดท้ายที่ค้างอยู่ ในทางทฤษฎี มีความเป็นไปได้ที่จะส่งธุรกรรมหลายรายการติดต่อกันเป็นบล็อก Bitcoin เดียว เพื่อให้บล็อกไซด์เชนจำนวนมากได้รับการยืนยันโดยผู้ขุดทั้งหมดในบล็อกเชนหลักเดียว สิ่งนี้อาจถูกนำไปใช้ในทางที่ผิดเพื่อโจมตีเครือข่ายไซด์เชนแบบปฏิเสธการให้บริการ

ในการแก้ปัญหานี้ สามารถแทรกการล็อกเวลาสัมพัทธ์ CHECKSEQUENCEVERIFY (CSV) ลงในสคริปต์ UTXO ของตัวทำเครื่องหมายเพื่อรับประกันว่ามีเพียงธุรกรรมเดียวโดยใช้เครื่องหมาย UTXO ที่ได้รับการยืนยันภายในบล็อกลูกโซ่หลักที่กำหนดเพียงรายการเดียว

โดยรวมแล้วดูเหมือนว่านี้: 

แหล่ง

นอกจากนี้ยังเป็นที่น่าสังเกตว่าสองรูปแบบของการออกแบบนี้สามารถใช้งานได้กับ CHECKTEMPLATEVERIFY (CTV) หรือไม่มีการเปลี่ยนแปลงใดๆ เลย รูปแบบการออกแบบทั้งสองนี้มีข้อแลกเปลี่ยนที่ไม่เหมาะสม

ตัวแปร CTV จะใช้ฟังก์ชันดังกล่าวเพื่อผูกมัดกับห่วงโซ่ของธุรกรรมโดยใช้ CTV แทน APO ด้วยการแฮ็กรวมถึงลายเซ็นภายในสคริปต์การล็อก UTXO CTV ผูกพันกับผลลัพธ์ทั้งหมดของธุรกรรมที่ใช้ CTV UTXO แต่จะไม่ผูกมัดกับอินพุตใด ๆ นอกเหนือจากตัวมันเอง

ซึ่งหมายความว่าคุณสามารถเพิ่มอินพุตได้ แต่ไม่ใช่เอาต์พุตไปยังธุรกรรม CTV ดังนั้นคุณสามารถนำค่าธรรมเนียมของคุณเองได้เช่นเดียวกับในการออกแบบ APO แต่คุณไม่สามารถเพิ่มภาระผูกพันให้กับส่วนหัวบล็อก sidechain

ดังนั้น สิ่งที่เราต้องทำที่นี่คือสร้างธุรกรรมทั้งหมดนอกห่วงโซ่ของธุรกรรม CTV สำหรับข้อผูกมัด sidechain เพื่อสร้าง UTXO ที่เพียงพอที่จะจ่ายค่าธรรมเนียมสำหรับธุรกรรม CTV (เพราะคุณไม่สามารถสร้างผลลัพธ์การเปลี่ยนแปลงใหม่ได้ ธุรกรรมนั้น 100% ของอินพุตที่คุณเพิ่มจะเป็นค่าธรรมเนียม) และภายในธุรกรรมที่จัดเตรียมค่าธรรมเนียม UTXO เป็นที่ที่เราผูกมัดกับส่วนหัวบล็อกของ sidechain ดังนั้น ขั้นตอนแรก: ธุรกรรมที่สร้างค่าธรรมเนียมการจ่ายผลลัพธ์และข้อผูกมัดกับส่วนหัวบล็อกไซด์เชน ขั้นตอนที่สอง: เราใช้เอาท์พุตค่าธรรมเนียมและเพิ่มเป็นอินพุตในธุรกรรม CTV ซึ่งเมื่อได้รับการยืนยันแล้ว จะ "ขุด" บล็อกไซด์เชนเฉพาะของเรา ตัวแปรนี้มีลักษณะดังนี้:

แหล่ง

ตัวแปรถัดไปเพียงใช้ธุรกรรมที่ลงนามล่วงหน้า มันสามารถปรับใช้ได้ในวันนี้ แต่เนื่องจากข้อจำกัดของสิ่งที่สคริปต์สามารถทำได้ มันจึงต้องการค่าธรรมเนียมทั้งหมดสำหรับการทำธุรกรรมที่จะต้องจ่ายล่วงหน้าโดยใครก็ตามที่สร้าง spacechain

ห่วงโซ่ของธุรกรรมเริ่มต้นด้วย UTXO เดียว และในห่วงโซ่จะสร้างสองเอาต์พุต เอาต์พุตแรกคือ UTXO เครื่องหมาย ซึ่งส่งสัญญาณว่าเชนของธุรกรรมเกี่ยวข้องกับ spacechain เฉพาะ อันที่สองคือ UTXO มูลค่าเล็กน้อยที่ใครก็ตามที่ยอมให้สามารถเชื่อมต่ออินพุต/เอาต์พุตอื่นกับมันได้ ทรานแซคชันที่สองนี้เป็นที่ที่ใครๆ ก็ยอมรับอย่างเปิดเผยที่จะเป็นคนแรกที่ใช้เอาต์พุตที่สองจากเชนธุรกรรมของ spacechain และใช้มันเพื่อคอมมิตกับส่วนหัวบล็อก sidechain ของพวกเขา

ในตัวแปร CTV บล็อก sidechain จะต้องถูกผูกมัดในธุรกรรมรอง เนื่องจาก CTV ไม่อนุญาตให้เพิ่มเอาต์พุตใหม่ในธุรกรรมที่ใช้อินพุตที่ถูกล็อคโดย CTV ตัวแปรนี้ต้องใช้ธุรกรรมรอง เพราะหากคุณเพิ่มอินพุตหรือเอาต์พุตใหม่ใดๆ ลงในเชนที่ลงนามล่วงหน้า คุณจะต้องเปลี่ยน TXID ของธุรกรรมและทำให้ธุรกรรมที่ลงนามล่วงหน้าทั้งหมดที่อยู่หลังจากนั้นเป็นโมฆะ ตัวแปรนี้มีลักษณะดังนี้: 

แหล่ง

ข้อเสียประการหนึ่งของตัวแปรสุดท้ายนี้คือ ถ้าใครก็ตามที่ลงนามล่วงหน้าของธุรกรรมทั้งหมดเพื่อใช้สำหรับข้อผูกมัดบล็อกไซด์เชนไม่ลบคีย์ส่วนตัวที่ใช้ในการทำเช่นนั้น พวกเขาสามารถหยุดเชนได้อย่างมีประสิทธิภาพโดยการใช้เครื่องหมาย UTXO ปัจจุบันเป็นสองเท่า เวลา.

และที่นั่นคุณมีมัน นี่เป็นข้อเสนอล่าสุดสำหรับการออกแบบ sidechain บน Bitcoin และสามารถนำไปใช้ได้สามวิธี โดยมีข้อแม้ที่ชัดเจนว่าเส้นทางการนำไปใช้ที่สามารถทำได้ในตอนนี้มีปัญหาในการขอให้ผู้อื่นลบคีย์ส่วนตัว

บทความนี้เป็นเพียงบทความแรกในซีรีส์ที่เกี่ยวข้องกับข้อเสนอการออกแบบ sidechain หลักที่ได้รับการตีพิมพ์สำหรับ Bitcoin ตั้งแต่การออกแบบดั้งเดิมในปี 2014 จับตาดูส่วนที่เหลือ

นี่คือแขกโพสต์โดย Shinobi ความคิดเห็นที่แสดงออกมานั้นเป็นความคิดเห็นของตนเองทั้งหมด และไม่จำเป็นต้องสะท้อนความคิดเห็นของ BTC Inc หรือ Bitcoin Magazine

ประทับเวลา:

เพิ่มเติมจาก นิตยสาร Bitcoin