Bitcoin Magazine: Rollup พบกับปัญหาอะไรบ้าง?

robot
ดำเนินการเจนเนเรชั่นบทคัดย่อ

ที่มา: Bitcoin Magazine; แปล: วูจู, โกลด์เซ็นทรัล

เมื่อเร็ว ๆ นี้โรลอัพได้กลายเป็นจุดสนใจของการปรับขนาด BTC กลายเป็นสิ่งแรกที่ "ขโมยการแสดง" จาก Lighting Network ในแง่ของความสนใจที่กว้างขึ้น Rollups ได้รับการออกแบบให้เป็นเลเยอร์นอกสายโซ่ 2 ที่ไม่ถูก จํากัด หรือ จํากัด โดยข้อ จํากัด สภาพคล่องหลักของ Lighting Network กล่าวคือผู้ใช้ปลายทางต้องการใครสักคนในการจัดสรร (หรือ "ให้ยืม") เงินล่วงหน้าเพื่อรับเงินหรือ โหนดเส้นทางกลางต้องใช้ยอดคงเหลือของช่องทางเพื่ออํานวยความสะดวกในการไหลของจํานวนเงินที่ชําระจากผู้ส่งไปยังผู้รับ

ระบบเหล่านี้เริ่มต้นจากการทำงานบนระบบที่สมบูรณ์แบบทัวริงเทียบกับเอเธอร์เรียมและระบบอื่น ๆ แต่เมื่อเร็ว ๆ นี้มีการเปลี่ยนแปลงโดยให้ความสำคัญกับการย้ายไปสู่บล็อกเชนที่ใช้ UTXO เป็นพื้นฐาน (เช่น BTC) บทความนี้ไม่ได้ตั้งใจจะพูดถึงสภาวะปัจจุบันที่นำไปสู่ BTC แต่เป็นการพูดถึงความสามารถของ Rollup ที่เป็นไปตามที่คนตามหานานนับปีซึ่งขึ้นอยู่กับความสามารถของ BTC ในการตรวจสอบ Zero-Knowledge Proof (ZKP) โดยตรง

โครงสร้างพื้นฐานของ Roll คือดังนี้: บัญชีเดียว (ใน BTC เรียกว่า UTXO) เก็บยอดคงเหลือของผู้ใช้ทั้งหมดใน Rollup บนตัว UTXO นี้มีคำสัญญาซึ่งเป็นราก Merkle ของต้นไม้ Merkle ซึ่งเป็นคำสัญญาว่าบัญชีทั้งหมดใน Rollup มียอดคงเหลือปัจจุบันทั้งหมด บัญชีเหล่านี้ใช้กุญแจสาธารณะ/รหัสส่วนตัว เพื่อให้สิทธิในการทำธุรกรรม ดังนั้น เพื่อทำการจ่ายออกจากเครือข่าย (off-chain) ผู้ใช้จะต้องใช้กุญแจลับเซ็นสิ่งที่บางอย่าง ส่วนนี้ของโครงสร้างอนุญาตให้ผู้ใช้ออกไปได้ตลอดเวลาโดยไม่ต้องขออนุญาต แค่ทำการพิสูจน์การทำธุรกรรมของตนเองว่าเป็นส่วนหนึ่งของต้นไม้ Merkle ก็สามารถออกจาก Rollup ได้โดยไม่ต้องขออนุญาตจากผู้ให้บริการ

ผู้ดำเนินการ Rollup ต้องรวม ZKP ในธุรกรรมเพื่ออัปเดตรากบัญชีบนบล็อกเชนในขั้นตอนการทำธุรกรรม off-chain หากไม่มี ZKP นี้ ธุรกรรมจะไม่ถูกต้อง ดังนั้นไม่สามารถรวมอยู่ในเครือข่ายบล็อกได้ การพิสูจน์นี้อนุญาตให้คนสามารถตรวจสอบว่าการเปลี่ยนแปลงทั้งหมดในบัญชี off-chain ได้รับการอนุญาตจากเจ้าของบัญชีอย่างเหมาะสมและผู้ดำเนินการไม่ได้อัปเดตยอดเงินโดยอาศัยความโหดเหี้ยมในการโจมตีเงินลูกค้าหรือจัดสรรใหม่ให้กับผู้ใช้งานอื่นๆ

ปัญหาคือถ้าเฉพาะรากของต้นไม้ Merkle ถูกเผยแพร่บนเชื่อมต่อข้อมูลบนเชื่อมต่อข้อมูล ผู้ใช้สามารถดูและเข้าถึงได้ ดังนั้นพวกเขาจะทำอย่างไรเพื่อใส่สาขาของพวกเขาในต้นไม้เพื่อสามารถออกได้ตลอดเวลาที่พวกเขาต้องการโดยไม่ต้องขออนุญาติ?

Rollup ที่เหมาะสม

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

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

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

วันหมดอายุ

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

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

การต้องการการยืนยันข้อมูลที่มีอยู่บนบล็อกเชนอื่น ๆ สิ้นเปลืองเป็นปัญหาของเครื่อง Oracle สุดท้าย BTC บล็อกเชนไม่สามารถยืนยันอะไรที่เกิดขึ้นนอกเหนือจากสิ่งที่เกิดขึ้นบนบล็อก on-chain ได้ทั้งหมด สิ่งที่มันทำได้ดีที่สุดก็คือการยืนยัน ZKP อย่างไรก็ตาม ZKP ไม่สามารถยืนยันว่าบล็อกที่สร้างขึ้นหลังจากนั้นมีการเผยแพร่จริงหรือไม่ มันไม่สามารถยืนยันว่าข้อมูลภายนอกเปิดเผยแก่ทุกคนจริงหรือไม่

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

01928374656574839201

นี้นำมาซึ่ง rollup มาถึงสถานการณ์ที่ยุ่งยา

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

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

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

ดังนั้นหากเราสามารถทำให้การ Rollup บน BTC เป็นจริงและสามารถทำให้ผู้ใช้สามารถถอนเงินได้ในฝั่งเดียว มันจะเป็นอย่างไรล่ะ?

ดูต้นฉบับ
  • รางวัล
  • แสดงความคิดเห็น
  • แชร์
แสดงความคิดเห็น
ไม่มีความคิดเห็น