LayerZero จากหลักการแรก

มีการถกเถียงกันมากมายเมื่อวานนี้และมีความเข้าใจผิดมากมาย ดังนั้นฉันจะอธิบายเกี่ยวกับ LayerZero ตั้งแต่หลักการแรก มันคืออะไร ทำงานอย่างไร สิ่งที่รับประกันว่านักพัฒนาซอฟต์แวร์มี และแนวทางปฏิบัติที่ดีที่สุดสำหรับการรักษาความปลอดภัย

มันคืออะไร?

LayerZero เป็นโปรโตคอลการส่งข้อความที่อนุญาตให้เรียกใช้สัญญาโดยพลการข้ามเชนด้วยเพย์โหลดที่รวมไว้

มันทำงานอย่างไร?

นักพัฒนาปรับใช้สัญญาในหลายเชน เรียกเชนนี้ว่าเชน A และเชน B ธุรกรรมถูกคอมมิตบนเชน A ซึ่งสร้างข้อความที่เป็นผลลัพธ์เพื่อส่งต่อไปยังสัญญาบนเชน B สัญญาโต้ตอบกับ LayerZero Endpoint จากนั้นอีกสองสาม สิ่งที่เกิดขึ้น — oracle และ relayer ที่เลือกของแอปพลิเคชันดึงส่วนหัวของบล็อกที่สอดคล้องกันและการพิสูจน์ tx พวกเขารอการยืนยันจำนวนบล็อกที่ระบุโดยแอปพลิเคชันบนห่วงโซ่ต้นทาง จากนั้นแต่ละชิ้นส่งมอบชิ้นส่วนของตนอย่างอิสระไปยังเครือข่าย B บนเครือข่าย B ชิ้นส่วนเหล่านี้จะได้รับการตรวจสอบความถูกต้องผ่าน Validation/Proof Library ตามด้วยการส่งสัญญาข้อความบนเครือข่าย B .

ตัวอย่างง่ายๆ ในการผลิตอาจเป็นการเชื่อมโยงบนStargate การแลกเปลี่ยนโดยใช้SushiXSwapหรือการย้ายLil Pudgy ของคุณข้ามเครือข่าย

นักพัฒนามีการรับประกันอะไรบ้าง?

มีสี่องค์ประกอบจริงที่นี่: Relayer , Oracle , Validation/Proof Library , Block Confirmations

แอปพลิเคชันสามารถควบคุมส่วนประกอบเหล่านี้ได้อย่างสมบูรณ์ ฉันจะแนะนำลักษณะการควบคุมเหล่านั้นด้านล่าง:

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

Oracles — Oracles เป็นแบบเปิดโดยสมบูรณ์และไม่ได้รับอนุญาต แอปพลิเคชันอาจเลือก Oracle ใดๆ ที่มีอยู่ รวมถึงความสามารถในการใช้งานของตนเองและเลือกเอง Oracles สามารถเป็นเครือข่ายของ oracles หรือเพียงแค่ผู้ลงนามคนเดียว

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

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

หากแอปพลิเคชันกำหนดค่าพารามิเตอร์เหล่านี้จะมีลักษณะดังนี้

สถานการณ์ ก

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

สถานการณ์ B

ในสถานการณ์ A เมื่อแอปพลิเคชันตั้งค่าคอนฟิกเป็น [ULN v2, Relayer A, Oracle Z, Block Confs X และ Proof Lib V1]] ไม่มีระบบอื่นใดในโลกที่สามารถแก้ไขการเลือกเหล่านี้ได้ ณ จุดนี้ Relayer A จะถูกใช้กับ Oracle Z ข้อความทั้งหมดจะถูกตรวจสอบผ่าน ULN v2 และ Proof Lib v1 หลังจากรอ X block confs

ในสถานการณ์ B เมื่อแอปพลิเคชันใช้การตั้งค่าเริ่มต้น หมายความว่าแอปพลิเคชันกำลังยกการควบคุมการเลือกรายการเหล่านี้ให้กับ Multisig ของ LayerZero สิ่งเดียวที่ LayerZero multisig ทำได้คือเพิ่มไลบรารีใหม่และเปลี่ยนค่าเริ่มต้น การเลือกสิ่งนี้หมายความว่าแอปพลิเคชันกำลังมอบความไว้วางใจให้กับ LayerZero multisig ในการเลือกรายการเหล่านี้และไม่กระทำการที่มุ่งร้าย

ดังนั้นเรามาคุยกันว่าสถานะปัจจุบันของโลกคืออะไรและอะไรทำได้และไม่สามารถทำได้

ระบบการส่งข้อความทั่วไปส่วนใหญ่ในปัจจุบันทำงานในลักษณะนี้

ระบบการส่งข้อความเช่น Wormhole, Nomad ฯลฯ ทำงานในลักษณะเดียวกันทั้งหมด การควบคุมทั้งหมดอยู่ใน [ระบบ] และสามารถอัปเกรดได้โดยใครก็ตามที่ควบคุมคีย์ผู้ดูแลระบบสำหรับระบบเหล่านั้น (ในกรณีของ Wormhole นี่คือ multisig ของ 13/19 ของตัวตรวจสอบความถูกต้อง) สิ่งนี้เคยเป็นปัญหาอย่างมากซึ่งส่งผลให้เกิดปัญหาหลายอย่างสำหรับWormholeและNomadและโดยทั่วไปมองว่าเป็นการปฏิบัติที่ไม่ปลอดภัยสำหรับแอปพลิเคชัน การใช้ค่าดีฟอลต์ของ LayerZero นั้นเทียบเท่ากับระบบเหล่านี้ทุกประการ แอปพลิเคชันกำลังมอบหมายการควบคุมพารามิเตอร์ให้กับชุดคีย์ผู้ดูแลระบบภายนอก และพึ่งพาไม่ให้บุคคลเหล่านั้นกระทำการที่มุ่งร้าย

ความแตกต่างอยู่ที่แต่ละระบบ แอปพลิเคชันไม่มีการควบคุมใด ๆ และไม่สามารถป้องกันไม่ให้ [ระบบ] บังคับการอัปเกรดเหล่านี้กับพวกเขาและเปลี่ยนพฤติกรรมการส่งข้อความพื้นฐานหรือสมมติฐานความน่าเชื่อถือสำหรับโปรโตคอล

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

Suggested posts

วิธีช่วยโลกและสร้างรายได้

วิธีช่วยโลกและสร้างรายได้

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

การสร้าง zk-SNARKs (เล่มที่ 2)

zkSNARKs สำหรับพหุนาม ทีละขั้นตอน

การสร้าง zk-SNARKs (เล่มที่ 2)

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

Related posts

ชีวิตไร้ขีดจำกัด

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

บทสนทนาอันตราย

บทสนทนาอันตราย

หากเราต้องการจะเติบโตบนโลกใบนี้ต่อไป เราจะต้องสนทนาที่อันตราย คนที่ท้าทายสิ่งที่เราทำ สิ่งที่เรากำลังทำ และสิ่งที่เรากำลังจะทำต่อไป (หรือกำลังวางแผนที่จะทำ)

ความท้าทายในการอ่าน Goodreads เป็นพิษ

ความท้าทายในการอ่าน Goodreads เป็นพิษ

อาการคันในมือของฉันลามไปทั่วเมื่อฉันต่อรองราคากับร้านหนังสือในท้องถิ่นเพื่อซื้อหนังสืออีกเล่มหนึ่ง หนังสือเล่มนี้เหมือนกับหนังสืออื่นๆ ที่ฉันเพิ่งซื้อเมื่อเร็วๆ นี้ จะพบบัลลังก์บนกอง 'To Be Read' (TBR) ของฉัน; และถึงกระนั้นฉันก็ซื้อมัน

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

“เขาจะปกป้องฉันเมื่อฉันตกอยู่ในอันตราย เขาจะซ่อนฉันไว้ในเต็นท์ของเขา