Optimism तकनीकी दस्तावेज़ीकरण

โดย Optimism Collective · 2021

โหมดเดี่ยว community.optimism.io

Optimism ไม่มี whitepaper แบบดั้งเดิม ในฐานะ Ethereum Layer 2 optimistic rollup การออกแบบและข้อกำหนดของมันได้รับการจัดเก็บผ่านเอกสารทางเทคนิค, ข้อกำหนด OP Stack และบทความวิจัย แทนที่บทความวิชาการอย่างเป็นทางการฉบับเดียว

บทคัดย่อ

เอกสารนี้กล่าวถึงปัญหาความสามารถในการปรับขนาดในการกระจายอำนาจ blockchains โดยการวิเคราะห์การแลกเปลี่ยนระหว่างปริมาณงานของธุรกรรมและข้อกำหนดด้านฮาร์ดแวร์เพื่อเรียกใช้โหนด Rollups เช่น เทคโนโลยีสำหรับการตรวจสอบ on-chain ของบล็อกที่ดำเนินการนอกลูกโซ่ จะถูกนำเสนอในรูปแบบของการพิสูจน์ข้อบกพร่องหรือความถูกต้อง เราเปรียบเทียบ Optimistic Rollups และ Validity Rollups โดยคำนึงถึงเวลาถอนเงิน ต้นทุนการทำธุรกรรม เทคนิคการปรับให้เหมาะสม และความเข้ากันได้กับระบบนิเวศ Ethereum การวิเคราะห์ของเราเผยให้เห็นว่า Optimism ปัจจุบัน Bedrock มีอัตราการบีบอัดก๊าซที่ประมาณ 20:1 ในขณะที่ StarkNet มีอัตราการบีบอัดต้นทุนการเขียนพื้นที่จัดเก็บที่ประมาณ 24:1 นอกจากนี้เรายังหารือถึงเทคนิคต่างๆ เพื่อเพิ่มประสิทธิภาพอัตราเหล่านี้ เช่น การใช้สัญญาแคชและตัวกรอง Bloom ท้ายที่สุดแล้ว ข้อสรุปของเราเน้นย้ำถึงการแลกเปลี่ยนระหว่างความซับซ้อนและความคล่องตัวในการเลือกระหว่างการโรลอัปในแง่ดีและความถูกต้อง คำสำคัญ Blockchain, Scalability, Rollup 1. บทนำ เทคโนโลยี Blockchain ได้รับความสนใจอย่างมากเนื่องจากมีศักยภาพในการปฏิวัติอุตสาหกรรมต่างๆ อย่างไรก็ตาม ความสามารถในการปรับขนาดยังคงเป็นความท้าทายที่สำคัญ เนื่องจาก blockchain ส่วนใหญ่ต้องเผชิญกับการแลกเปลี่ยนระหว่างความสามารถในการปรับขนาด การกระจายอำนาจ และความปลอดภัย โดยทั่วไปเรียกว่า Scalability Trilemma [1, 2] ในการเพิ่มปริมาณงานของ blockchain วิธีแก้ปัญหาเล็กน้อยคือการเพิ่มขนาดบล็อก ในบริบทของ Ethereum นี่หมายถึงการเพิ่มปริมาณก๊าซสูงสุดที่บล็อกสามารถกักเก็บได้ เนื่องจากแต่ละโหนดแบบเต็มจะต้องตรวจสอบทุกธุรกรรมของทุกบล็อก เมื่อปริมาณงานเพิ่มขึ้น ความต้องการฮาร์ดแวร์ก็เพิ่มขึ้นเช่นกัน ซึ่งนำไปสู่การรวมศูนย์ของเครือข่ายมากขึ้น blockchain บางตัว เช่น Bitcoin และ Ethereum เพิ่มประสิทธิภาพการออกแบบเพื่อเพิ่มการกระจายอำนาจทางสถาปัตยกรรมให้สูงสุด ในขณะที่ตัวอื่นๆ เช่น Binance Smart Chain และ Solana ได้รับการออกแบบมาให้รวดเร็วและราคาถูกที่สุดเท่าที่จะเป็นไปได้ เครือข่ายแบบกระจายอำนาจจะจำกัดปริมาณงานของ blockchain อย่างไม่ถูกต้อง เพื่อลดข้อกำหนดด้านฮาร์ดแวร์ในการเข้าร่วมในเครือข่าย ในช่วงหลายปีที่ผ่านมา มีความพยายามที่จะค้นหาวิธีแก้ปัญหาสำหรับไตรเลมมา เช่น ช่องสถานะ [3] และพลาสมา [4, 5] โซลูชันเหล่านี้มีลักษณะของการย้ายกิจกรรมบางอย่างนอกเครือข่าย การเชื่อมโยงกิจกรรมบนเครือข่ายไปยังกิจกรรมนอกเครือข่ายโดยใช้ smart contracts และการตรวจสอบ DLT 2023: 5th Distributed Ledger Technology Workshop, 25-26 พฤษภาคม 2023, โบโลญญา, อิตาลี $ [email protected] (L. Donno) https://lucadonnoh.github.io/ (L. Donno) 0000-0001-9221-3529 (L. Donno) © 2023 ลิขสิทธิ์บทความนี้โดยผู้เขียน ใช้ได้รับอนุญาตภายใต้ Creative Commons License Attribution 4.0 International (CC BY 4.0) CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) สิ่งที่เกิดขึ้นนอกเครือข่ายแบบออนไลน์ อย่างไรก็ตาม ทั้งช่องพลาสมาและสถานะถูกจำกัดในการสนับสนุน smart contracts ทั่วไป การโรลอัปคือ blockchains (เรียกว่า Layer 2 หรือ L2) ที่เผยแพร่บล็อกของตนบน blockchain อื่น (Layer 1 หรือ L1) ดังนั้นจึงสืบทอดฉันทามติ ความพร้อมใช้งานของข้อมูล และคุณสมบัติด้านความปลอดภัย ซึ่งต่างจากโซลูชันอื่นๆ ตรงที่สนับสนุนการคำนวณตามอำเภอใจ Rollup มีองค์ประกอบหลักสามส่วน: • Sequencers: โหนดที่ได้รับธุรกรรม Rollup จากผู้ใช้และรวมเข้าด้วยกันเป็นบล็อกที่ส่งไปยัง Layer 1 บล็อกประกอบด้วยอย่างน้อยรากของสถานะ (เช่น รากของ Merkle) และข้อมูลที่จำเป็นในการสร้างใหม่และตรวจสอบความถูกต้องของสถานะ Layer 1 กำหนด...

सारांश

यह पेपर एक नोड को चलाने के लिए लेनदेन थ्रूपुट और हार्डवेयर आवश्यकताओं के बीच व्यापार-बंद का विश्लेषण करके विकेंद्रीकृत blockchains में स्केलेबिलिटी की समस्या को संबोधित करता है। रोलअप, यानी ऑफ-चेन निष्पादित ब्लॉकों के ऑन-चेन सत्यापन के लिए प्रौद्योगिकियों को गलती या वैधता प्रमाण के रूप में प्रस्तुत किया जाता है। हम निकासी समय, लेनदेन लागत, अनुकूलन तकनीकों और Ethereum पारिस्थितिकी तंत्र के साथ संगतता के संबंध में आशावादी रोलअप और वैधता रोलअप की तुलना करते हैं। हमारे विश्लेषण से पता चलता है कि Optimism बेडरॉक की वर्तमान में गैस संपीड़न दर लगभग 20:1 है, जबकि StarkNet लगभग 24:1 की भंडारण लेखन लागत संपीड़न दर प्राप्त करता है। हम इन दरों को और अधिक अनुकूलित करने की तकनीकों पर भी चर्चा करते हैं, जैसे कैश अनुबंध और ब्लूम फ़िल्टर का उपयोग। अंततः, हमारे निष्कर्ष आशावादी और वैधता रोलअप के बीच चयन में जटिलता और चपलता के बीच व्यापार-बंद को उजागर करते हैं। कीवर्ड ब्लॉकचेन, स्केलेबिलिटी, रोलअप 1. परिचय ब्लॉकचेन तकनीक ने विभिन्न उद्योगों में क्रांति लाने की अपनी क्षमता के कारण महत्वपूर्ण ध्यान आकर्षित किया है। हालाँकि, स्केलेबिलिटी एक बड़ी चुनौती बनी हुई है, क्योंकि अधिकांश blockchain को स्केलेबिलिटी, विकेंद्रीकरण और सुरक्षा के बीच व्यापार-बंद का सामना करना पड़ता है, जिसे आमतौर पर स्केलेबिलिटी ट्राइलेमा [1, 2] कहा जाता है। blockchain के थ्रूपुट को बढ़ाने के लिए, इसके ब्लॉक आकार को बढ़ाना एक मामूली समाधान है। Ethereum के संदर्भ में, इसका मतलब है कि एक ब्लॉक में गैस की अधिकतम मात्रा को बढ़ाना। चूंकि प्रत्येक पूर्ण नोड को प्रत्येक ब्लॉक के प्रत्येक लेनदेन को मान्य करना होगा, जैसे-जैसे थ्रूपुट बढ़ता है, हार्डवेयर आवश्यकताएं भी बढ़ती हैं, जिससे नेटवर्क का अधिक केंद्रीकरण होता है। कुछ blockchain, जैसे Bitcoin और Ethereum, अपने वास्तुशिल्प विकेंद्रीकरण को अधिकतम करने के लिए अपने डिज़ाइन को अनुकूलित करते हैं, जबकि अन्य, जैसे कि बिनेंस स्मार्ट चेन और सोलाना, यथासंभव तेज़ और सस्ते होने के लिए डिज़ाइन किए गए हैं। विकेंद्रीकृत नेटवर्क नेटवर्क में भाग लेने के लिए हार्डवेयर आवश्यकताओं को कम करने के लिए blockchain के थ्रूपुट को कृत्रिम रूप से सीमित करते हैं। वर्षों से, त्रिलम्मा का समाधान खोजने का प्रयास किया गया है, जैसे राज्य चैनल [3] और प्लाज़्मा [4, 5]। इन समाधानों में कुछ गतिविधि को ऑफ-चेन स्थानांतरित करने, smart contracts का उपयोग करके ऑन-चेन गतिविधि को ऑफ-चेन गतिविधि से जोड़ने और DLT 2023 को सत्यापित करने की विशेषता है: 5वीं वितरित लेजर प्रौद्योगिकी कार्यशाला, 25-26 मई, 2023, बोलोग्ना, इटली $ [email protected] (एल. डोनो) https://lucadonnoh.github.io/ (एल. डोनो) 0000-0001-9221-3529 (एल. डोनो) © 2023 इस पेपर का कॉपीराइट इसके लेखकों द्वारा। क्रिएटिव कॉमन्स लाइसेंस एट्रिब्यूशन 4.0 इंटरनेशनल (सीसी बाय 4.0) के तहत उपयोग की अनुमति है। CEUR कार्यशाला कार्यवाही http://ceur-ws.org ISSN 1613-0073 CEUR कार्यशाला कार्यवाही (CEUR-WS.org) ऑन-चेन क्या हो रहा है ऑफ-चेन। हालाँकि, प्लाज़्मा और राज्य चैनल दोनों सामान्य smart contracts के समर्थन में सीमित हैं। रोलअप blockchains (जिन्हें Layer 2 या L2 कहा जाता है) हैं जो अपने ब्लॉक को दूसरे PH_0001 (Layer 1 या L1) पर प्रकाशित करते हैं और इसलिए इसकी सर्वसम्मति, डेटा उपलब्धता और सुरक्षा गुण प्राप्त होते हैं। वे, अन्य समाधानों के विपरीत, मनमानी गणना का समर्थन करते हैं। रोलअप में तीन मुख्य घटक होते हैं: • सीक्वेंसर: नोड्स जो उपयोगकर्ताओं से रोलअप लेनदेन प्राप्त करते हैं और उन्हें एक ब्लॉक में संयोजित करते हैं जिसे Layer 1 पर भेजा जाता है। ब्लॉक में कम से कम राज्य रूट (उदाहरण के लिए एक मर्कल रूट) और राज्य के पुनर्निर्माण और सत्यापन के लिए आवश्यक डेटा शामिल होता है। Layer 1 परिभाषित करता है...

การแนะนำ

  1. บทนำ เทคโนโลยีบล็อคเชนได้รับความสนใจอย่างมากเนื่องจากมีศักยภาพในการปฏิวัติ อุตสาหกรรมต่างๆ อย่างไรก็ตาม ความสามารถในการขยายขนาดยังคงเป็นความท้าทายที่สำคัญ ตามที่ blockchain ส่วนใหญ่เผชิญอยู่ การแลกเปลี่ยนระหว่างความสามารถในการปรับขนาด การกระจายอำนาจ และการรักษาความปลอดภัย โดยทั่วไปเรียกว่า ความสามารถในการปรับขยาย Trilemma [1, 2] ในการเพิ่มปริมาณงานของ blockchain วิธีแก้ปัญหาเล็กน้อยคือ เพื่อเพิ่มขนาดบล็อก ในบริบทของ Ethereum นี่หมายถึงการเพิ่มค่าสูงสุด ปริมาณก๊าซที่บล็อกสามารถเก็บได้ เนื่องจากแต่ละโหนดเต็มจะต้องตรวจสอบทุกธุรกรรมของทุก ๆ บล็อก เมื่อปริมาณงานเพิ่มขึ้น ความต้องการฮาร์ดแวร์ก็เพิ่มขึ้นเช่นกัน ซึ่งส่งผลให้มีมากขึ้น การรวมศูนย์ของเครือข่าย blockchains บางตัว เช่น Bitcoin และ Ethereum ปรับให้เหมาะสม การออกแบบเพื่อเพิ่มการกระจายอำนาจทางสถาปัตยกรรมให้สูงสุด ในขณะที่อื่นๆ เช่น Binance Smart Chain และ Solana ได้รับการออกแบบมาให้รวดเร็วและราคาถูกที่สุดเท่าที่จะเป็นไปได้ เครือข่ายกระจายอำนาจ จำกัดปริมาณงานของ blockchain โดยไม่ตั้งใจ เพื่อลดข้อกำหนดด้านฮาร์ดแวร์ลง มีส่วนร่วมในเครือข่าย ในช่วงหลายปีที่ผ่านมา มีการพยายามหาทางแก้ไขปัญหา Trilemma เช่น รัฐ ช่อง [3] และพลาสมา [4, 5] โซลูชันเหล่านี้มีลักษณะเฉพาะในการเคลื่อนย้ายกิจกรรมบางอย่าง นอกเครือข่าย เชื่อมโยงกิจกรรมออนไลน์กับกิจกรรมนอกเครือข่ายโดยใช้ smart contracts และการตรวจสอบ DLT 2023: การประชุมเชิงปฏิบัติการเทคโนโลยี Distributed Ledger ครั้งที่ 5, 25-26 พฤษภาคม 2023, โบโลญญา, อิตาลี $ [email protected] (แอล. ดอนโน) https://lucadonnoh.github.io/ (แอล. ดอนโน) 0000-0001-9221-3529 (แอล.ดอนโน) © 2023 ลิขสิทธิ์บทความนี้โดยผู้เขียน ใช้ได้รับอนุญาตภายใต้ Creative Commons License Attribution 4.0 International (CC BY 4.0) ซีอีอาร์ การประชุมเชิงปฏิบัติการ การดำเนินการ http://ceur-ws.org ISSN 1613-0073 การดำเนินการประชุมเชิงปฏิบัติการ CEUR (CEUR-WS.org)on-chain สิ่งที่เกิดขึ้นนอกเครือข่าย อย่างไรก็ตาม ทั้ง Plasma และ State Channel นั้นมีข้อจำกัด การสนับสนุนทั่วไป smart contracts Rollups คือ blockchains (เรียกว่า Layer 2 หรือ L2) ที่เผยแพร่บล็อกของพวกเขาใน blockchain อื่น (Layer 1 หรือ L1) ดังนั้นจึงสืบทอดความเห็นพ้องต้องกัน ความพร้อมใช้งานของข้อมูล และคุณสมบัติด้านความปลอดภัย พวกเขา ไม่เหมือนกับโซลูชันอื่น ๆ รองรับการคำนวณตามอำเภอใจ Rollups มีองค์ประกอบหลักสามประการ: • Sequencers: โหนดที่รับธุรกรรม Rollup จากผู้ใช้และรวมเข้าด้วยกันเป็น บล็อกที่ส่งไปที่ Layer 1 บล็อกประกอบด้วยอย่างน้อยรากของสถานะ (เช่น Merkle root) และข้อมูลที่จำเป็นในการสร้างใหม่และตรวจสอบสถานะ Layer 1 กำหนด ตามบัญญัติ blockchain ของ L2 โดยการสร้างการเรียงลำดับของข้อมูลที่เผยแพร่ • Rollup full nodes: โหนดที่ได้รับ ประมวลผล และตรวจสอบ Rollup block จาก Layer 1 โดยการตรวจสอบว่ารูตถูกต้อง หากบล็อกมีธุรกรรมที่ไม่ถูกต้อง แสดงว่าเป็นเช่นนั้น ละทิ้ง ซึ่งจะป้องกันไม่ให้ Sequencers สร้างบล็อกที่ถูกต้องซึ่งรวมถึงบล็อกที่ไม่ถูกต้อง การทำธุรกรรม • Rollup light nodes: โหนดที่ได้รับ Rollup block จาก Layer 1 แต่ไม่ได้คำนวณ รัฐใหม่นั่นเอง พวกเขาตรวจสอบว่ารูทสถานะใหม่นั้นถูกต้องโดยใช้เทคนิค เช่นการพิสูจน์ข้อบกพร่องหรือความถูกต้อง Rollups บรรลุความสามารถในการปรับขนาดได้โดยการลดต้นทุนตัดจำหน่ายของธุรกรรมตามตัวเลข ของผู้ใช้เพิ่มขึ้น นี่เป็นเพราะว่าต้นทุนในการรับรองความถูกต้องของ blockchain นั้นเพิ่มขึ้นแบบไม่เชิงเส้น เกี่ยวกับค่าใช้จ่ายในการตรวจสอบธุรกรรมเป็นรายบุคคล Rollups จะแตกต่างกันไปตาม กลไกที่พวกเขารับรองความถูกต้องของการทำธุรกรรมที่ light nodes: ใน Rollups ในแง่ดี รับประกันโดยแบบจำลองทางเศรษฐกิจและการพิสูจน์ข้อผิดพลาด ขณะที่ยังใช้งานได้ โรลอัปจะรับประกันด้วยการเข้ารหัสโดยใช้การพิสูจน์ความถูกต้อง Light nodes สามารถนำไปใช้เป็น smart contracts บน Layer 1 พวกเขายอมรับรากเหง้าของ สถานะใหม่และตรวจสอบความถูกต้องหรือการพิสูจน์ข้อบกพร่อง: การยกเลิกเหล่านี้จึงเรียกว่าสัญญาอัจฉริยะ โรลอัป หากโหนดแสงเป็นอิสระ พวกมันจะถูกเรียกว่า Sovereign Rollups [6] ข้อดีของ การใช้ Smart Contract Rollup จะสามารถสร้างสะพานเชื่อมที่ลดความน่าเชื่อถือระหว่างทั้งสองได้ blockchains: เนื่องจากความถูกต้องของสถานะ L2 ได้รับการพิสูจน์แล้วถึง L1 ซึ่งเป็นระบบธุรกรรมจาก สามารถใช้ L2 ถึง L1 ได้ ทำให้สามารถถอนเงินได้ ข้อเสียคือต้นทุนของการ ธุรกรรมขึ้นอยู่กับค่าใช้จ่ายในการตรวจสอบสถานะบน L1: หากชั้นฐานอิ่มตัวด้วย กิจกรรมอื่นๆ ต้นทุนของธุรกรรมบน Rollup ก็เพิ่มขึ้นเช่นกัน ชั้นข้อมูลและมติเป็นชั้นที่กำหนดความปลอดภัยของระบบ พวกเขากำหนดลำดับของธุรกรรม ป้องกันการโจมตี และทำให้ข้อมูลพร้อมใช้งานเพื่อพิสูจน์สถานะ ความถูกต้อง การบริจาคกระดาษ ในบทความนี้ เราศึกษา Rollups ในแง่ดีและความถูกต้อง ซึ่งเป็นนวัตกรรมสองรายการ โซลูชันสำหรับ Scalability Trilemma โดยมุ่งเน้นไปที่การใช้งานที่โดดเด่น เช่น Optimism Bedrock และ StarkNet การมีส่วนร่วมของเรามีการเปรียบเทียบสิ่งเหล่านี้อย่างครอบคลุม วิธีแก้ปัญหา การวิเคราะห์เวลาการถอน และการอภิปรายเกี่ยวกับการโจมตีที่เป็นไปได้ใน Optimism ข้อเท็จจริง นอกจากนี้ เรายังคำนวณอัตราส่วนการอัดแก๊ส เพิ่มประสิทธิภาพเฉพาะแอปพลิเคชัน และนำเสนอข้อดีและข้อเสียของการย้ายออกจาก Ethereum เครื่องเสมือน (EVM)

โครงสร้างกระดาษ กระดาษมีการจัดดังนี้ ในส่วนที่ 2 การโรลอัปในแง่ดีคือ แนะนำโดยการวิเคราะห์ Optimism Bedrock ในส่วนที่ 3 มีการแนะนำการโรลอัปความถูกต้องโดย กำลังวิเคราะห์ StarkNet ในส่วนที่ 4 เราจะเปรียบเทียบทั้งสองวิธี ในที่สุด ในส่วนที่ 5 เราวาด ข้อสรุปบางอย่าง

परिचय

  1. परिचय ब्लॉकचेन प्रौद्योगिकी ने क्रांति लाने की अपनी क्षमता के कारण महत्वपूर्ण ध्यान आकर्षित किया है विभिन्न उद्योग. हालाँकि, स्केलेबिलिटी एक बड़ी चुनौती बनी हुई है, क्योंकि अधिकांश blockchain को इसका सामना करना पड़ता है स्केलेबिलिटी, विकेंद्रीकरण और सुरक्षा के बीच एक व्यापार-बंद, जिसे आमतौर पर कहा जाता है स्केलेबिलिटी त्रिलम्मा [1, 2]। blockchain के थ्रूपुट को बढ़ाने के लिए, एक तुच्छ समाधान है इसके ब्लॉक आकार को बढ़ाने के लिए. Ethereum के संदर्भ में, इसका मतलब अधिकतम बढ़ाना है एक ब्लॉक में कितनी गैस समा सकती है। चूँकि प्रत्येक पूर्ण नोड को प्रत्येक लेन-देन को मान्य करना होगा ब्लॉक, जैसे-जैसे थ्रूपुट बढ़ता है, हार्डवेयर आवश्यकताएं भी बढ़ती हैं, जिससे अधिक वृद्धि होती है नेटवर्क का केंद्रीकरण. कुछ blockchain, जैसे Bitcoin और Ethereum, अपना अनुकूलन करते हैं उनके वास्तुशिल्प विकेंद्रीकरण को अधिकतम करने के लिए डिज़ाइन, जबकि अन्य, जैसे कि बिनेंस स्मार्ट चेन और सोलाना को यथासंभव तेज़ और सस्ता बनाने के लिए डिज़ाइन किया गया है। विकेंद्रीकृत नेटवर्क हार्डवेयर आवश्यकताओं को कम करने के लिए blockchain के थ्रूपुट को कृत्रिम रूप से सीमित करें नेटवर्क में भाग लें. वर्षों से, राज्य जैसे त्रिलम्मा का समाधान खोजने का प्रयास किया गया है चैनल [3] और प्लाज्मा [4, 5]। इन समाधानों में कुछ गतिविधियों को आगे बढ़ाने की विशेषता होती है ऑफ-चेन, smart contracts का उपयोग करके ऑन-चेन गतिविधि को ऑफ-चेन गतिविधि से जोड़ना, और सत्यापन करना डीएलटी 2023: 5वीं वितरित लेजर प्रौद्योगिकी कार्यशाला, 25-26 मई, 2023, बोलोग्ना, इटली $ [email protected] (एल. डोनो) https://lucadonnoh.github.io/ (एल. डोनो) 0000-0001-9221-3529 (एल. डोनो) © 2023 इस पेपर का कॉपीराइट इसके लेखकों द्वारा। क्रिएटिव कॉमन्स लाइसेंस एट्रिब्यूशन 4.0 इंटरनेशनल (सीसी बाय 4.0) के तहत उपयोग की अनुमति है। CEUR कार्यशाला कार्यवाही http://ceur-ws.org आईएसएसएन 1613-0073 CEUR कार्यशाला कार्यवाही (CEUR-WS.org)ऑन-चेन क्या हो रहा है ऑफ-चेन। हालाँकि, प्लाज्मा और राज्य चैनल दोनों सीमित हैं सामान्य smart contracts का उनका समर्थन। रोलअप blockchain हैं (जिन्हें Layer 2 या L2 कहा जाता है) जो अपने ब्लॉक को दूसरे blockchain पर प्रकाशित करते हैं (Layer 1 या L1) और इसलिए इसकी सर्वसम्मति, डेटा उपलब्धता और सुरक्षा गुण विरासत में मिले हैं। वे, अन्य समाधानों के विपरीत, मनमानी गणना का समर्थन करें। रोलअप के तीन मुख्य घटक हैं: • सीक्वेंसर: नोड्स जो उपयोगकर्ताओं से रोलअप लेनदेन प्राप्त करते हैं और उन्हें एक में जोड़ते हैं ब्लॉक जो Layer 1 पर भेजा जाता है। ब्लॉक में कम से कम राज्य रूट (उदाहरण के लिए एक मर्कल) होता है रूट) और राज्य के पुनर्निर्माण और सत्यापन के लिए आवश्यक डेटा। Layer 1 परिभाषित करता है प्रकाशित डेटा के क्रम को स्थापित करके L2 का विहित blockchain। • रोलअप पूर्ण नोड्स: नोड्स जो परत से रोलअप ब्लॉक प्राप्त करते हैं, संसाधित करते हैं और मान्य करते हैं 1 यह सत्यापित करके कि रूट सही है। यदि किसी ब्लॉक में अमान्य लेनदेन है तो यह है खारिज कर दिया गया, जो सीक्वेंसर्स को वैध ब्लॉक बनाने से रोकता है जिनमें अमान्य शामिल हैं लेन-देन. • रोलअप लाइट नोड्स: नोड्स जो Layer 1 से रोलअप ब्लॉक प्राप्त करते हैं लेकिन गणना नहीं करते हैं नया राज्य स्वयं। वे तकनीकों का उपयोग करके सत्यापित करते हैं कि नया राज्य रूट वैध है जैसे दोष या वैधता प्रमाण। रोलअप संख्या के रूप में लेनदेन की परिशोधित लागत को कम करके स्केलेबिलिटी प्राप्त करते हैं उपयोगकर्ताओं की संख्या बढ़ जाती है. ऐसा इसलिए है क्योंकि blockchain वैधता सुनिश्चित करने की लागत उप-रेखीय रूप से बढ़ती है लेनदेन को व्यक्तिगत रूप से सत्यापित करने की लागत के संबंध में। रोलअप के अनुसार अलग-अलग होते हैं वह तंत्र जिसके द्वारा वे प्रकाश नोड्स पर लेनदेन निष्पादन की वैधता सुनिश्चित करते हैं: में आशावादी रोलअप यह एक आर्थिक मॉडल द्वारा और वैधता में रहते हुए दोष प्रमाण द्वारा सुनिश्चित किया जाता है रोलअप को वैधता प्रमाणों का उपयोग करके क्रिप्टोग्राफ़िक रूप से सुनिश्चित किया जाता है। लाइट नोड्स को Layer 1 पर smart contracts के रूप में कार्यान्वित किया जा सकता है। की जड़ को वे स्वीकार करते हैं नई स्थिति और वैधता या दोष प्रमाण सत्यापित करें: इसलिए इन रोलअप को स्मार्ट अनुबंध कहा जाता है रोलअप. यदि प्रकाश नोड स्वतंत्र हैं, तो उन्हें सॉवरेन रोलअप [6] कहा जाता है। का फायदा स्मार्ट कॉन्ट्रैक्ट रोलअप का उपयोग करके दोनों के बीच विश्वास-न्यूनतम पुल बनाने में सक्षम होना है blockchains: चूंकि L2 स्थिति की वैधता L1 तक सिद्ध है, इसलिए लेनदेन की एक प्रणाली L2 से L1 लागू किया जा सकता है, जिससे निकासी की अनुमति मिलती है। नुकसान यह है कि की लागत लेन-देन L1 पर स्थिति को सत्यापित करने की लागत पर निर्भर करता है: यदि आधार परत संतृप्त है अन्य गतिविधियों में, रोलअप पर लेनदेन की लागत भी बढ़ जाती है। डेटा और सर्वसम्मति परतें ही सिस्टम की सुरक्षा निर्धारित करती हैं वे लेन-देन के क्रम को परिभाषित करते हैं, हमलों को रोकते हैं और स्थिति को साबित करने के लिए डेटा उपलब्ध कराते हैं वैधता. कागजी योगदान इस पेपर में, हम दो नवीन आशावादी और वैधता रोलअप का अध्ययन करते हैं Optimism बेडरॉक और StarkNet जैसे उल्लेखनीय कार्यान्वयन पर ध्यान देने के साथ स्केलेबिलिटी ट्राइलेम्मा का समाधान। हमारे योगदान में इनकी व्यापक तुलना शामिल है समाधान, वापसी के समय का विश्लेषण, और Optimism पर संभावित हमले की चर्चा आधारशिला। इसके अतिरिक्त, हम उनके गैस संपीड़न अनुपात की गणना करते हैं, एप्लिकेशन-विशिष्ट अनुकूलन प्रदान करते हैं, और Ethereum से दूर जाने के फायदे और नुकसान प्रस्तुत करते हैं। वर्चुअल मशीन (EVM).

कागज की संरचना पेपर को इस प्रकार व्यवस्थित किया गया है। धारा 2 में आशावादी रोलअप हैं Optimism बेडरॉक का विश्लेषण करके पेश किया गया। धारा 3 में वैधता रोलअप प्रस्तुत किए गए हैं StarkNet का विश्लेषण। धारा 4 में हम दोनों समाधानों की तुलना करते हैं। अंत में, अनुभाग 5 में हम चित्र बनाते हैं कुछ निष्कर्ष.

โรลอัปในแง่ดี

  1. การโรลอัปในแง่ดี แนวคิดในการยอมรับผลลัพธ์ของบล็อกในแง่ดีโดยไม่ต้องตรวจสอบการดำเนินการคือ มีอยู่แล้วในเอกสารไวท์เปเปอร์ Bitcoin [7] ที่กำลังพูดถึงโหนดแสง โหนดเหล่านี้ติดตามเท่านั้น ห่วงโซ่ส่วนหัวโดยการตรวจสอบกฎฉันทามติ ทำให้มีความเสี่ยงที่จะยอมรับการบล็อก มีธุรกรรมที่ไม่ถูกต้องในกรณีที่มีการโจมตี 51% นากาโมโตะเสนอที่จะแก้ไขปัญหานี้ ปัญหาโดยใช้ระบบ "แจ้งเตือน" เพื่อเตือนโหนดแสงว่าบล็อกมีธุรกรรมที่ไม่ถูกต้อง กลไกนี้ถูกนำมาใช้ครั้งแรกโดย Al-Bassam, Sonnino และ Buterin [8] ซึ่งมีข้อผิดพลาด ใช้ระบบพิสูจน์ตามรหัสแก้ไขข้อผิดพลาด [9] เพื่อให้เกิดการสร้าง เพื่อป้องกันข้อผิดพลาด จำเป็นต้องมีข้อมูลจากบล็อกทั้งหมด รวมถึงบล็อกที่ไม่ถูกต้องด้วย เครือข่าย: นี่คือปัญหาความพร้อมใช้งานของข้อมูล ซึ่งแก้ไขได้โดยใช้ข้อมูลที่น่าจะเป็น กลไกการสุ่มตัวอย่าง การออกแบบ Rollup Optimistic ครั้งแรกนำเสนอโดย John Adler และ Mikerah Quintyne-Collins ในปี 2019 [10] ซึ่งมีการเผยแพร่บล็อกใน blockchain อื่น ที่กำหนดฉันทามติในการสั่งซื้อ 2.1. Optimism ข้อเท็จจริง Bedrock [11] คือเวอร์ชันล่าสุดของ Optimism ซึ่งเป็น Smart Contract Rollup เวอร์ชันก่อนหน้านี้ Optimistic Virtual Machine (OVM) จำเป็นต้องมีคอมไพเลอร์เฉพาะกิจเพื่อรวบรวม Solidity ลงในเครื่อง รหัสไบต์ของตัวเอง: ในทางตรงกันข้าม Bedrock นั้นเทียบเท่ากับ EVM อย่างสมบูรณ์โดยที่เอ็นจิ้นการดำเนินการ เป็นไปตาม Ethereum ข้อกำหนดกระดาษสีเหลือง [12] 2.1.1. เงินฝาก ผู้ใช้สามารถฝากธุรกรรมผ่านสัญญาบน Ethereum ซึ่งเป็นพอร์ทัล Optimism โดยการเรียกฟังก์ชันDepositTransaction เมื่อทำธุรกรรมแล้ว ก เหตุการณ์ TransactionDeposited ถูกส่งออกมา ซึ่งแต่ละโหนดใน Rollup รับฟังเพื่อดำเนินการ เงินฝาก ธุรกรรมที่ฝากคือธุรกรรม L2 ที่ได้มาจาก L1 หากผู้โทรเข้าของ ฟังก์ชั่นคือสัญญา ที่อยู่จะถูกเปลี่ยนโดยการเพิ่มค่าคงที่ลงไป ซึ่งจะช่วยป้องกัน การโจมตีที่สัญญาบน L1 มีที่อยู่เดียวกันกับสัญญาบน L2 แต่มีรหัสต่างกัน การรวม L2 ของธุรกรรมที่ฝากไว้นั้นรับประกันโดยข้อกำหนดภายในลำดับ หน้าต่าง ธุรกรรมที่ฝากเป็นธุรกรรมประเภทใหม่ที่รองรับ EIP-2718 [13] โดยมีคำนำหน้า 0x7E โดยที่ฟิลด์ที่เข้ารหัส rlp คือ: • bytes32 sourceHash: hash ที่ระบุแหล่งที่มาของธุรกรรมโดยไม่ซ้ำกัน • ที่อยู่จาก: ที่อยู่ของผู้ส่ง • ที่อยู่: ที่อยู่ของผู้รับ หรือที่อยู่ศูนย์หากธุรกรรมที่ฝากคือ a การสร้างสัญญา• uint256 mint: ค่าที่จะสร้างบน L2 • ค่า uint256: ค่าที่จะส่งไปยังผู้รับ • ข้อมูลไบต์: ข้อมูลอินพุต • bytes gasLimit: ขีดจำกัดก๊าซของธุรกรรม sourceHash คำนวณเป็น keccak256 hash ของบล็อก L1 hash และบันทึก L1 ดัชนี ระบุเหตุการณ์ในบล็อกโดยไม่ซ้ำกัน เนื่องจากธุรกรรมที่ฝากเริ่มต้นบน L1 แต่ดำเนินการบน L2 ระบบจึงจำเป็นต้องมี กลไกการจ่าย L1 สำหรับก๊าซที่ใช้ใน L2 ทางออกหนึ่งคือส่ง ETH ผ่านทางพอร์ทัล แต่นี่หมายความว่าผู้โทรทุกคน (แม้แต่ผู้โทรทางอ้อม) จะต้องถูกทำเครื่องหมายว่าต้องชำระ และนี่คือ ไม่สามารถทำได้สำหรับโครงการที่มีอยู่มากมาย อีกทางเลือกหนึ่งคือการเผาไหม้ก๊าซที่สอดคล้องกันบน L1 ก๊าซ 𝑔ที่จัดสรรให้กับธุรกรรมที่ฝากเรียกว่าก๊าซรับประกัน ราคาก๊าซ L2 บน L1 จะไม่ซิงโครไนซ์โดยอัตโนมัติ แต่ประเมินโดยใช้กลไกที่คล้ายกับ EIP-1559 [14]. ปริมาณก๊าซสูงสุดที่รับประกันต่อ Ethereum บล็อกคือ 8 ล้าน โดยมีเป้าหมาย จำนวน 2 ล้าน ปริมาณ 𝑐 ของ ETH ที่ต้องชำระค่าก๊าซบน L2 คือ 𝑐= 𝑔𝑏L2 โดยที่ 𝑏L2 คือ ค่าธรรมเนียมพื้นฐานบน L2 สัญญาของ L1 จะเผาผลาญก๊าซในปริมาณเท่ากับ 𝑐/𝑏L2 ค่าแก๊สที่ใช้ในการโทร การฝากเงินธุรกรรมจะคืนเงินให้กับ L2: หากจำนวนนี้มากกว่าก๊าซที่รับประกัน ไม่มีการเผาไหม้ของก๊าซ ธุรกรรมแรกของบล็อก rollup คือธุรกรรมที่ฝากแอตทริบิวต์ L1 ใช้ในการลงทะเบียน บน L2 ปรับใช้คุณลักษณะของบล็อก Ethereum ล่วงหน้า คุณลักษณะที่การปรับใช้ล่วงหน้ามอบให้ การเข้าถึงคือหมายเลขบล็อก การประทับเวลา ค่าพื้นฐาน บล็อก hash และลำดับ number ซึ่งเป็นหมายเลขบล็อกของ L2 ที่สัมพันธ์กับบล็อก L1 ที่เกี่ยวข้อง (เรียกอีกอย่างว่ายุค) หมายเลขนี้จะถูกรีเซ็ตเมื่อยุคใหม่เริ่มต้นขึ้น 2.1.2. การเรียงลำดับ โหนด Rollup ได้รับสายโซ่ Optimism ทั้งหมดจาก Ethereum ห่วงโซ่นี้จะขยายออกไป แต่ละครั้งที่มีการเผยแพร่ธุรกรรมใหม่บน L1 และบล็อกจะถูกจัดระเบียบใหม่ในแต่ละครั้ง Ethereum บล็อกได้รับการจัดระเบียบใหม่ Rollup blockchain แบ่งออกเป็นยุคต่างๆ สำหรับแต่ละฮันนา หมายเลขบล็อกของ Ethereum มียุคที่สอดคล้องกัน แต่ละยุคมีอย่างน้อยหนึ่งยุค บล็อก และแต่ละบล็อกในยุคนั้นมีธุรกรรมที่ฝากแอตทริบิวต์ L1 บล็อคแรก ในยุคประกอบด้วยธุรกรรมทั้งหมดที่ฝากผ่านพอร์ทัล Layer 2 บล็อกก็ได้ มีธุรกรรมที่เรียงลำดับ เช่น ธุรกรรมที่ส่งโดยตรงไปยัง Sequencer Sequencer ยอมรับธุรกรรมจากผู้ใช้และสร้างบล็อก สำหรับแต่ละบล็อกจะมีการสร้าง ชุดที่จะเผยแพร่เมื่อ Ethereum สามารถเผยแพร่แบทช์หลายชุดในลักษณะบีบอัด เอาชื่อช่อง. ช่องสามารถแบ่งออกเป็นหลายเฟรมได้ ในกรณีที่ช่องมีขนาดใหญ่เกินไป ธุรกรรมเดียว ช่องสัญญาณถูกกำหนดให้เป็นการบีบอัดด้วย ZLIB [15] ของการเข้ารหัส rlp แบตช์ ฟิลด์ของแบตช์คือหมายเลขยุค, ยุค hash, ระดับบนสุด hash, การประทับเวลาและรายการธุรกรรม หน้าต่างลำดับที่ระบุโดยยุค มีตัวเลขคงที่ 𝑤ของ L1 ที่ต่อเนื่องกัน บล็อกที่ขั้นตอนการรับมาใช้เป็นอินพุตเพื่อสร้างจำนวนตัวแปรของบล็อก L2 สำหรับ ยุคที่ 4, หน้าต่างลำดับของ 4 รวมถึงบล็อก [4, + 4 𝑤] นี่หมายความว่าการสั่งซื้อ ของธุรกรรมและบล็อก L2 ภายในหน้าต่างลำดับไม่ได้รับการแก้ไขจนกว่าหน้าต่างจะสิ้นสุด ธุรกรรม rollup จะถูกเรียกว่าปลอดภัย หากแบทช์ที่มีธุรกรรมนั้นได้รับการยืนยันบน L1 เฟรมถูกอ่านจากบล็อก L1 เพื่อสร้างแบทช์ใหม่ การใช้งานในปัจจุบันไม่อนุญาตให้มี การบีบอัดช่องสัญญาณเพื่อเริ่มต้นจนกว่าจะได้รับเฟรมที่เกี่ยวข้องทั้งหมด ไม่ถูกต้อง ชุดงานจะถูกละเว้น ธุรกรรมบล็อกแต่ละรายการจะได้รับจากแบทช์ ซึ่งก็คือ ใช้โดยกลไกการดำเนินการเพื่อใช้การเปลี่ยนสถานะและรับสถานะ Rollup 2.1.3. การถอนเงิน เพื่อดำเนินการถอนเงิน ระบบส่งข้อความ L2-to-L1 จะถูกนำมาใช้ Ethereum จำเป็นต้องทราบสถานะของ L2 เพื่อที่จะยอมรับการถอนเงิน และทำได้โดยการเผยแพร่ บน L2 Output Oracle smart contract บน L1 รูทสถานะของแต่ละบล็อก L2 รากเหล่านี้ ได้รับการยอมรับในแง่ดีว่าถูกต้อง (หรือสรุปแล้ว) หากไม่มีการดำเนินการพิสูจน์ข้อบกพร่องในระหว่าง ระยะเวลาข้อพิพาท เฉพาะที่อยู่ที่กำหนดให้เป็นผู้เสนอเท่านั้นที่สามารถเผยแพร่รูตเอาท์พุตได้ ความถูกต้อง ของรากเอาท์พุตนั้นได้รับการจูงใจโดยการให้ผู้เสนอวางเงินเดิมพันซึ่งจะถูกเฉือนหากเป็นเช่นนั้น แสดงว่าได้เสนอรูทที่ไม่ถูกต้อง ธุรกรรมเริ่มต้นโดยการเรียกใช้ฟังก์ชัน เริ่มต้นถอนการปรับใช้ล่วงหน้าบน L2 จากนั้นจึงสรุปบน L1 โดยการเรียกใช้ฟังก์ชัน สิ้นสุดการถอนธุรกรรมบนพอร์ทัล Optimism ที่กล่าวถึงก่อนหน้านี้ รูทเอาท์พุตที่สอดคล้องกับบล็อก L2 นั้นได้มาจาก L2 Output Oracle; มันคือ ตรวจสอบว่าได้สรุปแล้ว เช่น ผ่านช่วงข้อพิพาทไปแล้ว เป็นการตรวจสอบว่าเอาท์พุต Root Proof ตรงกับ Oracle Proof; ได้รับการตรวจสอบแล้วว่ารวม hash ของการถอนออกด้วย โดยใช้หลักฐานการถอนเงิน การถอนเงินยังไม่เสร็จสิ้น แล้ว การเรียกไปยังที่อยู่เป้าหมายจะดำเนินการ โดยมีขีดจำกัดก๊าซ ปริมาณอีเธอร์ และข้อมูลที่ระบุ 2.1.4. แคนนอน: ระบบป้องกันข้อผิดพลาด หาก Rollup Full Node ค้นพบสิ่งนั้นโดยการดำเนินการแบตช์ภายในเครื่องและธุรกรรมที่ฝากไว้ สถานะ Layer 2 ไม่ตรงกับสถานะรูทที่เผยแพร่บนเชนโดยผู้เสนอ มันสามารถดำเนินการได้ การพิสูจน์ข้อบกพร่องบน L1 เพื่อพิสูจน์ว่าผลลัพธ์ของการเปลี่ยนบล็อกไม่ถูกต้อง เนื่องจาก ค่าใช้จ่ายการประมวลผล Rollup block ทั้งหมดบน L1 นั้นแพงเกินไป ได้มีการนำแนวทางแก้ไขไปใช้แล้ว โดย Bedrock คือการดำเนินการบนเชนเฉพาะคำสั่งแรกของความไม่เห็นด้วยของ minigeth รวบรวมมันเป็นสถาปัตยกรรม MIPS ที่ดำเนินการบนล่ามออนไลน์และเผยแพร่ บน L1 minigeth เป็นเวอร์ชันที่เรียบง่ายของ geth 1 ซึ่งมีฉันทามติ RPC และฐานข้อมูล ได้ถูกลบออกแล้ว เพื่อค้นหาคำสั่งแรกของความขัดแย้ง การค้นหาแบบไบนารีเชิงโต้ตอบจะดำเนินการระหว่าง ผู้ที่ริเริ่มการพิสูจน์ข้อบกพร่องและผู้ที่เผยแพร่รูตเอาท์พุต เมื่อพิสูจน์แล้ว เริ่มต้น ทั้งสองฝ่ายเผยแพร่รูทของสถานะหน่วยความจำ MIPS ครึ่งทางของการดำเนินการ การบล็อกสัญญาการท้าทาย: หาก hash ตรงกัน หมายความว่าทั้งสองฝ่ายเห็นด้วยกับ ครึ่งแรกของการดำเนินการจึงเผยแพร่รากของครึ่งหนึ่งของครึ่งหลัง มิฉะนั้นครึ่งหนึ่ง ของครึ่งแรกมีการเผยแพร่เป็นต้น การทำเช่นนี้จะถือเป็นคำสั่งแรกของการไม่เห็นด้วย ในจำนวนขั้นตอนลอการิทึมเมื่อเทียบกับการดำเนินการเดิม หากหนึ่งในสองหยุด โต้ตอบ เมื่อสิ้นสุดระยะเวลาการโต้แย้ง ผู้เข้าร่วมรายอื่นจะชนะโดยอัตโนมัติ ในการประมวลผลคำสั่ง ล่าม MIPS จำเป็นต้องเข้าถึงหน่วยความจำของมัน: เนื่องจากรูทคือ พร้อมใช้งาน เซลล์หน่วยความจำที่จำเป็นสามารถเผยแพร่ได้โดยการพิสูจน์การรวมเข้าด้วยกัน ในการเข้าถึง สถานะของ EVM การใช้งานทำจาก Preimage Oracle: เมื่อพิจารณาจาก hash ของบล็อกที่ส่งคืน 1https://geth.ethereum.org/docs

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

आशावादी रोलअप

  1. आशावादी रोलअप ब्लॉकों के निष्पादन को सत्यापित किए बिना उनके आउटपुट को आशावादी रूप से स्वीकार करने का विचार है प्रकाश नोड्स पर चर्चा करते हुए Bitcoin श्वेतपत्र [7] में पहले से ही मौजूद है। ये नोड्स केवल अनुसरण करते हैं सर्वसम्मति नियम को सत्यापित करके हेडर श्रृंखला, उन्हें ब्लॉक स्वीकार करने के लिए असुरक्षित बनाती है 51% हमले की स्थिति में अमान्य लेनदेन शामिल हैं। नाकामोतो ने इसे हल करने का प्रस्ताव रखा है प्रकाश नोड्स को चेतावनी देने के लिए "अलर्ट" प्रणाली का उपयोग करके समस्या को हल करें कि किसी ब्लॉक में अमान्य लेनदेन हैं। यह तंत्र सबसे पहले अल-बासम, सोनिनो और ब्यूटिरिन [8] द्वारा कार्यान्वित किया गया है जिसमें एक दोष है त्रुटि सुधार कोड [9] पर आधारित प्रूफ प्रणाली का उपयोग किया जाता है। के निर्माण को सक्षम करने के लिए दोष प्रमाण के लिए, यह आवश्यक है कि अमान्य ब्लॉकों सहित सभी ब्लॉकों का डेटा उपलब्ध हो नेटवर्क: यह डेटा उपलब्धता समस्या है, जिसे संभाव्य डेटा का उपयोग करके हल किया जाता है नमूना तंत्र. पहला आशावादी रोलअप डिज़ाइन जॉन एडलर द्वारा प्रस्तुत किया गया था 2019 [10] में मिकेरा क्विंटाइन-कोलिन्स, जिसमें ब्लॉक दूसरे blockchain पर प्रकाशित होते हैं यह ऑर्डर देने पर उनकी सहमति को परिभाषित करता है। 2.1. Optimism आधारशिला बेडरॉक [11] एक स्मार्ट कॉन्ट्रैक्ट रोलअप Optimism का नवीनतम संस्करण है। पिछला संस्करण, ऑप्टिमिस्टिक वर्चुअल मशीन (ओवीएम) को सॉलिडिटी को संकलित करने के लिए एक तदर्थ कंपाइलर की आवश्यकता होती है स्वयं का बाइटकोड: इसके विपरीत, बेडरॉक उस निष्पादन इंजन में पूरी तरह से EVM के बराबर है Ethereum येलो पेपर विनिर्देश [12] का अनुसरण करता है। 2.1.1. जमा उपयोगकर्ता डिपॉजिटट्रांसेक्शन फ़ंक्शन को कॉल करके Ethereum, Optimism पोर्टल पर एक अनुबंध के माध्यम से लेनदेन जमा कर सकते हैं। जब कोई लेन-देन निष्पादित होता है, a TransactionDeposited ईवेंट उत्सर्जित होता है, जिसे रोलअप में प्रत्येक नोड संसाधित करने के लिए सुनता है जमा. जमा लेनदेन एक L2 लेनदेन है जो L1 से प्राप्त होता है। यदि कॉल करने वाला फ़ंक्शन एक अनुबंध है, इसमें एक स्थिर मान जोड़कर पता बदल दिया जाता है: यह रोकता है ऐसे हमले जिनमें L1 पर एक अनुबंध का पता L2 पर एक अनुबंध के समान होता है लेकिन एक अलग कोड होता है। जमा किए गए लेन-देन के एल2 पर समावेशन एक क्रम के भीतर विनिर्देश द्वारा सुनिश्चित किया जाता है खिड़की. जमा किए गए लेनदेन एक नया EIP-2718 संगत लेनदेन प्रकार [13] हैं जिसमें उपसर्ग 0x7E है, जहां आरएलपी-एन्कोडेड फ़ील्ड हैं: • बाइट्स32 सोर्सहैश: hash जो विशिष्ट रूप से लेनदेन के स्रोत की पहचान करता है। • पता: प्रेषक का पता. • पता: प्राप्तकर्ता का पता, या यदि जमा किया गया लेनदेन है तो शून्य पता अनुबंध निर्माण.• uint256 टकसाल: L2 पर बनाया जाने वाला मान। • uint256 मान: प्राप्तकर्ता को भेजा जाने वाला मान। • बाइट्स डेटा: इनपुट डेटा. • बाइट्स गैसलिमिट: लेनदेन की गैस सीमा। सोर्सहैश की गणना L1 ब्लॉक hash और L1 लॉग के keccak256 hash के रूप में की जाती है सूचकांक, किसी ब्लॉक में किसी घटना की विशिष्ट रूप से पहचान करना। चूंकि जमा किए गए लेनदेन L1 पर शुरू किए जाते हैं लेकिन L2 पर निष्पादित होते हैं, इसलिए सिस्टम को इसकी आवश्यकता होती है L2 पर खर्च की गई गैस के लिए L1 पर भुगतान करने की व्यवस्था। एक समाधान पोर्टल के माध्यम से ईटीएच भेजना है, लेकिन इसका तात्पर्य यह है कि प्रत्येक कॉल करने वाले (यहां तक कि अप्रत्यक्ष कॉल करने वाले) को देय के रूप में चिह्नित किया जाना चाहिए, और यह है कई मौजूदा परियोजनाओं के लिए संभव नहीं है। विकल्प यह है कि संबंधित गैस को L1 पर जलाया जाए। जमा लेनदेन के लिए आवंटित गैस को गारंटीशुदा गैस कहा जाता है। L2 गैस की कीमत चालू L1 स्वचालित रूप से सिंक्रनाइज़ नहीं होता है लेकिन EIP-1559 के समान एक तंत्र का उपयोग करके अनुमान लगाया जाता है [14]. लक्ष्य के साथ प्रति Ethereum ब्लॉक में गारंटीकृत गैस की अधिकतम मात्रा 8 मिलियन है 2 मिलियन का. L2 पर गैस के भुगतान के लिए आवश्यक ETH की मात्रा 𝑐= 𝑔𝑏L2 है जहां 𝑏L2 है L2 पर बेसफ़ी। L1 पर अनुबंध 𝑐/𝑏L2 के बराबर गैस जलाता है। कॉल करने में गैस खर्च हो गई जमा लेनदेन की प्रतिपूर्ति L2 पर की जाती है: यदि यह राशि गारंटीशुदा गैस से अधिक है, कोई गैस नहीं जलती. rollup ब्लॉक का पहला लेनदेन एक L1 विशेषता जमा लेनदेन है, जिसका उपयोग पंजीकरण के लिए किया जाता है L2 पर Ethereum ब्लॉक की विशेषताओं को पूर्व-तैनाती करें। वे विशेषताएँ जो पूर्व-तैनाती देता है पहुंच ब्लॉक नंबर, टाइमस्टैम्प, बेसफ़ीस, ब्लॉक hash और अनुक्रम है संख्या, जो संबद्ध L1 ब्लॉक (जिसे युग भी कहा जाता है) के सापेक्ष L2 की ब्लॉक संख्या है; नया युग शुरू होने पर यह संख्या रीसेट हो जाती है। 2.1.2. अनुक्रमण रोलअप नोड्स Optimism श्रृंखला को पूरी तरह से Ethereum से प्राप्त करते हैं। यह शृंखला विस्तारित है हर बार नए लेन-देन L1 पर प्रकाशित होते हैं, और इसके ब्लॉक हर बार पुनर्गठित होते हैं Ethereum ब्लॉकों को पुनर्गठित किया गया है। रोलअप blockchain को युगों में विभाजित किया गया है। प्रत्येक 𝑛 के लिए Ethereum की ब्लॉक संख्या, एक संगत 𝑛युग है। प्रत्येक युग में कम से कम एक होता है ब्लॉक, और एक युग में प्रत्येक ब्लॉक में एक L1 विशेषताएँ जमा लेनदेन होता है। पहला ब्लॉक एक युग में पोर्टल के माध्यम से जमा किए गए सभी लेनदेन शामिल हैं। Layer 2 ब्लॉक भी हो सकते हैं इसमें अनुक्रमित लेन-देन शामिल हैं, यानी सीधे सीक्वेंसर को भेजे गए लेन-देन। सीक्वेंसर उपयोगकर्ताओं से लेनदेन स्वीकार करता है और ब्लॉक बनाता है। प्रत्येक ब्लॉक के लिए, यह निर्माण करता है Ethereum पर प्रकाशित होने वाला एक बैच। कई बैचों को संपीड़ित तरीके से प्रकाशित किया जा सकता है, चैनल का नाम ले रहे हैं. यदि एक चैनल बहुत बड़ा है, तो उसे कई फ़्रेमों में विभाजित किया जा सकता है एक एकल लेनदेन. एक चैनल को आरएलपी-एन्कोडेड के ZLIB [15] के साथ संपीड़न के रूप में परिभाषित किया गया है बैच. एक बैच के फ़ील्ड युग संख्या, युग hash, मूल hash, हैं टाइमस्टैम्प और लेनदेन सूची। एक अनुक्रमण विंडो, जिसे एक युग द्वारा पहचाना जाता है, में लगातार L1 की एक निश्चित संख्या होती है वे ब्लॉक जिन्हें एक व्युत्पत्ति चरण L2 ब्लॉकों की एक चर संख्या के निर्माण के लिए इनपुट के रूप में लेता है। के लिए युग 𝑛, अनुक्रमण विंडो 𝑛 में ब्लॉक शामिल हैं [𝑛, 𝑛+𝑤)। इसका तात्पर्य यह है कि आदेश देना अनुक्रमण विंडो के भीतर L2 लेनदेन और ब्लॉकों की संख्या विंडो समाप्त होने तक ठीक नहीं होती है। rollup लेनदेन को सुरक्षित कहा जाता है यदि इसमें शामिल बैच की पुष्टि L1 पर की गई हो। फ्रेम्सबैचों के पुनर्निर्माण के लिए L1 ब्लॉक से पढ़ा जाता है। वर्तमान कार्यान्वयन इसकी अनुमति नहीं देता है एक चैनल का डीकंप्रेसन तब तक शुरू होना चाहिए जब तक कि सभी संबंधित फ़्रेम प्राप्त न हो जाएं। अमान्य बैचों को नजरअंदाज कर दिया जाता है. व्यक्तिगत ब्लॉक लेनदेन बैचों से प्राप्त किए जाते हैं, जो हैं राज्य परिवर्तन लागू करने और रोलअप स्थिति प्राप्त करने के लिए निष्पादन इंजन द्वारा उपयोग किया जाता है। 2.1.3. निकासी निकासी की प्रक्रिया के लिए, एक L2-टू-L1 मैसेजिंग सिस्टम लागू किया गया है। Ethereum निकासी स्वीकार करने के लिए एल2 की स्थिति जानने की आवश्यकता है, और यह प्रकाशन द्वारा किया जाता है L2 आउटपुट Oracle smart contract पर L1 पर प्रत्येक L2 ब्लॉक का स्टेट रूट। ये जड़ें यदि इस दौरान कोई गलती साबित नहीं की जाती है तो उन्हें आशावादी रूप से वैध (या अंतिम रूप दिया गया) स्वीकार किया जाता है विवाद अवधि. केवल प्रस्तावक के रूप में निर्दिष्ट पते ही आउटपुट रूट प्रकाशित कर सकते हैं। वैधता आउटपुट रूट्स को प्रस्तावकों द्वारा हिस्सेदारी जमा करने के द्वारा प्रोत्साहित किया जाता है, यदि ऐसा होता है तो उसे घटा दिया जाता है एक अमान्य रूट का प्रस्ताव दिखाया गया है। फ़ंक्शन को कॉल करके लेनदेन शुरू किया जाता है L2 पर पूर्व-तैनाती पर निकासी शुरू करें और फिर फ़ंक्शन को कॉल करके L1 पर अंतिम रूप दें पहले बताए गए Optimism पोर्टल पर निकासी लेनदेन को अंतिम रूप दें। L2 ब्लॉक के अनुरूप आउटपुट रूट L2 आउटपुट Oracle से प्राप्त किया जाता है; यह है सत्यापित किया गया कि इसे अंतिम रूप दे दिया गया है, अर्थात विवाद की अवधि बीत चुकी है; यह सत्यापित है कि आउटपुट रूट प्रूफ ओरेकल प्रूफ से मेल खाता है; यह सत्यापित है कि निकासी का hash शामिल है इसमें निकासी प्रमाण का उपयोग करना; कि वापसी को पहले ही अंतिम रूप नहीं दिया गया है; और फिर लक्ष्य पते पर कॉल निर्दिष्ट गैस सीमा, ईथर की मात्रा और डेटा के साथ निष्पादित की जाती है। 2.1.4. तोप: दोषरोधी प्रणाली यदि एक रोलअप पूर्ण नोड, स्थानीय रूप से बैचों और जमा लेनदेन को निष्पादित करके, इसका पता लगाता है Layer 2 स्थिति प्रस्तावक द्वारा ऑन-चेन प्रकाशित राज्य रूट से मेल नहीं खाती है, यह निष्पादित कर सकता है यह साबित करने के लिए कि ब्लॉक संक्रमण का परिणाम गलत है, L1 पर एक दोष प्रमाण। के कारण ओवरहेड, L1 पर संपूर्ण रोलअप ब्लॉक को संसाधित करना बहुत महंगा है। समाधान लागू किया गया बेडरॉक द्वारा मिनीगेथ की असहमति के केवल पहले निर्देश को ऑन-चेन निष्पादित करना है, इसे MIPS आर्किटेक्चर में संकलित करना जिसे ऑन-चेन दुभाषिया पर निष्पादित किया जाता है और प्रकाशित किया जाता है L1 पर. मिनीगेथ, गेथ 1 का एक सरलीकृत संस्करण है जिसमें सर्वसम्मति, आरपीसी और डेटाबेस शामिल हैं हटा दिए गए हैं. असहमति के पहले निर्देश को खोजने के लिए, बीच में एक इंटरैक्टिव बाइनरी खोज आयोजित की जाती है वह जिसने दोष निवारण आरंभ किया और वह जिसने आउटपुट रूट प्रकाशित किया। जब प्रमाण प्रारंभ होता है, दोनों पक्ष निष्पादन के आधे रास्ते में MIPS मेमोरी स्थिति की जड़ प्रकाशित करते हैं चुनौती अनुबंध पर अवरोध: यदि hash मेल खाता है तो इसका मतलब है कि दोनों पक्ष इस पर सहमत हैं निष्पादन का पहला भाग इस प्रकार दूसरे भाग के आधे की जड़ को प्रकाशित करता है, अन्यथा आधा पहली छमाही प्रकाशित हो चुकी है इत्यादि। ऐसा करने से असहमति का पहला निर्देश प्राप्त होता है मूल निष्पादन की तुलना में चरणों की लघुगणकीय संख्या में। अगर दोनों में से एक रुक जाए बातचीत करते हुए, विवाद अवधि के अंत में दूसरा प्रतिभागी स्वतः ही जीत जाता है। निर्देश को संसाधित करने के लिए, MIPS दुभाषिया को इसकी मेमोरी तक पहुंच की आवश्यकता होती है: चूंकि रूट है उपलब्ध होने पर आवश्यक मेमोरी सेलों को उनके समावेश को सिद्ध करके प्रकाशित किया जा सकता है। पहुँचना EVM की स्थिति, प्रीइमेज ओरेकल का उपयोग किया जाता है: ब्लॉक के hash को देखते हुए यह वापस आता है 1https://geth.ethereum.org/docs

ब्लॉक हेडर, जिससे कोई पिछले ब्लॉक का hash प्राप्त कर सकता है और वापस जा सकता है श्रृंखला, या राज्य और लॉग का hash प्राप्त करें जिससे कोई भी पूर्व-छवि प्राप्त कर सकता है। oracle मिनीगेथ द्वारा कार्यान्वित किया जाता है और डेटाबेस को प्रतिस्थापित करता है। अन्य नोड्स से प्रश्न पूछे जाते हैं पूर्वछवियाँ प्राप्त करें.

Rollups ความถูกต้อง

  1. การยกเลิกความถูกต้อง เป้าหมายของการยกเลิกความถูกต้องคือการพิสูจน์ความถูกต้องของการเปลี่ยนแปลงสถานะด้วยการเข้ารหัส โดยมีลำดับการทำธุรกรรมพร้อมหลักฐานสั้นๆ ที่สามารถตรวจสอบเปรียบเทียบแบบเชิงเส้นย่อยได้ จนถึงเวลาคำนวณแบบเดิม ใบรับรองประเภทนี้เรียกว่าการพิสูจน์ความสมบูรณ์ทางคอมพิวเตอร์ และนำไปใช้งานได้จริงกับ SNARK (Succint Non-interactive ARgument of Knowledge) ซึ่งใช้เลขคณิต วงจรเป็นแบบจำลองการคำนวณ การใช้งาน SNARK ที่แตกต่างกันต่างกันในเรื่องเวลาในการพิสูจน์ เวลาในการตรวจสอบ ความจำเป็นในการตั้งค่าที่เชื่อถือได้ และความต้านทานควอนตัม [16, 17] สตาร์ค (ปรับขนาดได้ ARgument of Knowledge ที่โปร่งใส) [18] เป็น SNARK ประเภทหนึ่งที่ไม่จำเป็นต้องมีความน่าเชื่อถือ การตั้งค่าและทนทานต่อควอนตัม ขณะเดียวกันก็ทำให้ประสิทธิภาพในการพิสูจน์และการตรวจสอบลดลง เมื่อเทียบกับโซลูชั่นอื่นๆ 3.1. StarkNet StarkNet คือ Smart Contract Validity Rollup ที่พัฒนาโดย StarkWare ที่ใช้ STARK ระบบพิสูจน์เพื่อตรวจสอบสถานะเป็น Ethereum เพื่ออำนวยความสะดวกในการสร้างหลักฐานความถูกต้อง มีการใช้เครื่องเสมือนที่แตกต่างจาก EVM ซึ่งมีภาษาระดับสูงคือไคโร 3.1.1. เงินฝาก ผู้ใช้สามารถฝากธุรกรรมผ่านสัญญาใน Ethereum โดยการเรียก sendMessageToL2 ฟังก์ชั่น ข้อความถูกบันทึกโดยการคำนวณ hash และเพิ่มตัวนับ ซีเควนเซอร์ ฟังเหตุการณ์ LogMessageToL2 และเข้ารหัสข้อมูลในธุรกรรม StarkNet ที่เรียกใช้ฟังก์ชันของสัญญาที่มีมัณฑนากร l1_handler เมื่อสิ้นสุดการประหารชีวิต เมื่อมีการสร้างหลักฐานการเปลี่ยนสถานะ การใช้ข้อความจะถูกแนบไปด้วย และมันถูกลบโดยการลดตัวนับ การรวมธุรกรรมที่ฝากไม่จำเป็นตามข้อกำหนด StarkNet ดังนั้นจึงเป็นแก๊ส จำเป็นต้องมีตลาดเพื่อจูงใจให้ Sequencers เผยแพร่บน L2 ในเวอร์ชั่นปัจจุบันเพราะว่า Sequencer ได้รับการรวมศูนย์และจัดการโดย StarkWare ซึ่งเป็นต้นทุนของธุรกรรมที่ฝากไว้ ถูกกำหนดโดยค่าใช้จ่ายในการดำเนินการฝากเงินเท่านั้น ค่าใช้จ่ายนี้ชำระโดยการส่ง ETH ไปที่ sendMessageToL2. อีเทอร์เหล่านี้ยังคงล็อคอยู่บน L1 และจะถูกถ่ายโอนไปยังซีเควนเซอร์บน L1 เมื่อธุรกรรมที่ฝากรวมอยู่ในการเปลี่ยนสถานะ จำนวน ETH ที่ส่ง ถ้า รวมธุรกรรมที่ฝากไว้แล้ว ใช้ไปจนหมด โดยไม่คำนึงถึงปริมาณการใช้ก๊าซ บน L2 StarkNet ไม่มีระบบที่ทำให้แอ็ตทริบิวต์บล็อก L1 พร้อมใช้งานโดยอัตโนมัติ อีกทางหนึ่ง Fossil เป็นโปรโตคอลที่พัฒนาโดย Oiler Network 2 ที่อนุญาต โดยให้ hash ของ บล็อก ข้อมูลใด ๆ ที่จะได้รับจาก Ethereum โดยการเผยแพร่ภาพล่วงหน้า 2https://www.oiler.network/3.1.2. การเรียงลำดับ สถานะปัจจุบันของ StarkNet สามารถได้รับมาจาก Ethereum ทั้งหมด ความแตกต่างของรัฐใด ๆ ระหว่างช่วงการเปลี่ยนภาพถูกเผยแพร่บน L1 เป็น calldata มีการเผยแพร่ความแตกต่างสำหรับแต่ละสัญญา และบันทึกเป็น uint256[] โดยมีการเข้ารหัสต่อไปนี้: • จำนวนฟิลด์ที่เกี่ยวข้องกับการปรับใช้สัญญา • สำหรับสัญญาที่เผยแพร่แต่ละฉบับ: – ที่อยู่ของสัญญาที่เผยแพร่ – hash ของสัญญาที่เผยแพร่ – จำนวนข้อโต้แย้งของผู้สร้างสัญญา – รายการข้อโต้แย้งของคอนสตรัคเตอร์ • จำนวนสัญญาที่มีการแก้ไขการจัดเก็บ • สำหรับแต่ละสัญญาที่ได้รับการแก้ไข: – ที่อยู่ของสัญญาที่แก้ไข – จำนวนการอัปเดตที่เก็บข้อมูล – คู่คีย์-ค่าของที่อยู่หน่วยเก็บข้อมูลที่มีค่าใหม่ ความแตกต่างของรัฐได้รับการเผยแพร่ตามลำดับ ดังนั้นจึงเพียงพอที่จะอ่านตามลำดับ สร้างรัฐขึ้นใหม่ 3.1.3. การถอนเงิน หากต้องการส่งข้อความจาก L2 ถึง L1 จะใช้ syscall send_message_to_L1 ข้อความก็คือ เผยแพร่ไปยัง L1 โดยเพิ่มตัวนับ hash พร้อมกับการพิสูจน์และสรุปโดยการเรียก ฟังก์ชั่น consumeMessageFromL2 บน StarkGate smart contract บน L1 ซึ่งลดลง เคาน์เตอร์ ทุกคนสามารถสรุปการถอนเงินได้ 3.1.4. หลักฐานความถูกต้อง เครื่องเสมือนของไคโร [19] ได้รับการออกแบบมาเพื่ออำนวยความสะดวกในการสร้างหลักฐาน STARK ภาษาไคโรช่วยให้สามารถอธิบายการคำนวณด้วยการเขียนโปรแกรมระดับสูงได้ ภาษาและไม่ใช่วงจรโดยตรง ซึ่งสามารถทำได้โดยระบบสมการพหุนาม 3 แสดงถึงการคำนวณครั้งเดียว: วงจร FDE ของสถาปัตยกรรม von Neumann หมายเลข ข้อจำกัดจึงได้รับการแก้ไขและไม่ขึ้นกับประเภทของการคำนวณ โดยอนุญาตให้ทำได้เพียงรายการเดียวเท่านั้น โปรแกรมตรวจสอบสำหรับทุกโปรแกรมที่ต้องพิสูจน์การคำนวณ StarkNet รวมธุรกรรมหลายรายการไว้ในหลักฐาน STARK เดียวโดยใช้เครื่องพิสูจน์ที่ใช้ร่วมกัน ชื่อชาร์ป หลักฐานจะถูกส่งไปยัง smart contract ใน Ethereum ซึ่งจะตรวจสอบความถูกต้อง และอัพเดตรูต Merkle ที่สอดคล้องกับสถานะใหม่ ต้นทุนย่อยเชิงเส้นของการตรวจสอบ หลักฐานความถูกต้องช่วยให้สามารถตัดจำหน่ายต้นทุนในการทำธุรกรรมหลายรายการได้ 3เรียกว่าการเป็นตัวแทนระดับกลางพีชคณิต (AIR)

वैधता रोलअप

  1. वैधता रोलअप वैधता रोलअप का लक्ष्य राज्य परिवर्तन की वैधता को क्रिप्टोग्राफ़िक रूप से साबित करना है एक संक्षिप्त प्रमाण के साथ लेन-देन का क्रम दिया गया है जिसे उप-रेखीय रूप से तुलना करके सत्यापित किया जा सकता है मूल गणना के समय तक। इस प्रकार के प्रमाणपत्रों को कम्प्यूटेशनल अखंडता प्रमाण कहा जाता है और व्यावहारिक रूप से SNARKs (ज्ञान का संक्षिप्त गैर-इंटरैक्टिव तर्क) के साथ कार्यान्वित किया जाता है, जो अंकगणित का उपयोग करते हैं सर्किट उनके कम्प्यूटेशनल मॉडल के रूप में। अलग-अलग SNARK कार्यान्वयन समय साबित करने में भिन्न होते हैं, सत्यापन समय, एक विश्वसनीय सेटअप और क्वांटम प्रतिरोध की आवश्यकता [16, 17]। स्टार्क्स (स्केलेबल ज्ञान का पारदर्शी तर्क) [18] एक प्रकार के SNARK हैं जिन्हें विश्वसनीय की आवश्यकता नहीं होती है सेटअप और क्वांटम प्रतिरोधी हैं, जबकि साबित करने और सत्यापन पर कुछ दक्षता छोड़ देते हैं अन्य समाधानों की तुलना में. 3.1. StarkNet StarkNet स्टार्कवेयर द्वारा विकसित एक स्मार्ट कॉन्ट्रैक्ट वैलिडिटी रोलअप है जो STARK का उपयोग करता है प्रूफ सिस्टम अपनी स्थिति को Ethereum तक सत्यापित करने के लिए। वैधता प्रमाणों के निर्माण को सुविधाजनक बनाने के लिए, a EVM से भिन्न वर्चुअल मशीन का उपयोग किया जाता है, जिसकी उच्च स्तरीय भाषा काहिरा है। 3.1.1. जमा उपयोगकर्ता sentMessageToL2 पर कॉल करके Ethereum पर एक अनुबंध के माध्यम से लेनदेन जमा कर सकते हैं समारोह. संदेश को उसके hash की गणना करके और एक काउंटर बढ़ाकर रिकॉर्ड किया जाता है। अनुक्रमक LogMessageToL2 इवेंट को सुनें और जानकारी को StarkNet लेनदेन में एन्कोड करें यह एक अनुबंध के फ़ंक्शन को कॉल करता है जिसमें l1_handler डेकोरेटर होता है। निष्पादन के अंत में, जब राज्य परिवर्तन का प्रमाण प्रस्तुत किया जाता है, तो संदेश की खपत इसके साथ जुड़ी होती है और इसके काउंटर को कम करके इसे हटा दिया जाता है। जमा किए गए लेनदेन को शामिल करने की आवश्यकता StarkNet विनिर्देश के अनुसार नहीं है, इसलिए एक गैस सीक्वेंसर्स को L2 पर प्रकाशित करने के लिए प्रोत्साहित करने के लिए बाज़ार की आवश्यकता है। वर्तमान संस्करण में, क्योंकि सीक्वेंसर जमा लेनदेन की लागत को स्टार्कवेयर द्वारा केंद्रीकृत और प्रबंधित किया जाता है केवल जमा निष्पादित करने की लागत से निर्धारित होता है। इस लागत का भुगतान ETH भेजकर किया जाता है संदेश भेजेंToL2. ये ईथर L1 पर लॉक रहते हैं और सीक्वेंसर पर स्थानांतरित हो जाते हैं एल1, जब जमा लेनदेन को राज्य संक्रमण में शामिल किया जाता है। भेजे गए ईटीएच की मात्रा, यदि जमा किए गए लेन-देन को शामिल किया गया है, पूरी तरह से खर्च किया गया है, भले ही गैस की खपत की मात्रा कुछ भी हो L2 पर. StarkNet में ऐसा सिस्टम नहीं है जो L1 ब्लॉक विशेषताओं को स्वचालित रूप से उपलब्ध कराता हो। वैकल्पिक रूप से, फॉसिल ऑयलर नेटवर्क 2 द्वारा विकसित एक प्रोटोकॉल है जो hash दिए जाने की अनुमति देता है ब्लॉक, प्रीइमेज प्रकाशित करके Ethereum से प्राप्त की जाने वाली कोई भी जानकारी। 2https://www.oiler.network/3.1.2. अनुक्रमण StarkNet की वर्तमान स्थिति पूरी तरह से Ethereum से प्राप्त की जा सकती है। कोई भी राज्य अंतर ट्रांज़िशन के बीच को L1 पर कॉलडेटा के रूप में प्रकाशित किया जाता है। प्रत्येक अनुबंध के लिए अंतर प्रकाशित किए जाते हैं और निम्नलिखित एन्कोडिंग के साथ uint256[] के रूप में सहेजे जाते हैं: • अनुबंध तैनाती से संबंधित क्षेत्र की संख्या. • प्रत्येक प्रकाशित अनुबंध के लिए:
  2. प्रकाशित अनुबंध का पता.
  3. प्रकाशित अनुबंध का hash।
  4. अनुबंध निर्माता के तर्कों की संख्या।
  5. कंस्ट्रक्टर तर्कों की सूची • अनुबंध की संख्या जिसका भंडारण संशोधित किया गया है। • संशोधित किए गए प्रत्येक अनुबंध के लिए:
  6. संशोधित अनुबंध का पता.
  7. भंडारण अद्यतन की संख्या.
  8. नए मूल्यों के साथ भंडारण पते के कुंजी-मूल्य जोड़े। अवस्था भेदों को क्रम से प्रकाशित किया जाता है, अत: उन्हें क्रमानुसार पढ़ना ही पर्याप्त है राज्य का पुनर्निर्माण करें. 3.1.3. निकासी L2 से L1 तक संदेश भेजने के लिए syscall sent_message_to_L1 का उपयोग किया जाता है। संदेश है सबूत के साथ इसके hash काउंटर को बढ़ाकर L1 पर प्रकाशित किया गया और कॉल करके इसे अंतिम रूप दिया गया L1 पर StarkGate smart contract पर कंज्यूममैसेजफ्रॉमL2 फ़ंक्शन, जो घटता है काउंटर. कोई भी किसी भी निकासी को अंतिम रूप दे सकता है। 3.1.4. वैधता प्रमाण काहिरा वर्चुअल मशीन [19] को STARK प्रूफ़ के निर्माण की सुविधा के लिए डिज़ाइन किया गया है। काहिरा भाषा उच्च-स्तरीय प्रोग्रामिंग के साथ गणना का वर्णन करने की अनुमति देती है भाषा, और सीधे तौर पर एक सर्किट के रूप में नहीं। यह बहुपद समीकरणों की एक प्रणाली द्वारा पूरा किया जाता है 3 एकल गणना का प्रतिनिधित्व करता है: वॉन न्यूमैन वास्तुकला का एफडीई चक्र। संख्या इस प्रकार बाधाओं का निर्धारण निश्चित है और गणना के प्रकार से स्वतंत्र है, केवल एक के लिए अनुमति देता है प्रत्येक प्रोग्राम के लिए सत्यापनकर्ता प्रोग्राम जिसकी गणना को सिद्ध करने की आवश्यकता है। StarkNet एक साझा प्रोवर का उपयोग करके कई लेनदेन को एक एकल STARK प्रूफ में एकत्रित करता है शार्प नाम दिया गया। सबूत smart contract को Ethereum पर भेजे जाते हैं, जो उनकी वैधता की पुष्टि करता है और नए राज्य के अनुरूप मर्कल रूट को अद्यतन करता है। सत्यापित करने की उप-रैखिक लागत वैधता प्रमाण इसकी लागत को कई लेनदेन पर परिशोधित करने की अनुमति देता है। 3जिसे बीजीय मध्यवर्ती निरूपण (AIR) कहा जाता है

การเปรียบเทียบ

  1. การเปรียบเทียบ 4.1. เวลาถอนเงิน สิ่งสำคัญที่สุดที่ทำให้ Rollups ในแง่ดีแตกต่างจาก Rollups ที่มีความถูกต้องคือ เวลาที่ผ่านไประหว่างการเริ่มต้นของการถอนและการสรุป ในทั้งสองกรณี การถอนเงินจะเริ่มต้นใน L2 และสิ้นสุดใน L1 ใน StarkNet การสรุปสามารถทำได้ดังนี้ ทันทีที่หลักฐานความถูกต้องของรูทสถานะใหม่ได้รับการยอมรับใน Ethereum: ตามทฤษฎีแล้ว สามารถถอนเงินได้ในบล็อคแรกของ L1 หลังจากการเริ่มต้น ในทางปฏิบัตินั้น ความถี่ในการส่งหลักฐานความถูกต้องใน Ethereum ถือเป็นการแลกเปลี่ยนระหว่างความเร็วของบล็อก การสรุปและการรวมหลักฐาน ปัจจุบัน StarkNet มีหลักฐานยืนยันความถูกต้องสำหรับการตรวจสอบ ทุก 10 ชั่วโมง 4 แต่ตั้งใจให้ลดลงเมื่อกิจกรรมธุรกรรมเพิ่มขึ้น ใน Optimism Bedrock เป็นไปได้ที่จะสรุปการถอนตัวเมื่อสิ้นสุดข้อพิพาทเท่านั้น ระยะเวลา (ปัจจุบันคือ 7 วัน) หลังจากนั้นรูทจะถือว่าใช้ได้โดยอัตโนมัติ ความยาวของ ช่วงเวลานี้ถูกกำหนดโดยข้อเท็จจริงที่ว่าการพิสูจน์ข้อบกพร่องสามารถตรวจสอบได้ใน Ethereum จนกระทั่ง จุดสิ้นสุดของมัน ความน่าจะเป็นที่สำเร็จของการโจมตีประเภทนี้จะลดลงแบบทวีคูณเมื่อเวลาผ่านไป: E[ค่าที่ลบออก] = 𝑉𝑝크 โดยที่ ñ คือจำนวนบล็อกในช่วงเวลา 𝑉 คือจำนวนเงินที่สามารถลบได้ โดยการเผยแพร่รูทที่ไม่ถูกต้อง และ 𝑝คือความน่าจะเป็นในการดำเนินการเซ็นเซอร์ได้สำเร็จ โจมตีในบล็อคเดียว สมมติว่าความน่าจะเป็นนี้คือ 99% ที่ค่าถูกล็อกไว้ในค่าสะสม คือหนึ่งล้านอีเธอร์ และบล็อกในช่วงเวลาคือ 1800 (บล็อก 6 ชั่วโมงด้วย 12 ช่วงเวลาวินาที): ค่าที่คาดหวังคือประมาณ 0.01391 อีเธอร์ ระบบมีความปลอดภัยโดย ขอให้ผู้เสนอเดิมพันอีเธอร์ในปริมาณที่มากกว่าที่คาดไว้ วินเซอร์ และคณะ แสดงวิธีดำเนินการโจมตีด้วยการเซ็นเซอร์โดยใช้ smart contract แบบง่ายๆ เพื่อให้แน่ใจว่าพื้นที่บางส่วนของหน่วยความจำในสถานะไม่เปลี่ยนแปลง [20] การสร้างแบบจำลองการโจมตี ในฐานะเกมของ Markov บทความนี้แสดงให้เห็นว่าการเซ็นเซอร์เป็นกลยุทธ์ที่โดดเด่นสำหรับเหตุผล บล็อกผู้ผลิตหากพวกเขาได้รับค่าตอบแทนมากกว่าการรวมธุรกรรมที่เปลี่ยนแปลง หน่วยความจำ ค่า 𝑝 ที่กล่าวถึงข้างต้นสามารถดูได้เป็นเปอร์เซ็นต์ของบล็อกตรรกยะ ผู้ผลิตในเครือข่ายโดยที่ “เหตุผล” ไม่คำนึงถึงการลงโทษ ภายนอก เช่น ความไว้วางใจน้อยลงใน blockchain ที่ทำให้มูลค่าสกุลเงินดิจิทัลลดลง รหัสต่อไปนี้แสดง smart contract ที่สามารถใช้เพื่อโจมตีด้วยการเซ็นเซอร์ บนพื้นหิน การโจมตีดังกล่าวใช้ประโยชน์จากสิ่งจูงใจของผู้ผลิตบล็อกโดยการเสนอสินบนให้พวกเขา เพื่อเซ็นเซอร์ธุรกรรมที่จะแก้ไขส่วนใดส่วนหนึ่งของรัฐ หลักสัญญา ฟังก์ชั่นการเรียกร้องสินบนช่วยให้ผู้ผลิตบล็อกสามารถเรียกร้องสินบนได้หากพวกเขาเซ็นเซอร์ได้สำเร็จ ธุรกรรมเป้าหมายโดยการตรวจสอบว่าไม่ได้แตะรูทเอาท์พุตที่ไม่ถูกต้อง ฟังก์ชั่นการเรียกร้องสินบน (หน่วยเก็บข้อมูลไบต์หลักฐาน) ภายนอก { need(!claimed[block.number], "สินบนถูกอ้างสิทธิ์แล้ว"); หน่วยความจำ OutputProposal ปัจจุบัน = storageOracle.getStorage(L2_ORACLE, block.number, SLOT, หลักฐานการจัดเก็บ); ต้องการ (invalidOutputRoot == current.outputRoot, "การโจมตีล้มเหลว"); อ้างสิทธิ์ [block.number] = จริง; (บูลที่ส่ง ) = block.coinbase.call{value: bribeAmount}(""); 4https://etherscan.io/address/0xc662c410c0ecf747543f5ba90660f6abebd9c8c4ต้องการ (ส่ง "ไม่สามารถส่งอีเธอร์"); } รายการ 1: ตัวอย่างของสัญญาที่จูงใจให้เกิดการโจมตีด้วยการเซ็นเซอร์ใน Bedrock ระยะเวลาของข้อพิพาทจะต้องคำนึงถึงข้อเท็จจริงที่พิสูจน์ความผิดด้วย หลักฐานเชิงโต้ตอบและจึงต้องจัดเตรียมเวลาให้เพียงพอเพื่อให้ผู้เข้าร่วมโต้ตอบได้ และปฏิสัมพันธ์ใดๆ ก็ตามสามารถถูกเซ็นเซอร์ได้ หากการเคลื่อนไหวครั้งล่าสุดเกิดขึ้นในเวลาที่ใกล้กับจุดนั้นมาก เมื่อสิ้นสุดระยะเวลาข้อพิพาท ค่าใช้จ่ายในการเซ็นเซอร์จะน้อยลงอย่างมาก แม้ว่าการเซ็นเซอร์จะเป็น กลยุทธ์ที่โดดเด่น โอกาสที่จะประสบความสำเร็จจะลดลงเนื่องจากการเซ็นเซอร์โหนดมีความเสี่ยง การโจมตีแบบปฏิเสธการให้บริการ: ผู้โจมตีสามารถสร้างธุรกรรมที่ซับซ้อนมากซึ่งลงท้ายด้วย การเผยแพร่หลักฐานข้อบกพร่องโดยไม่มีค่าใช้จ่าย เนื่องจากไม่ต้องเสียค่าธรรมเนียม ในกรณีที่ร้ายแรง ระยะเวลาการโต้แย้งที่ยาวนานจะช่วยให้สามารถประสานงานในกรณีที่ประสบความสำเร็จ การโจมตีเซ็นเซอร์เพื่อจัดระเบียบทางแยกและแยกผู้ผลิตบล็อกการโจมตี อีกอัน การโจมตีที่เป็นไปได้ประกอบด้วยการเผยแพร่ข้อเสนอรากของรัฐมากกว่าที่ผู้โต้แย้งสามารถตรวจสอบได้ ซึ่งสามารถหลีกเลี่ยงได้โดยใช้การจำกัดความถี่ 4.1.1. การถอนเงินในแง่ดีอย่างรวดเร็ว เนื่องจากความถูกต้องของ Optimistic Rollup สามารถตรวจสอบได้ตลอดเวลาโดยโหนดเต็มใดๆ a oracle ที่เชื่อถือได้ สามารถใช้เพื่อทราบใน L1 ว่าการถอนเงินสามารถสรุปได้อย่างปลอดภัยหรือไม่ นี้ กลไกถูกเสนอครั้งแรกโดย Maker [21]: oracle ตรวจสอบการถอนออก เผยแพร่ ส่งผลให้ L1 กำหนดเงินกู้ที่มีดอกเบี้ยให้กับผู้ใช้ซึ่งเป็นไปโดยอัตโนมัติ ปิดเมื่อครบ 7 วัน นั่นคือเมื่อการถอนสามารถสรุปได้จริง วิธีแก้ปัญหานี้ แนะนำสมมติฐานความน่าเชื่อถือ แต่ในกรณีของ Maker จะถูกย่อให้เล็กสุดเนื่องจากตัวดำเนินการ oracle ได้รับการจัดการโดยองค์กรเดียวกับที่รับความเสี่ยงโดยการให้เงินกู้ 4.2. ต้นทุนการทำธุรกรรม ต้นทุนของธุรกรรม L2 ส่วนใหญ่ถูกกำหนดโดยการโต้ตอบกับ L1 ในโซลูชั่นทั้งสอง ต้นทุนการคำนวณของธุรกรรมมีราคาถูกมากเนื่องจากมีการดำเนินการนอกเครือข่ายทั้งหมด Optimism เผยแพร่ calldata ธุรกรรม L2 เป็น calldata และแทบจะไม่ (หรือไม่เคย) ดำเนินการผิดพลาดเลย หลักฐาน ดังนั้น calldata จึงเป็นทรัพยากรที่แพงที่สุด เมื่อวันที่ 12 มกราคม 2022 เครือข่าย Bedrock ได้รับการเปิดตัวบน Goerli testnet ของ Ethereum สามารถคำนวณอัตราการอัดแก๊สได้ โดยการติดตามปริมาณก๊าซที่ใช้ใน Bedrock ในช่วงเวลาหนึ่งและเปรียบเทียบกับ ปริมาณก๊าซที่ใช้ใน L1 สำหรับบล็อกที่เกี่ยวข้อง การใช้วิธีนี้เป็นการบีบอัดแก๊ส พบอัตรา ∼20 : 1 แต่ตัวเลขนี้อาจแตกต่างกับกิจกรรมจริงบนเมนเน็ต StarkNet เผยแพร่บน Ethereum ทุกการเปลี่ยนแปลงในสถานะ L2 เป็น calldata ดังนั้นที่เก็บข้อมูลจึงเป็น ทรัพยากรที่แพงที่สุด เนื่องจากเครือข่ายไม่ได้ใช้ EVM ต้นทุนการทำธุรกรรม การบีบอัดไม่สามารถประมาณได้เล็กน้อย โดยสมมติค่าใช้จ่ายในการดำเนินการและข้อมูลการโทรไปที่ เพียงเล็กน้อยก็เป็นไปได้ที่จะคำนวณอัตราส่วนการบีบอัดของการเขียนที่เก็บข้อมูลเมื่อเปรียบเทียบกับ L1. สมมติว่าไม่มีการปรับใช้สัญญาและ 10 เซลล์ที่ไม่เคยเข้าถึงก่อนหน้านี้บน StarkNet คือ แก้ไขแล้ว พบอัตราการบีบอัดต้นทุนการเขียนหน่วยเก็บข้อมูลที่ ∼24: 1 หากเซลล์ถูกเขียนทับ ระยะเวลาระหว่างการเผยแพร่ข้อมูล ค่าใช้จ่ายในการเขียนแต่ละครั้งจะเท่ากับ 1/ เมื่อเทียบกับค่าใช้จ่าย ของการเขียนเพียงฉบับเดียวเนื่องจากเผยแพร่เฉพาะฉบับสุดท้ายเท่านั้น สามารถลดต้นทุนได้อีกโดยการบีบอัดค่าที่ใช้บ่อย ค่าใช้จ่ายในการตรวจสอบหลักฐานความถูกต้องจะแบ่งออกเป็น ธุรกรรมที่อ้างถึง: ตัวอย่างเช่น StarkNet บล็อก 4779 มี 200 ธุรกรรมและ หลักฐานความถูกต้องใช้ก๊าซ 267830 หน่วย หรือ 1339.15 หน่วยก๊าซสำหรับแต่ละธุรกรรม 4.2.1. การเพิ่มประสิทธิภาพ calldata: สัญญาแคช ด้านล่างนี้คือ smart contract ที่ใช้แคชที่อยู่สำหรับการใช้งานบ่อย ที่อยู่โดยการใช้ประโยชน์จากความจริงที่ว่าการจัดเก็บและการดำเนินการนั้นมีราคาถูกกว่ามาก ทรัพยากรต่างๆ พร้อมด้วยสัญญา Friends ที่สาธิตการใช้งาน หลังติดตามของ “เพื่อน” ของที่อยู่ที่สามารถลงทะเบียนได้โดยการเรียกใช้ฟังก์ชัน addFriend ถ้าเป็นที่อยู่ มีการใช้งานมาแล้วอย่างน้อย 1 ครั้ง สามารถเพิ่มได้ด้วยการเรียก addFriendWithCache ฟังก์ชั่น: ดัชนีแคชเป็นจำนวนเต็ม 4 ไบต์ในขณะที่ที่อยู่แสดงด้วย 20 ไบต์ ดังนั้นจึงมีการบันทึก 5:1 ในอาร์กิวเมนต์ของฟังก์ชัน ตรรกะเดียวกันนี้สามารถนำไปใช้กับข้อมูลอื่นได้ ประเภทต่างๆ เช่น จำนวนเต็ม หรือไบต์โดยทั่วไป AddressCache สัญญา { การทำแผนที่ (ที่อยู่ => uint32) address2key สาธารณะ; ที่อยู่ [] กุญแจสาธารณะ2ที่อยู่; ฟังก์ชั่น cacheWrite (ที่อยู่ _ ที่อยู่) ส่งคืนภายใน (uint32) { ต้องการ (key2address.length < ประเภท (uint32).max, "AddressCache: แคชเต็ม"); ต้องการ (address2key[_address] == 0, "AddressCache: ที่อยู่แคชไว้แล้ว"); // คีย์ต้องเริ่มจาก 1 เพราะ 0 หมายถึง "ไม่พบ" คีย์ uint32 = uint32 (key2address.length + 1); address2key[_address] = คีย์; key2address.push(_ที่อยู่); ส่งคืนกุญแจ; } ฟังก์ชั่น cacheRead (uint32 _key) มุมมองสาธารณะส่งคืน (ที่อยู่) { ต้องการ(_key <= key2address.length && _key > 0, "AddressCache: ไม่พบคีย์"); กลับคีย์2ที่อยู่[_key - 1]; } } รายการ 2: สัญญาแคชที่อยู่ เพื่อนสัญญาคือ AddressCache { การทำแผนที่ (ที่อยู่ => ที่อยู่ []) เพื่อนสาธารณะ; ฟังก์ชั่น addFriend (ที่อยู่ _friend) สาธารณะ { เพื่อน[msg.sender].push(_friend); แคชเขียน(_เพื่อน); } ฟังก์ชั่น addFriendWithCache (uint32 _friendKey) สาธารณะ { เพื่อน[msg.sender].push(cacheRead(_friendKey)); } ฟังก์ชั่น getFriends() ส่งคืนมุมมองสาธารณะ (หน่วยความจำที่อยู่ []) { ส่งกลับเพื่อน[msg.sender];} } รายการ 3: ตัวอย่างของสัญญาที่สืบทอดแคชที่อยู่ สัญญารองรับที่อยู่แคชประมาณ 4 พันล้าน (232) ที่อยู่และเพิ่มอีกหนึ่งไบต์ ประมาณ 1 ล้านล้าน (240) 4.2.2. การเพิ่มประสิทธิภาพพื้นที่เก็บข้อมูล: ตัวกรองของ Bloom ใน StarkNet มีเทคนิคหลายประการในการลดการใช้พื้นที่เก็บข้อมูล ถ้าไม่จำเป็น รับประกันความพร้อมใช้งานของข้อมูลต้นฉบับ จากนั้นการบันทึกแบบออนไลน์ก็เพียงพอแล้ว hash: สิ่งนี้ เป็นกลไกที่ใช้ในการบันทึกข้อมูลสำหรับ ERC-721 (NFT) [22] เช่นลิงก์ IPFS ที่แก้ไข hash ของข้อมูล หากมี สำหรับข้อมูลที่เก็บไว้หลายครั้ง สามารถใช้การค้นหาได้ ตารางที่คล้ายกับระบบแคชที่แนะนำสำหรับ Optimism โดยกำหนดให้ต้องบันทึกค่าทั้งหมดไว้ที่ อย่างน้อยหนึ่งครั้ง สำหรับบางแอปพลิเคชัน คุณสามารถหลีกเลี่ยงการบันทึกค่าทั้งหมดได้โดยใช้ตัวกรอง Bloom [23, 24, 25] กล่าวคือ โครงสร้างข้อมูลความน่าจะเป็นที่ช่วยให้ทราบได้อย่างแน่นอนว่า องค์ประกอบไม่ได้อยู่ในชุด แต่ยอมรับความน่าจะเป็นเท็จเล็กน้อยแต่ไม่อาจมองข้ามได้ แง่บวก ตัวกรอง Bloom เริ่มต้นเป็นอาร์เรย์ของ 𝑚บิตที่ศูนย์ หากต้องการเพิ่มองค์ประกอบ ให้ใช้ฟังก์ชัน 𝑘hash ด้วยการแจกแจงแบบสุ่มแบบสม่ำเสมอ แต่ละอันจะแมปกับบิตของอาเรย์ที่ตั้งค่าไว้ ถึง 1. เพื่อตรวจสอบว่าองค์ประกอบเป็นของชุดหรือไม่ เราเรียกใช้ฟังก์ชัน 𝑘hash และตรวจสอบ ว่า 𝑘bits ถูกตั้งค่าเป็น 1 ในตัวกรองของ Bloom แบบธรรมดา ไม่มีทางที่จะแยกแยะได้ว่า องค์ประกอบจริงๆ นั้นเป็นของเซตหรือเป็นผลบวกลวง ความน่าจะเป็นที่เพิ่มขึ้นตามตัวเลข ของรายการเพิ่มขึ้น หลังจากใส่องค์ประกอบแล้ว: P[ผลบวกลวง] = (︃ 1 − [︂ 1 −1 𝑚 ]︂𝑘न)︃𝑘 data (︁ 1 −ฎ−𝑘크/𝑚)︁𝑘 สมมติความเป็นอิสระของความน่าจะเป็นของแต่ละชุดบิต หากองค์ประกอบ (ขนาดใดก็ได้!) เป็น คาดว่าจะรวมไว้และความน่าจะเป็นของผลบวกลวงที่ยอมรับได้คือ 𝑝 ซึ่งเป็นขนาดของอาร์เรย์ สามารถคำนวณได้ดังนี้: 𝑚= −โทนลน์ 𝑝 (ใน 2)2 ในขณะที่จำนวนที่เหมาะสมที่สุดของฟังก์ชัน hash คือ: 𝑘= 𝑚 ฮันอิน 2 หากเราถือว่าแทรก 1,000 องค์ประกอบโดยมีค่าความคลาดเคลื่อน 1% ขนาดของอาร์เรย์จะเป็น 9585 บิต ด้วย 𝑘= 6 ในขณะที่ค่าความคลาดเคลื่อน 0.1% จะกลายเป็น 14377 บิต โดยที่ 𝑘= 9 หากมีองค์ประกอบล้านองค์ประกอบ คาดว่าจะใส่ได้ขนาดของอาเรย์จะอยู่ที่ประมาณ 1170 kB สำหรับ 1% และ 1775 kB สำหรับ 0.1% โดยมีค่าเท่ากันคือ 𝑘 เนื่องจากขึ้นอยู่กับ 𝑝[26] เท่านั้น ในเกมที่ผู้เล่นจะต้องไม่ถูกมอบหมายให้กับคู่ต่อสู้ที่พวกเขาท้าทายไปแล้ว แทนที่จะบันทึกในที่เก็บข้อมูลสำหรับผู้เล่นแต่ละคน รายชื่อคู่ต่อสู้ที่ผ่านมาเราสามารถใช้ Bloom ได้ กรอง ความเสี่ยงที่จะไม่ท้าทายผู้เล่นบางคนมักจะยอมรับได้ และสามารถรีเซ็ตตัวกรองได้ เป็นระยะๆ4.3. Ethereum ความเข้ากันได้ ข้อได้เปรียบหลักของความเข้ากันได้กับ EVM และ Ethereum คือการนำสิ่งที่มีอยู่ทั้งหมดกลับมาใช้ใหม่ เครื่องมือ Ethereum smart contracts สามารถเผยแพร่บน Optimism โดยไม่มีการแก้ไขหรือ การตรวจสอบใหม่ กระเป๋าเงินยังคงเข้ากันได้ เครื่องมือการพัฒนาและการวิเคราะห์แบบคงที่ การวิเคราะห์ทั่วไป เครื่องมือ เครื่องมือจัดทำดัชนี และ oracles Ethereum และ Solidity มีประวัติอันยาวนานของการศึกษามาอย่างดี ช่องโหว่ เช่น การโจมตีซ้ำ, ล้นและอันเดอร์โฟลว์, สินเชื่อแฟลช และ oracle กิจวัตร ด้วยเหตุนี้ Optimism จึงสามารถจับมูลค่าจำนวนมากได้ในระยะสั้น เวลา. การเลือกใช้เครื่องเสมือนอื่นหมายถึงต้องสร้างระบบนิเวศใหม่ทั้งหมด ด้วยความได้เปรียบจากอิสระในการดำเนินการที่มากขึ้น StarkNet ใช้งานบัญชีโดยกำเนิด นามธรรม ซึ่งเป็นกลไกที่แต่ละบัญชีเป็น smart contract ที่สามารถนำมาใช้ได้ ตรรกะตามอำเภอใจตราบใดที่มันสอดคล้องกับอินเทอร์เฟซ (ดังนั้นคำว่านามธรรม): สิ่งนี้อนุญาต การใช้รูปแบบลายเซ็นดิจิทัลที่แตกต่างกัน ความสามารถในการเปลี่ยนคีย์ส่วนตัวโดยใช้ ที่อยู่เดียวกัน หรือใช้ multisig ชุมชน Ethereum เสนอการแนะนำสิ่งนี้ กลไก EIP-2938 ในปี 2563 แต่ข้อเสนอดังกล่าวยังคงค้างอยู่นานกว่าหนึ่งปีเนื่องจาก การอัปเดตอื่นๆ มีลำดับความสำคัญมากกว่า [27] ประโยชน์ที่สำคัญอีกประการหนึ่งที่ได้รับจากความเข้ากันได้คือการนำไคลเอนต์ที่มีอยู่กลับมาใช้ใหม่: Optimism ใช้เวอร์ชันของ geth สำหรับโหนดของตัวเองโดยมีความแตกต่างเพียง 800 บรรทัดเท่านั้น พัฒนา ทดสอบ และบำรุงรักษามาตั้งแต่ปี 2014 การมีลูกค้าที่แข็งแกร่งถือเป็นสิ่งสำคัญตามที่กำหนดไว้ สิ่งที่ได้รับการยอมรับว่าถูกต้องหรือไม่อยู่ในเครือข่าย จุดบกพร่องในการใช้งานการพิสูจน์ข้อบกพร่อง ระบบอาจทำให้ข้อพิสูจน์ที่ไม่ถูกต้องได้รับการยอมรับว่าถูกต้องหรือข้อพิสูจน์ที่ถูกต้องสำหรับข้อที่ไม่ถูกต้อง ถือว่าบล็อกไม่ถูกต้อง ส่งผลให้ระบบเสียหาย ความน่าจะเป็นของประเภทนี้ การโจมตีสามารถจำกัดได้ด้วยความหลากหลายของไคลเอนต์ที่กว้างขึ้น: Optimism สามารถใช้ซ้ำได้ นอกเหนือจากการรับ ไคลเอนต์ Ethereum อื่น ๆ ได้รับการดูแลอยู่แล้ว และการพัฒนาไคลเอนต์ที่ใช้ Erigon อื่นก็คือ กำลังดำเนินการอยู่ ในปี 2559 เกิดปัญหาในการจัดการหน่วยความจำของ geth สำหรับ a การโจมตีแบบ DoS และแนวป้องกันแนวแรกคือแนะนำให้ใช้ Parity มากเป็นอันดับสอง ลูกค้าที่ใช้ในขณะนั้น 5. StarkNet ประสบปัญหาเดียวกันกับการพิสูจน์ความถูกต้อง แต่ลูกค้า จะต้องเขียนตั้งแต่เริ่มต้น และระบบพิสูจน์อักษรก็ซับซ้อนกว่ามาก และด้วยเหตุนี้ มันยังซับซ้อนกว่ามากในการรับรองความถูกต้อง

तुलना

  1. तुलना 4.1. निकासी का समय सबसे महत्वपूर्ण पहलू जो आशावादी रोलअप को वैधता रोलअप से अलग करता है वह समय जो किसी निकासी की शुरुआत और उसके अंतिम रूप देने के बीच बीतता है। दोनों ही मामलों में, निकासी L2 पर प्रारंभ की जाती है और L1 पर अंतिम रूप दी जाती है। StarkNet पर, अंतिम रूप देना संभव है जैसे ही नए राज्य रूट की वैधता प्रमाण Ethereum पर स्वीकार किया जाता है: सैद्धांतिक रूप से, यह है आरंभीकरण के बाद एल1 के पहले ब्लॉक में धनराशि निकालना संभव है। व्यवहार में, Ethereum पर वैधता प्रमाण भेजने की आवृत्ति ब्लॉक की गति के बीच एक समझौता है अंतिम रूप देना और प्रमाण एकत्रीकरण। वर्तमान में StarkNet सत्यापन के लिए वैधता प्रमाण प्रदान करता है हर 10 घंटे में 4, लेकिन लेन-देन गतिविधि बढ़ने पर इसे कम करने का इरादा है। Optimism बेडरॉक पर विवाद के अंत में ही वापसी को अंतिम रूप देना संभव है अवधि (वर्तमान में 7 दिन), जिसके बाद एक रूट स्वचालित रूप से वैध माना जाता है। की लम्बाई यह अवधि मुख्य रूप से इस तथ्य से निर्धारित होती है कि दोष प्रमाण को Ethereum पर तब तक सेंसर किया जा सकता है जब तक इसका अंत. समय बढ़ने के साथ इस प्रकार के हमले की सफलता की संभावना तेजी से कम हो जाती है: ई[घटाया गया मान] = 𝑉𝑝𝑛 जहां 𝑛एक अंतराल में ब्लॉकों की संख्या है, 𝑉निधि की वह राशि है जिसे घटाया जा सकता है एक अमान्य रूट प्रकाशित करके, और 𝑝सफलतापूर्वक सेंसरशिप निष्पादित करने की संभावना है एक ही ब्लॉक में हमला. मान लीजिए कि यह संभावना 99% है, कि मान रोलअप में लॉक हो गया है एक मिलियन ईथर है, और एक अंतराल में ब्लॉक 1800 हैं (12 के साथ 6 घंटे के ब्लॉक) सेकंड अंतराल): अपेक्षित मान लगभग 0.01391 ईथर है। सिस्टम को सुरक्षित बनाया गया है प्रस्तावकों से अपेक्षित मूल्य से कहीं अधिक मात्रा में ईथर दांव पर लगाने के लिए कहा जा रहा है। विन्ज़र एट अल. दिखाया गया कि एक सरल smart contract का उपयोग करके सेंसरशिप हमला कैसे किया जाता है यह सुनिश्चित करता है कि राज्य में मेमोरी के कुछ क्षेत्र [20] नहीं बदलते हैं। हमले की मॉडलिंग मार्कोव गेम के रूप में, पेपर दिखाता है कि तर्कसंगत के लिए सेंसरिंग प्रमुख रणनीति है निर्माता को ब्लॉक करें यदि उन्हें परिवर्तन वाले लेनदेन को शामिल करने से अधिक मुआवजा मिलता है स्मृति. ऊपर चर्चा किए गए 𝑝मान को तर्कसंगत ब्लॉक के प्रतिशत के रूप में देखा जा सकता है नेटवर्क में निर्माता, जहां "तर्कसंगत" संभवतः दंड को ध्यान में नहीं रखता है बाह्यताएँ, जैसे blockchain पर कम भरोसा जिससे इसकी क्रिप्टोकरेंसी का मूल्य कम हो जाता है। निम्नलिखित कोड एक smart contract प्रस्तुत करता है जिसका उपयोग सेंसरशिप हमला करने के लिए किया जा सकता है बेडरॉक पर. यह हमला ब्लॉक उत्पादकों को रिश्वत की पेशकश करके उनके प्रोत्साहन का शोषण करता है उन लेन-देन को सेंसर करना जो राज्य के विशिष्ट भागों को संशोधित करेगा। अनुबंध का मुख्य फ़ंक्शन, दावा रिश्वत, ब्लॉक उत्पादकों को रिश्वत का दावा करने की अनुमति देता है यदि वे सफलतापूर्वक सेंसर करते हैं यह जाँच कर लक्षित लेनदेन कि अमान्य आउटपुट रूट को छुआ नहीं गया है। फ़ंक्शन दावा रिश्वत (बाइट्स मेमोरी स्टोरेजप्रूफ) बाहरी { require(!दावा किया गया[block.number], "रिश्वत का दावा पहले ही किया जा चुका है"); आउटपुटप्रोपोज़ल मेमोरी करंट = स्टोरेजऑरेकल.गेटस्टोरेज(L2_ORACLE, ब्लॉक.नंबर, SLOT, स्टोरेजप्रूफ); require(invalidOutputRoot == current.outputRoot, "हमला विफल"); दावा किया गया[ब्लॉक.संख्या] = सत्य; (बूल भेजा गया, ) = ब्लॉक.कॉइनबेस.कॉल{मूल्य: रिश्वत राशि}(""); 4https://etherscan.io/address/0xc662c410c0ecf747543f5ba90660f6abebd9c8c4आवश्यकता(भेजा गया, "ईथर भेजने में विफल"); } सूची 1: एक अनुबंध का उदाहरण जो बेडरॉक पर सेंसरशिप हमले को प्रोत्साहित करता है। विवाद की अवधि की अवधि में इस तथ्य को भी ध्यान में रखा जाना चाहिए कि दोष सिद्ध है एक इंटरैक्टिव प्रमाण और इसलिए प्रतिभागियों को बातचीत करने के लिए पर्याप्त समय प्रदान किया जाना चाहिए और किसी भी बातचीत को सेंसर किया जा सकता है। यदि अंतिम चाल बहुत निकट के समय में होती है विवाद की अवधि समाप्त होने पर, सेंसरिंग की लागत काफी कम हो जाती है। हालाँकि सेंसरिंग है प्रभावी रणनीति, सफलता की संभावना कम है क्योंकि सेंसरिंग नोड्स असुरक्षित हैं सेवा हमलों से इनकार: एक हमलावर बहुत जटिल लेनदेन उत्पन्न कर सकता है जो इसके साथ समाप्त होता है बिना किसी शुल्क के त्रुटि प्रमाण का प्रकाशन, क्योंकि कोई शुल्क नहीं देना होगा। चरम मामलों में, एक लंबी विवाद अवधि सफल होने की स्थिति में समन्वय की अनुमति देती है एक कांटा व्यवस्थित करने और हमलावर ब्लॉक उत्पादकों को बाहर करने के लिए सेंसरशिप हमला। दूसरा संभावित हमले में विवादकर्ताओं की तुलना में अधिक राज्य रूट प्रस्तावों को प्रकाशित करना शामिल है, जिसे आवृत्ति सीमा का उपयोग करके टाला जा सकता है। 4.1.1. तेजी से आशावादी निकासी चूँकि आशावादी रोलअप की वैधता किसी भी समय किसी भी पूर्ण नोड द्वारा सत्यापित की जा सकती है, a विश्वसनीय oracle का उपयोग L1 पर यह जानने के लिए किया जा सकता है कि निकासी को सुरक्षित रूप से अंतिम रूप दिया जा सकता है या नहीं। यह तंत्र सबसे पहले निर्माता [21] द्वारा प्रस्तावित किया गया था: एक oracle निकासी की पुष्टि करता है, प्रकाशित करता है एल1 पर परिणाम जिस पर उपयोगकर्ता को ब्याज वाला ऋण सौंपा जाता है, जो स्वचालित रूप से होता है 7 दिनों के अंत में बंद कर दिया जाता है, यानी जब निकासी को वास्तव में अंतिम रूप दिया जा सकता है। यह समाधान एक विश्वास धारणा प्रस्तुत करता है, लेकिन मेकर के मामले में इसे oracle ऑपरेटर के बाद से न्यूनतम कर दिया गया है इसका प्रबंधन उसी संगठन द्वारा किया जाता है जो ऋण प्रदान करके जोखिम उठाता है। 4.2. लेन-देन लागत L2 लेनदेन की लागत अधिकतर L1 के साथ बातचीत से निर्धारित होती है। दोनों समाधानों में लेन-देन की कम्प्यूटेशनल लागत बहुत सस्ती है क्योंकि इसे पूरी तरह से ऑफ-चेन निष्पादित किया जाता है। Optimism L2 लेनदेन कॉलडेटा को कॉलडेटा के रूप में प्रकाशित करता है और शायद ही कभी (या कभी नहीं) गलती निष्पादित करता है सबूत, इसलिए कॉलडेटा सबसे महंगा संसाधन है। 12 जनवरी, 2022 को एक बेडरॉक नेटवर्क Ethereum के गोएर्ली टेस्टनेट पर लॉन्च किया गया है। गैस संपीड़न दर की गणना की जा सकती है एक निश्चित अवधि में बेडरॉक पर उपयोग की गई गैस की मात्रा को ट्रैक करके और इसकी तुलना करके संबंधित ब्लॉकों के लिए L1 पर खर्च की गई गैस की मात्रा। इस विधि का उपयोग करके गैस संपीड़न किया जाता है ∼20:1 की दर पाई गई है, लेकिन यह आंकड़ा मेननेट पर वास्तविक गतिविधि से भिन्न हो सकता है। StarkNet L2 स्थिति में प्रत्येक परिवर्तन को कॉलडेटा के रूप में Ethereum पर प्रकाशित करता है, इसलिए भंडारण है सबसे महंगा संसाधन. चूंकि नेटवर्क EVM का उपयोग नहीं करता है, इसलिए लेनदेन लागत संपीड़न का मामूली अनुमान नहीं लगाया जा सकता। निष्पादन और कॉलडेटा की लागत मानकर नगण्य हो, इसकी तुलना में भंडारण लेखन के संपीड़न अनुपात की गणना करना संभव है एल1. यह मानते हुए कि कोई अनुबंध तैनात नहीं किया गया है और StarkNet पर पहले से एक्सेस नहीं किए गए 10 सेल हैं संशोधित, ∼24 :1 की भंडारण लेखन लागत संपीड़न दर पाई जाती है। यदि कोई सेल अधिलेखित है 𝑛डेटा प्रकाशनों के बीच, प्रत्येक लेखन की लागत लागत की तुलना में 1/𝑛 होगी एक ही लेख का, चूँकि केवल अंतिम ही प्रकाशित हुआ है। लागत को और भी कम किया जा सकता हैअक्सर उपयोग किए जाने वाले मानों को संपीड़ित करना। वैधता प्रमाण सत्यापन की लागत को विभाजित किया गया है यह जिन लेन-देन को संदर्भित करता है: उदाहरण के लिए, StarkNet ब्लॉक 4779 में 200 लेन-देन हैं और इसके वैधता प्रमाण में प्रत्येक लेनदेन के लिए 267830 यूनिट गैस या 1339.15 गैस की खपत होती है। 4.2.1. कॉलडेटा का अनुकूलन: कैश अनुबंध नीचे प्रस्तुत है एक smart contract जो बार-बार उपयोग किए जाने वाले एड्रेस कैश को लागू करता है इस तथ्य का लाभ उठाकर पता लगाया जाता है कि भंडारण और निष्पादन बहुत कम खर्चीला है संसाधन, एक मित्र अनुबंध के साथ जो इसके उपयोग को प्रदर्शित करता है। उत्तरार्द्ध का ट्रैक रखता है किसी पते के "मित्र" जिसे ऐडफ्रेंड फ़ंक्शन पर कॉल करके पंजीकृत किया जा सकता है। यदि कोई पता पहले से ही कम से कम एक बार उपयोग किया जा चुका है, इसे addFriendWithCache पर कॉल करके जोड़ा जा सकता है फ़ंक्शन: कैश इंडेक्स 4-बाइट पूर्णांक हैं जबकि पते 20 बाइट्स द्वारा दर्शाए जाते हैं, इसलिए फ़ंक्शन तर्क पर 5:1 की बचत है। उसी तर्क का उपयोग अन्य डेटा के लिए किया जा सकता है पूर्णांक या अधिक सामान्यतः बाइट्स जैसे प्रकार। अनुबंध पता कैश { मैपिंग(पता => uint32) सार्वजनिक पता2कुंजी; पता[] सार्वजनिक कुंजी2पता; फ़ंक्शन कैशराइट(पता _पता) आंतरिक रिटर्न (uint32) { require(key2address.length < type(uint32).max, "AddressCache: कैश भरा हुआ है"); require(address2key[_address] == 0, "AddressCache: पता पहले से ही कैश्ड"); // कुंजियाँ 1 से प्रारंभ होनी चाहिए क्योंकि 0 का अर्थ है "नहीं मिला" uint32 कुंजी = uint32(key2address.length + 1); पता2कुंजी[_पता] = कुंजी; key2address.push(_address); वापसी कुंजी; } फ़ंक्शन कैश रीड (uint32 _key) सार्वजनिक दृश्य रिटर्न (पता) { require(_key <= key2address.length && _key > 0, "AddressCache: कुंजी नहीं मिली"); वापसी कुंजी2पता[_कुंजी - 1]; } } सूची 2: पता कैश अनुबंध। अनुबंध मित्र एड्रेस कैश है { मैपिंग(पता => पता[]) सार्वजनिक मित्र; फ़ंक्शन addFriend(पता _friend) सार्वजनिक { मित्र[msg.sender].push(_friend); कैशराइट(_मित्र); } फ़ंक्शन addFriendWithCache(uint32 _friendKey) सार्वजनिक { मित्र[msg.sender].push(cacheRead(_friendKey)); } फ़ंक्शन getFriends() सार्वजनिक दृश्य रिटर्न (पता[] मेमोरी) { मित्रों को लौटाएँ[msg.sender];} } सूची 3: एक अनुबंध का उदाहरण जो पता कैश को प्राप्त करता है। अनुबंध कैश में लगभग 4 बिलियन (232) पतों का समर्थन करता है, और एक बाइट जोड़ने पर लाभ मिलता है लगभग 1 ट्रिलियन (240)। 4.2.2. भंडारण का अनुकूलन: ब्लूम के फिल्टर StarkNet पर भंडारण उपयोग को कम करने के लिए कई तकनीकें हैं। यदि यह आवश्यक नहीं है मूल डेटा की उपलब्धता की गारंटी दें तो यह ऑन-चेन को बचाने के लिए पर्याप्त है hash: यह ERC-721 (NFT) [22] के लिए डेटा सहेजने के लिए उपयोग किया जाने वाला तंत्र है, यानी, एक IPFS लिंक जो समाधान करता है यदि उपलब्ध हो तो डेटा का hash। कई बार संग्रहीत डेटा के लिए, लुक-अप का उपयोग करना संभव है तालिका Optimism के लिए शुरू की गई कैशिंग प्रणाली के समान है, जिसमें सभी मानों को सहेजने की आवश्यकता होती है कम से कम एक बार. कुछ अनुप्रयोगों के लिए, ब्लूम फ़िल्टर का उपयोग करके सभी मानों को सहेजने से बचा जा सकता है [23, 24, 25], यानी, एक संभाव्य डेटा संरचना जो किसी को निश्चितता के साथ जानने की अनुमति देती है कि क्या एक तत्व किसी समुच्चय से संबंधित नहीं है लेकिन असत्य की एक छोटी लेकिन गैर-नगण्य संभावना को स्वीकार करता है सकारात्मकता ब्लूम फ़िल्टर को शून्य पर 𝑚बिट्स की एक सरणी के रूप में प्रारंभ किया जाता है। एक तत्व जोड़ने के लिए, 𝑘hash कार्य करता है एक समान यादृच्छिक वितरण का उपयोग किया जाता है, प्रत्येक सेट किए गए सरणी के एक बिट के लिए मैपिंग करता है से 1. यह जांचने के लिए कि कोई तत्व सेट से संबंधित है या नहीं, हम 𝑘hash फ़ंक्शन चलाते हैं और सत्यापित करते हैं कि 𝑘बिट्स 1 पर सेट हैं। एक साधारण ब्लूम के फ़िल्टर में यह अंतर करने का कोई तरीका नहीं है कि कोई तत्व वास्तव में सेट से संबंधित है या एक गलत सकारात्मक है, एक संभावना जो संख्या के रूप में बढ़ती है प्रविष्टियों की संख्या बढ़ जाती है। 𝑛तत्व डालने के बाद: पी[झूठा सकारात्मक] = (︃ 1 − [︂ 1 −1 𝑚 ]︂𝑘𝑛)︃𝑘 ≈ (︁ 1 −𝑒−𝑘𝑛/𝑚)︁𝑘 प्रत्येक बिट सेट की संभावना की स्वतंत्रता मानते हुए। यदि 𝑛तत्व (मनमाने आकार के!) हैं शामिल होने की उम्मीद है और गलत सकारात्मक सहन की संभावना 𝑝 है, सरणी का आकार इसकी गणना इस प्रकार की जा सकती है: 𝑚= −𝑛ln 𝑝 (एलएन 2)2 जबकि hash फ़ंक्शंस की इष्टतम संख्या है: 𝑘= 𝑚 𝑛एलएन 2 यदि हम 1% की सहनशीलता के साथ 1000 तत्वों को सम्मिलित करने का अनुमान लगाते हैं, तो सरणी का आकार 9585 बिट्स है 𝑘= 6 के साथ, जबकि 0.1% की सहनशीलता के लिए यह 𝑘= 9 के साथ 14377 बिट हो जाता है। यदि एक मिलियन तत्व डाले जाने की उम्मीद है, सरणी का आकार 1% के लिए लगभग 1170 kB और 1775 kB हो जाता है 0.1%, 𝑘 के समान मान के साथ, क्योंकि यह केवल 𝑝[26] पर निर्भर करता है। ऐसे खेल में जहां खिलाड़ियों को किसी ऐसे प्रतिद्वंद्वी को नहीं सौंपा जाना चाहिए जिसे वे पहले ही चुनौती दे चुके हों, प्रत्येक खिलाड़ी के लिए भंडारण में पिछले विरोधियों की सूची सहेजने के बजाय कोई ब्लूम का उपयोग कर सकता है फ़िल्टर. कुछ खिलाड़ियों को चुनौती न देने का जोखिम अक्सर स्वीकार्य होता है, और फ़िल्टर को रीसेट किया जा सकता है समय-समय पर.4.3. Ethereum अनुकूलता EVM और Ethereum के साथ संगत होने का मुख्य लाभ सभी उपलब्ध का पुन: उपयोग है उपकरण. Ethereum smart contracts को Optimism पर बिना किसी संशोधन के प्रकाशित किया जा सकता है और न ही नए ऑडिट. वॉलेट संगत, विकास और स्थैतिक विश्लेषण उपकरण, सामान्य विश्लेषण बने रहते हैं उपकरण, अनुक्रमण उपकरण और oracles। Ethereum और सॉलिडिटी का अच्छी तरह से अध्ययन करने का एक लंबा इतिहास है कमजोरियाँ, जैसे पुनर्प्रवेश हमले, अतिप्रवाह और अल्पप्रवाह, त्वरित ऋण, और oracle हेराफेरी. इस वजह से, Optimism कम समय में बड़ी मात्रा में मूल्य प्राप्त करने में सक्षम था समय. एक अलग वर्चुअल मशीन को अपनाने का मतलब है पूरे पारिस्थितिकी तंत्र का पुनर्निर्माण करना, अधिक कार्यान्वयन स्वतंत्रता के लाभ के साथ। StarkNet मूल रूप से खाता लागू करता है अमूर्तन, जो एक तंत्र है जिसके तहत प्रत्येक खाता एक smart contract है जो कार्यान्वित कर सकता है मनमाना तर्क जब तक यह एक इंटरफ़ेस (इसलिए अमूर्त शब्द) का अनुपालन करता है: यह अनुमति देता है विभिन्न डिजिटल हस्ताक्षर योजनाओं का उपयोग, निजी कुंजी को बदलने की क्षमता एक ही पता, या मल्टीसिग का उपयोग करें। Ethereum समुदाय ने इसकी शुरूआत का प्रस्ताव रखा 2020 में EIP-2938 के साथ तंत्र, लेकिन प्रस्ताव एक वर्ष से अधिक समय से पुराना पड़ा हुआ है अन्य अद्यतनों को अधिक प्राथमिकता दी गई है [27]। अनुकूलता से प्राप्त एक अन्य महत्वपूर्ण लाभ मौजूदा ग्राहकों का पुन: उपयोग है: Optimism अपने स्वयं के नोड के लिए केवल ∼800 लाइनों के अंतर के साथ geth के एक संस्करण का उपयोग करता है, जो कि रहा है 2014 से विकसित, परीक्षण और रखरखाव किया गया। एक मजबूत ग्राहक होना महत्वपूर्ण है क्योंकि यह परिभाषित करता है नेटवर्क में क्या मान्य है या क्या नहीं। दोष-निवारण के कार्यान्वयन में एक बग सिस्टम गलत प्रमाण को सही या अमान्य के लिए सही प्रमाण के रूप में स्वीकार करने का कारण बन सकता है सिस्टम से समझौता करते हुए ब्लॉक को गलत माना जाएगा। इस प्रकार की सम्भावना है व्यापक ग्राहक विविधता के साथ हमले को सीमित किया जा सकता है: Optimism को प्राप्त करने के अलावा पुन: उपयोग किया जा सकता है अन्य Ethereum क्लाइंट पहले से ही बनाए हुए हैं, और एक अन्य एरिगॉन-आधारित क्लाइंट का विकास किया जा रहा है पहले से ही चल रहा है. 2016 में geth के मेमोरी प्रबंधन में एक समस्या का फायदा उठाया गया था DoS हमले और रक्षा की पहली पंक्ति को पैरिटी के उपयोग की सिफारिश करनी थी, जो कि दूसरी सबसे बड़ी बात है उस समय प्रयुक्त क्लाइंट 5. StarkNet को वैधता प्रमाण के साथ समान समस्या का सामना करना पड़ता है, लेकिन क्लाइंट स्क्रैच से लिखना पड़ता है और प्रमाण प्रणाली बहुत अधिक जटिल होती है, और परिणामस्वरूप शुद्धता सुनिश्चित करना और भी अधिक जटिल है।

บทสรุป

  1. บทสรุป Rollups เป็นโซลูชันที่มีแนวโน้มมากที่สุดที่มีอยู่ในปัจจุบันในการแก้ปัญหาความสามารถในการขยายขนาด การกระจายอำนาจ blockchains ปูทางไปสู่ยุคของโมดูลาร์ blockchains เมื่อเทียบกับ เสาหิน blockchains ทางเลือกในการพัฒนา Optimistic Rollup หรือ Validity Rollup จะแสดงไว้เป็นหลัก เป็นการแลกเปลี่ยนระหว่างความซับซ้อนและความคล่องตัว StarkNet มีข้อดีมากมาย เช่น รวดเร็ว การถอนตัว การไร้ความสามารถเชิงโครงสร้างเพื่อให้มีการเปลี่ยนสถานะที่ไม่ถูกต้อง ลดต้นทุนการทำธุรกรรมที่ ค่าใช้จ่ายของระยะเวลาการพัฒนาที่ยาวนานขึ้นและความเข้ากันไม่ได้กับ EVM ในขณะที่ Optimism มี ใช้ประโยชน์จากเศรษฐกิจแบบเครือข่ายเพื่อให้ได้ส่วนแบ่งตลาดที่สำคัญอย่างรวดเร็ว Optimism อย่างไรก็ตาม Bedrock มีการออกแบบแบบโมดูลาร์ที่ทำให้กลายเป็นสิ่งที่ใช้ได้ 5https://blog.ethereum.org/2016/09/22/ethereum-network-currently-undergoing-dos-attack

การยกเลิกในอนาคต: ปัจจุบัน Cannon ใช้ minigeth ที่คอมไพล์เป็น MIPS เพื่อพิสูจน์ข้อผิดพลาด แต่สถาปัตยกรรมเดียวกันสามารถใช้เพื่อรับวงจรและสร้างข้อพิสูจน์ความถูกต้องได้ การรวบรวมเครื่องที่ซับซ้อน เช่น EVM สำหรับสถาปัตยกรรมไมโครส่งผลให้ง่ายขึ้น วงจรที่ไม่ต้องดัดแปลงและตรวจสอบซ้ำในกรณีอัพเกรด RISC Zero คือ ก สถาปัตยกรรมไมโครที่ตรวจสอบได้พร้อมการพิสูจน์ STARK แล้วในการพัฒนาตาม RISC-V นั้น สามารถใช้เพื่อจุดประสงค์นี้เป็นทางเลือกแทน MIPS [28] แง่มุมหนึ่งที่ไม่ควรมองข้ามคือความซับซ้อนในการทำความเข้าใจวิธีการ เทคโนโลยีทำงาน จุดแข็งของ blockchains แบบดั้งเดิมคือสามารถตรวจสอบสถานะของได้ blockchain โดยไม่ไว้วางใจหน่วยงานบุคคลที่สามใดๆ อย่างไรก็ตาม ในกรณีของ StarkNet เป็นเช่นนั้น จำเป็นต้องเชื่อถือการดำเนินการเมื่อไม่สามารถตรวจสอบส่วนประกอบต่างๆ ได้ ขึ้นอยู่กับการเข้ารหัสและคณิตศาสตร์ขั้นสูง ซึ่งในขั้นต้นอาจสร้างความขัดแย้งให้กับ การนำเทคโนโลยีมาใช้ แต่เนื่องจากเครื่องมือและการใช้การพิสูจน์ความสมบูรณ์ก้าวหน้ายิ่งขึ้น นอกฟิลด์ blockchain หวังว่าปัญหานี้จะได้รับการแก้ไข

निष्कर्ष

  1. निष्कर्ष स्केलेबिलिटी समस्या को हल करने के लिए रोलअप आज उपलब्ध सबसे आशाजनक समाधान है विकेन्द्रीकृत blockchains, इसके विपरीत मॉड्यूलर blockchains के युग का मार्ग प्रशस्त करता है अखंड blockchains। आशावादी रोलअप या वैधता रोलअप विकसित करने का विकल्प मुख्य रूप से दिखाया गया है जटिलता और चपलता के बीच एक व्यापार-बंद के रूप में। StarkNet के कई फायदे हैं जैसे तेज़ निकासी, अमान्य स्थिति परिवर्तन की संरचनात्मक अक्षमता, कम लेनदेन लागत लंबी विकास अवधि का खर्च और EVM के साथ असंगति, जबकि Optimism के पास है बाज़ार का एक बड़ा हिस्सा तुरंत हासिल करने के लिए नेटवर्क अर्थव्यवस्था का लाभ उठाया। Optimism हालाँकि, बेडरॉक में एक मॉड्यूलर डिज़ाइन है जो इसे एक वैधता बनने की अनुमति देता है 5https://blog.ethereum.org/2016/09/22/ethereum-network-currently-undergoing-dos-attack

भविष्य में रोलअप: कैनन वर्तमान में अपने दोष प्रमाण के लिए MIPS पर संकलित मिनीगेथ का उपयोग करता है सिस्टम, लेकिन उसी आर्किटेक्चर का उपयोग सर्किट प्राप्त करने और वैधता प्रमाण तैयार करने के लिए किया जा सकता है। माइक्रोआर्किटेक्चर के लिए EVM जैसी जटिल मशीन को संकलित करने से परिणाम सरल हो जाता है सर्किट जिसे अपग्रेड के मामले में संशोधित और पुन: सत्यापित करने की आवश्यकता नहीं है। आरआईएससी जीरो एक है RISC-V पर आधारित STARK प्रमाणों के साथ सत्यापन योग्य माइक्रोआर्किटेक्चर पहले से ही विकास में है इस उद्देश्य के लिए MIPS [28] के विकल्प के रूप में उपयोग किया जा सकता है। एक पहलू जिसे कम करके नहीं आंका जाना चाहिए वह यह समझने में जटिलता है कि कैसे प्रौद्योगिकी काम करती है. पारंपरिक blockchains की ताकत की स्थिति को सत्यापित करने में सक्षम होना है किसी तीसरे पक्ष की इकाई पर भरोसा किए बिना blockchain। हालाँकि, StarkNet के मामले में, यह है जब विभिन्न घटकों को सत्यापित करना संभव न हो तो कार्यान्वयन पर भरोसा करना आवश्यक है क्रिप्टोग्राफी और उन्नत गणित पर आधारित। इससे शुरुआत में घर्षण पैदा हो सकता है प्रौद्योगिकी को अपनाना, लेकिन जैसे-जैसे उपकरण और अखंडता प्रमाण का उपयोग आगे बढ़ता है blockchain फ़ील्ड के बाहर यह समस्या उम्मीद से हल हो जाएगी।