คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
เส้นทางสู่การขยายตัวของ Ethereum: ทางออกใดคืออนาคต
先知实验室
特邀专栏作者
2022-03-21 07:51
บทความนี้มีประมาณ 13886 คำ การอ่านทั้งหมดใช้เวลาประมาณ 20 นาที
การวิจัยเชิงลึกเกี่ยวกับข้อดีและข้อเสียของโซลูชันการขยายตัวของ Ethereum

สถาบันวิจัย: Seer Labs

คำนำ

คำนำ

ไม่ว่าคุณจะเป็นผู้เชี่ยวชาญในเทคโนโลยีบล็อกเชนหรือไม่ก็ตาม ตราบใดที่คุณอยู่ในโลกของ Crypto นานพอ คำว่า Ethereum expansion, layer2 และ Rollup นั้นคุ้นเคยกับคุณดี หลายคนคุ้นเคยกับแนวคิดเหล่านี้อย่างน้อยหนึ่งแนวคิด แต่เกี่ยวข้องกันอย่างไร ทำไมเราถึงต้องการเทคโนโลยีเหล่านี้? พวกเขากำลังพยายามแก้ปัญหาประเภทใด

หากคุณต้องการทราบคำตอบสำหรับคำถามข้างต้น เราหวังว่าบทความนี้จะช่วยคุณได้:

ข้อความ

ข้อความ

เนื่องจากCryotoKittyตั้งแต่วันที่ความแออัดบนห่วงโซ่ Ethereum เกิดขึ้น นักพัฒนา Ethereum ได้สำรวจวิธีแก้ปัญหาเพื่อปรับปรุงปริมาณงานของ Ethereum อย่างต่อเนื่อง

โดยหลักการแล้วสามารถแบ่งออกเป็นสองประเภท:

(1) มันคือการแปลงบล็อก Ethereum เอง ให้เราเรียกว่าโซลูชัน Layer1 วิธีแก้ปัญหาหลักที่นี่คือการแบ่งส่วน

(2) เป็นการเปลี่ยนวิธีที่เราใช้ Ethereum และทำให้การดำเนินการและการประมวลผลธุรกรรมนอกเครือข่าย Ethereum นั้นใช้เพื่อตรวจสอบความถูกต้องของธุรกรรมและให้ความปลอดภัยเท่านั้น นี่คือสิ่งที่เรามักจะได้ยินเกี่ยวกับ Layer2

แนวคิดหลักของ Layer2 คือการดำเนินการและคำนวณธุรกรรมนอกเครือข่ายจริงจำนวนมาก จากนั้นตรวจสอบความถูกต้องขั้นสุดท้ายของธุรกรรมผ่านธุรกรรมจำนวนน้อยมากบน Ethereum ไม่ว่าจะเป็น State Channel, Plasma หรือ Rollup ต่างก็ปฏิบัติตามหลักการนี้

ชื่อเรื่องรอง

1. ช่องสถานะ

ต่อไปนี้เป็นโครงสร้างดั้งเดิมที่สุดของช่องทางของรัฐ:

ช่องทางของรัฐเป็นโซลูชันการปรับขนาดบล็อคเชนที่มีมาช้านาน และแอปพลิเคชั่นที่โด่งดังที่สุดคือ Lightning Network ของ Bitcoin

เมื่อเทียบกับการอธิบายหลักการของเขาตัวอย่างสามารถอธิบายได้ดีขึ้นว่าช่องทางของรัฐคืออะไร:

คุณชอบร้านตัดผมชั้นล่างมาก ๆ ทุกครั้งที่คุณไปร้านตัดผมคุณโทนี่จะขอให้คุณสมัครบัตรในหูของคุณเสมอ

วันหนึ่งคุณตัดสินใจได้ในที่สุด แค่สมัครบัตร ยังไงฉันก็จะมาในอนาคต คุณจึงโอนเงิน 1,000 หยวนไปที่ร้านตัดผมเพื่อรับบัตร

ทุกครั้งที่คุณไปตัดผมในอนาคต คุณไม่จำเป็นต้องโอนเงินให้ร้านตัดผม แต่จะหักยอดเงินในบัตรของคุณ ในขณะเดียวกัน คุณได้ทำรายการจริงกับร้านตัดผมเรียบร้อยแล้ว ทุกครั้งที่ตัดผม

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

ในช่วงเดือนนี้ คุณใช้เวลามากกว่าหนึ่งโหลที่ร้านตัดผม แต่คุณและร้านตัดผมโอนเงินให้กันแค่สองครั้งเท่านั้น

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

ลองนึกภาพว่าคุณไม่มีบัตรและคุณต้องโอนบัญชีไปที่ร้านตัดผมทุกครั้งที่คุณตัดผมเสร็จ

สถานการณ์แอ็พพลิเคชัน

สถานการณ์แอ็พพลิเคชัน

(1) ช่องทางของรัฐสามารถมีบทบาทสำคัญมากในสถานการณ์ง่ายๆ บางอย่าง เช่น การชำระเงินแบบสตรีม มันบันทึกข้อมูลธุรกรรมโดยการลงนามข้อความนอกเครือข่าย และลดความซับซ้อนของธุรกรรมจำนวนมากที่เกิดขึ้นอย่างมีเหตุผลในธุรกรรมหลัก 2 รายการบน โซ่.

(2) เนื่องจากต้นทุนต่ำ ช่องทางของรัฐจึงเหมาะสมอย่างยิ่งสำหรับบางสถานการณ์ของการชำระเงินขนาดเล็ก เช่น การซื้อกาแฟมื้อเช้าด้วย ETH หรือ BTC

ข้อ จำกัด

ชื่อเรื่องรอง

2. พลาสมา

1: หลักการ

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

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

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

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

ต่อไปนี้เป็นแผนภาพอย่างง่ายของการใช้กลไกของพลาสมา:

ผู้ใช้ที่ต้องการเข้าสู่ Plasma chain จำเป็นต้องแมปสินทรัพย์บน Ethereum main chain และเมื่อพวกเขาต้องการโอนสินทรัพย์บน Plasma chain หรือ main chain พวกเขาต้องผ่านช่วงเวลาที่ท้าทายสำหรับผู้อื่นเพื่อใช้ "หลักฐานการฉ้อโกง " กลไกยืนยันความถูกต้องของการโอนทรัพย์สิน

"หลักฐานการทุจริต"หมายความว่าภายในระยะเวลาท้าทายนี้ (โดยปกติคือ 7 วันหรือนานกว่านั้น) ทุกคนสามารถส่งหลักฐานว่าการถอนทรัพย์สินของผู้ใช้นั้นผิดกฎหมายผ่านการตรวจสอบต้นไม้ของ Merkle

แต่สิ่งนี้สร้างปัญหาสองประการ:

(1) หากคุณต้องการตรวจสอบความถูกต้องของการถอนนี้ คุณต้องมีโหนดเพื่อบันทึกธุรกรรมและข้อมูลสถานะบนเลเยอร์ 2 เนื่องจาก Plasma จะส่งเฉพาะผลลัพธ์ของการถ่ายโอนสถานะ และคุณต้องมีข้อมูลบนเลเยอร์ 2 เพื่อส่งหลักฐานการฉ้อโกงซึ่งจะเพิ่มต้นทุนของบทบาทของผู้ตรวจสอบอย่างมาก

(2) เรียกว่า"ไม่มีข้อมูล"ชื่อเรื่องรอง

3. การยกเลิก

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

1. ความเข้าใจเฉพาะเกี่ยวกับ "ไม่มีข้อมูล"

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

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

หลังจากอัปโหลดข้อมูลธุรกรรมไปยังเชนแล้ว ทุกคนสามารถตรวจสอบได้ว่าผลลัพธ์ที่ส่งโดย Rollup นั้นถูกต้องตามข้อมูลนี้หรือไม่ ดังนั้น Rollup จึงปลอดภัยกว่า Plasma

ความพร้อมใช้งานของข้อมูลความพร้อมใช้งานของข้อมูล” มันจะส่งข้อมูลไปยังห่วงโซ่หลักซึ่งช่วยเพิ่มความปลอดภัยอย่างมาก

ดังนั้น Rollup จะถูกนำไปใช้อย่างไร?

2. หลักการ

(1) State Root: ประการแรก Rollup มีหนึ่ง (หรือชุดของสัญญาที่สัมพันธ์กัน) ในห่วงโซ่หลัก:

สัญญานี้ใช้เพื่อรักษาบันทึกสถานะในเลเยอร์ Rollup บันทึกสถานะนี้เป็นค่าแฮชที่เก็บไว้ที่โหนดรูทของ Merkle tree ค่าแฮชนี้เรียกว่าstate root

และลีฟโหนดของ Merkle tree นี้คือข้อมูลสถานะบัญชีใน Rollup หากคุณไม่รู้ว่าต้น Merkle คืออะไร นี่คือตัวอย่างง่ายๆ:

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

สำหรับข้อมูลทุกสถานะสองสถานะ (เช่น สถานะที่ 1/สถานะที่ 2) เราสามารถคำนวณค่าแฮชที่ไม่ซ้ำกัน (เช่น: แฮช(1,2) ) ตามสูตรการแฮชบางอย่างในฐานะบิดาของโหนดลีฟทั้งสองนี้ โหนดหนึ่งโหนด หนึ่งและอื่น ๆ และสุดท้ายรับค่าแฮชที่เก็บไว้ในรูทโหนด:

คุณไม่จำเป็นต้องรู้วิธีคำนวณแฮช คุณเพียงแค่ต้องจำบางสิ่ง

1 การเปลี่ยนแปลงของ leaf node จะทำให้ค่าของ root node เปลี่ยนไป (การเปลี่ยนแปลงสถานะใด ๆ จะทำให้แฮชรูทเปลี่ยนไป)

2 หากค่าแฮชรูทของต้นไม้ทั้งสองเหมือนกันหมายความว่าข้อมูลที่เก็บไว้ในโหนดใบไม้นั้นเหมือนกันทุกประการ(ดังนั้นจึงจำเป็นต้องเปรียบเทียบค่าแฮชของโหนดรูทสองโหนดเท่านั้นเพื่อยืนยันความสอดคล้องของข้อมูลสถานะพื้นฐาน)

ข้อความ

ข้อความ

คีย์คือที่อยู่บัญชี และค่าจะมีข้อมูลสถานะ เช่น ยอดคงเหลือ/Nonce/รหัสสัญญา/ที่จัดเก็บ (สำหรับบัญชีสัญญา)

เมื่อการทำธุรกรรมเกิดขึ้นในการยกเลิก สถานะของบัญชีเหล่านี้จะเปลี่ยนไป ส่งผลให้เกิดสถานะรูทใหม่

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

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

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

ข้อความ

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

3: สงสัย

หลังจากอ่านคำอธิบายข้างต้นแล้ว คุณอาจมีคำถาม ไม่ต้องกังวล เราจะอนุมานและอธิบายทีละขั้นตอน

(1) ถ้าส่งข้อมูลครบตามจำนวนแล้วก็ยังขยายยากใช่ไหม? การบีบอัดข้อมูลที่กล่าวถึงข้างต้นช่วยแก้ปัญหานี้ได้หรือไม่? คุณจะทำอย่างไรมันได้หรือไม่?

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

ต่อไปนี้คือโหมดการบีบอัดที่ Vitalik อธิบายไว้ในบทความของเขา เพื่อเป็นตัวอย่างที่ช่วยให้เราเข้าใจ

การทำธุรกรรมอย่างง่ายบนห่วงโซ่หลักของ Ethereum (เช่น การส่ง ETH) โดยทั่วไปจะใช้ประมาณ 110 ไบต์ อย่างไรก็ตาม การส่ง ETH บน Rollup สามารถลดลงเหลือประมาณ 12 ไบต์

เพื่อให้ได้เอฟเฟกต์การบีบอัด ในแง่หนึ่ง การเข้ารหัสที่เรียบง่ายและขั้นสูงถูกนำมาใช้ และ RLP ปัจจุบันของ Ethereum เสีย 1 ไบต์ในความยาวของแต่ละค่า ในทางกลับกัน มีเทคนิคการบีบอัดที่เรียบร้อย:

Nonce: สามารถละเว้น nonce ได้อย่างสมบูรณ์ในการยกเลิก

Gasprice: เราสามารถอนุญาตให้ผู้ใช้จ่ายด้วยช่วงราคาก๊าซที่แน่นอน เช่น 2 ยกกำลัง 16

แก๊ส: เรายังสามารถตั้งค่าแก๊สเป็นหลายกำลัง 2 นอกจากนี้ เรายังสามารถกำหนดขีดจำกัดของก๊าซในระดับแบทช์ได้อีกด้วย

ถึง: ที่อยู่สามารถระบุได้ด้วยดัชนีบนต้นไม้ Merkle

ค่า: เราสามารถเก็บค่าไว้ในสัญกรณ์วิทยาศาสตร์ ในกรณีส่วนใหญ่ การโอนต้องใช้ตัวเลขนัยสำคัญเพียง 1 ถึง 3 หลักเท่านั้น

ลายเซ็น: เราสามารถใช้ลายเซ็นรวม BLS เพื่อรวมหลายลายเซ็นเป็นหนึ่งเดียว

เทคนิคการบีบอัดเหล่านี้เป็นกุญแจสำคัญในการขยาย Rollup หากเราไม่บีบอัดข้อมูลธุรกรรม การ Rollup อาจปรับปรุงประสิทธิภาพได้ประมาณ 10 เท่าตาม Main Chain แต่ด้วยเทคนิคการบีบอัดเหล่านี้ เราสามารถทำได้ถึง 50 เท่า ประสิทธิภาพการบีบอัด 100 เท่าหรือสูงกว่านั้น

ในขณะเดียวกัน เพื่อประหยัดเชื้อเพลิง ข้อมูลธุรกรรมที่ถูกบีบอัดเหล่านี้จะถูกจัดเก็บไว้ในพารามิเตอร์ calldata EIP-4488 ที่มีชื่อเสียงเสนอให้ลดการใช้ก๊าซของข้อมูลแต่ละไบต์ใน calldata เพื่อเพิ่มประสิทธิภาพปริมาณข้อมูลธุรกรรมในเลเยอร์ม้วนที่สามารถดำเนินการโดยธุรกรรมของห่วงโซ่หลัก สำหรับเอฟเฟ็กต์การบีบอัดเฉพาะ เราจะแสดงข้อมูลง่ายๆ เมื่อเปรียบเทียบ ZK-Rollups สองรายการด้านล่าง

(2) จะตรวจสอบได้อย่างไรว่าข้อมูลที่ตรวจสอบได้นั้นถูกต้อง?

เนื่องจากการยืนยันการเปลี่ยนสถานะขั้นสุดท้าย (ซึ่งแสดงถึงการยืนยันธุรกรรมด้วย) ถูกกำหนดโดยการอัปเดตสถานะรูท แต่ดูเหมือนว่าผู้ส่งใน Rollup สามารถส่งข้อมูลธุรกรรมและสถานะรูทที่เขาต้องการได้ ดังนั้นวิธีการ ตรวจสอบที่เขาส่งมา ข้อมูลนี้ถูกต้องหรือไม่?

สำหรับปัญหานี้ โดยทั่วไปมีสองวิธีแก้ไข และตามวิธีแก้ไขที่แตกต่างกัน การยกเลิกยังแบ่งออกเป็นสองประเภท:

4:Optimistic Rollup

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

(1) นี่คือตัวอย่างง่ายๆ ของการสร้างหลักฐานการฉ้อโกง (ขอบคุณ Vitalik อีกครั้ง):

หากต้องการส่งหลักฐานการฉ้อโกงเพื่อพิสูจน์ว่าชุดงานที่ส่งมานั้นไม่ถูกต้อง จำเป็นต้องมีข้อมูลที่รวมอยู่ในส่วนสีเขียวของภาพด้านล่าง:

1. ชุดที่ส่งโดยผู้ส่ง

2. ส่วนหนึ่งของ Merkle tree (ซึ่งเป็นตัวแทนของข้อมูลสถานะบัญชีจริง) ซึ่งแสดงโดย state root ก่อนหน้า และ Merkle tree ที่สมบูรณ์สามารถสร้างขึ้นจากส่วนนี้ได้

  • จากแผนผัง Merkle ที่สร้างขึ้นในส่วนที่สอง เราได้จำลองการดำเนินการของธุรกรรมที่ส่งในชุด ซึ่งจะได้รับสถานะบัญชีใหม่ โครงสร้าง Merkle ใหม่ และรากสถานะใหม่

  • เปรียบเทียบสถานะรูทที่ได้รับในขั้นตอนก่อนหน้ากับสถานะรูทในชุดงานเพื่อตรวจสอบว่าชุดงานถูกต้อง

(2) ขั้นตอนการตรวจสอบ

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

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

5:ZK-Rollup

(1) แกนหลักของ Zk-rollup

โซลูชันอีกประเภทหนึ่งคือ ZK Rollup ซึ่งแตกต่างจาก OR (Optimistic Rollup) ZK Rollup ตั้งสมมติฐานพื้นฐานดังกล่าว:

ฉันไม่เชื่อว่าผู้ส่งจะสามารถส่งแบทช์ที่ถูกต้องได้ หรือคล้ายกับ "ข้อสันนิษฐานของความผิด" ในทางนิติศาสตร์ นอกจากข้อมูลธุรกรรมและรูทของสถานะภายหลัง/ก่อนหน้าแล้ว ผู้ส่งยังต้องพกใบรับรอง ZK-SNARK เมื่อส่งแบทช์

ใบรับรองความถูกต้องใบรับรองความถูกต้อง" สามารถใช้โดยตรงเพื่อตรวจสอบว่าชุดงานที่ส่งมานั้นถูกต้อง หลังจากส่งหลักฐานนี้ไปยังสัญญาค่าสะสมแล้ว ทุกคนสามารถใช้เพื่อตรวจสอบชุดธุรกรรมเฉพาะในชั้นค่าสะสมได้ ซึ่งหมายความว่าค่าสะสมจะไม่เป็นเช่นนั้น คุณต้องรอ 7-14 วันหลังจากส่งเพื่อตรวจสอบ

(2) ความแตกต่างระหว่างหลักฐานความถูกต้องและหลักฐานการฉ้อโกง

แล้วจะเข้าใจความแตกต่างระหว่าง "การพิสูจน์ความถูกต้อง" เช่น ZK-Rollup และ "การพิสูจน์การฉ้อโกง" ที่ใช้โดย Plasma/Optimsitic Rollup ได้อย่างไร

ประการแรก โซลูชันทั้งสามต้องการคนในการจัดเรียง ดำเนินการ และจัดแพคเกจธุรกรรมบนเลเยอร์ 2 ให้เราเรียกบทบาทนี้ว่า "ผู้ดำเนินการ"

Executors ของ Plasma จะส่งเฉพาะผลลัพธ์ของ Execution เท่านั้น โดยยึดหลักการว่าคนอื่นจะเชื่อหรือไม่ก็ตาม หากคุณไม่เชื่อใจฉัน คุณต้องเริ่ม Challenge และการเริ่ม Challenge คุณต้องบันทึกข้อมูลธุรกรรมพื้นฐาน ตัวคุณเอง.

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

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

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

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

(3) ตรรกะการดำเนินการของ ZK-Rollup

ก่อนอื่น ZK-Rollup นั้นเป็นโซลูชัน Rollup ดังนั้นจึงยังคงต้องทำสองสิ่งต่อไปนี้:

  • แพ็คและบีบอัดชุดข้อมูลธุรกรรม

  • สร้างรูทสถานะใหม่

ข้อแตกต่างเพียงอย่างเดียวคือวิธีการตรวจสอบ ZK-Rollup จะไม่รอให้ผู้ตรวจสอบเริ่มกระบวนการพิสูจน์การฉ้อโกง แต่จะสร้างหลักฐาน ZK-SNARK โดยตรงและเพิ่มลงในแบทช์และส่งไปยังสัญญาการยกเลิกห่วงโซ่หลัก

ดังที่แสดงในรูป เนื้อหาที่ส่งเพิ่ม ZK-Proof เมื่อเทียบกับ OR และบทบาทของผู้ตรวจสอบจะถูกซ่อนไว้

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

(4) จะสร้างหลักฐานยืนยันความถูกต้องของ ZK-SNARK ได้อย่างไร?

A ZK-SNARK คืออะไร?

ชื่อเต็มของ ZK-SNARK คือ "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge"

การพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบรวบรัด ฉันจะพยายามอธิบายว่าแต่ละส่วนหมายถึงอะไร:

รวบรัด (กระชับ): เมื่อเปรียบเทียบกับจำนวนข้อมูลที่พิสูจน์แล้วจริง วิธีนี้สร้างการพิสูจน์ที่น้อยกว่ามาก

ตัวอย่างเช่น หากเราต้องการพิสูจน์ว่าชุดของธุรกรรมมีอยู่และเกิดขึ้น จำนวนข้อมูลพิสูจน์ที่สร้างขึ้นจะต้องน้อยกว่าจำนวนข้อมูลของธุรกรรมเหล่านี้เอง

ไม่โต้ตอบ (ไม่มีการโต้ตอบ): หลังจากสร้างการพิสูจน์แล้ว ผู้พิสูจน์จะต้องส่งข้อความธรรมดาถึงผู้ตรวจสอบเพียงครั้งเดียว และมักจะอนุญาตให้ทุกคนตรวจสอบได้โดยไม่ต้องขออนุญาต

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

อาร์กิวเมนต์: สามารถต้านทานการโจมตีของผู้พิสูจน์ได้ด้วยพลังการประมวลผลที่จำกัด

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

ความรู้: เป็นไปไม่ได้ที่จะสร้างหลักฐานโดยไม่รู้ว่ากำลังพิสูจน์อะไรอยู่

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

สุดท้าย แต่ไม่ท้ายสุด"Zero-Knowledge”:

Zero-knowledge หมายความว่าเมื่อผู้พิสูจน์พิสูจน์ข้อความ (Statement) ต่อผู้ตรวจสอบ เขาไม่เปิดเผยข้อมูลที่เป็นประโยชน์หรือข้อมูลใด ๆ ที่เกี่ยวข้องกับตัวพิสูจน์เอง

B ตัวอย่างการพิสูจน์ความรู้ที่ไม่มีความรู้ที่ง่ายที่สุดตัวอย่างหนึ่งคือตัวอย่างนี้

อลิซต้องการพิสูจน์ให้ Bob เห็นว่าเธอรู้รหัสผ่านของตู้เซฟใบหนึ่ง รหัสผ่านเป็นวิธีเดียวที่จะเปิดตู้เซฟได้ แต่เธอไม่ต้องการบอกรหัสผ่านของตู้เซฟให้ Bob ทราบ ฉันควรทำอย่างไร

มันบังเอิญว่า Bob รู้ว่ามีจดหมายรักที่เขียนโดยแฟนเก่าของ Bob อยู่ในตู้เซฟ โดยมีลายนิ้วมือของทั้ง Bob และแฟนเก่าของเขาอยู่บนนั้น

อลิซจึงเปิดตู้เซฟที่อยู่ด้านหลังบ็อบ หยิบจดหมายรักออกมาและมอบให้บ็อบ

นี่เป็นการพิสูจน์ว่าอลิซรู้รหัสผ่านของตู้เซฟ และอลิซไม่ได้บอกบ็อบว่ารหัสผ่านคืออะไร สำเร็จ!

C จะสร้างหลักฐาน ZK-SNARK สำหรับ ZK-Rollup ได้อย่างไร

โดยสังเขป การสร้างหลักฐาน ZK-SNARK แบ่งออกเป็นขั้นตอนต่อไปนี้:

กำหนดกฎการตรวจสอบเชิงตรรกะของปัญหา (เช่น การตรวจสอบว่ายอดคงเหลือและ nonce ตรงตามข้อกำหนดหรือไม่ เป็นต้น)

แปลงกฎการตรวจสอบเชิงตรรกะให้เป็นปัญหาวงจรเกทเซอร์เคิล

แปลงปัญหา Gate Circuit Circle เป็นแบบฟอร์ม R1CS (ระบบข้อจำกัดอันดับ 1 ระบบข้อจำกัดลำดับที่หนึ่ง)

แปลง R1CS เป็น QAP (โปรแกรมเลขคณิตกำลังสอง)

บทความนี้บทความนี้

หากคุณคิดว่าส่วนนี้ซับซ้อนกว่าทุกส่วนที่ผ่านมา คุณคิดถูก สิ่งที่ซับซ้อนเช่นกันคือผู้ให้บริการโซลูชัน ZK-Rollup ในปัจจุบัน ซึ่งเป็นสาเหตุหนึ่งที่ทำให้ความคืบหน้าในการวิจัยและพัฒนา ZK-Rollup และการใช้งานจริงในปัจจุบันช้ากว่า Optimstic Rollup หากคุณไม่ใช่ผู้เชี่ยวชาญด้านคณิตศาสตร์/การเข้ารหัส หรือนักพัฒนา Matter Labs ต่อไปนี้เป็นเพียงบางสิ่งที่คุณจำเป็นต้องรู้:

  • การสร้างการพิสูจน์ ZK-SNARK นั้นต้องใช้การคำนวณและใช้เวลานานกว่าการตรวจสอบ Merkle tree

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

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

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

D เหตุใดจึงเป็นเรื่องยากที่ ZK จะเข้ากันได้กับ EVM

เปิด DeFillama แล้วคุณจะพบว่าโซลูชันเลเยอร์ 2 อันดับต้น ๆ ใน TVL เป็น OR ทั้งหมด นี่เป็นเพราะโซลูชัน OR เหล่านี้มีเครือข่ายของตัวเองอยู่แล้วและเครือข่ายเหล่านี้รองรับ EVM นักพัฒนาสามารถผสานรวมสัญญาอัจฉริยะบน Ethereum ได้อย่างราบรื่นและย้ายไปยัง เครือข่ายของพวกเขา และผู้ใช้ยังสามารถดำเนินการ เช่น การแลกเปลี่ยน การจดจำนอง และการจัดหาสภาพคล่องบนเครือข่ายของพวกเขา

อย่างไรก็ตาม ZK-Rollup ยังคงยากที่จะบรรลุเป้าหมายนี้ และโซลูชันที่มีอยู่จำนวนมากสามารถรองรับได้เฉพาะสถานการณ์การชำระเงินและการแลกเปลี่ยนแบบธรรมดาเท่านั้น

เหตุใดจึงเป็นเช่นนั้น ก่อนอื่น เราต้องทำให้ชัดเจนว่าในเลเยอร์ 1 รหัสไบต์ของสัญญาอัจฉริยะที่ใช้งานจะถูกจัดเก็บไว้ในที่จัดเก็บ Ethereum (รายการพื้นที่จัดเก็บ) จากนั้นธุรกรรมจะถูกเผยแพร่ในเครือข่าย peer-to-peer สำหรับแต่ละธุรกรรม แต่ละโหนดแบบเต็มจำเป็นต้องโหลด bytecode ที่สอดคล้องกันและดำเนินการบน EVM เพื่อรับสถานะเดียวกัน (ธุรกรรมจะถูกใช้เป็นข้อมูลอินพุต)

ในเลเยอร์ 2 แม้ว่า bytecode ของสัญญาอัจฉริยะจะถูกเก็บไว้ในรายการพื้นที่เก็บข้อมูลด้วย แต่วิธีการทำงานของผู้ใช้ก็เหมือนกัน แต่ธุรกรรมจะถูกส่งไปยังโหนด zkEVM แบบรวมศูนย์ภายใต้ห่วงโซ่ ในเวลาเดียวกัน zkEVM ไม่เพียงแต่ต้องดำเนินการ bytecode เท่านั้น แต่ยังต้องสร้าง Proof เพื่อระบุว่าสถานะได้รับการปรับปรุงอย่างถูกต้องหลังจากธุรกรรมเสร็จสิ้น สุดท้าย สัญญาเลเยอร์ 1 สามารถตรวจสอบหลักฐานและอัปเดตสถานะได้ และในเวลานี้ ไม่จำเป็นต้องดำเนินการธุรกรรมซ้ำบนเลเยอร์ 2

กล่าวคือ การดำเนินธุรกรรมบน zk-Rollup นั้นมีตรรกะและพาธที่แตกต่างกันอย่างสิ้นเชิง ขณะเดียวกัน zkEVM ยังปรับเพื่อสร้างการพิสูจน์วงจร zk ขณะดำเนินธุรกรรม EVM ที่มีอยู่สร้างการพิสูจน์ ZK-SNARK ดังนี้: คำถาม:

  • ไม่รองรับการดำเนินการเส้นโค้งวงรีบางอย่างที่ ZK-SNARK ต้องการ

  • เมื่อเปรียบเทียบกับเครื่องเสมือนแบบดั้งเดิม EVM มีรหัสเฉพาะจำนวนมาก ซึ่งยากต่อการออกแบบวงจร

  • EVM ทำงานบนจำนวนเต็ม 256 บิต (เช่นเดียวกับเครื่องเสมือนทั่วไปส่วนใหญ่ทำงานบนจำนวนเต็ม 32-64 บิต) และการพิสูจน์ความรู้ที่ไม่มีความรู้ "โดยธรรมชาติ" จะทำงานบนฟิลด์สำคัญ

ปัญหาเหล่านี้เป็นเพียงปัญหาบางประการในการสร้าง ZK Proof ใน EVM แม้ว่า OR จะต้องสร้างเครื่องเสมือนเพื่อดำเนินการ EVM ด้วย เนื่องจากจำเป็นต้องดำเนินการบรรจุภัณฑ์ธุรกรรมและฟังก์ชันอื่น ๆ บนพื้นฐานของการดำเนินการธุรกรรมเท่านั้น สร้าง ง่ายกว่ามาก สำหรับ ZK-Rollup นอกเหนือจากความยากในการสร้าง ZK-Proof ในขณะที่เข้ากันได้กับ EVM แล้ว การตรวจสอบหลักฐานนี้บน Layer1 นั้นไม่ง่ายเลย

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับความยากของ ZK-EVM คุณสามารถอ่านบทความนี้: https://hackmd.io/@yezhang/S1_KMMbGt

หลังจากอ่านเนื้อหาข้างต้นแล้ว ปฏิเสธไม่ได้ว่าการนำ zk-Rollup ไปใช้นั้นมีความยุ่งยากทางเทคนิคสูง ดังนั้นทำไมเราไม่ใช้เทคโนโลยี Optimistic Rollup ที่ "เรียบง่าย" กว่านี้โดยตรง

ตอนนี้เรามาเปรียบเทียบเทคนิค Rollup ทั้งสองแบบง่ายๆ กัน

6:Optimstic VS ZK

(1) การเพิ่มประสิทธิภาพ (TPS/ค่าธรรมเนียมการทำธุรกรรม)

แหล่งที่มา

แหล่งที่มา

ขอบคุณ @W3.ทีม Hitchhiker สำหรับความช่วยเหลือของพวกเขา!

จากรูป เราจะเห็นว่าแบบแผน ZK มีประสิทธิภาพมากกว่าแบบแผน OR ทำไม?

สำหรับแผน Rollup สิ่งที่สำคัญที่สุดคือจำนวนข้อมูลธุรกรรมเลเยอร์ 2 ที่สามารถดำเนินการในธุรกรรม Ethereum และสิ่งนี้เกี่ยวข้องกับพารามิเตอร์สองตัว:

  • ปริมาณการใช้ก๊าซของธุรกรรมที่บีบอัดโดยค่าสะสม

  • ขีดจำกัดแก๊สสูงสุดของบล็อก Ethereum

ในหมู่พวกเขา Rollup สามารถแก้ไขจุดแรกได้ แม้ว่าการจัดเก็บและการตรวจสอบการพิสูจน์ ZK-Rollup จำเป็นต้องใช้พื้นที่จัดเก็บและก๊าซจำนวนหนึ่ง (ข้อมูลที่น่าเชื่อถือคือประมาณ 500K) อย่างไรก็ตาม เนื่องจากการบีบอัดธุรกรรมที่ดีขึ้น และการใช้พื้นที่จัดเก็บข้อมูลธุรกรรมเป็นส่วนใหญ่ของการใช้แก๊ส ZK-Rollup จึงทำงานได้ดีกว่าการเพิ่มประสิทธิภาพ OR

นอกจากนี้ คุณอาจสังเกตเห็นว่า ZKPort มีการเพิ่มประสิทธิภาพ TPS และต้นทุนธุรกรรมที่ดีที่สุด ในตาราง สาเหตุหลักเป็นเพราะ Validium ที่ใช้นั้นเป็นโซลูชัน Plasma ที่แทนที่หลักฐานการฉ้อโกงด้วย ZK Proofs โดยจะไม่ส่งข้อมูลธุรกรรม ถูกกำหนดโดยประสิทธิภาพการประมวลผลของ Plasma chain ทั้งหมด แต่ก็ประสบปัญหาความไม่พร้อมของข้อมูลในแง่ของความปลอดภัย

การคำนวณข้างต้นถือว่าราคาก๊าซอยู่ที่ 30 Gwei และเราทุกคนรู้ว่าราคาก๊าซจะไปที่ราคาใดเมื่อกิจกรรม Ethereum พุ่งสูงขึ้น เมื่อถึงเวลานั้น ผลการเพิ่มประสิทธิภาพต้นทุนของค่าสะสม โดยเฉพาะรูปแบบ ZK จะชัดเจนยิ่งขึ้น

(2) ค่าเวลา

เราได้กล่าวไว้ก่อนหน้านี้ว่าการถอนตัวจาก Optimtisc Rollup นั้นต้องการระยะเวลาการส่ง 7-14 วัน เนื่องจากกลไกการพิสูจน์การฉ้อโกงสำหรับผู้อื่นในการหักล้างการประพฤติมิชอบที่อาจเกิดขึ้น

แน่นอน เราสามารถลดระยะเวลาการถอนได้ผ่านพฤติกรรมบางอย่างที่เป็นอิสระจากกลไกการควบรวมกิจการเอง คล้ายกับกลไกการรวมสภาพคล่องที่นำเสนอโดยโซลูชันการรวมบัญชี Optimstic เช่น Boba Network

ให้เราสมมติสถานการณ์ดังกล่าว:

Alice เป็นผู้ใช้ OR ที่มีสินทรัพย์ 5ETH ใน L2

กลุ่มสภาพคล่อง B อีกกลุ่มบน L1 ถูกเปิดเพื่อให้สภาพคล่องแก่ผู้ใช้ OR เช่น ALice

ตอนนี้อลิซต้องการคืนทรัพย์สินทั้งหมดจาก OR และตอนนี้เขาทำธุรกรรมกับ B:

อลิซสามารถรับ 5ETH จาก Bob ได้โดยตรงและชำระค่าธรรมเนียมการจัดการจำนวนหนึ่งในเวลาเดียวกัน

หลังจากผ่านไป 7 วัน ทรัพย์สินของอลิซจะถูกปลดล็อก และ 5ETH ที่อลิซรับไปจะถูกส่งกลับไปที่พูล

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

แต่วิธีนี้ไม่เหมาะสำหรับ NFT เนื่องจาก NFT ไม่สามารถแบ่งแยกได้ และกลุ่มสภาพคล่องไม่สามารถคัดลอก NFT ไปยังผู้ใช้ได้

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

ต้นทุนด้านเวลาเป็นข้อบกพร่องของ OR และยังเป็นหนึ่งในข้อได้เปรียบที่สำคัญของ ZK-Rollup

(3) ความสามารถในการปรับตัว

ทั้ง Optimsitic และ ZK ประสบปัญหาด้านความเข้ากันได้และการปรับให้เข้ากับการดำเนินการเรียกสัญญา EVM ที่ซับซ้อน แต่เห็นได้ชัดว่า Optimsitic นั้นง่ายกว่าที่จะใช้

โซลูชัน OR รวมถึง Arbiturm และ Optimsim มีเครื่องเสมือนที่เข้ากันได้กับ EVM ซึ่งอนุญาตให้ประมวลผลธุรกรรมทั้งหมดที่เกิดขึ้นบนห่วงโซ่หลักของ Ethereum นอกจากนี้ โปรโตคอล DeFi ระดับ OG บางตัว เช่น Uniswap/Synthetix/Curve ยังได้รับการปรับใช้บนเครือข่าย OR

การสร้าง ZK-SNARK ที่เข้ากันได้กับ EVM พิสูจน์แล้วว่าเป็นเรื่องยากมาก จนถึงขณะนี้ยังไม่มีโซลูชัน ZK-Rollup ที่เปิดเผยต่อสาธารณะ อย่างไรก็ตาม เรามีข่าวดีเมื่อเร็ว ๆ นี้ เครือข่ายทดสอบสาธารณะ zkSync 2.0 เปิดตัวอย่างเป็นทางการเมื่อปลายเดือนกุมภาพันธ์ นี่เป็น ZK Rollup แรกที่รองรับ EVM บนเครือข่ายทดสอบ Ethereum บางทีการใช้ ZK Rollup ในปริมาณมากอย่างเป็นทางการอาจเร็วกว่าที่เราคิด

(4) ความปลอดภัย

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

ความปลอดภัยของ ZK มาจากคณิตศาสตร์หรือการเข้ารหัส เช่นเดียวกับรากฐานของความไว้วางใจในบล็อกเชน: รหัสจะไม่ทำสิ่งชั่วร้าย การรับประกันโดยคณิตศาสตร์และการเข้ารหัสนั้นมั่นคงกว่าความเชื่อในแง่ดีที่ว่าธรรมชาติของมนุษย์จะไม่ทำความชั่ว

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

เราทราบดีว่าการกระจายอำนาจเป็นรากฐานของการรักษาความปลอดภัยทั้งหมด ข้อดีของรุ่น Sequencer นี้คือประสิทธิภาพสูง สามารถทำซ้ำได้อย่างรวดเร็วเมื่อการรวมศูนย์ยังอยู่ในขั้นตอนการสำรวจ โซลูชันเหล่านี้ยังประกาศว่ากระบวนการกระจายอำนาจของ Sequencer จะเป็น ค่อยดำเนินการในอนาคต.. ตัวอย่างเช่น การใช้ PoS หรือ dPoS เพื่อเลือกโหนดซีเควนเซอร์ โซลูชันใหม่ๆ เช่น Metis ได้รับการสำรวจ

(5) บทสรุป

ลองนึกภาพการอภิปรายข้างต้นในรูปแบบของตาราง:

โดยรวมแล้ว OR เป็นโซลูชันที่สมบูรณ์กว่าในขั้นตอนนี้ และแน่นอนว่าเป็นเช่นนั้น ด้วยผลิตภัณฑ์จาก Optimstic และ Arbiturm ที่มีให้นักพัฒนา Ethereum อยู่แล้ว อย่างไรก็ตาม เนื่องจากการใช้กลไกการพิสูจน์การฉ้อโกง เวลาการถอนเงินและความปลอดภัยจึงเป็นเรื่องที่น่าสงสัยในขณะนี้ และการเพิ่มประสิทธิภาพด้านต้นทุนยังด้อยกว่าของ ZK เล็กน้อย

จุดอ่อนของ ZK Rollup นั้นเป็นปัญหาทางเทคนิคโดยทั่วไป ด้วยนักพัฒนาที่ยอดเยี่ยมจำนวนมากที่ลงทุนในการวิจัยที่เกี่ยวข้อง คนส่วนใหญ่รวมถึง Vitalik เห็นด้วยว่า ZK Rollup จะเป็นโซลูชันการขยายที่ดีกว่าในอนาคต

7: Rollup สมบูรณ์แบบหรือไม่

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

แนวคิดต่างๆ ได้รับการพัฒนา ทดสอบ ทำซ้ำ ปรับให้เหมาะสมจนกว่าจะพบวิธีแก้ปัญหาที่ได้ผลที่สุด

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

คำตอบคือ ไม่ ไม่มีวิธีแก้ปัญหาใดที่สมบูรณ์แบบ Rollup ก็มีปัญหามากมาย แม้แต่ ZK-rollup ที่ดูดีกว่าก็ไม่สามารถหลีกเลี่ยงได้

(1) มีเพดานในการเพิ่มประสิทธิภาพ:

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

แต่เราต้องดูในอีกทางหนึ่ง ธุรกรรมบนเครือข่ายหมายความว่าการยกเลิกจะยังคงถูกจำกัดโดยความจุของห่วงโซ่หลัก Ethereum:

การคำนวณอย่างง่าย:

ขีด จำกัด ก๊าซสูงสุดของบล็อก Ethereum ปัจจุบัน: ก๊าซ 12.5M

ต้นทุนข้อมูลต่อไบต์ที่จัดเก็บบนเชน: 16 แก๊ส

ไบต์สูงสุดต่อบล็อก: ~781,000 ไบต์ (12500000/16)

จำนวนข้อมูลที่จำเป็นสำหรับการรวบรวมเพื่อดำเนินการถ่ายโอน ETH: 12 ไบต์ (ดูค่าน้ำมันในส่วนก่อนหน้า)

ธุรกรรมต่อบล็อก: ~65,000 (781,000 ไบต์/ 12 ไบต์)

เวลาบล็อกเฉลี่ยบน Ethereum: 13 วินาที

TPS:~5000(65,000 tx/13 s)

ในที่นี้ เราตั้งสมมติฐานหลายอย่าง เช่น เราถือว่าธุรกรรมทั้งหมดเป็นการโอน ETH แบบธรรมดา การทำธุรกรรมจริงจะมีการเรียกสัญญาที่ซับซ้อนจำนวนมาก และปริมาณการใช้ก๊าซจะสูงขึ้น และสำหรับ ZK-Rollup เราจำเป็นต้องนับค่าใช้จ่ายในการตรวจสอบ ZK-Proof ด้วย (ครึ่งหนึ่งคือประมาณ 500,000 ก๊าซ)

ถึงกระนั้น TPS ที่ Rollup สามารถทำได้ก็ประมาณ 5,000 เท่านั้น เรายังเห็นว่าการเพิ่มประสิทธิภาพโดยตรงที่เกิดจากการใช้กลไก Plasma นั้นสูงกว่าของ Rollup มาก

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

(2) การกระจายตัวของสภาพคล่อง:

ภายใต้อิทธิพลของโครงสร้างแบบหลายสายโซ่ในปัจจุบัน การกระจายตัวของสภาพคล่องนั้นรุนแรงมากขึ้นเรื่อยๆ

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

ดู TVL ปัจจุบันของ Ethereum และเครือข่ายเลเยอร์ 2

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

ท้ายที่สุดแล้ว รูปแบบแหล่งรวมหนี้ของโครงการสินทรัพย์สังเคราะห์นั้นซับซ้อนกว่ารูปแบบแหล่งสภาพคล่องทั่วไปในปัจจุบันมาก และคาดการณ์ได้ว่าโครงการ DeFi กระแสหลัก เช่น Uniswap จะดำเนินการตามกระบวนการนี้ต่อไป

(3) ความสามารถในการจัดองค์ประกอบที่ลดลงซึ่งเกิดจากปัญหาในการสื่อสารและอุปสรรคทางเทคนิค:

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

หากไม่สามารถแก้ไขปัญหาการสื่อสารได้ ดังนั้น dapps บน sub-chain จำเป็นต้องสร้างระบบนิเวศน์ของตนเองขึ้นใหม่ ซึ่งทำให้สิ้นเปลืองทรัพยากรมากขึ้น ไม่เพียงแต่ระหว่าง sub-chain และ main chain เท่านั้น แต่ยังต้องสร้างกลไกการสื่อสารระหว่าง sub-chain และ sub-chain ด้วย

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

(4) ความเสี่ยงจากการรวมศูนย์

บทส่งท้าย

บทส่งท้าย

ข้อความเต็มเกิน 10,000 คำ ซึ่งเกินความคาดหมายของฉันมาก การขยายตัวของ Ethereum นั้นเป็นหัวข้อที่ยิ่งใหญ่และซับซ้อนมาก ในบทความนี้ เกี่ยวข้องกับโซลูชัน Layer2 เพียงบางส่วนเท่านั้น ไม่ได้กล่าวถึงโซลูชันการขยาย Layer1 (การแบ่งกลุ่ม) และโซลูชัน Layer2 อื่นๆ เช่น Side Chain, Validium เป็นต้น ในความเป็นจริง การขยายตัวของ Ethereum ไม่ใช่ทางออกเดียวที่สามารถแก้ไขได้เพียงครั้งเดียวและทั้งหมด ผู้ให้บริการโซลูชันหลายรายกำลังสำรวจหลายเส้นทาง และบริษัทอย่าง Polygon ได้ลงทุนในโซลูชัน Layer 2 ประเภทต่างๆ เป็นจำนวนมาก

ในขณะเดียวกัน หลายสิ่งในบทความถูกจำกัดด้วยความยาวของบทความ และยังคงต้องสำรวจ เช่น การสนับสนุนการสื่อสารแบบใดที่จำเป็นสำหรับการส่งข้อมูลระหว่าง Layer2 และ Layer1 วิธีการใช้หลักฐานการฉ้อโกง/หลักฐานความถูกต้องในเลเยอร์ 1 ความแตกต่างเฉพาะระหว่างแผนการใช้งาน ZK/OR ต่างๆ ฯลฯ การทำความเข้าใจสิ่งเหล่านี้เป็นสิ่งสำคัญมากสำหรับนักวิจัยที่ต้องการเข้าใจ Layer2 โดยเฉพาะการขยาย Rollup เพื่ออำนวยความสะดวกในการทำความเข้าใจและแยกแยะแนวคิดบางอย่างในบทความเราได้จัดทำภาพรวมทั่วไปมากขึ้น ตัวอย่างเช่น OR/ZK มีวิธีแก้ปัญหาที่แตกต่างกันมากในแง่ของการบีบอัดข้อมูลธุรกรรม เป็นต้น ตัวอย่างของ Vitalik ที่ใช้ในบทความคือ มีอคติต่อโซลูชัน ZK มากขึ้น ในกระบวนการเขียน เรายังอ้างถึงเนื้อหา Layer2 ที่ยอดเยี่ยม และเราได้ทำเครื่องหมายไว้ในข้อความและที่ส่วนท้ายของข้อความ นอกจากนี้ เรายังหวังว่าเนื้อหาที่มากขึ้นและดีขึ้นจะช่วยให้ทุกคนสร้างการรับรู้ที่เกี่ยวข้องเพิ่มเติม

สุดท้าย จากมุมมองของโซลูชัน Rollup สองรายการที่เราแนะนำOptimstic Rollup เป็นผู้นำในตลาดในขณะที่เปิดตัวผลิตภัณฑ์ที่มีอยู่ มันค่อยๆ ดึงดูด Dapps กระแสหลักให้รวมเข้ากับระบบนิเวศน์ ปฏิเสธไม่ได้ ว่าได้มีส่วนร่วมอย่างมากจากนักพัฒนาที่เกี่ยวข้อง แต่ข้อมูลอ้างอิง:

ข้อมูลอ้างอิง:

1.An Incomplete Guide to Rollups (Vitalik)

2.การเปรียบเทียบค่าใช้จ่ายของทีม W3hitchhiker สำหรับโซลูชัน Layer2 สี่รายการ

3.การตีความของ Scorll Tech เกี่ยวกับการใช้งาน zkEVM

ETH
Layer 2
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
การวิจัยเชิงลึกเกี่ยวกับข้อดีและข้อเสียของโซลูชันการขยายตัวของ Ethereum
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android