ผู้ใช้ Bitcoin ควรมีเพียง BTC เท่านั้นบน Bitcoin เพื่อบังคับการถอน BTC จาก BOB กลับสู่ Bitcoin ของพวกเขา เรากำลังทำงานกับวิธีการผสมระหว่าง DA ของ Ethereum ในฐานะเป็นค่าเริ่มต้นในขณะที่ยอมให้ผู้ใช้บังคับการรวมรายการธุรกรรมบน BOB ผ่านธุรกรรมพิเศษบน Bitcoin เราตื่นเต้นที่จะแบ่งปันผลงานของเราที่กำลังพัฒนาในโพสต์บล็อกนี้
tl;dr
หนึ่งในคุณสมบัติหลักของ L2s คือสถานะของพวกเขาต้องก้าวหน้าไปข้างหน้า แม้ว่าเวลาจะsequencer ออฟไลน์. L2 บรรลุเป้าหมายนี้โดยอ่านและเขียนสถานะของพวกเขาจากชั้นความพร้อมในการใช้ข้อมูล (DA) ที่สามารถอัปเดตได้อิสระจาก L2 ที่ออนไลน์อยู่ ด้วยวิธีนี้ผู้ใช้สามารถบังคับการรวมธุรกรรมของพวกเขาได้ แม้ว่าตัวเรียงลำดับจะออฟไลน์หรือตัวเรียงลำดับจะไม่ยอมรับธุรกรรมของพวกเขาโดยตรง
สำหรับสะพาน BitVM ของ BOB สิ่งนี้กลายเป็นปัญหาที่น่าสนใจ ปัจจุบัน BOB ใช้ EIP-4844 ของ Ethereum เป็นชั้น DA ของมันผู้ใช้บน Ethereum สามารถเรียกดูถอนกลับไปยัง Bitcoin ผ่านสะพาน BitVM ได้ง่าย ๆ อย่างไรก็ตาม มันต้องการผู้ใช้ ETH บน Ethereum
นี่ไม่เพียงพอสำหรับเรา: ผู้ใช้ Bitcoin ควรจะต้องใช้ BTC เท่านั้นบน Bitcoin เพื่อบังคับให้ถอน BTC ของพวกเขาจาก BOB กลับไปที่ Bitcoin เรากำลังทำงานกับโซลูชันแบบผสม: ค่าเริ่มต้นเป็น Ethereum เป็น DA ในขณะที่ยอมให้ผู้ใช้บังคับรวมการทำธุรกรรมบน BOB ผ่านธุรกรรมพิเศษบน Bitcoin เราตื่นเต้นที่จะแบ่งปันงานของเราที่กำลังดำเนินการในโพสต์บล็อกนี้
กระบวนการการผันศักย์สำคัญมากสำหรับ L2s: สถานะ L2 ทั้งหมดของ BOB ต้องถูกสร้างขึ้นจาก L1 และชั้น DA มันช่วยให้ L2s สามารถเพลิดเพลินได้กับการต้านการเซ็นเซอร์ชิปเหมือนกับชั้น DA ในกรณีของเรา Ethereum.
เรียบง่ายใน rollups (โดยเฉพาะ OP Stack chains) เรามีสองประเภทของข้อมูลบน L1:
ถ้าเราต้องการบิตคอยน์เป็นชั้น DA ทำไมไม่สลับไปใช้บิตคอยน์เป็นชั้น DA อย่างสมบูรณ์? คำตอบคือส่วนใหญ่cost. Bitcoin มีพื้นที่จัดเก็บเพียงเล็กน้อย (ประมาณ 4MB ทุก 10 นาที) และดังนั้นต้นทุนการจัดเก็บสูง
อย่างไรก็ตาม ในกรณีของเรา BOB ยังสามารถใช้ Ethereum ในฐานะเลเยอร์ DA "หลัก" โดยที่มันโพสต์ข้อมูลการทำธุรกรรมทั้งหมดของมัน แต่เพิ่ม Bitcoin เป็นเลเยอร์สำรองที่มีความต้านทานการเซ็นเซอร์อย่างมาก หาก Ethereum DA ไม่สามารถใช้งาน โดยสรุป Ethereum กลายเป็นเลเยอร์ DA ที่เต็มไปด้วยความเชื่อมั่นในขณะที่ Bitcoin เป็นทางเลือกสุดท้ายที่มีค่าใช้จ่ายสูง แต่ทนทานต่อข้อผิดพลาด
แนวทางการแก้ไขพื้นฐานคือการเพิ่ม Bitcoin เข้าสู่ BOB เป็นส่วนหนึ่งของทางระบายที่จำเป็น โดย BOB (และโหนด "op-node" โดยเฉพาะ) จะประมวลผลข้อมูลเข้ามาในลำดับดังกล่าว:
เรามาดูวิธีที่เป็นไปได้ในการเข้ารหัสธุรกรรมการถอน Bitcoin ที่บังคับให้เกิดขึ้นในกระแสการสืบทอด BOB โน้มนำ โปรดทราบว่ายังคงอยู่ในระหว่างการวิจัยอยู่ดังนั้นการเปลี่ยนแปลงเป็นไปได้
เราจะต้องใช้สามส่วนในการสร้างธุรกรรมถอนเงินบังคับ:
An OP stackธุรกรรมฝากเงินมีโครงสร้างดังต่อไปนี้:
ธุรกรรมการถอนบังคับต้องรวมธุรกรรมการถอนที่เข้ารหัสในฟิลด์ข้อมูลของธุรกรรมการฝาก การกระทำนี้ทำโดยการสร้างธุรกรรมบน BOB ซึ่งเป็นสิ่งที่กระตุ้นการถอนจาก BOB ไปยัง Bitcoin และจะทำงานอย่างเดียวกันกับกรณีที่ธุรกรรมถูกส่งจาก Ethereum
เราสามารถเก็บรักษา (บีบอัด) เวอร์ชันของธุรกรรมถอนบังคับบนบิตคอยน์ที่รวมข้อมูลทั้งหมดดังกล่าว
เนื่องจากข้อมูลสำหรับธุรกรรมการถอนบังคับมีขนาดใหญ่กว่าที่ควรจะเก็บไว้ในเอาต์พุต OP_RETURN ทั่วไป เราจะใช้ gate ได้Taprootผลลัพธ์ในการเก็บข้อมูล
ในขณะที่มันง่ายที่จะระบุธุรกรรมการฝาก (ซึ่งอาจรวมถึงการถอน) บน Ethereum เนื่องจากมันถูกส่งไปที่สัญญา OptimismPortal ของ BOB แต่มันไม่ง่ายที่จะระบุธุรกรรมการถอนบังคับบน Bitcoin
การแปลงข้อมูล: การธุรกรรมการถอนแบบบังคับถูกแปลงเป็นสคริปต์ Taproot ในโครงสร้าง "ซอง" นี้ซึ่งเป็น noops ในเครือข่ายบิตคอยน์และใช้ในการจัดเรียงเช่นกัน เราปรับโครงสร้างให้เหมาะสมกับความต้องการของเรา
ไม่ได้ตั้ง
OP_FALSE OP_IF
OP_PUSH “bob”
OP_1
OP_PUSH "transaction"
OP_0
OP_PUSH $WITHDRAWAL_TRANSACTION_DATA
OP_ENDIF
วิธีการยืนยันแบบสองขั้นตอน/การเปิดเผย:
เช่นเดียวกับ Ordinals ผู้ใช้จะต้องส่งสองธุรกรรมไปยัง Bitcoin:
นี่เป็นปัญหาที่เปิดกว้างที่สุด โดยมีตัวเลือก 2 อย่างที่กำลังพิจารณาอยู่ในปัจจุบัน:
เรากำลังทดลองกับไอเดียอื่น ๆ ด้วย ดังนั้นอย่าพลาดการอัปเดตเพิ่มเติมนะคะ!
ใครก็ตามสามารถตรวจสอบสถานะของ BOB ได้โดยเพียงแค่ตรวจสอบข้อมูลบน Bitcoin และ Ethereum:
ความสอดคล้องของข้อมูล: ในขณะที่การสอดคล้องของข้อมูลระหว่าง Ethereum และ Bitcoin chains เป็นสิ่งสำคัญ การมีข้อมูลธุรกรรมบนทั้งสองระบบยังไม่สามารถรับประกันความถูกต้องได้ ธุรกรรมต้องแสดงถึงการเปลี่ยนแปลงสถานะที่ถูกต้องตามฟังก์ชันการเปลี่ยนสถานะของ rollup เพื่อให้ถือว่าถูกต้อง การแก้ไขปัญหาต้องใช้ตรวจสอบตรรกะภายใน op-node (หรือการนำไปใช้ในชั้นเชิงนโยบายอื่น ๆ) โดยตรวจสอบก่อนว่าธุรกรรมนั้นส่งผลให้เกิดการเปลี่ยนแปลงสถานะที่ถูกต้องหรือไม่ก่อนยอมรับ
การพิสูจน์การฉ้อโกงและความถูกต้อง: ระบบพิสูจน์การฉ้อโกงสำหรับทั้ง BitVM และ Ethereum ต้องได้รับการปรับปรุงเพื่อจัดการข้อมูลจากทั้งสองโซ่ซึ่งอาจทำให้การแก้ไขข้อพิพาทที่ซับซ้อนขึ้น หากต้องการตอบสนองต่อสิ่งนี้ เราจำเป็นต้องทำการบัญชีข้อมูลธุรกรรมที่เป็นไปได้จาก Bitcoin และ Ethereum เป็นส่วนหนึ่งของสะพาน BitVM และการตกลงของ BOB บน Ethereum
การเพิ่มพื้นที่เก็บข้อมูล: นอกจากนี้โหนด BOB ในเครือข่ายต้องเผชิญกับความต้องการพื้นที่เก็บข้อมูลและแบนด์วิดท์ที่เพิ่มขึ้นเนื่องจากจําเป็นต้องประมวลผลและจัดเก็บข้อมูลจาก Bitcoin และ Ethereum อย่างไรก็ตาม เราสามารถบรรเทาปัญหานี้ได้โดยกําหนดให้ธุรกรรม BOB ที่ทําบน Bitcoin ต้องรวมอยู่ใน Ethereum blobs โดยอ้างอิงถึงบล็อก Bitcoin ล่าสุด ด้วยวิธีนี้โหนดต้องการซิงโครไนซ์บล็อก Bitcoin ล่าสุดเท่านั้น
เราตื่นเต้นที่จะนำเสนอเทคโนโลยี Hybrid Rollups ที่รวมความปลอดภัยของ Bitcoin กับนวัตกรรมของ Ethereum โดยในปัญหาที่เรากำลังพบ พวกเราสนใจในการรวมความต้านทานการเซ็นเซอร์ชั่นของ Bitcoin กับ BOB's Rollup Stack พวกเราจะอัพเดตโพสต์บล็อกนี้เพิ่มเติมเมื่อเราทำความคืบหน้า
ผู้ใช้ Bitcoin ควรมีเพียง BTC เท่านั้นบน Bitcoin เพื่อบังคับการถอน BTC จาก BOB กลับสู่ Bitcoin ของพวกเขา เรากำลังทำงานกับวิธีการผสมระหว่าง DA ของ Ethereum ในฐานะเป็นค่าเริ่มต้นในขณะที่ยอมให้ผู้ใช้บังคับการรวมรายการธุรกรรมบน BOB ผ่านธุรกรรมพิเศษบน Bitcoin เราตื่นเต้นที่จะแบ่งปันผลงานของเราที่กำลังพัฒนาในโพสต์บล็อกนี้
tl;dr
หนึ่งในคุณสมบัติหลักของ L2s คือสถานะของพวกเขาต้องก้าวหน้าไปข้างหน้า แม้ว่าเวลาจะsequencer ออฟไลน์. L2 บรรลุเป้าหมายนี้โดยอ่านและเขียนสถานะของพวกเขาจากชั้นความพร้อมในการใช้ข้อมูล (DA) ที่สามารถอัปเดตได้อิสระจาก L2 ที่ออนไลน์อยู่ ด้วยวิธีนี้ผู้ใช้สามารถบังคับการรวมธุรกรรมของพวกเขาได้ แม้ว่าตัวเรียงลำดับจะออฟไลน์หรือตัวเรียงลำดับจะไม่ยอมรับธุรกรรมของพวกเขาโดยตรง
สำหรับสะพาน BitVM ของ BOB สิ่งนี้กลายเป็นปัญหาที่น่าสนใจ ปัจจุบัน BOB ใช้ EIP-4844 ของ Ethereum เป็นชั้น DA ของมันผู้ใช้บน Ethereum สามารถเรียกดูถอนกลับไปยัง Bitcoin ผ่านสะพาน BitVM ได้ง่าย ๆ อย่างไรก็ตาม มันต้องการผู้ใช้ ETH บน Ethereum
นี่ไม่เพียงพอสำหรับเรา: ผู้ใช้ Bitcoin ควรจะต้องใช้ BTC เท่านั้นบน Bitcoin เพื่อบังคับให้ถอน BTC ของพวกเขาจาก BOB กลับไปที่ Bitcoin เรากำลังทำงานกับโซลูชันแบบผสม: ค่าเริ่มต้นเป็น Ethereum เป็น DA ในขณะที่ยอมให้ผู้ใช้บังคับรวมการทำธุรกรรมบน BOB ผ่านธุรกรรมพิเศษบน Bitcoin เราตื่นเต้นที่จะแบ่งปันงานของเราที่กำลังดำเนินการในโพสต์บล็อกนี้
กระบวนการการผันศักย์สำคัญมากสำหรับ L2s: สถานะ L2 ทั้งหมดของ BOB ต้องถูกสร้างขึ้นจาก L1 และชั้น DA มันช่วยให้ L2s สามารถเพลิดเพลินได้กับการต้านการเซ็นเซอร์ชิปเหมือนกับชั้น DA ในกรณีของเรา Ethereum.
เรียบง่ายใน rollups (โดยเฉพาะ OP Stack chains) เรามีสองประเภทของข้อมูลบน L1:
ถ้าเราต้องการบิตคอยน์เป็นชั้น DA ทำไมไม่สลับไปใช้บิตคอยน์เป็นชั้น DA อย่างสมบูรณ์? คำตอบคือส่วนใหญ่cost. Bitcoin มีพื้นที่จัดเก็บเพียงเล็กน้อย (ประมาณ 4MB ทุก 10 นาที) และดังนั้นต้นทุนการจัดเก็บสูง
อย่างไรก็ตาม ในกรณีของเรา BOB ยังสามารถใช้ Ethereum ในฐานะเลเยอร์ DA "หลัก" โดยที่มันโพสต์ข้อมูลการทำธุรกรรมทั้งหมดของมัน แต่เพิ่ม Bitcoin เป็นเลเยอร์สำรองที่มีความต้านทานการเซ็นเซอร์อย่างมาก หาก Ethereum DA ไม่สามารถใช้งาน โดยสรุป Ethereum กลายเป็นเลเยอร์ DA ที่เต็มไปด้วยความเชื่อมั่นในขณะที่ Bitcoin เป็นทางเลือกสุดท้ายที่มีค่าใช้จ่ายสูง แต่ทนทานต่อข้อผิดพลาด
แนวทางการแก้ไขพื้นฐานคือการเพิ่ม Bitcoin เข้าสู่ BOB เป็นส่วนหนึ่งของทางระบายที่จำเป็น โดย BOB (และโหนด "op-node" โดยเฉพาะ) จะประมวลผลข้อมูลเข้ามาในลำดับดังกล่าว:
เรามาดูวิธีที่เป็นไปได้ในการเข้ารหัสธุรกรรมการถอน Bitcoin ที่บังคับให้เกิดขึ้นในกระแสการสืบทอด BOB โน้มนำ โปรดทราบว่ายังคงอยู่ในระหว่างการวิจัยอยู่ดังนั้นการเปลี่ยนแปลงเป็นไปได้
เราจะต้องใช้สามส่วนในการสร้างธุรกรรมถอนเงินบังคับ:
An OP stackธุรกรรมฝากเงินมีโครงสร้างดังต่อไปนี้:
ธุรกรรมการถอนบังคับต้องรวมธุรกรรมการถอนที่เข้ารหัสในฟิลด์ข้อมูลของธุรกรรมการฝาก การกระทำนี้ทำโดยการสร้างธุรกรรมบน BOB ซึ่งเป็นสิ่งที่กระตุ้นการถอนจาก BOB ไปยัง Bitcoin และจะทำงานอย่างเดียวกันกับกรณีที่ธุรกรรมถูกส่งจาก Ethereum
เราสามารถเก็บรักษา (บีบอัด) เวอร์ชันของธุรกรรมถอนบังคับบนบิตคอยน์ที่รวมข้อมูลทั้งหมดดังกล่าว
เนื่องจากข้อมูลสำหรับธุรกรรมการถอนบังคับมีขนาดใหญ่กว่าที่ควรจะเก็บไว้ในเอาต์พุต OP_RETURN ทั่วไป เราจะใช้ gate ได้Taprootผลลัพธ์ในการเก็บข้อมูล
ในขณะที่มันง่ายที่จะระบุธุรกรรมการฝาก (ซึ่งอาจรวมถึงการถอน) บน Ethereum เนื่องจากมันถูกส่งไปที่สัญญา OptimismPortal ของ BOB แต่มันไม่ง่ายที่จะระบุธุรกรรมการถอนบังคับบน Bitcoin
การแปลงข้อมูล: การธุรกรรมการถอนแบบบังคับถูกแปลงเป็นสคริปต์ Taproot ในโครงสร้าง "ซอง" นี้ซึ่งเป็น noops ในเครือข่ายบิตคอยน์และใช้ในการจัดเรียงเช่นกัน เราปรับโครงสร้างให้เหมาะสมกับความต้องการของเรา
ไม่ได้ตั้ง
OP_FALSE OP_IF
OP_PUSH “bob”
OP_1
OP_PUSH "transaction"
OP_0
OP_PUSH $WITHDRAWAL_TRANSACTION_DATA
OP_ENDIF
วิธีการยืนยันแบบสองขั้นตอน/การเปิดเผย:
เช่นเดียวกับ Ordinals ผู้ใช้จะต้องส่งสองธุรกรรมไปยัง Bitcoin:
นี่เป็นปัญหาที่เปิดกว้างที่สุด โดยมีตัวเลือก 2 อย่างที่กำลังพิจารณาอยู่ในปัจจุบัน:
เรากำลังทดลองกับไอเดียอื่น ๆ ด้วย ดังนั้นอย่าพลาดการอัปเดตเพิ่มเติมนะคะ!
ใครก็ตามสามารถตรวจสอบสถานะของ BOB ได้โดยเพียงแค่ตรวจสอบข้อมูลบน Bitcoin และ Ethereum:
ความสอดคล้องของข้อมูล: ในขณะที่การสอดคล้องของข้อมูลระหว่าง Ethereum และ Bitcoin chains เป็นสิ่งสำคัญ การมีข้อมูลธุรกรรมบนทั้งสองระบบยังไม่สามารถรับประกันความถูกต้องได้ ธุรกรรมต้องแสดงถึงการเปลี่ยนแปลงสถานะที่ถูกต้องตามฟังก์ชันการเปลี่ยนสถานะของ rollup เพื่อให้ถือว่าถูกต้อง การแก้ไขปัญหาต้องใช้ตรวจสอบตรรกะภายใน op-node (หรือการนำไปใช้ในชั้นเชิงนโยบายอื่น ๆ) โดยตรวจสอบก่อนว่าธุรกรรมนั้นส่งผลให้เกิดการเปลี่ยนแปลงสถานะที่ถูกต้องหรือไม่ก่อนยอมรับ
การพิสูจน์การฉ้อโกงและความถูกต้อง: ระบบพิสูจน์การฉ้อโกงสำหรับทั้ง BitVM และ Ethereum ต้องได้รับการปรับปรุงเพื่อจัดการข้อมูลจากทั้งสองโซ่ซึ่งอาจทำให้การแก้ไขข้อพิพาทที่ซับซ้อนขึ้น หากต้องการตอบสนองต่อสิ่งนี้ เราจำเป็นต้องทำการบัญชีข้อมูลธุรกรรมที่เป็นไปได้จาก Bitcoin และ Ethereum เป็นส่วนหนึ่งของสะพาน BitVM และการตกลงของ BOB บน Ethereum
การเพิ่มพื้นที่เก็บข้อมูล: นอกจากนี้โหนด BOB ในเครือข่ายต้องเผชิญกับความต้องการพื้นที่เก็บข้อมูลและแบนด์วิดท์ที่เพิ่มขึ้นเนื่องจากจําเป็นต้องประมวลผลและจัดเก็บข้อมูลจาก Bitcoin และ Ethereum อย่างไรก็ตาม เราสามารถบรรเทาปัญหานี้ได้โดยกําหนดให้ธุรกรรม BOB ที่ทําบน Bitcoin ต้องรวมอยู่ใน Ethereum blobs โดยอ้างอิงถึงบล็อก Bitcoin ล่าสุด ด้วยวิธีนี้โหนดต้องการซิงโครไนซ์บล็อก Bitcoin ล่าสุดเท่านั้น
เราตื่นเต้นที่จะนำเสนอเทคโนโลยี Hybrid Rollups ที่รวมความปลอดภัยของ Bitcoin กับนวัตกรรมของ Ethereum โดยในปัญหาที่เรากำลังพบ พวกเราสนใจในการรวมความต้านทานการเซ็นเซอร์ชั่นของ Bitcoin กับ BOB's Rollup Stack พวกเราจะอัพเดตโพสต์บล็อกนี้เพิ่มเติมเมื่อเราทำความคืบหน้า