Share Dialog
Share Dialog
Subscribe to notNOW
Subscribe to notNOW
<100 subscribers
<100 subscribers

พื้นที่บล็อคเชนกำลังเคลื่อนไปสู่ modular architecture มากขึ้นเรื่อยๆ เพื่อให้บรรลุความสามารถใน scalability ได้อย่างแท้จริง แม้แต่ chain อย่าง Ethereum ซึ่งก่อนหน้านี้เคยเป็น monolithic ทั้งหมด ก็กำลังเปลี่ยนไปใช้การออกแบบ modular เพื่อเอาชนะ challenges ที่มาพร้อมกับการออกแบบ monolithic blockchain
หนึ่งในองค์ประกอบหลักของ modular blockchain stack ก็คือ execution layer ซึ่ง Fuel กำลังสร้างexecution layer ที่เร็วที่สุดสำหรับ modular blockchain stack

Monolithic chains จะเกิดการคำนวณแบบคู่และการตรวจสอบใน Layer เดียวกัน นำไปสู่ความปลอดภัยที่ต่ำกว่ามาตรฐานและความสามารถ scalability ที่จำกัด Modular execution layers หลีกเลี่ยงสิ่งนี้โดยแยกการคำนวณและการตรวจสอบออก ซึ่งช่วยให้รับประกันความปลอดภัยใน scale มากขึ้น
Monolithic chains ถูกขังอยู่ในเทคโนโลยีที่ไม่มีประสิทธิภาพเมื่อพูดถึงความเร็วและ variety of computation ที่พวกเขาสามารถรองรับได้ ในทางกลับกัน modular execution layers สามารถออกแบบเฉพาะเพื่อเพิ่มประสิทธิภาพการคำนวณอย่างมีประสิทธิภาพ
โพสต์นี้อธิบายอย่างละเอียดเกี่ยวกับประโยชน์หลักประการแรก โดยส่วนที่สองกำลังถูกสำรวจในตอนที่ 2 ที่จะมาถึง
เพื่อให้เข้าใจถึงนวัตกรรมที่มาจาก modular execution layers (MELs) อันดับแรก เราต้องเข้าใจว่า monolithic blockchains จัดการกับการคำนวณและการตรวจสอบอย่างไร
Blockchains อาศัย network ของหน่วยงานที่ execute transactions และรวมเข้าด้วยกันเป็นบล็อก - สิ่งเหล่านี้เรียกว่า block producers หากไม่มีการตรวจสอบและถ่วงดุล block producer ที่เป็นอันตรายอาจรวมธุรกรรมที่ไม่ถูกต้องในบล็อก (เช่น minting tokens ไปยังที่ address ตนเอง) เพื่อป้องกันสิ่งนี้ บล็อกเชนต้องอาศัยเครือข่ายของโหนดอื่นๆเพื่อกำหนดความถูกต้องของบล็อก ก่อนที่จะเพิ่มลงในเวอร์ชันของเชน
สิ่งนี้นำไปสู่สองฟังก์ชั่นหลักที่จำเป็นสำหรับบล็อกเชนในการทำงาน:
Block Production (เช่น การคำนวณ) : Executing transactions และการใช้ individual state transitions เพื่อสร้างบล๊อก
Block Validation (เช่น การตรวจสอบ) : ยืนยันว่าการเปลี่ยนสถานะถูกต้อง
หมายเหตุ: เพื่อความสะดวกในการทำความเข้าใจ ส่วนนี้จะให้คำอธิบายอย่างง่ายว่าบล็อกการผลิตและการตรวจสอบทำงานอย่างไรบน Monolithic Chains ในความเป็นจริงกระบวนการนี้ซับซ้อนกว่าและอาจแตกต่างไปตามการออกแบบเฉพาะของ chain อย่างไรก็ตามมีการใช้หลักการหลักเดียวกันหลายประการ
ในการออกแบบ Monolithic Chains ส่วนใหญ่ การคำนวณและการตรวจสอบจะดำเนินการโดยหน่วยงานเดียวกัน - ผู้ตรวจสอบความถูกต้อง (เช่น full nodes) เมื่อผู้ใช้ส่งธุรกรรม ผู้ตรวจสอบจะทำธุรกรรม จากนั้นรวมการเปลี่ยนแปลงสถานะที่เกี่ยวข้องในบล็อก เมื่อสร้างและเผยแพร่บล็อกแล้ว full nodes อื่นๆ จะดาวน์โหลดบล็อกและดำเนินการธุรกรรมในบล็อกอีกครั้งเพื่อยืนยันว่าถูกต้อง หากการบล็อกนั้นถูกต้อง สมมติว่ามีความเที่ยงตรง full nodes จะผนวกบล็อกนั้นเข้ากับเวอร์ชันของห่วงโซ่ ดังนั้นจึงเป็นเครื่องยืนยันถึงความถูกต้อง
บางครั้ง แอปพลิเคชันหรือผู้ใช้จำเป็นต้องเข้าถึงสถานะของบล็อคเชน แต่ไม่ต้องการทำให้เกิดความต้องการทรัพยากรสูงในการรัน full nodes และตรวจสอบธุรกรรมทั้งหมดโดยอิสระ เพื่อจุดประสงค์นี้ พวกเขาสามารถเรียกใช้ light client ได้ ซึ่งถือว่าบล็อกที่จัดหาโดย full nodes จะรวมเฉพาะธุรกรรมที่ถูกต้องเท่านั้น พวกเขาไม่ดาวน์โหลด blockchain เต็มรูปแบบและไม่ได้ตรวจสอบว่าธุรกรรมก่อนหน้านี้ทั้งหมดถูกต้อง แต่พวกเขาต้องเชื่อว่าโหนดเต็มส่วนใหญ่นั้นซื่อสัตย์ (เช่น ได้รวมเฉพาะบล็อกที่ถูกต้องในสำเนาของเชน)

สิ่งนี้เรียกว่าสมมติฐานส่วนใหญ่ที่ตรงไปตรงมา และเป็นเหตุผลที่ Monolithic Chains ส่วนใหญ่มีความเสี่ยงที่จะถูกโจมตีถึง 51% ภายใต้รูปแบบ Monolithic เนื่องจาก full nodes รูปแบบที่ซื่อสัตย์ส่วนใหญ่จะต้องตรวจสอบว่าบล๊อกเชนนั้นถูกต้อง light clients จึงถูกบังคับให้ไว้วางใจคนส่วนใหญ่ หาก full nodes มากกว่าครึ่งไม่ซื่อสัตย์ light clients จะไม่มีทางรู้เรื่องนี้ ดังนั้นพวกเขาจะลงเอยด้วยการต่อสายโช่ที่ไม่ถูกต้อง
ความสามารถใน scalability ของ monolithic chains จำกัดอย่างรุนแรงจากการพึ่งพาสมมติฐานส่วนใหญ่ที่ซื่อสัตย์นี้ เนื่องจากในการเพิ่มปริมาณงานของธุรกรรม ต้องเพิ่มขนาดบล็อกและ/หรือความถี่เพื่อให้สามารถประมวลผลธุรกรรมได้มากขึ้นในระยะเวลาเท่ากัน สิ่งนี้จะเพิ่มความต้องการทรัพยากร (และค่าใช้จ่ายที่เกี่ยวข้อง) สำหรับ full nodes บล็อคที่ใหญ่กว่า/เร็วกว่า = การคำนวณมากขึ้น = ต้นทุนที่สูงขึ้น

เมื่อค่าใช้จ่ายในการรัน full nodes เพิ่มขึ้น หน่วยงานจำนวนมากจะเลือกใช้ light client แทนโดยอาศัยหน่วยเล็กและเครือข่ายที่เล็กกว่า full nodes เพื่อตรวจสอบความถูกต้องของเชน การรวมศูนย์ที่เพิ่มขึ้นของการตรวจสอบความถูกต้องของบล็อกเป็นภัยคุกคามที่สำคัญต่อความปลอดภัยสำหรับ monolithic เนื่องจากกลุ่มผู้ตรวจสอบที่รวมศูนย์มากขึ้นจะเสี่ยงต่อการถูกโจมตีและยังสามารถสมรู้ร่วมคิดได้ง่ายขึ้นอีกด้วย
ข่าวดีก็คือระบบบล็อคเชนสามารถย้ายออกจากการออกแบบที่อาศัยสมมติฐานส่วนใหญ่ที่ซื่อสัตย์ เพื่อหลีกเลี่ยงหลุมพรางของการออกแบบ monolithicนี้ modular blockchain stack แยกการคำนวณออกจากการตรวจสอบ โดยการย้ายการดำเนินการ (เช่น การคำนวณ) ออกจาก base chain (เรียกว่า "parent chain") ซึ่งเพิ่ม scale นั้นสามารถทำได้โดยไม่กระทบต่อการกระจายอำนาจ
ภายใน modular blockchain stack ซึ่ง execution layer การมีหน้าที่ในการคำนวณ กล่าวคือ ประมวลผลธุรกรรมและนำการใช้ individual state transitions
Fuel กำหนด modular execution laye ว่า: ระบบคำนวณที่ตรวจสอบได้ซึ่งออกแบบมาสำหรับmodular blockchain stack เพื่อให้เห็นภาพมากมากขึ้นก็คือ บล๊อคเชนที่ ฉ้อโกงหรือถูกต้อง สามารถตรวจสอบได้(หรือระบบการคำนวณอื่น ๆ ) นั้นสามารถใช้ประโยชน์จาก modular blockchain สำหรับ data availability

เพื่อชี้แจงให้กระจ่าง ระบบการคำนวณไม่ใช่ modular execution layers ถ้าพวกเขา : 1) fraud- or validity-provable หรือ 2) ไม่ลด data availability ไปยังเลเยอร์อื่น
ดั่งเช่น monolithic blockchain, modular execution layers ใช้เครือข่ายของ dedicated block producers เอนทิตีเหล่านี้จัดการกระบวนการที่ใช้ทรัพยากรมากในการดำเนินการธุรกรรมและการผลิตบล็อก อย่างไรก็ตามมันไม่เหมือนกับระบบ modular การตรวจสอบนั้นไม่ได้ถูกจัดการใน execution layers แต่จะอยู่ที่ระดับที่ต่ำกว่าของ modular blockchain stack
ความฉลาดของการ modular execution คือตราบใดที่การตรวจสอบ (เช่นการตรวจสอบความถูกต้องของบล็อก) มีการกระจายอำนาจ การคำนวณ (เช่นการผลิตบล็อก) ไม่จำเป็นต้องกระจายอำนาจ สามารถเพิ่ม Block sizesได้ ซึ่งนำไปสู่การรวมศูนย์ของโหนดที่สร้างบล็อก แต่ตราบใดที่การตรวจสอบถูกแยกออก บล็อกที่ไม่ถูกต้องจะไม่ถูกเพิ่มเข้าไปในเชน
แต่สิ่งนี้ทำงานอย่างไร เราจะมั่นใจได้อย่างไรว่ามีการรักษาความปลอดภัยหากเราอนุญาตให้การผลิตบล็อกยังคงรวมศูนย์ นี่คือจุดที่ modular เข้ามาเล่น
Modular execution layers ในทางทฤษฎี ฟังก์ชันการทำงานที่ใช้ทรัพยากรมากของการดำเนินการไปยังผู้ผลิตบล็อกที่มีประสิทธิภาพซึ่งรวมกลุ่มและ execute batches ของธุรกรรม และโพสต์สิ่งเหล่านี้เป็นระยะใน parent chain (settlement/consensus/data availability layers) เพื่อให้ผู้ผลิตบล็อกเหล่านี้ซื่อสัตย์ มี full nodes เพิ่มเติมที่ non-block-producing (มักเรียกว่า "verifiers" หรือ "provers") ซึ่งดาวน์โหลดและ re-execute block poste ไปยัง parent chain อีกครั้งเพื่อให้แน่ใจว่ามีเพียง ธุรกรรมที่ถูกต้อง
ความเฉพาะของวิธีที่ full nodes เหล่านี้สื่อสารถึงความถูกต้องหรือความไม่ถูกต้องของธุรกรรมนั้นแตกต่างกันไปขึ้นอยู่กับว่า modular execution layer ใช้แบบโมเดล optimistic หรือ zero-knowledge ในกรณีของ optimistic MEL นั้น full nodes จะดำเนินการ (ผ่าน validity proofs) เมื่อตรวจพบธุรกรรมที่ไม่ถูกต้องเท่านั้น ในทางกลับกันในกรณีของ zero-knowledge MEL นั้น full nodes จะยืนยันความถูกต้องของธุรกรรม (ผ่านvalidity proofs) ไม่ว่าในกรณีใด ความถูกต้องหรือความไม่ถูกต้องของธุรกรรมทั้งหมดที่ได้รับจาก block producer นั้นได้รับการยืนยันใน parent chain ไม่ใช่ใน modular execution layer
เพื่อให้เห็นภาพที่ลึกซึ้งยิ่งขึ้น เรามาสำรวจกรณีของ optimistic MEL (ซึ่งถือว่าธุรกรรมทั้งหมดถูกต้องเว้นแต่จะได้รับการพิสูจน์เป็นอย่างอื่น) หาก full nodes เพียงโหนดเดียวในmodular execution layer ตรวจพบธุรกรรมที่ไม่ถูกต้องภายใน block poste บน parent chain พวกเขาสามารถสร้างหลักฐานการฉ้อโกง (ภายใน "dispute resolution window" ที่กำหนดไว้ล่วงหน้า) ซึ่งพิสูจน์ด้วยการเข้ารหัสว่าธุรกรรมนั้นไม่ถูกต้อง
ขึ้นอยู่กับโครงสร้างของparticular modular stack ซึ่งอาจดำเนินการได้หลายวิธี เช่น:
Full nodes ส่งหลักฐานการฉ้อโกงไปยัง dispute resolution contract บน settlement layer ซึ่งดำเนินการธุรกรรมอีกครั้งโดยตรง (โปรดทราบว่าการดำเนินการนี้จำเป็นต้องมีการจัดโครงสร้างธุรกรรม MEL เพื่อให้สามารถพิสูจน์ได้ว่ามีการฉ้อโกงบน VM ของ settlement layer ในลักษณะที่กำหนดขึ้น - ตัวอย่างเช่น FuelVM ได้รับการออกแบบให้พิสูจน์ได้ว่ามีการฉ้อโกงภายใน EVM เพื่อเปิดใช้งานการชำระบน Ethereum)
หากธุรกรรมไม่ถูกต้อง block producer ที่ละเมิดจะถูกลงโทษด้วยการ slashing กล่าวคือ พวกเขาสูญเสียเงินทุน) “whistleblower” จะได้รับรางวัลเป็นเงินส่วนหนึ่ง และสถานะของเชนจะถูกเปลี่ยนกลับเป็นก่อนธุรกรรมที่ไม่ถูกต้อง เนื่องจากไม่มีการรับประกันว่าธุรกรรมใด ๆ ที่ตามมาหลังรายการที่ไม่ถูกต้องนั้นสอดคล้องกับสถานะที่ถูกต้อง ธุรกรรมที่ตามมาเหล่านี้จะถูกดำเนินการอีกครั้ง
Full node สามารถฮั๊วหลักฐานการฉ้อโกงผ่านเครือข่าย peer-to-peer เพื่อเตือน light clients ว่าบล็อกนั้นมีธุรกรรมที่ไม่ถูกต้อง การใช้หลักฐานการฉ้อโกงเป็นหลักฐานของพฤติกรรมที่ไม่ซื่อสัตย์ของผู้ผลิตบล็อก Full node สามารถเสนอธุรกรรมการลงโทษในห่วงโซ่หลัก ซึ่งจะเฉือนเงินทุนของผู้ผลิตบล็อก
เนื่องจากไม่มี settlement layer ที่จะกำหนดเวอร์ชัน "มาตรฐาน" ของเชน Full node ที่เป็นอันตรายอาจเลือกที่จะไม่ปฏิเสธการบล็อกได้ อย่างไรก็ตาม มีการแจ้งหลักฐานการฉ้อโกงไปยัง light clients แล้ว ดังนั้นพวกเขาจึงรู้ว่าไม่ควรติดตามเวอร์ชันของโหนดแบบเต็มของโหนดที่เป็นอันตราย ด้วยเหตุนี้ฉันทามติทางสังคมจึงรับประกันว่าการบล็อกที่ไม่ถูกต้องจะถูกปฏิเสธ
ไม่ว่าในกรณีใด เนื่องจากกระบวนการตรวจสอบถูกสร้างอยู่บน parent chain แทนที่จะเป็น execution layer การรักษาความปลอดภัยจึงถูกเอาต์ซอร์ซไปยังparent chain ซึ่งหมายความว่า execution layer ด้วยตัวมันเองสามารถดำเนินการได้โดยมีการรับประกันความปลอดภัยที่ต่ำ แม้ว่า 99% ของ full nodes บน execution layer จะไม่ซื่อสัตย์ แต่ก็ใช้ Full nodeที่ซื่อสัตย์เพียงหนึ่งโหนดเพื่อให้แน่ใจว่าเลเยอร์การดำเนินการรวมเฉพาะธุรกรรมที่ถูกต้องเท่านั้น
ซึ่งหมายความว่าแทนที่จะใช้โหนดเต็มรูปแบบส่วนใหญ่ที่ซื่อสัตย์ modular execution layers (และ MEL light clients) สามารถทำงานบนสมมติฐานส่วนน้อยที่ซื่อสัตย์เพียงข้อเดียว

ในขณะที่บล็อกที่ไม่ถูกต้องสามารถเปลี่ยนกลับได้โดย full nodes ส่วนใหญ่ในระบบmodular เท่านั้น full nodes เดียวในระบบโมดูลาร์สามารถบังคับให้ธุรกรรมที่ไม่ถูกต้องถูกเปลี่ยนกลับโดยใช้ fraud/validity proofs
การยอมให้การคำนวณเกิดขึ้นนอก parent chain ช่วยให้มีปริมาณงานธุรกรรมเพิ่มขึ้นอย่างมาก ขนาดบล็อกสามารถเพิ่มขึ้นได้อย่างมากโดยไม่ต้องกังวลเกี่ยวกับการรวมศูนย์ของการผลิตบล็อก เนื่องจากกระบวนการตรวจสอบบล็อกที่แยกต่างหากทำให้ผู้ผลิตบล็อกมีความซื่อสัตย์
แม้ว่าบล็อกที่ใหญ่ขึ้นจะสร้างภาระให้กับ full nodes ที่ดำเนินการตรวจสอบความถูกต้องมากขึ้น แต่การสันนิษฐานว่าเป็นชนกลุ่มน้อยที่ซื่อสัตย์หมายความว่าการรวมศูนย์ในพื้นที่นี้มีภัยคุกคามน้อยกว่า เนื่องจากช่องโหว่ที่อาศัยการรวมศูนย์ซึ่งอาศัยเสียงส่วนใหญ่ที่ไม่ซื่อสัตย์นั้นเป็นไปไม่ได้
Light clients ยังสามารถรันด้วยการรับประกันความปลอดภัยที่สูงขึ้นอย่างมากภายใต้ modular architecture เนื่องจากหลักฐานการฉ้อโกงช่วยให้พวกเขาระบุธุรกรรมที่ไม่ถูกต้องตามการพิสูจน์จากfull nodesที่ซื่อสัตย์เพียงจุดเดียว full nodesมีความซื่อสัตย์)

นอกจากนี้ ผู้ผลิตบล็อกทราบดีว่ากิจกรรมที่เป็นอันตรายใดๆ จะถูกตรวจพบและจะส่งผลให้เกิดการฟันเฟือง ดังนั้นจึงมีโอกาสน้อยที่จะพยายามประพฤติมิชอบ ด้วยเหตุนี้ execution layer จึงสามารถเพิ่มประสิทธิภาพการคำนวณได้ (เช่น จัดการธุรกรรมจำนวนมาก) ในขณะที่ใช้ระดับล่างที่ปรับให้เหมาะสมด้านความปลอดภัยของ modular stack
modular architecture นำเสนอความท้าทายด้านเทคนิคและทฤษฎีเกมเพิ่มเติม
แม้ว่า fraud/validity proofs จะเปิดใช้งาน full node ที่ซื่อสัตย์เพื่อพิสูจน์การฉ้อโกง แต่ก็มีปัญหาเพิ่มเติม: data availability ในการสร้างการพิสูจน์ full node ต้องอาศัยความพร้อมใช้งานของบล็อก เนื่องจากจำเป็นต้องดาวน์โหลดและดำเนินการธุรกรรมทั้งหมดในบล็อกอีกครั้งเพื่อกำหนดความถูกต้องและสร้างหลักฐาน
ผู้ผลิตบล็อกที่เป็นอันตรายสามารถเผยแพร่เฉพาะส่วนหัวของบล็อกไปยังเครือข่ายหลัก ซึ่งอาจระงับข้อมูลที่เกี่ยวข้องบางส่วนหรือทั้งหมด วิธีนี้ช่วยป้องกันไม่ให้ full nide แบบสร้างfraud/validity proofs เพื่อเตือน light clients ให้ทราบถึงปัญหา
เมื่อพยายามตรวจสอบความถูกต้องของบล็อก เป็นเรื่องเล็กน้อยสำหรับ full nodes เพื่อระบุเมื่อข้อมูลถูกระงับโดยผู้สร้างบล็อกที่เป็นอันตราย ในกรณีนี้พวกเขาสามารถสันนิษฐานได้ว่าเชนไม่ถูกต้องและแยกออกจากเชน แต่ light clients จะระบุได้อย่างไรว่าข้อมูลถูกระงับโดยผู้ผลิตบล็อกโดยไม่ดาวน์โหลดทั้งบล็อก?
เทคโนโลยีใหม่ที่เรียกว่าการสุ่มตัวอย่างความพร้อมใช้งานของข้อมูล (DAS) ช่วยให้ light clients สามารถระบุได้ว่าบล็อกทั้งหมดได้รับการเผยแพร่แล้วหรือไม่ กล่าวโดยย่อ light clients จะร้องขอส่วนเล็ก ๆ แบบสุ่ม (หรือ "ตัวอย่าง") ของบล็อกจาก full nodes

หากมีตัวอย่างที่ร้องขอทั้งหมด สมมติว่ามี light clients เพียงพอที่ทำการสุ่มตัวอย่างความพร้อมของข้อมูล สิ่งนี้จะพิสูจน์ได้ว่าบล็อกทั้งหมดนั้นพร้อมใช้งาน หากส่วนใดส่วนหนึ่งของบล็อกไม่พร้อมใช้งาน light clients จะรู้ว่าข้อมูลถูกระงับ และสามารถแยกส่วนเวอร์ชันของเชนออกได้
คำอธิบายแบบเต็มของเทคโนโลยีนี้อยู่นอกขอบเขตสำหรับโพสต์นี้ แต่คุณสามารถอ่านเพิ่มเติมได้ที่นี่ ท้ายที่สุด สิ่งสำคัญคือ DAS ช่วยให้ light clients สามารถระบุบล็อกที่ไม่ถูกต้องได้ แม้ว่าผู้ผลิตบล็อกที่เป็นอันตรายจะระงับข้อมูล
ปัญหาที่อาจเกิดขึ้นอีกประการหนึ่งคือปรากฏการณ์ที่เรียกว่า "verifier’s dilemma" ฉบับย่อๆมีดังนี้:
หากผู้ผลิตบล็อกรู้ว่า full node จะระบุกิจกรรมที่ไม่ซื่อสัตย์ พวกเขาจะประพฤติตนอย่างซื่อสัตย์เพื่อหลีกเลี่ยงการถูก slash
เมื่อเวลาผ่านไป หาก full node สันนิษฐานว่าผู้ผลิตบล็อกจะยังคงทำงานอย่างซื่อสัตย์ต่อไป พวกเขาไม่มีแรงจูงใจที่จะตรวจสอบบล็อกต่อไป เนื่องจากพวกเขาจะไม่มีวันได้รับรางวัลสำหรับการระบุธุรกรรมที่ไม่ถูกต้อง
หาก full nodes ไม่ได้รับแรงจูงใจทางการเงินในการตรวจสอบบล็อกต่อไป โหนดเหล่านั้นอาจหยุดทำเช่นนั้น เมื่อถึงจุดนี้ ผู้ผลิตบล็อกจะมีพฤติกรรมที่ไม่ซื่อสัตย์ แม้ว่าจะยังคงมี full nodes จำนวนที่ไม่เป็นศูนย์ แต่ก็อาจเป็นไปได้ทางการเงินสำหรับผู้ผลิตบล็อกที่จะติดสินบนโหนดทั้งหมดที่เหลือเพื่อละเว้นธุรกรรมที่ไม่ถูกต้องซึ่งมีมูลค่าเพียงพอ
สิ่งนี้จบลงด้วยปริศนาที่เป็นวงกลม ยิ่งทำให้ modular execution layer มีความปลอดภัยมากขึ้น (เช่น ยิ่งมีแรงจูงใจให้ผู้ผลิตบล็อกประพฤติตัวไม่ซื่อสัตย์น้อยลง) ยิ่งมีแนวโน้มที่จะมีความปลอดภัยต่ำ (เช่น full nodes จะไม่ได้รับแรงจูงใจในการตรวจสอบบล็อกอีกต่อไป) . ในทางกลับกัน ยิ่งมีความปลอดภัยน้อยเท่าไร ก็ยิ่งมีแนวโน้มที่จะมีความปลอดภัยสูงขึ้นเท่านั้น

Dilemma นี้สามารถบรรเทาได้ผ่านหลายช่องทาง ดังนี้ (สำหรับการวิเคราะห์เชิงทฤษฎีของเกมเกี่ยวกับปัจจัยเหล่านี้ โปรดดูโพสต์นี้):
Altruism -เนื่องจาก MEL ต้องการตัวตรวจสอบความถูกต้องเพียงตัวเดียว ตราบใดที่มีการทำงานของ full node ซึ่ง altruistic อย่างน้อยหนึ่งตัว ระบบจึงยังคงปลอดภัย อย่างไรก็ตาม แม้ว่าวิธีนี้อาจปลอดภัยเพียงพอในทางปฏิบัติ แต่ก็ไม่รับประกันเพียงพอสำหรับระบบที่ควบคุมสินทรัพย์จำนวนมาก
Economic interest - มีหลายหน่วยงานที่มีแรงจูงใจทางการเงินในการเรียกใช้ full nodes ที่นอกเหนือไปจากรางวัลของผู้แจ้งเบาะแสที่อาจเกิดขึ้น ตัวอย่างเช่น ผลิตภัณฑ์และบริการ เช่น ตัวสำรวจบล็อค ผู้ให้บริการสภาพคล่อง หรือ dapps จำเป็นต้องเข้าถึงสถานะเต็มรูปแบบของ MEL เพื่อให้ดำเนินธุรกิจได้อย่างมีประสิทธิภาพ อย่างไรก็ตาม หน่วยงานเหล่านี้ (ในทางทฤษฎี) มีแนวโน้มที่จะติดสินบนโดยผู้ผลิตบล็อกที่เป็นอันตราย
Whales - หน่วยงานที่มีสินทรัพย์จำนวนมากบน MEL อาจเลือกที่จะเรียกใช้ full node เพื่อให้แน่ใจว่าผลประโยชน์ของพวกเขาได้รับการปกป้องและห่วงโซ่นั้นปลอดภัย
Fast withdrawals - เพราะ optimistic MELs อาศัย dispute resolution window ก่อนที่จะรับประกันความสมบูรณ์ในชั้นล่างของ modular stack การถอนจาก MEL ไปยัง settlement layer จะไม่สิ้นสุดจนกว่ากรอบเวลานี้จะผ่านไป ดังนั้นจึงมีตลาดสำหรับบริการของบุคคลที่สามซึ่งให้การถอนที่รวดเร็ว รับโทเค็นบน MEL และส่งโทเค็นเดียวกันทันที (ลบค่าธรรมเนียม) ไปยังผู้ใช้ในชั้นการชำระเงิน เพื่อให้แน่ใจว่าสถานะ MEL จะไม่ถูกเปลี่ยนกลับหลังจากที่พวกเขาได้ส่งเงินไปยังชั้นการชำระเงินแล้ว ผู้ให้บริการจะได้รับแรงจูงใจให้ตรวจสอบความถูกต้องของเชนก่อนที่จะทำธุรกรรมดังกล่าว
Block producers - เป็นไปได้ที่จะแนะนำบทลงโทษสำหรับผู้ผลิตบล็อกที่ส่งบล็อกซึ่งสร้างขึ้นจากบล็อกที่ไม่ถูกต้องก่อนหน้านี้ ด้วยกลไกดังกล่าว ผู้ผลิตบล็อกจะได้รับแรงจูงใจในการตรวจสอบความถูกต้องของเชนก่อนที่จะส่งบล็อก
แม้ว่ากลยุทธ์การบรรเทาผลกระทบข้างต้นอาจไม่ได้ผลอย่างสมบูรณ์ในตัวเอง แต่เมื่อรวมกันแล้ว มีแรงจูงใจที่ชัดเจนสำหรับฝ่ายต่างๆ หลายฝ่ายที่จะดำเนินการเรียกใช้โหนดแบบเต็มบน MEL และตรวจสอบสถานะของเชนต่อไป
ด้วยการใช้การออกแบบที่ช่วยให้มีความปลอดภัยสูงภายใต้สมมติฐานของคนกลุ่มน้อยที่ซื่อสัตย์เพียงอย่างเดียว modular blockchain stack ช่วยให้สามารถพัฒนาบล็อคเชนที่มีปริมาณงานสูงกว่าที่เคยเป็นมาภายใต้การออกแบบแบบ monolithic
อย่างไรก็ตาม ควบคู่ไปกับประโยชน์ของความสามารถใน scalability ที่มาจากการแยกการคำนวณออกจากการตรวจสอบความถูกต้อง ความก้าวหน้าเพิ่มเติมสามารถทำได้ในความสามารถใน scalability โดยเน้นที่การออกแบบส่วนบนสุดของสแต็กโดยเฉพาะ: the modular execution layer การทำให้การคำนวณสามารถปรับขนาดได้และมีประสิทธิภาพมากขึ้นในเลเยอร์นี้เป็นขั้นตอนต่อไปในการสร้างบล็อคเชนที่ดีขึ้น
modular execution layers ส่วนใหญ่ที่กำลังอยู่ระหว่างการพัฒนาใช้ Ethereum เป็นเชนหลัก ดังนั้นค่าเริ่มต้นคือการใช้ EVM เป็นสภาพแวดล้อมการดำเนินการ นี่คือการออกแบบที่เทียบเท่ากับการปรับปรุงประสิทธิภาพการใช้พลังงานของเครื่องยนต์สันดาปภายใน: การปรับปรุงที่เพิ่มขึ้นในเทคโนโลยีที่ล้าสมัยไปแล้ว
ในความเป็นจริง modular stack เปิดพื้นที่การออกแบบที่กว้างกว่ามาก ทำให้ไม่จำเป็นต้องใช้modular execution layers เพื่อพึ่งพา EVM ที่ไม่มีประสิทธิภาพ
Fuel กำลังใช้ประโยชน์จากพื้นที่การออกแบบที่ขยายใหม่นี้เพื่อสร้าง modular execution layer ซึ่งเหนือกว่า EVM โดยปรับให้เหมาะสมสำหรับการคำนวณที่มีประสิทธิภาพและปรับขนาดได้ ประสบการณ์นักพัฒนาที่เหนือกว่า และความปลอดภัยสูงสุด
ในตอนที่ 2 เราจะสำรวจวิธีที่ modular execution layers สามารถก้าวข้ามข้อจำกัดทางเทคโนโลยีของการออกแบบบล็อกเชนรุ่นก่อนเพื่อให้ได้ความสามารถในการปรับขนาดได้อย่างแท้จริง

พื้นที่บล็อคเชนกำลังเคลื่อนไปสู่ modular architecture มากขึ้นเรื่อยๆ เพื่อให้บรรลุความสามารถใน scalability ได้อย่างแท้จริง แม้แต่ chain อย่าง Ethereum ซึ่งก่อนหน้านี้เคยเป็น monolithic ทั้งหมด ก็กำลังเปลี่ยนไปใช้การออกแบบ modular เพื่อเอาชนะ challenges ที่มาพร้อมกับการออกแบบ monolithic blockchain
หนึ่งในองค์ประกอบหลักของ modular blockchain stack ก็คือ execution layer ซึ่ง Fuel กำลังสร้างexecution layer ที่เร็วที่สุดสำหรับ modular blockchain stack

Monolithic chains จะเกิดการคำนวณแบบคู่และการตรวจสอบใน Layer เดียวกัน นำไปสู่ความปลอดภัยที่ต่ำกว่ามาตรฐานและความสามารถ scalability ที่จำกัด Modular execution layers หลีกเลี่ยงสิ่งนี้โดยแยกการคำนวณและการตรวจสอบออก ซึ่งช่วยให้รับประกันความปลอดภัยใน scale มากขึ้น
Monolithic chains ถูกขังอยู่ในเทคโนโลยีที่ไม่มีประสิทธิภาพเมื่อพูดถึงความเร็วและ variety of computation ที่พวกเขาสามารถรองรับได้ ในทางกลับกัน modular execution layers สามารถออกแบบเฉพาะเพื่อเพิ่มประสิทธิภาพการคำนวณอย่างมีประสิทธิภาพ
โพสต์นี้อธิบายอย่างละเอียดเกี่ยวกับประโยชน์หลักประการแรก โดยส่วนที่สองกำลังถูกสำรวจในตอนที่ 2 ที่จะมาถึง
เพื่อให้เข้าใจถึงนวัตกรรมที่มาจาก modular execution layers (MELs) อันดับแรก เราต้องเข้าใจว่า monolithic blockchains จัดการกับการคำนวณและการตรวจสอบอย่างไร
Blockchains อาศัย network ของหน่วยงานที่ execute transactions และรวมเข้าด้วยกันเป็นบล็อก - สิ่งเหล่านี้เรียกว่า block producers หากไม่มีการตรวจสอบและถ่วงดุล block producer ที่เป็นอันตรายอาจรวมธุรกรรมที่ไม่ถูกต้องในบล็อก (เช่น minting tokens ไปยังที่ address ตนเอง) เพื่อป้องกันสิ่งนี้ บล็อกเชนต้องอาศัยเครือข่ายของโหนดอื่นๆเพื่อกำหนดความถูกต้องของบล็อก ก่อนที่จะเพิ่มลงในเวอร์ชันของเชน
สิ่งนี้นำไปสู่สองฟังก์ชั่นหลักที่จำเป็นสำหรับบล็อกเชนในการทำงาน:
Block Production (เช่น การคำนวณ) : Executing transactions และการใช้ individual state transitions เพื่อสร้างบล๊อก
Block Validation (เช่น การตรวจสอบ) : ยืนยันว่าการเปลี่ยนสถานะถูกต้อง
หมายเหตุ: เพื่อความสะดวกในการทำความเข้าใจ ส่วนนี้จะให้คำอธิบายอย่างง่ายว่าบล็อกการผลิตและการตรวจสอบทำงานอย่างไรบน Monolithic Chains ในความเป็นจริงกระบวนการนี้ซับซ้อนกว่าและอาจแตกต่างไปตามการออกแบบเฉพาะของ chain อย่างไรก็ตามมีการใช้หลักการหลักเดียวกันหลายประการ
ในการออกแบบ Monolithic Chains ส่วนใหญ่ การคำนวณและการตรวจสอบจะดำเนินการโดยหน่วยงานเดียวกัน - ผู้ตรวจสอบความถูกต้อง (เช่น full nodes) เมื่อผู้ใช้ส่งธุรกรรม ผู้ตรวจสอบจะทำธุรกรรม จากนั้นรวมการเปลี่ยนแปลงสถานะที่เกี่ยวข้องในบล็อก เมื่อสร้างและเผยแพร่บล็อกแล้ว full nodes อื่นๆ จะดาวน์โหลดบล็อกและดำเนินการธุรกรรมในบล็อกอีกครั้งเพื่อยืนยันว่าถูกต้อง หากการบล็อกนั้นถูกต้อง สมมติว่ามีความเที่ยงตรง full nodes จะผนวกบล็อกนั้นเข้ากับเวอร์ชันของห่วงโซ่ ดังนั้นจึงเป็นเครื่องยืนยันถึงความถูกต้อง
บางครั้ง แอปพลิเคชันหรือผู้ใช้จำเป็นต้องเข้าถึงสถานะของบล็อคเชน แต่ไม่ต้องการทำให้เกิดความต้องการทรัพยากรสูงในการรัน full nodes และตรวจสอบธุรกรรมทั้งหมดโดยอิสระ เพื่อจุดประสงค์นี้ พวกเขาสามารถเรียกใช้ light client ได้ ซึ่งถือว่าบล็อกที่จัดหาโดย full nodes จะรวมเฉพาะธุรกรรมที่ถูกต้องเท่านั้น พวกเขาไม่ดาวน์โหลด blockchain เต็มรูปแบบและไม่ได้ตรวจสอบว่าธุรกรรมก่อนหน้านี้ทั้งหมดถูกต้อง แต่พวกเขาต้องเชื่อว่าโหนดเต็มส่วนใหญ่นั้นซื่อสัตย์ (เช่น ได้รวมเฉพาะบล็อกที่ถูกต้องในสำเนาของเชน)

สิ่งนี้เรียกว่าสมมติฐานส่วนใหญ่ที่ตรงไปตรงมา และเป็นเหตุผลที่ Monolithic Chains ส่วนใหญ่มีความเสี่ยงที่จะถูกโจมตีถึง 51% ภายใต้รูปแบบ Monolithic เนื่องจาก full nodes รูปแบบที่ซื่อสัตย์ส่วนใหญ่จะต้องตรวจสอบว่าบล๊อกเชนนั้นถูกต้อง light clients จึงถูกบังคับให้ไว้วางใจคนส่วนใหญ่ หาก full nodes มากกว่าครึ่งไม่ซื่อสัตย์ light clients จะไม่มีทางรู้เรื่องนี้ ดังนั้นพวกเขาจะลงเอยด้วยการต่อสายโช่ที่ไม่ถูกต้อง
ความสามารถใน scalability ของ monolithic chains จำกัดอย่างรุนแรงจากการพึ่งพาสมมติฐานส่วนใหญ่ที่ซื่อสัตย์นี้ เนื่องจากในการเพิ่มปริมาณงานของธุรกรรม ต้องเพิ่มขนาดบล็อกและ/หรือความถี่เพื่อให้สามารถประมวลผลธุรกรรมได้มากขึ้นในระยะเวลาเท่ากัน สิ่งนี้จะเพิ่มความต้องการทรัพยากร (และค่าใช้จ่ายที่เกี่ยวข้อง) สำหรับ full nodes บล็อคที่ใหญ่กว่า/เร็วกว่า = การคำนวณมากขึ้น = ต้นทุนที่สูงขึ้น

เมื่อค่าใช้จ่ายในการรัน full nodes เพิ่มขึ้น หน่วยงานจำนวนมากจะเลือกใช้ light client แทนโดยอาศัยหน่วยเล็กและเครือข่ายที่เล็กกว่า full nodes เพื่อตรวจสอบความถูกต้องของเชน การรวมศูนย์ที่เพิ่มขึ้นของการตรวจสอบความถูกต้องของบล็อกเป็นภัยคุกคามที่สำคัญต่อความปลอดภัยสำหรับ monolithic เนื่องจากกลุ่มผู้ตรวจสอบที่รวมศูนย์มากขึ้นจะเสี่ยงต่อการถูกโจมตีและยังสามารถสมรู้ร่วมคิดได้ง่ายขึ้นอีกด้วย
ข่าวดีก็คือระบบบล็อคเชนสามารถย้ายออกจากการออกแบบที่อาศัยสมมติฐานส่วนใหญ่ที่ซื่อสัตย์ เพื่อหลีกเลี่ยงหลุมพรางของการออกแบบ monolithicนี้ modular blockchain stack แยกการคำนวณออกจากการตรวจสอบ โดยการย้ายการดำเนินการ (เช่น การคำนวณ) ออกจาก base chain (เรียกว่า "parent chain") ซึ่งเพิ่ม scale นั้นสามารถทำได้โดยไม่กระทบต่อการกระจายอำนาจ
ภายใน modular blockchain stack ซึ่ง execution layer การมีหน้าที่ในการคำนวณ กล่าวคือ ประมวลผลธุรกรรมและนำการใช้ individual state transitions
Fuel กำหนด modular execution laye ว่า: ระบบคำนวณที่ตรวจสอบได้ซึ่งออกแบบมาสำหรับmodular blockchain stack เพื่อให้เห็นภาพมากมากขึ้นก็คือ บล๊อคเชนที่ ฉ้อโกงหรือถูกต้อง สามารถตรวจสอบได้(หรือระบบการคำนวณอื่น ๆ ) นั้นสามารถใช้ประโยชน์จาก modular blockchain สำหรับ data availability

เพื่อชี้แจงให้กระจ่าง ระบบการคำนวณไม่ใช่ modular execution layers ถ้าพวกเขา : 1) fraud- or validity-provable หรือ 2) ไม่ลด data availability ไปยังเลเยอร์อื่น
ดั่งเช่น monolithic blockchain, modular execution layers ใช้เครือข่ายของ dedicated block producers เอนทิตีเหล่านี้จัดการกระบวนการที่ใช้ทรัพยากรมากในการดำเนินการธุรกรรมและการผลิตบล็อก อย่างไรก็ตามมันไม่เหมือนกับระบบ modular การตรวจสอบนั้นไม่ได้ถูกจัดการใน execution layers แต่จะอยู่ที่ระดับที่ต่ำกว่าของ modular blockchain stack
ความฉลาดของการ modular execution คือตราบใดที่การตรวจสอบ (เช่นการตรวจสอบความถูกต้องของบล็อก) มีการกระจายอำนาจ การคำนวณ (เช่นการผลิตบล็อก) ไม่จำเป็นต้องกระจายอำนาจ สามารถเพิ่ม Block sizesได้ ซึ่งนำไปสู่การรวมศูนย์ของโหนดที่สร้างบล็อก แต่ตราบใดที่การตรวจสอบถูกแยกออก บล็อกที่ไม่ถูกต้องจะไม่ถูกเพิ่มเข้าไปในเชน
แต่สิ่งนี้ทำงานอย่างไร เราจะมั่นใจได้อย่างไรว่ามีการรักษาความปลอดภัยหากเราอนุญาตให้การผลิตบล็อกยังคงรวมศูนย์ นี่คือจุดที่ modular เข้ามาเล่น
Modular execution layers ในทางทฤษฎี ฟังก์ชันการทำงานที่ใช้ทรัพยากรมากของการดำเนินการไปยังผู้ผลิตบล็อกที่มีประสิทธิภาพซึ่งรวมกลุ่มและ execute batches ของธุรกรรม และโพสต์สิ่งเหล่านี้เป็นระยะใน parent chain (settlement/consensus/data availability layers) เพื่อให้ผู้ผลิตบล็อกเหล่านี้ซื่อสัตย์ มี full nodes เพิ่มเติมที่ non-block-producing (มักเรียกว่า "verifiers" หรือ "provers") ซึ่งดาวน์โหลดและ re-execute block poste ไปยัง parent chain อีกครั้งเพื่อให้แน่ใจว่ามีเพียง ธุรกรรมที่ถูกต้อง
ความเฉพาะของวิธีที่ full nodes เหล่านี้สื่อสารถึงความถูกต้องหรือความไม่ถูกต้องของธุรกรรมนั้นแตกต่างกันไปขึ้นอยู่กับว่า modular execution layer ใช้แบบโมเดล optimistic หรือ zero-knowledge ในกรณีของ optimistic MEL นั้น full nodes จะดำเนินการ (ผ่าน validity proofs) เมื่อตรวจพบธุรกรรมที่ไม่ถูกต้องเท่านั้น ในทางกลับกันในกรณีของ zero-knowledge MEL นั้น full nodes จะยืนยันความถูกต้องของธุรกรรม (ผ่านvalidity proofs) ไม่ว่าในกรณีใด ความถูกต้องหรือความไม่ถูกต้องของธุรกรรมทั้งหมดที่ได้รับจาก block producer นั้นได้รับการยืนยันใน parent chain ไม่ใช่ใน modular execution layer
เพื่อให้เห็นภาพที่ลึกซึ้งยิ่งขึ้น เรามาสำรวจกรณีของ optimistic MEL (ซึ่งถือว่าธุรกรรมทั้งหมดถูกต้องเว้นแต่จะได้รับการพิสูจน์เป็นอย่างอื่น) หาก full nodes เพียงโหนดเดียวในmodular execution layer ตรวจพบธุรกรรมที่ไม่ถูกต้องภายใน block poste บน parent chain พวกเขาสามารถสร้างหลักฐานการฉ้อโกง (ภายใน "dispute resolution window" ที่กำหนดไว้ล่วงหน้า) ซึ่งพิสูจน์ด้วยการเข้ารหัสว่าธุรกรรมนั้นไม่ถูกต้อง
ขึ้นอยู่กับโครงสร้างของparticular modular stack ซึ่งอาจดำเนินการได้หลายวิธี เช่น:
Full nodes ส่งหลักฐานการฉ้อโกงไปยัง dispute resolution contract บน settlement layer ซึ่งดำเนินการธุรกรรมอีกครั้งโดยตรง (โปรดทราบว่าการดำเนินการนี้จำเป็นต้องมีการจัดโครงสร้างธุรกรรม MEL เพื่อให้สามารถพิสูจน์ได้ว่ามีการฉ้อโกงบน VM ของ settlement layer ในลักษณะที่กำหนดขึ้น - ตัวอย่างเช่น FuelVM ได้รับการออกแบบให้พิสูจน์ได้ว่ามีการฉ้อโกงภายใน EVM เพื่อเปิดใช้งานการชำระบน Ethereum)
หากธุรกรรมไม่ถูกต้อง block producer ที่ละเมิดจะถูกลงโทษด้วยการ slashing กล่าวคือ พวกเขาสูญเสียเงินทุน) “whistleblower” จะได้รับรางวัลเป็นเงินส่วนหนึ่ง และสถานะของเชนจะถูกเปลี่ยนกลับเป็นก่อนธุรกรรมที่ไม่ถูกต้อง เนื่องจากไม่มีการรับประกันว่าธุรกรรมใด ๆ ที่ตามมาหลังรายการที่ไม่ถูกต้องนั้นสอดคล้องกับสถานะที่ถูกต้อง ธุรกรรมที่ตามมาเหล่านี้จะถูกดำเนินการอีกครั้ง
Full node สามารถฮั๊วหลักฐานการฉ้อโกงผ่านเครือข่าย peer-to-peer เพื่อเตือน light clients ว่าบล็อกนั้นมีธุรกรรมที่ไม่ถูกต้อง การใช้หลักฐานการฉ้อโกงเป็นหลักฐานของพฤติกรรมที่ไม่ซื่อสัตย์ของผู้ผลิตบล็อก Full node สามารถเสนอธุรกรรมการลงโทษในห่วงโซ่หลัก ซึ่งจะเฉือนเงินทุนของผู้ผลิตบล็อก
เนื่องจากไม่มี settlement layer ที่จะกำหนดเวอร์ชัน "มาตรฐาน" ของเชน Full node ที่เป็นอันตรายอาจเลือกที่จะไม่ปฏิเสธการบล็อกได้ อย่างไรก็ตาม มีการแจ้งหลักฐานการฉ้อโกงไปยัง light clients แล้ว ดังนั้นพวกเขาจึงรู้ว่าไม่ควรติดตามเวอร์ชันของโหนดแบบเต็มของโหนดที่เป็นอันตราย ด้วยเหตุนี้ฉันทามติทางสังคมจึงรับประกันว่าการบล็อกที่ไม่ถูกต้องจะถูกปฏิเสธ
ไม่ว่าในกรณีใด เนื่องจากกระบวนการตรวจสอบถูกสร้างอยู่บน parent chain แทนที่จะเป็น execution layer การรักษาความปลอดภัยจึงถูกเอาต์ซอร์ซไปยังparent chain ซึ่งหมายความว่า execution layer ด้วยตัวมันเองสามารถดำเนินการได้โดยมีการรับประกันความปลอดภัยที่ต่ำ แม้ว่า 99% ของ full nodes บน execution layer จะไม่ซื่อสัตย์ แต่ก็ใช้ Full nodeที่ซื่อสัตย์เพียงหนึ่งโหนดเพื่อให้แน่ใจว่าเลเยอร์การดำเนินการรวมเฉพาะธุรกรรมที่ถูกต้องเท่านั้น
ซึ่งหมายความว่าแทนที่จะใช้โหนดเต็มรูปแบบส่วนใหญ่ที่ซื่อสัตย์ modular execution layers (และ MEL light clients) สามารถทำงานบนสมมติฐานส่วนน้อยที่ซื่อสัตย์เพียงข้อเดียว

ในขณะที่บล็อกที่ไม่ถูกต้องสามารถเปลี่ยนกลับได้โดย full nodes ส่วนใหญ่ในระบบmodular เท่านั้น full nodes เดียวในระบบโมดูลาร์สามารถบังคับให้ธุรกรรมที่ไม่ถูกต้องถูกเปลี่ยนกลับโดยใช้ fraud/validity proofs
การยอมให้การคำนวณเกิดขึ้นนอก parent chain ช่วยให้มีปริมาณงานธุรกรรมเพิ่มขึ้นอย่างมาก ขนาดบล็อกสามารถเพิ่มขึ้นได้อย่างมากโดยไม่ต้องกังวลเกี่ยวกับการรวมศูนย์ของการผลิตบล็อก เนื่องจากกระบวนการตรวจสอบบล็อกที่แยกต่างหากทำให้ผู้ผลิตบล็อกมีความซื่อสัตย์
แม้ว่าบล็อกที่ใหญ่ขึ้นจะสร้างภาระให้กับ full nodes ที่ดำเนินการตรวจสอบความถูกต้องมากขึ้น แต่การสันนิษฐานว่าเป็นชนกลุ่มน้อยที่ซื่อสัตย์หมายความว่าการรวมศูนย์ในพื้นที่นี้มีภัยคุกคามน้อยกว่า เนื่องจากช่องโหว่ที่อาศัยการรวมศูนย์ซึ่งอาศัยเสียงส่วนใหญ่ที่ไม่ซื่อสัตย์นั้นเป็นไปไม่ได้
Light clients ยังสามารถรันด้วยการรับประกันความปลอดภัยที่สูงขึ้นอย่างมากภายใต้ modular architecture เนื่องจากหลักฐานการฉ้อโกงช่วยให้พวกเขาระบุธุรกรรมที่ไม่ถูกต้องตามการพิสูจน์จากfull nodesที่ซื่อสัตย์เพียงจุดเดียว full nodesมีความซื่อสัตย์)

นอกจากนี้ ผู้ผลิตบล็อกทราบดีว่ากิจกรรมที่เป็นอันตรายใดๆ จะถูกตรวจพบและจะส่งผลให้เกิดการฟันเฟือง ดังนั้นจึงมีโอกาสน้อยที่จะพยายามประพฤติมิชอบ ด้วยเหตุนี้ execution layer จึงสามารถเพิ่มประสิทธิภาพการคำนวณได้ (เช่น จัดการธุรกรรมจำนวนมาก) ในขณะที่ใช้ระดับล่างที่ปรับให้เหมาะสมด้านความปลอดภัยของ modular stack
modular architecture นำเสนอความท้าทายด้านเทคนิคและทฤษฎีเกมเพิ่มเติม
แม้ว่า fraud/validity proofs จะเปิดใช้งาน full node ที่ซื่อสัตย์เพื่อพิสูจน์การฉ้อโกง แต่ก็มีปัญหาเพิ่มเติม: data availability ในการสร้างการพิสูจน์ full node ต้องอาศัยความพร้อมใช้งานของบล็อก เนื่องจากจำเป็นต้องดาวน์โหลดและดำเนินการธุรกรรมทั้งหมดในบล็อกอีกครั้งเพื่อกำหนดความถูกต้องและสร้างหลักฐาน
ผู้ผลิตบล็อกที่เป็นอันตรายสามารถเผยแพร่เฉพาะส่วนหัวของบล็อกไปยังเครือข่ายหลัก ซึ่งอาจระงับข้อมูลที่เกี่ยวข้องบางส่วนหรือทั้งหมด วิธีนี้ช่วยป้องกันไม่ให้ full nide แบบสร้างfraud/validity proofs เพื่อเตือน light clients ให้ทราบถึงปัญหา
เมื่อพยายามตรวจสอบความถูกต้องของบล็อก เป็นเรื่องเล็กน้อยสำหรับ full nodes เพื่อระบุเมื่อข้อมูลถูกระงับโดยผู้สร้างบล็อกที่เป็นอันตราย ในกรณีนี้พวกเขาสามารถสันนิษฐานได้ว่าเชนไม่ถูกต้องและแยกออกจากเชน แต่ light clients จะระบุได้อย่างไรว่าข้อมูลถูกระงับโดยผู้ผลิตบล็อกโดยไม่ดาวน์โหลดทั้งบล็อก?
เทคโนโลยีใหม่ที่เรียกว่าการสุ่มตัวอย่างความพร้อมใช้งานของข้อมูล (DAS) ช่วยให้ light clients สามารถระบุได้ว่าบล็อกทั้งหมดได้รับการเผยแพร่แล้วหรือไม่ กล่าวโดยย่อ light clients จะร้องขอส่วนเล็ก ๆ แบบสุ่ม (หรือ "ตัวอย่าง") ของบล็อกจาก full nodes

หากมีตัวอย่างที่ร้องขอทั้งหมด สมมติว่ามี light clients เพียงพอที่ทำการสุ่มตัวอย่างความพร้อมของข้อมูล สิ่งนี้จะพิสูจน์ได้ว่าบล็อกทั้งหมดนั้นพร้อมใช้งาน หากส่วนใดส่วนหนึ่งของบล็อกไม่พร้อมใช้งาน light clients จะรู้ว่าข้อมูลถูกระงับ และสามารถแยกส่วนเวอร์ชันของเชนออกได้
คำอธิบายแบบเต็มของเทคโนโลยีนี้อยู่นอกขอบเขตสำหรับโพสต์นี้ แต่คุณสามารถอ่านเพิ่มเติมได้ที่นี่ ท้ายที่สุด สิ่งสำคัญคือ DAS ช่วยให้ light clients สามารถระบุบล็อกที่ไม่ถูกต้องได้ แม้ว่าผู้ผลิตบล็อกที่เป็นอันตรายจะระงับข้อมูล
ปัญหาที่อาจเกิดขึ้นอีกประการหนึ่งคือปรากฏการณ์ที่เรียกว่า "verifier’s dilemma" ฉบับย่อๆมีดังนี้:
หากผู้ผลิตบล็อกรู้ว่า full node จะระบุกิจกรรมที่ไม่ซื่อสัตย์ พวกเขาจะประพฤติตนอย่างซื่อสัตย์เพื่อหลีกเลี่ยงการถูก slash
เมื่อเวลาผ่านไป หาก full node สันนิษฐานว่าผู้ผลิตบล็อกจะยังคงทำงานอย่างซื่อสัตย์ต่อไป พวกเขาไม่มีแรงจูงใจที่จะตรวจสอบบล็อกต่อไป เนื่องจากพวกเขาจะไม่มีวันได้รับรางวัลสำหรับการระบุธุรกรรมที่ไม่ถูกต้อง
หาก full nodes ไม่ได้รับแรงจูงใจทางการเงินในการตรวจสอบบล็อกต่อไป โหนดเหล่านั้นอาจหยุดทำเช่นนั้น เมื่อถึงจุดนี้ ผู้ผลิตบล็อกจะมีพฤติกรรมที่ไม่ซื่อสัตย์ แม้ว่าจะยังคงมี full nodes จำนวนที่ไม่เป็นศูนย์ แต่ก็อาจเป็นไปได้ทางการเงินสำหรับผู้ผลิตบล็อกที่จะติดสินบนโหนดทั้งหมดที่เหลือเพื่อละเว้นธุรกรรมที่ไม่ถูกต้องซึ่งมีมูลค่าเพียงพอ
สิ่งนี้จบลงด้วยปริศนาที่เป็นวงกลม ยิ่งทำให้ modular execution layer มีความปลอดภัยมากขึ้น (เช่น ยิ่งมีแรงจูงใจให้ผู้ผลิตบล็อกประพฤติตัวไม่ซื่อสัตย์น้อยลง) ยิ่งมีแนวโน้มที่จะมีความปลอดภัยต่ำ (เช่น full nodes จะไม่ได้รับแรงจูงใจในการตรวจสอบบล็อกอีกต่อไป) . ในทางกลับกัน ยิ่งมีความปลอดภัยน้อยเท่าไร ก็ยิ่งมีแนวโน้มที่จะมีความปลอดภัยสูงขึ้นเท่านั้น

Dilemma นี้สามารถบรรเทาได้ผ่านหลายช่องทาง ดังนี้ (สำหรับการวิเคราะห์เชิงทฤษฎีของเกมเกี่ยวกับปัจจัยเหล่านี้ โปรดดูโพสต์นี้):
Altruism -เนื่องจาก MEL ต้องการตัวตรวจสอบความถูกต้องเพียงตัวเดียว ตราบใดที่มีการทำงานของ full node ซึ่ง altruistic อย่างน้อยหนึ่งตัว ระบบจึงยังคงปลอดภัย อย่างไรก็ตาม แม้ว่าวิธีนี้อาจปลอดภัยเพียงพอในทางปฏิบัติ แต่ก็ไม่รับประกันเพียงพอสำหรับระบบที่ควบคุมสินทรัพย์จำนวนมาก
Economic interest - มีหลายหน่วยงานที่มีแรงจูงใจทางการเงินในการเรียกใช้ full nodes ที่นอกเหนือไปจากรางวัลของผู้แจ้งเบาะแสที่อาจเกิดขึ้น ตัวอย่างเช่น ผลิตภัณฑ์และบริการ เช่น ตัวสำรวจบล็อค ผู้ให้บริการสภาพคล่อง หรือ dapps จำเป็นต้องเข้าถึงสถานะเต็มรูปแบบของ MEL เพื่อให้ดำเนินธุรกิจได้อย่างมีประสิทธิภาพ อย่างไรก็ตาม หน่วยงานเหล่านี้ (ในทางทฤษฎี) มีแนวโน้มที่จะติดสินบนโดยผู้ผลิตบล็อกที่เป็นอันตราย
Whales - หน่วยงานที่มีสินทรัพย์จำนวนมากบน MEL อาจเลือกที่จะเรียกใช้ full node เพื่อให้แน่ใจว่าผลประโยชน์ของพวกเขาได้รับการปกป้องและห่วงโซ่นั้นปลอดภัย
Fast withdrawals - เพราะ optimistic MELs อาศัย dispute resolution window ก่อนที่จะรับประกันความสมบูรณ์ในชั้นล่างของ modular stack การถอนจาก MEL ไปยัง settlement layer จะไม่สิ้นสุดจนกว่ากรอบเวลานี้จะผ่านไป ดังนั้นจึงมีตลาดสำหรับบริการของบุคคลที่สามซึ่งให้การถอนที่รวดเร็ว รับโทเค็นบน MEL และส่งโทเค็นเดียวกันทันที (ลบค่าธรรมเนียม) ไปยังผู้ใช้ในชั้นการชำระเงิน เพื่อให้แน่ใจว่าสถานะ MEL จะไม่ถูกเปลี่ยนกลับหลังจากที่พวกเขาได้ส่งเงินไปยังชั้นการชำระเงินแล้ว ผู้ให้บริการจะได้รับแรงจูงใจให้ตรวจสอบความถูกต้องของเชนก่อนที่จะทำธุรกรรมดังกล่าว
Block producers - เป็นไปได้ที่จะแนะนำบทลงโทษสำหรับผู้ผลิตบล็อกที่ส่งบล็อกซึ่งสร้างขึ้นจากบล็อกที่ไม่ถูกต้องก่อนหน้านี้ ด้วยกลไกดังกล่าว ผู้ผลิตบล็อกจะได้รับแรงจูงใจในการตรวจสอบความถูกต้องของเชนก่อนที่จะส่งบล็อก
แม้ว่ากลยุทธ์การบรรเทาผลกระทบข้างต้นอาจไม่ได้ผลอย่างสมบูรณ์ในตัวเอง แต่เมื่อรวมกันแล้ว มีแรงจูงใจที่ชัดเจนสำหรับฝ่ายต่างๆ หลายฝ่ายที่จะดำเนินการเรียกใช้โหนดแบบเต็มบน MEL และตรวจสอบสถานะของเชนต่อไป
ด้วยการใช้การออกแบบที่ช่วยให้มีความปลอดภัยสูงภายใต้สมมติฐานของคนกลุ่มน้อยที่ซื่อสัตย์เพียงอย่างเดียว modular blockchain stack ช่วยให้สามารถพัฒนาบล็อคเชนที่มีปริมาณงานสูงกว่าที่เคยเป็นมาภายใต้การออกแบบแบบ monolithic
อย่างไรก็ตาม ควบคู่ไปกับประโยชน์ของความสามารถใน scalability ที่มาจากการแยกการคำนวณออกจากการตรวจสอบความถูกต้อง ความก้าวหน้าเพิ่มเติมสามารถทำได้ในความสามารถใน scalability โดยเน้นที่การออกแบบส่วนบนสุดของสแต็กโดยเฉพาะ: the modular execution layer การทำให้การคำนวณสามารถปรับขนาดได้และมีประสิทธิภาพมากขึ้นในเลเยอร์นี้เป็นขั้นตอนต่อไปในการสร้างบล็อคเชนที่ดีขึ้น
modular execution layers ส่วนใหญ่ที่กำลังอยู่ระหว่างการพัฒนาใช้ Ethereum เป็นเชนหลัก ดังนั้นค่าเริ่มต้นคือการใช้ EVM เป็นสภาพแวดล้อมการดำเนินการ นี่คือการออกแบบที่เทียบเท่ากับการปรับปรุงประสิทธิภาพการใช้พลังงานของเครื่องยนต์สันดาปภายใน: การปรับปรุงที่เพิ่มขึ้นในเทคโนโลยีที่ล้าสมัยไปแล้ว
ในความเป็นจริง modular stack เปิดพื้นที่การออกแบบที่กว้างกว่ามาก ทำให้ไม่จำเป็นต้องใช้modular execution layers เพื่อพึ่งพา EVM ที่ไม่มีประสิทธิภาพ
Fuel กำลังใช้ประโยชน์จากพื้นที่การออกแบบที่ขยายใหม่นี้เพื่อสร้าง modular execution layer ซึ่งเหนือกว่า EVM โดยปรับให้เหมาะสมสำหรับการคำนวณที่มีประสิทธิภาพและปรับขนาดได้ ประสบการณ์นักพัฒนาที่เหนือกว่า และความปลอดภัยสูงสุด
ในตอนที่ 2 เราจะสำรวจวิธีที่ modular execution layers สามารถก้าวข้ามข้อจำกัดทางเทคโนโลยีของการออกแบบบล็อกเชนรุ่นก่อนเพื่อให้ได้ความสามารถในการปรับขนาดได้อย่างแท้จริง
No activity yet