เมื่อ DeFi พบกับ Rollup
หมายเหตุบรรณาธิการ: บทความนี้มาจากCrypto Valley สด (รหัส: cryptovalley)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
Crypto Valley สด (รหัส: cryptovalley)"DeFi "Crypto Valley สด (รหัส: cryptovalley)
ผู้แต่ง: Ryan Sean Adams แปล: Ziming พิมพ์ซ้ำโดย Odaily โดยได้รับอนุญาต
ในปีนี้ (2020) ด้วยการพัฒนาอย่างต่อเนื่องของระบบนิเวศ DeFi และผลกระทบอย่างต่อเนื่องของ Rollups บน mainnet ทำให้เกิดคำถามตามมาว่าทั้งสองจะพบกันได้อย่างไร
ภาพรวม
เราสามารถใช้ Rollups เพื่อขยายขนาดของระบบนิเวศ DeFi ได้หรือไม่ เราเผชิญกับความท้าทายอะไรบ้าง?"ชื่อระดับแรก"ภาพรวม
Optimistic Rollups เป็นสถาปัตยกรรมเลเยอร์ 2 ที่ออกแบบมาเพื่อลดภาระในห่วงโซ่หลักของ Ethereum แนวคิดพื้นฐานคือห่วงโซ่หลักไม่ได้ตรวจสอบการทำธุรกรรมทั้งหมดบนห่วงโซ่ด้านค่าสะสม แต่เพียงเผยแพร่และ
ประโยชน์หลักของการใช้ Rollups คือช่วยลดต้นทุนค่าน้ำมันของผู้ใช้ ซึ่งหมายถึงการทำธุรกรรมต่อวินาที (อย่างน้อยหลายร้อย TPS) สำหรับเครือข่ายทั้งหมด นอกจากนี้ยังหมายความว่าแอปพลิเคชันที่ใช้แก๊สจำนวนมาก (เช่น โซลูชันความเป็นส่วนตัวที่ใช้การเข้ารหัสที่ซับซ้อน) จะเป็นไปได้ ดังนั้น แม้ว่า Rollup เองจะไม่มีข้อดีโดยธรรมชาติในการปกป้องความเป็นส่วนตัว แต่ก็เป็นรากฐานที่เหมาะสมในการสร้างเทคโนโลยีการรักษาความเป็นส่วนตัว อีกครั้ง Rollup เองไม่ได้ลดเวลาแฝงของธุรกรรม แต่ให้สภาพแวดล้อมที่ดีซึ่งเราสามารถสร้างช่องทางที่สามารถให้บริการธุรกรรมได้เกือบจะทันที
มุมมองของผู้ใช้
วิธีที่ Optimistic Rollups จัดการกับข้อมูลสามารถทำให้การสร้างแอปพลิเคชันง่ายขึ้น โดยเฉพาะอย่างยิ่งเมื่อเทียบกับโปรโตคอลเลเยอร์ 2 อื่นๆ สิ่งสำคัญคือสิ่งนี้จะทำให้ผู้ใช้ปลายทางได้รับประสบการณ์การใช้งานแบบเดียวกับการใช้โปรโตคอลเลเยอร์ 1 ในทำนองเดียวกันสำหรับนักพัฒนาและนักออกแบบโปรโตคอล เครื่องมือและความคิดที่พวกเขาคุ้นเคยยังคงสามารถใช้งานได้ (แม้ว่าเราจะเห็นแล้วว่า การแก้ปัญหาบางอย่างเกี่ยวกับความสามารถในการจัดองค์ประกอบอาจต้องใช้งานเพิ่มเติม)
ชื่อระดับแรก
มุมมองของผู้ใช้"จากมุมมองของผู้ใช้ การโต้ตอบกับแอป DeFi หรืออย่างอื่นบน Rollup ให้ความรู้สึกเกือบเหมือนกับการใช้ DeFi บนเลเยอร์ 1 สามารถรองรับกระเป๋าเงินยอดนิยมเช่น Metamask และ Burner รวมถึงบล็อกนักสำรวจเพื่อตรวจสอบกิจกรรมการรวม"วงจรชีวิตพื้นฐานของ DApp ที่ใช้ Rollup มีดังนี้:
ขั้นแรก ผู้ใช้ฝากเงินจำนวนหนึ่ง (the
อาจเป็น ETH, ERC20s, ERC721 เป็นต้น) ในการยกเลิก ขั้นตอนแรกนี้เหมือนกับประสบการณ์ของผู้ใช้ของผู้ใช้ DApp ระดับแรกจำนวนมาก กล่าวคือ ผู้ใช้ต้องโอนเงินเข้าสู่สัญญาก่อนใช้งาน ณ จุดนี้ ผู้ใช้สามารถโพสต์ธุรกรรมบนแอปได้ตามปกติ หาก Rollup ได้รับการออกแบบให้จัดลำดับความสำคัญของการต่อต้านการเซ็นเซอร์ การทำให้ธุรกรรมรวมอยู่ใน Rollup ไม่จำเป็นต้องพึ่งพาความน่าเชื่อถือ ชื่อเสียง หรือธุรกิจมากนัก ชื่อเสียง และหน้าตา ไม่มีการตรวจสอบที่เป็นไปได้มากไปกว่าการโพสต์ธุรกรรมเลเยอร์ 1
T-word
เมื่อผู้ใช้ต้องการนำสินทรัพย์กลับไปที่เลเยอร์ 1 พวกเขาจะออกธุรกรรมการถอนพิเศษ ณ จุดนี้ เราสังเกตเห็นความแตกต่างที่อาจเกิดขึ้น: จำได้ว่ารูปแบบการรักษาความปลอดภัยของ Optimistic Rollup ขึ้นอยู่กับความสามารถของทุกฝ่ายในการแก้ปัญหา ดังนั้น กระบวนการตรวจจับและพิสูจน์พฤติกรรมฉ้อฉลจะใช้เวลาสักครู่ ซึ่งหมายความว่าเมื่อมีการร้องขอการถอน ผู้ใช้ต้องรอก่อนที่จะสามารถรับเงินอีกครั้งในชั้นที่ 1 ความปลอดภัยทางเศรษฐกิจที่ได้รับจากกลไกนี้เป็นหน้าที่ของจำนวนเงินเดิมพันที่จำเป็นสำหรับบล็อกและระยะเวลาการรอ ระยะเวลาดังกล่าวข้างต้น (Ed Felten ฉันคิดว่า 3 ชั่วโมงก็เพียงพอแล้ว)
ต้องบอกว่าสิ่งที่เราต้องการเห็นคือให้ผู้ใช้ไม่ต้องผ่านช่วงเวลารอคอยเช่นนี้ ตัวอย่างเช่น บุคคลที่สามสามารถส่งเงินจำนวนเท่ากันให้คุณที่เลเยอร์ 1 และหักค่าธรรมเนียมที่เกี่ยวข้องออก เพื่อให้คุณเป็นเจ้าของเงินทุนโดยไม่ต้องรอ ดังนั้น ตราบใดที่เรามีผู้ให้บริการสภาพคล่องและอินเทอร์เฟซแบบอินเทอร์แอกทีฟที่ทำให้เรื่องซับซ้อนง่ายขึ้น แม้แต่การถอนเงินที่เลเยอร์ 2 ก็จะไม่แตกต่างจากประสบการณ์ของผู้ใช้ที่เลเยอร์ 1 มากนัก
ชื่อเรื่องรอง"ดี แต่ Optimistic Rollup ไว้ใจไม่ได้จริงๆเหรอ? แน่นอน."เพื่อกำจัดอันตรายจากความไว้วางใจ ทุกคน (ผู้ใช้หรืออื่นๆ) สามารถเป็นผู้ตรวจสอบได้ โดยอนุญาตให้พวกเขาตรวจสอบด้วยตนเองว่าจะไม่มีใครโกงในนั้น และพวกเขาจะหยุดทันเวลาหากพยายามโกง ซึ่งเทียบเท่ากับการทำงานบางอย่าง
ตรวจสอบครั้งเดียว
โปรแกรมเพิ่มเติม สำหรับผู้ใช้ที่ไม่ได้เรียกใช้ตัวตรวจสอบความถูกต้อง การทำธุรกรรมที่เป็นการฉ้อโกง (เช่น การขโมยเงิน) จะเป็นไปได้ก็ต่อเมื่อตัวตรวจสอบความถูกต้องทั้งหมดเกี่ยวข้องกับกิจกรรมที่ผิดกฎหมายและสมรู้ร่วมคิดกัน กล่าวอีกนัยหนึ่ง ตราบใดที่มี Validator ที่ซื่อสัตย์อยู่ที่นั่น ไม่ว่าจะเป็นผู้ใช้รายอื่น บริษัทแลกเปลี่ยน ผู้พัฒนาแอพ นักสำรวจบล็อก ผู้ให้บริการกระเป๋าเงิน หรือวัยรุ่นนิรนามในห้องใต้ดิน ทุกฝ่ายที่เกี่ยวข้องล้วนมุ่งร้าย แต่ ตราบเท่าที่พวกเขาไม่สมรู้ร่วมคิด กล่าวคือ พวกเขาไม่โกหกโดยพร้อมเพรียงกัน การเปิดเผยทั้งหมดจะไม่เกี่ยวข้องกับการกระทำผิดใดๆ เมื่อพฤติกรรมฉ้อฉลได้รับการพิสูจน์แล้ว ผู้กระทำการที่ไม่ดีจะถูกหักออกจากเงินมัดจำ ซึ่งเงินบางส่วนจะถูกมอบให้กับผู้ตรวจสอบที่ฉ้อฉล สิ่งนี้จะจูงใจให้มีการตรวจสอบความถูกต้องที่ซื่อสัตย์เหล่านี้ และอนุญาตให้ผู้ไม่ประสงค์ดีมอบสิ่งผิดให้กับผู้ตรวจสอบความถูกต้องคนอื่นๆ ชดใช้ค่าเสียหายสำหรับความไม่สะดวก
มุมมองของนักพัฒนา
ต่อไป มาดูมุมมองของนักพัฒนาแอปพลิเคชันกัน เรายินดีมากที่พบว่าในกระบวนการสร้างและใช้งาน Rollup DApps นั้น นักพัฒนาจำนวนมากก็คุ้นเคยกับมันเช่นกัน เครื่องมือและไลบรารีสำหรับนักพัฒนา เช่น truffle, web3 และ ethers.js สามารถนำไปใช้ใหม่กับการพัฒนาในสภาพแวดล้อม Rollup นอกจากนี้ สัญญาที่ปรับใช้กับ Rollup ยังสามารถเขียนใน Solidity ได้โดยมีข้อจำกัดบางประการ
จากนั้น เมื่อออกแบบแอปพลิเคชัน Rollup ความแตกต่างที่ใหญ่ที่สุดคือปัญหาของความสามารถในการจัดองค์ประกอบ (สิ่งนี้เกี่ยวข้องกับแอปพลิเคชัน DeFi โดยเฉพาะ)"ชื่อเรื่องรอง"เกี่ยวกับความท้าทายในการจัดองค์ประกอบ
หนึ่งในคุณสมบัติที่โด่งดัง (และบางครั้งก็น่าตกใจ) ของแอปพลิเคชั่น DeFi คือความสามารถในการทำงานร่วมกันเพื่อรวมบริการทางการเงินอื่น ๆ โดยตรงและไม่ได้รับอนุญาต การทำงานร่วมกันที่ดูเหมือนจะรุนแรงนี้ให้สัญญา Ethereum ที่ชั้น 1
ฟรี
บริการ แน่นอน ข้อเสียของมันคือการปรับขนาดโปรแกรมประยุกต์ (มาตราส่วน) จะพบกับปัญหาคอขวด การทำงานร่วมกันระหว่างเลเยอร์ 2 เชนต่างๆ จะไม่สูญหายไป แต่จะยากขึ้นเมื่อเราแยกกิจกรรมออกเป็นสภาพแวดล้อมเลเยอร์ 2 อิสระ
ยกตัวอย่าง PoolTogether PoolTogether เป็นแอปพลิเคชั่น DeFi ลอตเตอรีที่ไม่มีการสูญเสีย สัญญาของ PoolTogether ควบคุมการเลือกผู้ชนะลอตเตอรีแบบสุ่มและการกระจายเงินทุน กองทุนประกอบด้วยดอกเบี้ยที่เกิดจาก Compound (ซึ่งเป็นแอปพลิเคชันแยกต่างหาก (และที่มีอยู่แล้ว)) และรูปแบบกองทุน (สำหรับหนึ่งในพูล) คือ Dai (ออกโดย a สัญญาแยกต่างหาก) การทำงานร่วมกันนี้ไม่แตกต่างจากความสามารถในการทำงานร่วมกันที่แสดงโดยทั้งสามในชั้นที่ 1"ต่ออายุ"แต่จะเป็นอย่างไรหากสัญญาทั้งสามฉบับแยกจากกัน
การย้ายเนื้อหาอย่าง DAI จากชุดรวมรายการหนึ่งไปยังอีกชุดหนึ่งไม่ใช่งานที่ยาก และยังดูคล้ายกับการย้ายเนื้อหาระหว่างสัญญาชั้น 1 ทั่วไปอีกด้วย อย่างไรก็ตาม การซื้อเกม PoolTogether ต้องใช้ PoolTogether ก่อนเพื่อฝากสินทรัพย์ลงใน Compound แต่ถ้า PoolTogether และ Compound อยู่ในเครือข่ายที่แตกต่างกัน การทำธุรกรรมง่ายๆ จะเป็นไปไม่ได้ PoolTogether Rollup ต้องการกลยุทธ์ใหม่ในการเข้าถึงและติดตามข่าวสารเกี่ยวกับการอัปเดต Compound Rollup ในบางกรณี เราสามารถจินตนาการได้ว่าสัญญาทั้งสองอาจต้องการมีอำนาจในการโต้ตอบแบบสองทิศทางกับสัญญาอีกฉบับเพื่อรับกำหนดการอัพเดทเหล่านี้อย่างทันท่วงที ของ
ต่ออายุ
ประกาศของ.
ชุดเครื่องมือสื่อสารแบบ Rollup ที่นี่คล้ายกับวิธีการสื่อสารระหว่างบล็อกเชนเลเยอร์ 1 เช่น การจัดเรียงการสื่อสารระหว่างชาร์ดต่างๆ (ชาร์ด) ในบริบทของระบบเช่น Ethereum 2.0 กล่าวโดยสรุปคือ เรามีวิธีการต่างๆ มากมายเพื่อให้เหมาะกับการใช้งานที่แตกต่างกัน โดยแต่ละวิธีจะมีความซับซ้อนทางเทคนิคและ/หรือการแลกเปลี่ยนประสบการณ์ของผู้ใช้ที่แตกต่างกันไป ขึ้นอยู่กับความต้องการเฉพาะ บทความนี้จะไม่ลงรายละเอียดทางเทคนิค แต่การแลกเปลี่ยน UX มักจะเกี่ยวข้องกับสิ่งต่างๆ เช่น การขอให้ผู้ใช้รอนานขึ้นเพื่อให้ธุรกรรมของพวกเขาได้รับการยืนยัน และ/หรือโพสต์ธุรกรรมหลายรายการเพื่อให้การดำเนินการที่ต้องการเสร็จสมบูรณ์
มาทำให้การเปรียบเทียบนั้นดูเกินจริงขึ้นอีกนิด เพื่อนที่อาศัยอยู่ในพื้นที่เดียวกันจำเป็นต้องย้ายไปอยู่คนละบ้านและสื่อสารกันด้วยการตะโกนออกไปนอกหน้าต่างหรือไม่ หรือสื่อสารผ่านสถานที่กลางหรือห้องที่ใช้ร่วมกัน? หรือเพียงแค่แชทแบบดิจิทัล (รวดเร็ว แต่ต้องใช้เทคโนโลยีโทรศัพท์ขั้นสูงกว่า)?
แม้ว่าความเป็นไปได้จะมีมากมาย แต่ในระยะสั้น การสื่อสารแบบโรลอัปจะไม่ง่ายเหมือนการ "แชทแบบเห็นหน้ากัน"
เราสามารถจินตนาการถึงสถานการณ์ที่รุนแรงเช่นนี้ได้: เราใส่แอปพลิเคชันจำนวนมาก (เช่น DeFi ทั้งหมด) ใน Rollup ขนาดใหญ่ ณ จุดนี้ ความซับซ้อนของการทำงานร่วมกันแบบ cross-Rollup จะหายไป Compound และ PoolTogether สามารถโต้ตอบได้อย่างอิสระบนเลเยอร์ 2 เหมือนที่ทำบนเลเยอร์ 1
แต่ปัญหาเดียวของวิสัยทัศน์นี้คือมันทำลายความสามารถในการปรับขนาดที่เราไล่ตามเมื่อเราเริ่มต้น ความสามารถในการปรับขนาดของเลเยอร์ 2 ส่วนใหญ่มาจากการแบ่งพาร์ติชันและโลคัลไลซ์งาน ซึ่งมิฉะนั้นจะต้องทำทั่วโลก การสั่งรวมรายการเดียวที่ไม่ว่างจะตรวจสอบได้ยากขึ้น และจะทำให้เรายิ่งเผชิญกับปัญหาที่เราพยายามหลีกเลี่ยงตั้งแต่แรก . กล่าวอีกนัยหนึ่งคือเราไม่ต้องการย้ายออกจากบ้านที่แออัดยัดเยียดไปสู่บ้านหลังใหม่
จากนั้น การใช้งานในอุดมคติอาจทำงานในลักษณะของการประนีประนอม: แอปพลิเคชันเหล่านั้นที่ได้รับประโยชน์จาก (หรือต้องการ) ความสามารถในการจัดองค์ประกอบร่วมกันสามารถเลือกที่จะเรียกใช้บน Rollup ทั่วไป ในขณะที่โต้ตอบกับ Rollup อื่น ๆ ด้วยวิธีที่เหมาะสมตามความจำเป็น ห่วงโซ่สำหรับการสื่อสาร
คำอธิบายภาพ


