การตีความ 4 มิติของความสามารถในการปรับขนาดของ Ethereum ในอดีตและปัจจุบัน
แปลต้นฉบับ: บล็อกยูนิคอร์น
แปลต้นฉบับ: บล็อกยูนิคอร์น

“Blockchain ไม่สามารถปรับขนาดได้' คุณคงเคยได้ยินมาเป็นล้านๆ ครั้ง ไม่กี่ปีที่ผ่านมาสิ่งนี้รู้สึกเหมือนเป็นภัยคุกคามต่ออุตสาหกรรมอย่างแท้จริง เราจะฝากธนาคารที่ไม่มีธนาคารได้อย่างไรหากเราไม่สามารถประมวลผลธุรกรรม 15 รายการต่อวินาทีได้
แต่คำถามใหญ่ๆ จะขับเคลื่อนนวัตกรรม และความสามารถในการปรับขนาดของบล็อกเชนก็เป็นเรื่องใหญ่ ได้รับความสนใจจากวิศวกรและนักวิทยาศาสตร์อย่างรวดเร็ว และวันนี้เรามั่นใจมากขึ้นว่าบล็อกเชนสามารถปรับขนาดได้ ในความเป็นจริง การถกเถียงในปัจจุบันส่วนใหญ่มุ่งเน้นไปที่โซลูชันความสามารถในการปรับขนาดใดที่จะชนะ
ชื่อระดับแรกสรุป
เผชิญกับ "ไตรเลมมาความสามารถในการขยายขนาด"
เราไม่สามารถพูดถึงความสามารถในการปรับขนาดได้โดยไม่พูดถึง "ไตรเลมมาความสามารถในการปรับขนาด" ที่มีชื่อเสียง คำนี้ได้รับการประกาศเกียรติคุณจาก Vitalik เพื่ออธิบายคุณสมบัติสามประการของบล็อกเชนที่ได้รับการออกแบบให้มี: ความสามารถในการปรับขนาด การกระจายอำนาจ และความปลอดภัย เห็นได้ชัดว่าเราสามารถนำคุณสมบัติทั้งสองนี้ไปใช้ได้ แต่การได้รับทั้งสามอย่างพร้อมกันนั้นยากมาก
ก่อนที่เราจะเข้าใจว่าทำไม เรามาทำให้เงื่อนไขของเราชัดเจนกันก่อน
1. ความสามารถในการปรับขนาดหมายความว่าบล็อกเชนสามารถจัดการธุรกรรมจำนวนมาก โดยวัดเป็นธุรกรรมต่อวินาที (TPS)
2. การกระจายอำนาจหมายความว่า blockchain ดำเนินการโดยโหนดที่ "ไม่น่าเชื่อถือ" จำนวนมากทั่วโลก แทนที่จะเป็นกลุ่มโหนดที่ "เชื่อถือได้" กลุ่มเล็กๆ
3. ความปลอดภัยหมายความว่าแม้ว่าโหนดจำนวนหนึ่งในเครือข่ายจะเป็นอันตราย แต่บล็อกเชนก็สามารถต้านทานการโจมตีได้ ตามหลักการแล้วมันควรจะสามารถจัดการกับโหนดที่เป็นอันตรายได้มากถึง 50%
ชื่อระดับแรก

การกระจายอำนาจและความปลอดภัย

ที่ด้านล่างของรูปสามเหลี่ยมคือบล็อกเชนแบบดั้งเดิม เช่น Bitcoin และ Ethereum 1.0 (ชั้นเดียว)
บล็อกเชนประเภทนี้คือ:
กระจายอำนาจ: ใช่ เพราะทุกคนในโลกสามารถเลือกที่จะเป็นโหนดการขุดได้ นักขุดหลายพันคนทั่วโลกมีส่วนร่วมในการรักษาความปลอดภัยของเครือข่าย Bitcoin และ Ethereum นอกจากนี้ยังไม่จำเป็นต้องให้สิทธิ์ตัวเองในฐานะนักขุด มันไม่น่าเชื่อถืออย่างสมบูรณ์
ปลอดภัย: ใช่ เนื่องจากทุกโหนดในเครือข่ายจะเก็บสำเนาของบล็อกเชนไว้และตรวจสอบทุกธุรกรรม นอกจากนี้ Proof of Work ได้รับการออกแบบมาให้จัดการกับโหนดที่เป็นอันตรายได้มากถึง 50%
ชื่อระดับแรก
ปลอดภัยและปรับขนาดได้
ด้านขวาของสามเหลี่ยมคือโซ่ TPS สูงทั่วไปความปลอดภัย

ความปลอดภัย:ใช่. ทุกโหนด "การเลือกตั้ง" ได้รับอนุญาต ดังนั้นเราจึงควบคุมฝ่ายตรงข้ามในระบบ
ปรับขนาดได้:สามารถ. เนื่องจากมีโหนดที่เลือกจำนวนน้อยสร้างบล็อกใหม่ได้ทุกเมื่อ เราจึงสามารถรับปริมาณงานธุรกรรมที่สูงขึ้นและเวลาแฝงที่ต่ำกว่า ซึ่งหมายถึงค่าธรรมเนียมการโต้ตอบที่ต่ำกว่ากรณีที่ทุกโหนดต้องตรวจสอบทุกธุรกรรม
การกระจายอำนาจ :ชื่อระดับแรก
ปรับขนาดได้และกระจายอำนาจ
ทางด้านซ้ายของรูปสามเหลี่ยมคือระบบนิเวศแบบหลายสายโซ่ เช่น Cosmos, Polkadot และ Avalanche ระบบเหล่านี้มีเครือข่ายบล็อกเชนอิสระมากมายที่สื่อสารกันโดยเป็นส่วนหนึ่งของเครือข่ายบล็อกเชนขนาดใหญ่

ปรับขนาดได้:การกระจายอำนาจ:
การกระจายอำนาจ:มันขึ้นอยู่กับ. แต่ละบล็อกเชนในระบบนิเวศมีชุดของโหนดที่ตรวจสอบความถูกต้องของบล็อกเชน บางเชนในระบบนิเวศจะมีตัวตรวจสอบจำนวนมาก (เช่น เชนของ Stablecoin ที่ต้องการการกระจายอำนาจ) ในขณะที่บางเชนอาจมีน้อยหรือแม้แต่ตัวเดียว (เช่น เชนขององค์กรที่ไม่ต้องการการกระจายอำนาจมากนัก) ดังนั้นระดับของการกระจายอำนาจจึงขึ้นอยู่กับห่วงโซ่ในระบบนิเวศที่เรากำลังพูดถึง
ความปลอดภัย:ไม่ค่อยปลอดภัย หากห่วงโซ่หนึ่งในระบบนิเวศถูกบุกรุก ก็อาจส่งผลกระทบกระเพื่อมต่อส่วนที่เหลือของระบบ ตัวอย่างเช่น หากเชน B ถูกโจมตี และเชน A, C และ D ทั้งหมดขึ้นอยู่กับเชนนั้น เชนอื่นๆ ก็จะได้รับผลกระทบเช่นกัน
อย่างที่คุณเห็น มีความพยายามที่แตกต่างกันมากมายในการปรับขนาดบล็อกเชน แต่เกือบทุกครั้งต้องเสียคุณสมบัติหนึ่งในสามคุณสมบัตินี้ Vitalik และชุมชน Ethereum ไม่เต็มใจที่จะทำการประนีประนอมนี้ และเป้าหมายของพวกเขาคือการได้รับทั้งสาม
ชื่อระดับแรก
ทำความเข้าใจกับส่วนขยายเลเยอร์ 1 และเลเยอร์ 2
ในระดับสูงสุดชั้นที่ 1การปรับขนาดหมายถึงการขยายแกนของบล็อกเชนเอง ในทางกลับกัน การปรับขนาดเลเยอร์ 2 หมายถึงการย้ายธุรกรรมจากเลเยอร์บล็อกเชนหลักไปยังเลเยอร์แยกต่างหากที่สามารถสื่อสารกับเชนหลักได้

ชื่อระดับแรก

โซลูชันสองชั้นที่เก่าแก่ที่สุดของ Ethereum
ข้อความ
ช่องทางของรัฐ
ช่องของรัฐมีมานานแล้ว ดังนั้นจึงไม่ใช่เรื่องใหม่ นี่คือคำอธิบายสั้น ๆ เกี่ยวกับวิธีการทำงาน สมมติว่าเรามีสองคนคืออลิซและบ็อบที่ต้องการแลกเปลี่ยนซึ่งกันและกัน อลิซจ่ายให้บ็อบ 1 ดอลลาร์ทุกครั้งที่เธอทวีต แต่เนื่องจาก Bob ทวีตเป็นจำนวนมากทุกวัน จึงช้าเกินไปและแพงเกินไปที่จะใช้ Ethereum ในการทำธุรกรรม
พวกเขาใช้ "ช่องทางของรัฐ" แทน:
อลิซได้ลงทุน $500 ในสัญญาอัจฉริยะของ Ethereum
เมื่อไรก็ตามที่อลิซต้องการให้บ็อบ 1 ดอลลาร์ เธอจะลงชื่อในข้อความระบุว่าเธอต้องการให้บ็อบเป็นจำนวนเงินเท่าใด เธอคอยเซ็นข้อความจนกว่า Bob จะพร้อม "ถอนเงิน" เงินของเขา
บ๊อบส่งข้อความใหม่ระบุว่าเขาพร้อมที่จะปิดช่องทางของรัฐ สัญญาอัจฉริยะบน Ethereum จะตรวจสอบลายเซ็นของอลิซและบ็อบ จ่ายเงินให้บ็อบตามจำนวนที่ต้องชำระ และคืนส่วนที่เหลือให้อลิซ

โปรดทราบว่าเฉพาะขั้นตอนแรกและขั้นตอนสุดท้ายเท่านั้นที่เราต้องทำธุรกรรมบนบล็อกเชน ระหว่างขั้นตอนเหล่านี้ Alice และ Bob สามารถส่งข้อความที่เซ็นชื่อถึงกันได้ไม่จำกัดจำนวนเพื่อระบุการชำระเงิน
ในกรณีนี้ Ethereum blockchain จะใช้เป็นเพียงชั้นการชำระเงินเพื่อประมวลผลธุรกรรมสุดท้ายของการชำระเงินแบบครั้งเดียว ซึ่งช่วยลดภาระของ blockchain พื้นฐาน
อันดับแรก
อันดับแรกธุรกรรมส่วนใหญ่เกิดขึ้นนอกเครือข่าย ซึ่งหมายความว่าการชำระเงินสามารถดำเนินการได้ทันที เนื่องจากการอัปเดตนอกเครือข่ายระหว่างสองฝ่ายไม่ต้องการเวลาเพิ่มเติมในการประมวลผลและตรวจสอบบนเครือข่ายบล็อกเชน
ประการที่สอง, การชำระเงินมีค่าธรรมเนียมที่ต่ำกว่า เนื่องจากเราจำเป็นต้องทำธุรกรรมบนเครือข่ายเมื่อเปิดและปิดช่องทางของรัฐเท่านั้น ซึ่งหมายความว่าการทำธุรกรรมส่วนใหญ่เกิดขึ้นนอกเครือข่ายโดยมีค่าธรรมเนียมที่ถูกกว่ามาก
เหตุใดจึงไม่ใช่ทางออกสุดท้าย มีข้อ จำกัด ว่าช่องทางใดที่รัฐสามารถทำได้
ตัวอย่างเช่น เราไม่สามารถใช้ช่องทางของรัฐในการทำธุรกรรมกับบุคคลที่ไม่ได้เป็นส่วนหนึ่งของช่องทางของรัฐ และเราจำกัดประเภทของการอัปเดตสถานะที่เป็นไปได้ในช่องทางของรัฐ แอปพลิเคชันที่ซับซ้อน เช่น Uniswap ไม่สามารถใช้ในช่องทางของรัฐได้ เนื่องจากเมื่อเราแลกเปลี่ยนโทเค็นสองรายการบน Uniswap สัญญาอัจฉริยะจะดำเนินการตามขั้นตอนขั้นกลางหลายชุดโดยอัตโนมัติเพื่อทำการแลกเปลี่ยนโดยไม่ต้องให้สิทธิ์ผู้ใช้ในแต่ละขั้นตอน
ข้อเสียอีกประการของช่องทางของรัฐคือพวกเขาต้องการให้เราล็อคสภาพคล่องเพื่อสร้างตัวอย่างของช่องทางและป้องกันสถานการณ์ที่คู่สัญญาที่ไม่ประสงค์ดีอาจไม่เคยจ่ายเงินตามสัญญา วิธีนี้อาจใช้ได้สำหรับช่องทางเดียว แต่สภาพคล่องที่ถูกขังอยู่ในช่องทางระดับกลางทำให้ค่อนข้าง "ไร้ประสิทธิภาพด้านเงินทุน" เมื่อเราพยายามชำระเงินผ่านเครือข่ายช่องทางของรัฐ
ประการสุดท้าย ช่องทางของรัฐต้องการบุคคลที่สามารถตรวจสอบเครือข่ายได้อย่างสม่ำเสมอ (หรือมอบหมายความรับผิดชอบนี้ให้กับบุคคลอื่น) สิ่งนี้ทำให้เงินของคุณปลอดภัย ซึ่งเพิ่มความซับซ้อนและไร้ประสิทธิภาพเข้าไปอีกชั้นหนึ่ง
ห่วงโซ่ด้านข้าง
ห่วงโซ่ด้านข้าง
Sidechains มีมานานแล้วและเป็นที่เข้าใจกันดี พูดง่ายๆ ก็คือ sidechain คือบล็อกเชนอิสระที่ "ตรึง" กับบล็อกเชนหลัก
เมื่อเรา "เชื่อมต่อ" บล็อกเชนหนึ่งกับอีกบล็อกหนึ่ง หมายความว่าเราสามารถย้ายสินทรัพย์ระหว่างบล็อกเชนทั้งสองได้ หมุด "ทางเดียว" คือตำแหน่งที่เราย้ายสินทรัพย์จากบล็อกเชนหลักไปยังไซด์เชน ไม่ใช่ในทางกลับกัน สิ่งนี้ทำได้โดยการ "เบิร์น" โทเค็นบนบล็อกเชนหลักโดยส่งไปยังที่อยู่ที่ใช้งานไม่ได้ จากนั้น "สร้างเหรียญ" โทเค็นที่เทียบเท่าบนไซด์เชน

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

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

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

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

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

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

โซ่พลาสม่าเป็นเหมือนกิ่งก้านของต้นไม้ Ethereum เป็นแกนหลัก โซ่พลาสม่าแต่ละอันเป็นกิ่งก้าน และแต่ละกิ่งถือเป็นบล็อคเชนที่มีประวัติบล็อคเชนและการคำนวณของตัวเอง
“root blockchain” (เช่น Ethereum blockchain) ใช้สิ่งที่เรียกว่า “หลักฐานการฉ้อโกง” เพื่อบังคับใช้ความถูกต้องของสถานะใน Plasma chain การพิสูจน์การฉ้อโกงเป็นกลไกที่เราให้ข้อมูลบางอย่างที่ทุกคนสามารถใช้การพิสูจน์ทางคณิตศาสตร์เพื่อตัดสินว่าข้อมูลนั้นไม่ถูกต้องหรือไม่

Plasma blockchain แต่ละตัวไม่จำเป็นต้องเผยแพร่ข้อมูลธุรกรรมไปยัง root chain โซ่พลาสมาแต่ละเส้นจะมี "ตัวดำเนินการ" แทน นี่อาจเป็นตัวแสดงที่รวมศูนย์ เครื่องหมายหลายตัวที่เป็นตัวแทนของบุคคลหลายคน หรือแม้กระทั่งคณะกรรมการที่เข้าร่วมเป็นผู้ดำเนินการ ผู้ดำเนินการของ Plasma chain ส่ง Merkle root ของการถ่ายโอนที่เกิดขึ้นบน Plasma chain
หมายเหตุ: หากคุณไม่ทราบว่าต้นไม้ Merkle ทำงานอย่างไร ฉันขอแนะนำให้อ่านคำอธิบายนี้ก่อนดำเนินการต่อ ในระดับสูง ต้นไม้ Merkle ช่วยให้เราสามารถใช้ชุดข้อมูลขนาดใหญ่ (เช่น ธุรกรรมในบล็อก) และสร้างแฮชรูทเดียวที่แสดงถึงชุดข้อมูลทั้งหมด

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

หากมีคนพยายามพิสูจน์ว่าธุรกรรมฉ้อฉลมีอยู่จริง แฮชจะไม่ตรงกันและเราจะรู้ทันที
ตกลง กลับไปที่พลาสมา
โซ่พลาสมาแต่ละเส้นกำลังส่ง Merkle root ของการถ่ายโอนที่เกิดขึ้น เมื่อผู้ใช้พยายามย้ายสินทรัพย์ของตนจาก Plasma chain กลับไปยัง root chain ในภายหลัง ผู้ใช้สามารถส่งสาขา Merkle ของธุรกรรมล่าสุดที่ส่งสินทรัพย์ให้กับพวกเขา (ล่าสุดเพียงพอที่เราจะทราบว่ายอดดุลปัจจุบันกำลังรออยู่บน Plasma ). สิ่งนี้จะเริ่มต้นช่วงเวลาแห่งความท้าทายที่ทุกคนสามารถพยายามพิสูจน์ได้ว่า Merkle fork ของผู้ใช้นั้นเป็นของปลอม หากสาขาของ Merkle ฉ้อฉล สามารถส่งหลักฐานการฉ้อโกงได้
เนื่องจาก root blockchain ติดตามเฉพาะรากของ Merkle จึงต้องจัดการกับข้อมูลน้อยกว่าธุรกรรมที่เกิดขึ้นในห่วงโซ่หลัก สิ่งนี้ช่วยลดจำนวนข้อมูลที่จัดเก็บไว้ในรูทบล็อกเชนได้อย่างมาก และช่วยให้เราปรับขนาดรูทเชนได้
นอกจากนี้ หาก Plasma chain ใดถูกโจมตีอย่างมุ่งร้าย เราสามารถ "ทางออกจำนวนมาก”。


เป็นต้น พลาสมามีประโยชน์มากกว่าช่องทางของรัฐเพราะคุณสามารถส่งทรัพย์สินให้ใครก็ได้ ในขณะที่ช่องทางของรัฐจะทำธุรกรรมได้เฉพาะกับคนที่อยู่ในช่องทางของรัฐเท่านั้น นอกจากนี้ ข้อดีของ Plasma ที่เหนือกว่า sidechains คือ Plasma chains นั้นได้รับการรักษาความปลอดภัยโดย Ethereum
ความแตกต่างพื้นฐานระหว่างทั้งสอง (Plasma vs. sidechains) คือ sidechains มีรูปแบบการรักษาความปลอดภัยของตัวเอง พวกเขามีกลไกฉันทามติของตัวเองและชุดโหนดแยกต่างหากเพื่อตรวจสอบสถานะ แม้ว่า sidechain จะถูกโจมตี จะไม่มีอะไรเกิดขึ้นกับ mainchain และในทางกลับกัน ในกรณีที่เกิดการโจมตีที่ side chain ห่วงโซ่หลักจะไม่สามารถปกป้องผู้ใช้ได้
ในทางกลับกัน เป็นต้น พลาสม่ามีรูปแบบการรักษาความปลอดภัยขึ้นอยู่กับPlasma chain แต่ละอันสามารถใช้กลไกของตัวเองในการตรวจสอบธุรกรรมได้ แต่ยังคงใช้ Ethereum blockchain เป็นผู้ตัดสินความจริงขั้นสุดท้าย ในกรณีที่เกิดการโจมตีของ Byzantine ผู้ใช้ Plasma สามารถออกจาก Ethereum ได้
แต่ Plasma มีข้อเสียหลายประการที่ทำให้เป็นโซลูชันที่ขยายขนาดได้น่าเบื่อ
อันดับแรก เมื่อผู้ใช้ต้องการโอนสินทรัพย์จากสัญญา Plasma ไปยัง Ethereum blockchain หลัก พวกเขาต้องรอ 7 วัน เท่านี้ก็เพียงพอแล้วที่ผู้คนจะตรวจสอบได้ว่ารายการถอนเงินนั้นไม่ได้เป็นการฉ้อโกง หากเป็นเช่นนั้น พวกเขาสามารถสร้างหลักฐานการฉ้อโกงได้โดยใช้ Merkle tree บน Plasma chain
ประการที่สอง Plasma chain แต่ละอันต้องการผู้ปฏิบัติงานเพื่อโพสต์ภาระผูกพันของ Merkle root ไปยัง main chain สิ่งนี้ทำให้เราต้องพึ่งพาบุคคลที่สามในการเผยแพร่พันธสัญญาหลักของ Merkle ไปยังห่วงโซ่อย่างถูกต้อง น่าเสียดายที่ผู้ให้บริการสามารถทำสิ่งที่เรียกว่า "การโจมตีข้อมูล" ซึ่งพวกเขาปฏิเสธที่จะเผยแพร่ธุรกรรมบางอย่างไปยังห่วงโซ่หลักด้วยเหตุผลที่เป็นอันตราย

ในกรณีนี้ ผู้ให้บริการสามารถโน้มน้าวให้เครือข่ายยอมรับการบล็อกที่ไม่ถูกต้องโดยไม่สามารถพิสูจน์การบล็อกที่ไม่ถูกต้องได้ สิ่งนี้จะป้องกันไม่ให้ผู้ใช้รายอื่นทราบสถานะที่แน่นอนของบล็อกเชน นอกจากนี้ยังป้องกันไม่ให้ผู้คนสร้างบล็อกหรือธุรกรรมเนื่องจากขาดข้อมูลในการสร้างหลักฐาน ซึ่งแตกต่างจากการฉ้อโกง การโจมตีความพร้อมใช้งานของข้อมูลไม่ได้เกิดจากสาเหตุเฉพาะ เราไม่มีทางรู้ได้เลยว่ามีการโจมตีเกิดขึ้น
ผู้ประกอบการยังสามารถดำเนินการที่เป็นอันตรายในรูปแบบที่ชัดเจนยิ่งขึ้น เช่น โดยการส่งธุรกรรมที่เป็นการฉ้อโกง ในกรณีนี้ ผู้คนสามารถ "ถอนออกจำนวนมาก" ดังที่กล่าวไว้ข้างต้น แต่สิ่งเหล่านี้ได้พิสูจน์แล้วว่ายากกว่ามากในการปฏิบัติจริง หากผู้ใช้หลายคนต้องการถอนเป็นจำนวนมาก อาจทำให้เกิดความแออัดบนห่วงโซ่หลัก และผู้ใช้อาจไม่สามารถถอนออกได้ทันเวลา ส่งผลให้สูญเสียเงินทุน
ประการที่สาม Plasma ต้องการให้เจ้าของสินทรัพย์ที่มีการซื้อขายแสดงตน สิ่งนี้ทำให้มั่นใจในความปลอดภัยของ Plasma chain เนื่องจากทำให้ธุรกรรม (เช่น การส่งโทเค็น ERC 20 ไปยังที่อยู่ที่ได้รับการอนุมัติ) เป็นไปไม่ได้โดยไม่ได้รับความยินยอมจากเจ้าของ พลาสมาทำงานได้ดีที่สุดสำหรับการถ่ายโอนแบบธรรมดา แต่เมื่อธุรกรรมมีความซับซ้อนมากขึ้น พื้นที่การออกแบบจะไม่สม่ำเสมอ
ด้วยเหตุผลข้างต้น Polygon และ OMG Networks เริ่มไล่ตามสถาปัตยกรรม Plasma สำหรับการปรับขนาด แต่แล้วก็ละทิ้งมันไป
สรุป
สรุป
เช่นเดียวกับช่องสถานะ ไซด์เชน และพลาสมา การโรลอัปเป็นโซลูชัน "เลเยอร์ 2" อันที่จริง การสั่งรวมจะคล้ายกับ Plasma ตรงที่เราทำธุรกรรมเป็นชุดนอกเครือข่ายและเผยแพร่การอัปเดตไปยังบล็อกเชนหลัก อย่างไรก็ตาม ข้อแตกต่างที่สำคัญคือด้วยการรวมข้อมูล เรายังเผยแพร่ข้อมูลธุรกรรมสำหรับธุรกรรมแต่ละชุดบนเครือข่าย ด้วย Plasma เราจะเผยแพร่ Merkle root เท่านั้น
กล่าวอีกนัยหนึ่ง ด้วยการรวมเข้าด้วยกัน เราทำธุรกรรมนอกเชน แต่เราเผยแพร่ข้อมูลธุรกรรมบนเชน จำนวนข้อมูลที่เราเผยแพร่บนเครือข่ายเป็นจำนวนขั้นต่ำที่จำเป็นสำหรับการตรวจสอบความถูกต้องของธุรกรรมรวมในพื้นที่ ด้วยการวางข้อมูลบนเครือข่าย ทุกคนสามารถตรวจจับการฉ้อโกง เริ่มต้นการถอนเงิน หรือเริ่มสร้างแบทช์ธุรกรรมได้ด้วยตนเอง ดังนั้น การโรลอัพจึงให้การรับประกันความปลอดภัยที่สูงกว่า Plasma chains หรือ sidechains
ความแตกต่างที่สำคัญอีกประการระหว่างการโรลอัปและพลาสมาคือเราไม่ต้องกังวลเกี่ยวกับความพร้อมใช้งานของข้อมูล ท้ายที่สุด เราเผยแพร่ข้อมูลธุรกรรมไปยังเชนหลัก นี่เป็นชัยชนะที่ยิ่งใหญ่
เมื่อใช้การยกเลิก เราจะเรียกใช้เวอร์ชันของ EVM ภายในเลเยอร์การยกเลิกอย่างมีประสิทธิภาพ ซึ่งหมายความว่าการทำธุรกรรมใด ๆ ที่เป็นไปได้บน Ethereum สามารถดำเนินการได้ในการยกเลิก
สิ่งนี้ทำให้เกิดคำถาม: หากเรายังคงเผยแพร่ข้อมูลธุรกรรมบนเชน ระดับชั้นที่ 1 นี้จะเป็นอย่างไร ความสามารถในการปรับขนาดไม่ได้ถูกจำกัดด้วยแบนด์วิธข้อมูลของเชนหลักใช่หรือไม่
ใช่. กุญแจสำคัญคือเราได้รับความสามารถในการขยายขนาด 5x ถึง 100x พร้อมการยกเลิก แต่ไม่ใช่ความสามารถในการปรับขนาดที่ไม่มีที่สิ้นสุด นอกจากนี้ Rollups ยังใช้เทคนิคการบีบอัดแบบแฟนซีเพื่อลดจำนวนข้อมูลธุรกรรมที่เราโพสต์บนเครือข่าย ข้อมูลจึงถูกจัดเก็บบนเครือข่ายน้อยกว่าที่ควรจะเป็น

ในเวลาเดียวกัน เราว่าจ้างบุคคลภายนอกเพื่อยกระดับการดำเนินการธุรกรรมนอกเครือข่ายไปยัง Rollup โปรดจำไว้ว่าในระหว่างการดำเนินการธุรกรรม การทำธุรกรรมจะต้องดำเนินการโดย Ethereum Virtual Machine (EVM) จัดการและโต้ตอบกับรัฐ (เช่น พื้นที่เก็บข้อมูล ยอดเงินในบัญชี ฯลฯ) นี้มีราคาแพง
ชื่อระดับแรก
มาดูบทสรุปกันดีกว่า
ทีนี้ มาดูกันว่าเบื้องหลังการทำงานของ Rollup เป็นอย่างไร
มี "สัญญาการยกเลิก" บนห่วงโซ่หลักที่รักษาสถานะปัจจุบันของชั้นการยกเลิก ซึ่งรวมถึงยอดคงเหลือในบัญชีของผู้ใช้ที่ทำธุรกรรมและรหัสสัญญาอัจฉริยะของสัญญาที่มีอยู่ภายในนั้น กล่าวโดยสรุปคือ สัญญาการยกเลิกติดตาม "สถานะรูท" ของธุรกรรมในชั้นการยกเลิก

"สถานะรูท" ประกอบด้วยการแมปคีย์-ค่า โดยที่คีย์คือแอดเดรสและค่าคือบัญชี แต่ละบัญชีมีคุณสมบัติสูงสุด 4 อย่าง: ยอดคงเหลือ nonce รหัส (สำหรับสัญญาอัจฉริยะเท่านั้น) และพื้นที่เก็บข้อมูล (สำหรับสัญญาอัจฉริยะเท่านั้น)

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

เนื่องจากข้อมูลการทำธุรกรรมที่โพสต์ไม่ได้ถูกตีความโดย EVM เราจึงไม่เข้าถึงหรือเขียนสถานะ - นั่นจะแพงเกินไป แต่เราโพสต์ข้อมูลธุรกรรมที่บีบอัดลงในสัญญารวมเป็นพารามิเตอร์ "calldata"
นั่นเป็นเหตุผลว่าทำไมใน Solidity calldata (ซึ่งเป็นวิธีการจัดเก็บโครงสร้างข้อมูล) จึงเป็นรูปแบบการจัดเก็บที่ถูกที่สุดใน Solidity ในความเป็นจริง พารามิเตอร์ที่ส่งผ่านเป็นพารามิเตอร์ calldata ไม่ได้ถูกจัดเก็บในสถานะของ Ethereum เลย ซึ่งหมายความว่าเราหลีกเลี่ยงค่าใช้จ่ายก๊าซจำนวนมาก ในขณะเดียวกัน โหนด Ethereum ยังสามารถเก็บข้อมูลธุรกรรม (ในบันทึกประวัติ) เมื่อสร้างบล็อค
ผู้อ่านที่ชาญฉลาดอาจสงสัยว่าความแตกต่างระหว่าง Plasma และ Rollup คืออะไร นี่คือข้อแตกต่างที่สำคัญ: ด้วยการรวม เราจะเผยแพร่ข้อมูลธุรกรรมบนเครือข่ายพร้อมกับรูทสถานะ ด้วย Plasma เราเพียงเผยแพร่สถานะรูทของธุรกรรม
ไม่เหมือนกับ Plasma ที่เรามีโอเปอเรเตอร์ที่เผยแพร่ Merkle root ไปยังรูทเชน การสั่งรวมอนุญาตให้ทุกคนเผยแพร่ธุรกรรมชุดใหม่ไปยังสัญญาการยกเลิกบนเชน ซึ่งเราจะสำรวจในเชิงลึกในภายหลัง
สิ่งนี้ทำให้เกิดคำถามอีกครั้ง เนื่องจากเราโพสต์เฉพาะข้อมูลธุรกรรมไปยังเชนหลักและไม่ได้ดำเนินธุรกรรมบนเชน เราจะรู้ได้อย่างไรว่าข้อมูลธุรกรรมและสถานะรากที่โพสต์บนเชนหลักนั้นไม่เป็นการฉ้อโกง
ชื่อระดับแรก
สรุปในแง่ดี
คุณอาจคาดเดาได้ว่าการสั่งรวมในแง่ดีคืออะไรจากชื่อ เมื่อธุรกรรมชุดใหม่ถูก "สะสม" ไปยังห่วงโซ่หลัก สถานะรูทและแฮชของแต่ละชุดจะถูกเผยแพร่ แต่เราไม่ได้ยืนยันว่าธุรกรรมนั้น ถูกดำเนินการอย่างถูกต้อง อย่างน้อยก็ไม่ใช่ในเวลาที่เผยแพร่
ด้วยวิธีนี้ เรา "ในแง่ดี" เผยแพร่รากสถานะใหม่และข้อมูลธุรกรรมไปยังสัญญาการรวมในห่วงโซ่หลัก เมื่อมีคนโพสต์รูทสถานะใหม่ไปยังเชนหลัก สัญญาอัจฉริยะแบบโรลอัพก็ทำตามคำพูดของพวกเขา
หากมีผู้พบว่ามีการเปลี่ยนสถานะที่ไม่ถูกต้องให้กับสัญญาอัจฉริยะแบบโรลอัป พวกเขาสามารถสร้าง "หลักฐานการฉ้อโกง" ได้
หลักฐานการฉ้อโกงรวมถึง:
หลักฐานของ "สถานะล่วงหน้า" หรือลักษณะของสิ่งต่าง ๆ ก่อนที่จะใช้ธุรกรรม
หลักฐานของ "สถานะภายหลัง" หรือวิธีจัดการสถานะหลังจากใช้ธุรกรรม
ใช้หลักฐานการทำธุรกรรมระหว่างการเปลี่ยนสถานะ
เวิร์กโฟลว์นั้นเรียบง่าย: หลักฐานการฉ้อโกงนี้เผยแพร่ไปยังสัญญาสรุปในห่วงโซ่หลัก หลักฐานการตรวจสอบสัญญาจะถูกรวมเข้าด้วยกันและตรรกะของธุรกรรมจะถูกนำไปใช้กับสถานะก่อน จากนั้นจะเปรียบเทียบผลลัพธ์กับสถานะโพสต์ หากไม่ตรงกัน แสดงว่าใครก็ตามที่ออกแบทช์ไม่ได้ใช้ธุรกรรมอย่างถูกต้อง จากนั้นสมาร์ทคอนแทรคจะแปลงกลับชุดธุรกรรมนั้นและชุดที่ตามมาทั้งหมด
ชื่อระดับแรก
สรุป ZK
หากการยกเลิกในแง่ดีใช้แนวคิด "ไร้เดียงสาจนกว่าจะพิสูจน์ได้ว่ามีความผิด" การยกเลิก ZK จะใช้แนวคิด "ไม่ไว้วางใจ ตรวจสอบได้"
ด้วยการเลิกใช้ ZK แต่ละแบทช์จะมีหลักฐานการเข้ารหัสที่เรียกว่า ZK-SNARK ที่พิสูจน์ว่าสถานะรูทเป็นผลลัพธ์ที่ถูกต้องของการดำเนินธุรกรรมของแบทช์ การพิสูจน์ ZK-SNARK คือแฮชที่แสดงการเปลี่ยนแปลงสถานะของบล็อกเชนหลังจากธุรกรรมถูกดำเนินการในเลเยอร์ zk-rollup หลักฐานความถูกต้องนี้เผยแพร่ไปยังสัญญาการยกเลิก ดังนั้นทุกคนสามารถใช้เพื่อตรวจสอบธุรกรรมในชุดเฉพาะในชั้นการยกเลิก
ความมหัศจรรย์อยู่ที่วิธีการทำงานของ ZK-SNARK พวกเขาช่วยให้เราสามารถสร้างหลักฐานของข้อมูลพื้นฐานโดยไม่ต้องเปิดเผยข้อมูล ทุกคนสามารถตรวจสอบในภายหลังว่าข้อมูลมีอยู่ แม้ว่าพวกเขาจะไม่มีสิทธิ์เข้าถึงข้อมูลนั้นก็ตาม
ข้อความ
อันไหนดีกว่ากัน?
ค่าใช้จ่าย
ค่าใช้จ่าย
"ต้นทุน" ไม่ได้มีความหมายมากนักในนามธรรม แต่เมื่อเราแยกย่อยออกไป ประสิทธิภาพของการมองโลกในแง่ดีและการเลิกใช้ ZK จะเริ่มแตกต่างออกไป
ค่าใช้จ่ายสำหรับการเผยแพร่แบทช์ใหม่บนห่วงโซ่: ค่าใช้จ่ายในการรวบรวมในแง่ดีน้อยลง เราปล่อยรากและข้อมูลสถานะใหม่ในแง่ดี ดังนั้นจึงเป็นธุรกรรมที่ง่าย ZK โรลอัพมีราคาแพงกว่า เมื่อเราปล่อยออนเชนชุดใหม่ เราต้องตรวจสอบความถูกต้องของ ZK-SNARK นี้มีราคาแพงกว่าในการคำนวณ
ต้นทุนก๊าซต่อธุรกรรมที่เผยแพร่บนเครือข่าย: การรวมในแง่ดีมีราคาแพงกว่า เราต้องเผยแพร่ข้อมูลออนไลน์ให้เพียงพอเพื่อตรวจสอบหลักฐานการฉ้อโกงในภายหลัง ค่าใช้จ่ายในการสะสม ZK ต่ำกว่า เราสามารถละเว้นข้อมูลธุรกรรมส่วนใหญ่ได้ เนื่องจากหลักฐานความถูกต้องเพียงพอสำหรับทุกคนในการตรวจสอบความถูกต้องของแบทช์
ต้นทุนการคำนวณแบบออฟไลน์: การรวมในแง่ดีมีค่าใช้จ่ายน้อยกว่า เราเผยแพร่เฉพาะรากสถานะใหม่เท่านั้น ไม่ดำเนินการ/ตรวจสอบความถูกต้องของธุรกรรม อย่างไรก็ตาม เรายังต้องการคนคอยดูการสร้างแบทช์ใหม่และการดำเนินธุรกรรมใหม่เพื่อให้แน่ใจว่าแบทช์นั้นถูกต้อง ZK โรลอัพมีราคาแพงกว่า ZK-SNARK มีราคาแพงในทางคำนวณ (แพงกว่า 20 ถึง 1,000 เท่า แม้ว่าจะยังคงราคาถูกลงด้วยนวัตกรรมก็ตาม)
ความเร็ว
ความเร็ว
การหมุนเวียนในแง่ดีนั้นช้า โดยปกติแล้ว ผู้ใช้ต้องรอประมาณหนึ่งสัปดาห์ก่อนที่จะสามารถถอนสินทรัพย์ได้ นี่อาจทำให้บางคนมีโอกาสมากพอที่จะออกหลักฐานการฉ้อโกง หากผู้ใช้พยายามถอนโทเค็นในเลเยอร์การยกเลิกที่พวกเขาไม่ได้เป็นเจ้าของ
ZK ม้วนขึ้นอย่างรวดเร็ว โดยทั่วไปแล้วผู้ใช้จะรอน้อยกว่า 10 นาทีเพื่อถอนทรัพย์สินของตน เราเพียงแค่ต้องรอจนกว่าจะมีการถอนชุดถัดไป เนื่องจากสถานะโดยรวมทั้งหมดได้รับการยืนยันแล้ว
Sidenote: มีสองสามวิธีในการหลีกเลี่ยงระยะเวลารอหนึ่งสัปดาห์นี้โดยใช้ "การถอนด่วน" สิ่งนี้ทำผ่านผู้ให้บริการสภาพคล่องที่ดูแล "โถคุกกี้" ของเงินในห่วงโซ่หลัก เมื่อผู้ใช้ถอนเงินอย่างรวดเร็ว พวกเขาจะให้ IOU แก่ผู้ให้บริการสภาพคล่องสำหรับเงินทุนในกลุ่ม และพวกเขาจะได้รับเงิน (ค่าธรรมเนียม) ทันทีจากผู้ให้บริการสภาพคล่องในเครือข่ายหลัก
ต่อมาเมื่อระยะเวลาหนึ่งสัปดาห์สิ้นสุดลงและผู้ใช้ได้รับสินทรัพย์คืนจากชั้นการรวม ผู้ใช้สามารถส่งเงินที่เป็นหนี้ไปยังผู้ให้บริการสภาพคล่องได้ ผู้ให้บริการสภาพคล่องยังสามารถเลือกที่จะเรียกใช้โหนดตรวจสอบความถูกต้องเพื่อตรวจสอบธุรกรรมของผู้ใช้ในการยกเลิกก่อนที่จะปล่อยเงินทุนให้กับพวกเขาในห่วงโซ่หลัก ซึ่งช่วยลดความเสี่ยงของพวกเขา
อย่างไรก็ตาม แผนการ "ถอนด่วน" นี้เป็นไปไม่ได้กับ NFT เนื่องจากมีเพียงหนึ่งใน NFT เท่านั้นที่มีอยู่ และผู้ให้บริการสภาพคล่องไม่สามารถสร้าง NFT ที่เหมือนกันบนเครือข่ายได้
ซับซ้อน
การยกเลิกในแง่ดีนั้นง่ายกว่า และแนวคิดของการพิสูจน์การฉ้อโกงมีมานานแล้ว ดังนั้นวิธีแก้ปัญหาจึงค่อนข้างง่าย
ZK rollups นั้นซับซ้อนกว่า ZK-SNARK นั้นใหม่และซับซ้อนทางคณิตศาสตร์
กว้างขวาง
การยกเลิกในแง่ดีนั้นง่ายต่อการสรุป และวิศวกรได้สร้างเครื่องเสมือนที่เข้ากันได้กับ EVM ซึ่งเรียกว่า OVM (Optimistic Virtual Machine) ซึ่งช่วยให้การยกเลิกในแง่ดีสามารถประมวลผลธุรกรรมใด ๆ ที่สามารถประมวลผลบน Ethereum ได้
ความสามารถในการปรับขนาด
ความสามารถในการปรับขนาด
การยกเลิกในแง่ดีนั้นปรับขนาดได้น้อยกว่า เมื่อเราเผยแพร่ข้อมูลบนเครือข่าย ข้อมูลมักจะรวมถึงสถานะบางอย่าง (เช่น รายละเอียดธุรกรรม) และพยาน (เช่น ลายเซ็นดิจิทัลที่พิสูจน์ความยินยอมของฝ่ายธุรกรรม) ด้วยการสรุปผลในแง่ดี เราต้องเผยแพร่พยานสำหรับทุกธุรกรรม เพื่อให้ผู้คนสามารถพิสูจน์การฉ้อโกงได้ในภายหลัง พยานใช้พื้นที่จัดเก็บมาก 3-10 เท่าของข้อมูลธุรกรรม
ZK rollups สามารถปรับขนาดได้มากขึ้น:ความปลอดภัย
ความปลอดภัย
การเลิกใช้ในแง่ดีมีความปลอดภัยน้อยกว่า การเลิกใช้ในแง่ดีอาศัยเศรษฐกิจดิจิทัลเพื่อรับประกันความปลอดภัยของห่วงโซ่ กล่าวอีกนัยหนึ่ง พวกเขาต้องจูงใจให้ผู้คนดูแบทช์ที่โพสต์บนเครือข่ายและตรวจจับการฉ้อโกง
การยกเลิก ZK มีความปลอดภัยมากกว่าZK rollups อาศัยคณิตศาสตร์ พวกเขาไม่ต้องการสิ่งจูงใจ พวกเขาใช้การเข้ารหัสมากกว่าเศรษฐศาสตร์เข้ารหัส
ตอนนี้เราได้แยกย่อยเหล่านี้แล้ว แบบไหนดีกว่ากัน? ยังคงยากที่จะบอก แต่มันเป็นข้อพิสูจน์ถึงผลงานที่ยอดเยี่ยมของวิศวกรที่อยู่เบื้องหลังโปรแกรมเหล่านี้ เรามีทีมงานอย่าง Optimism และ Arbitrum ที่ทำงานอย่างหนักเพื่อนำเสนอการมองโลกในแง่ดี ซึ่งนักพัฒนา Ethereum พร้อมให้บริการแล้ว เรามีบริษัทอย่าง StarkWare และ Zksync ที่นำ ZK-rollups ทั่วไปมาสู่ Ethereum
โซลูชันทั้งสองยังอยู่ในช่วงเริ่มต้น แต่การเลิกใช้ในแง่ดีนั้นใกล้เคียงกับการนำมาใช้มากกว่าเนื่องจากมีความซับซ้อนน้อยกว่าและสามารถใช้สำหรับการประมวลผลทั่วไปในปัจจุบัน ในทางกลับกัน การเลิกใช้ ZK จะใช้เวลาระยะหนึ่งในการตามให้ทัน แต่วิศวกรจำนวนมากจะถือว่าการเลิกใช้ ZK เป็นเทคโนโลยีที่เหนือกว่า ท้ายที่สุดแล้ว พวกเขาพึ่งพาคณิตศาสตร์มากกว่าเศรษฐศาสตร์เข้ารหัส และพวกเขาสามารถปรับขนาดได้มากกว่าการเลิกใช้ในแง่ดี
ชื่อระดับแรก
ความฉลาดในการสรุป
ก่อนที่เราจะพูดถึงความท้าทายบางอย่างที่เกิดขึ้นอย่างต่อเนื่องของการยกเลิก เรามาดูเทคนิคการบีบอัดที่การยกเลิกใช้อย่างมีประสิทธิภาพ

Nonce: ในธุรกรรม Ethereum ทั่วไป เราใส่ nonce เพื่อป้องกันการโจมตีแบบใช้จ่ายซ้ำซ้อน Rollups ละเว้นทั้งหมดเนื่องจากสามารถคำนวณใหม่ได้โดยใช้สถานะก่อนหน้าของ blockchain ด้วยวิธีนี้ การสรุปจะแทนที่ข้อมูลด้วยการคำนวณทุกครั้งที่ทำได้
ราคาก๊าซ: แทนที่จะกำหนดหน่วยเป็น gwei (โดยที่ 1 gwei คือ 10^-9 ETH) จะเป็นการดีกว่าหากจำกัดราคาก๊าซไว้ที่ช่วงราคาคงที่ ซึ่งจะช่วยลดปริมาณพื้นที่จัดเก็บที่ต้องใช้ในการบันทึกราคาก๊าซในธุรกรรมได้อย่างมาก ข้อมูล มันเพิ่มขึ้น!
ค่าธรรมเนียม: เช่นเดียวกับด้านบน
ถึง: ที่อยู่มีความยาว 20 ไบต์ บวก 1 ไบต์สำหรับการเข้ารหัส RLP แทนที่จะรวมที่อยู่ ข้อมูลสรุปสามารถจัดเก็บการจับคู่ดัชนีกับที่อยู่ และรวมเฉพาะดัชนีในฟิลด์ "ถึง" (เช่น 1234) มันเหมือนกับการทิ้งพิกัดไปยังปลายทางแทนที่จะแสดงตำแหน่งทั้งหมด
ค่า: ฟิลด์ "ค่า" คือ 9 ไบต์ เนื่องจากโทเค็น ETH และ ERC-20 มีทศนิยมสูงสุด 9 ตำแหน่ง การรวมสามารถจำกัดค่าเป็นทศนิยมสูงสุด 3 ตำแหน่งแทน ซึ่งช่วยให้เราประหยัดได้ 6 ไบต์ ดูน่าใช้งานมาก!
ลายเซ็น: ตามที่กล่าวไว้ข้างต้น "พยาน" ที่เซ็นชื่อแบบดิจิทัลใช้พื้นที่จัดเก็บจำนวนมาก Rollups สามารถใช้ลายเซ็น BLS (อัลกอริทึมสำหรับการรวมลายเซ็นและการรวมคีย์) ซึ่งทำให้เราสามารถรวมลายเซ็นจำนวนมากเป็นหนึ่งเดียว ซึ่งช่วยประหยัดพื้นที่จัดเก็บได้มาก!
ลองใช้เทคนิคการบีบอัดเหล่านี้ทั้งหมด เราจะบันทึกจำนวนไบต์สำหรับการถ่ายโอน ETH ได้อย่างไร การถ่ายโอน ETH ทั่วไปใช้เวลา 112 ไบต์ แต่ด้วยเทคนิคการบีบอัดทั้งหมดนี้ ด้วยขนาดเพียง 12 ไบต์ ทำให้ประสิทธิภาพเพิ่มขึ้นเกือบ 10 เท่า!
ข้อความ
ข้อความ
ชื่อระดับแรก
ความสามารถในการปรับขนาดมีเพดาน
จนถึงตอนนี้ คุณได้เห็นความแตกต่างที่สำคัญระหว่างการโรลอัปและโซลูชันเลเยอร์ 2 อื่นๆ เช่น Plasma และ sidechains อย่างที่คุณคงจำได้ การโรลอัพจะย้ายการประมวลผลออกไปนอกเชน แต่เก็บข้อมูลไว้บนเชน สิ่งนี้มีประโยชน์มากสำหรับการแก้ไขปัญหาความพร้อมใช้งานของข้อมูล แต่เนื่องจากเราจัดเก็บข้อมูลธุรกรรมบนเครือข่าย (แม้ว่าจะอยู่ในรูปแบบที่มีการบีบอัดมาก) เราจึงยังคงถูกจำกัดด้วยความจุของ Ethereum
เราสามารถคำนวณคร่าวๆ เพื่อดูว่า TPS ตามทฤษฎีจะใช้การโรลอัพอย่างไร
ต้นทุนข้อมูลต่อไบต์ที่จัดเก็บบนเชน: 16 แก๊ส
ต้นทุนข้อมูลต่อไบต์ที่จัดเก็บบนเชน: 16 แก๊ส
ไบต์สูงสุดต่อบล็อก: ~781,000 ไบต์ (12.5 ล้านแก๊ส / 16 แก๊สต่อไบต์)
ไบต์ข้อมูลที่จำเป็นสำหรับการถ่ายโอน ETH โดยใช้การยกเลิก: 12 ไบต์ (ดูคณิตศาสตร์ในส่วนก่อนหน้า)
ธุรกรรมต่อบล็อก: ~65,000 (~781,000 ไบต์ต่อบล็อก / 12 ไบต์ต่อการโอน ETH)
เวลาบล็อกเฉลี่ยบน Ethereum: 13 วินาที
ธุรกรรมต่อวินาที: ~5,000 TPS (ประมาณ 65,000 ธุรกรรมต่อบล็อก / 13 วินาทีต่อบล็อก)
แน่นอนว่า คณิตศาสตร์นี้ถือว่าธุรกรรมทั้งหมดในบล็อกเป็นการโอน ETH และไม่มีอะไรในบล็อกอื่นนอกจากธุรกรรมแบบรวมชุด ซึ่งไม่น่าเป็นไปได้สูง บล็อกส่วนใหญ่จะประกอบด้วยธุรกรรมต่างๆ รวมถึงธุรกรรมเลเยอร์ 1 บางรายการที่จะมีค่าใช้จ่ายมากกว่า 16 ค่าธรรมเนียมก๊าซ นอกจากนี้ หากสิ่งเหล่านี้เป็นแบทช์การยกเลิก ZK จะไม่รวมค่าใช้จ่ายในการตรวจสอบพิสูจน์ SNARK บนเชน ซึ่งคิดเป็นประมาณ 500,000 แก๊ส
ถึงกระนั้น สิ่งนี้ยังเป็นจุดเริ่มต้นให้คุณใช้ TPS รวม ซึ่ง 5,000 ยังไม่ใกล้เคียงกับ 65,000 TPS Visa ที่เห็นได้ชัดว่ามี แต่ดีกว่า TPS ในปัจจุบันสำหรับ Ethereum
ความคล่องตัวหัก
เทคโนโลยี Rollup ถูกสร้างขึ้นเป็นโครงการอิสระ ไม่ใช่โดยโปรโตคอล Ethereum เอง ดังนั้นจะมีเทคนิคการรวมหลาย ๆ แบบพร้อมกัน และนี่คือจุดที่สภาพคล่องแตก
เมื่อสภาพคล่องย้ายจากเชนหลักไปยังโรลอัพ มันจะ "ทำลาย" สภาพคล่องของเครือข่ายโรลอัปต่างๆ แม้ว่าเมื่อมีกลไกสำหรับการสื่อสารระหว่างมวลรวมแล้ว สิ่งนี้สามารถแก้ไขได้ แต่วิศวกรที่ชาญฉลาดบางคนกำลังดำเนินการกับสิ่งเหล่านี้แล้ว!
ลดความสามารถในการจัดองค์ประกอบ
ประโยชน์หลักประการหนึ่งของการสร้างบน Ethereum คือความสามารถในการจัดองค์ประกอบ ทุกโปรโตคอลใหม่ที่สร้างขึ้นบน Ethereum นั้นเหมือนกับตัวต่อเลโก้ที่โปรโตคอลอื่นสามารถสร้างทับได้อย่างง่ายดาย ตัวอย่างเช่น นี่คือสิ่งที่ทำให้ DeFi ทรงพลังมาก มันทำให้เราสร้างตัวต่อเลโก้เงินได้
เราสูญเสียความสามารถในการจัดองค์ประกอบบางอย่างเมื่อแอปพลิเคชันและสภาพคล่องย้ายไปที่การยกเลิก ท้ายที่สุด การส่งข้อความและธุรกรรมระหว่างเลเยอร์การรวมและเชนหลักนั้นไม่ง่ายเหมือนในบริบทของเลเยอร์ฐาน
แต่อาจเป็นเพียงเรื่องของเวลาก่อนที่ปัญหานี้จะได้รับการแก้ไข ฉันสามารถเห็นโลกที่สัญญาอัจฉริยะที่มีอยู่ในการรวมที่แตกต่างกันยังคงสามารถสื่อสารกันได้ เช่นเคย เรามีวิศวกรที่เก่งกาจเพียงไม่กี่คนเท่านั้นที่จะแก้ปัญหาเหล่านี้ได้
การรวมศูนย์
เราละเลยที่จะหารือกันว่าใครเป็นผู้รับผิดชอบในการโพสต์แบทช์ใหม่ไปยังเชนหลัก ดังนั้นเรามากลับไปที่เรื่องนั้นกัน
การยกเลิกส่วนใหญ่ใช้ "ซีเควนเซอร์" เพื่อทำงาน: ซีเควนเซอร์เป็นโหนดที่แบทช์ธุรกรรมและเผยแพร่ผลลัพธ์ไปยังสัญญาการยกเลิกแบบออนไลน์ สำหรับ Arbitrum, Optimism และ StarkNet ซีเควนเซอร์คือโหนดเดียวที่ทำงานด้วยตัวเอง

ฉันรู้. "การกระจายอำนาจ" เป็นแกนหลักของบล็อกเชน แม้ว่าจะมีประสิทธิภาพมาก แต่ก็เห็นได้ชัดว่ามีการรวมศูนย์มาก จะเกิดอะไรขึ้นหากซีเควนเซอร์ล้มเหลวหรือเซ็นเซอร์การทำธุรกรรม
มันไม่ง่ายอย่างนั้น เหตุผลที่โครงการเหล่านี้กำลังใช้เส้นทางนี้เนื่องจากเป็นวิธีที่ง่ายกว่าและเร็วกว่าในการวนซ้ำโดยใช้วิธีนี้ เพื่อลดความเสี่ยงของการรวมศูนย์ เมื่อเวลาผ่านไป การยกเลิกส่วนใหญ่ต้องการการกระจายอำนาจบางอย่างของตัวเรียงลำดับ - และหลายคนมีแผนที่จะทำเช่นนั้น
การกระจายอำนาจของซีเควนเซอร์จะทำงานอย่างไร? มีหลายวิธี ในแง่หนึ่ง เราสามารถสร้างระบบที่คล้ายกับ Proof-of-Stake ซึ่ง Sequencers จะต้องเดิมพันโทเค็นเพื่อให้มีโอกาสสร้างชุดถัดไป หรือเราอาจทำ Delegated-Proof-of-Stake โดยเลือกผู้คัดแยกและไม่ได้รับเลือกหากทำได้ไม่ดี
ชื่อระดับแรก
การเปรียบเทียบแบบเคียงข้างกัน
พูห์ หวังว่าคุณจะเข้าใจการโรลอัพมากขึ้น — และทำไม Ethereum ถึงวางเดิมพัน (และชาร์ดดิ้ง!) เป็นโซลูชันที่ปรับขนาดได้ แน่นอน Rollups นั่งอยู่บนไหล่ของยักษ์ใหญ่ที่มาก่อน — เราจะไม่มีมันเลยหากไม่มี sidechains, state channel และ Plasma

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

สิ่งนี้แสดงให้เห็นอย่างชัดเจนว่า Rollups ช่วยให้เรามีความสามารถในการปรับขนาดได้พอประมาณโดยไม่ต้องเสียสละการกระจายอำนาจ ความปลอดภัย และลักษณะทั่วไป
อย่างไรก็ตาม ข้อเสียคือความสามารถในการปรับขนาดได้ เนื่องจากเรายังคงจัดเก็บข้อมูลบนเครือข่าย เราจึงมีข้อจำกัดด้านความสามารถในการขยายเมื่อเทียบกับโซลูชันการปรับขยายเลเยอร์ 2 ที่จัดเก็บข้อมูลนอกเครือข่าย นอกจากนี้ ในระยะสั้น การเลิกใช้ตัวเรียงลำดับแบบรวมศูนย์จะลดความปลอดภัยลง แต่นี่เป็นปัญหาระยะสั้น และเมื่อเวลาผ่านไปการหมุนเวียนมีแนวโน้มที่จะกระจายอำนาจไปยังผู้สั่งซื้อ ทำให้เป็นเทคโนโลยีที่เหนือกว่า Plasma, sidechains และ state channel
ดังนั้นการม้วนเป็นจอกศักดิ์สิทธิ์? ฉันจะให้คุณตัดสินใจ
PS..
เพื่อความกระชับ ฉันทิ้งรายละเอียดที่น่าสนใจมากมายเกี่ยวกับวิธีการทำงานของการยกเลิก แต่ฉันยังขาดรูปแบบการปรับขนาดเลเยอร์ 2 ใหม่ที่เรียกว่า "Validium"
วาลิเดียมนั้นคล้ายกับพลาสมาตรงที่เราย้ายข้อมูลและการคำนวณออกจากเครือข่าย ข้อแตกต่างที่สำคัญคือ Validium ไม่อาศัยหลักฐานการฉ้อโกงในการตรวจสอบการทำธุรกรรม ผู้ประกอบการจำเป็นต้องสร้างภาระผูกพันของรัฐใหม่โดยใช้การพิสูจน์ที่ไม่มีความรู้ ซึ่งทำให้ผู้ประกอบการไม่สามารถดำเนินการเปลี่ยนสถานะที่ไม่ถูกต้องล่วงหน้าได้
สรุปแล้ว
สรุปแล้ว
โพสต์นี้ยาวกว่าที่ฉันคาดไว้มาก หากคุณยังอ่านอยู่ แสดงว่าคุณคือสเป็คของฉัน
แม้ว่าจะค่อนข้างยาว แต่นี่คือขั้นต่ำที่คุณต้องรู้เพื่อให้มีความเข้าใจพื้นฐานเกี่ยวกับการรวม ท้ายที่สุด การโรลอัปเป็นเพียงครึ่งหนึ่งของโซลูชันความสามารถในการปรับขนาดของ Ethereum อีกครึ่งหนึ่งเป็นการแบ่งส่วนข้อมูล หากคุณสนใจสร้างแอปพลิเคชัน Web 3.0 ให้ลงทะเบียนกลุ่ม DappCamp ถัดไปของเรา ซึ่งคุณจะได้เรียนรู้วิธีสร้างและปรับใช้สัญญาอัจฉริยะที่ปลอดภัยบน Ethereum


