Polkadot: видение гетерогенной многоцепной структуры
บทคัดย่อ
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 ดร. กาวิน วู้ด ผู้ก่อตั้ง ETHEREUM และความเท่าเทียมกัน กาวิน@PARITY.IO นามธรรม สถาปัตยกรรม blockchain ในปัจจุบันล้วนประสบกับปัญหาหลายประการ ไม่เพียงแต่ความสามารถในการขยายและความสามารถในการปรับขนาดในทางปฏิบัติเท่านั้น เราเชื่อว่าสิ่งนี้เกิดจากการเชื่อมโยงสองส่วนที่สำคัญมากของสถาปัตยกรรมฉันทามติ กล่าวคือ canonicality และ validity ใกล้เคียงกันเกินไป บทความนี้จะแนะนำสถาปัตยกรรม มัลติเชนที่ต่างกัน ซึ่งทำให้ทั้งสองแยกจากกันโดยพื้นฐาน ในการแบ่งส่วนทั้งสองส่วนนี้ออก และโดยการรักษาฟังก์ชันการทำงานโดยรวมให้เหลือน้อยที่สุด ด้านความปลอดภัยและการคมนาคมขนส่ง เราแนะนำวิธีการปฏิบัติจริงของความสามารถในการขยายหลักในแหล่งกำเนิด ความสามารถในการปรับขนาดได้รับการแก้ไขผ่าน แนวทางการแบ่งแยกและพิชิตสำหรับทั้งสองหน้าที่นี้ โดยขยายขอบเขตออกจากแกนกลางที่เชื่อมโยงกันด้วยการสร้างแรงจูงใจของ โหนดสาธารณะที่ไม่น่าเชื่อถือ ลักษณะที่แตกต่างกันของสถาปัตยกรรมนี้ช่วยให้ระบบฉันทามติประเภทที่แตกต่างกันอย่างมากทำงานร่วมกันใน "สหพันธ์" ที่ไร้ความไว้วางใจและกระจายอำนาจอย่างเต็มที่ ทำให้เครือข่ายแบบเปิดและแบบปิดสามารถเข้าถึงโดยปราศจากความไว้วางใจ กันและกัน เราหยิบยกวิธีการมอบความเข้ากันได้แบบย้อนหลังกับเครือข่ายที่มีอยู่แล้วตั้งแต่หนึ่งเครือข่ายขึ้นไป เช่น Ethereum. เราเชื่อว่าระบบดังกล่าวให้องค์ประกอบระดับฐานที่เป็นประโยชน์ในการค้นหาโดยรวมในทางปฏิบัติ ระบบที่นำไปปฏิบัติได้ซึ่งมีความสามารถในการปรับขนาดและความเป็นส่วนตัวในระดับการค้าระดับโลก 1. คำนำ ข้อมูลนี้มีวัตถุประสงค์เพื่อเป็น "วิสัยทัศน์" ทางเทคนิคโดยสรุป ของทิศทางหนึ่งที่เป็นไปได้ที่อาจนำไปใช้ในการพัฒนากระบวนทัศน์ blockchain เพิ่มเติม พร้อมด้วยเหตุผลบางประการว่าทำไมทิศทางนี้จึงสมเหตุสมผล มันวางอยู่ใน รายละเอียดให้มากที่สุดเท่าที่จะเป็นไปได้ในขั้นตอนของการพัฒนานี้ ระบบที่อาจให้การปรับปรุงอย่างเป็นรูปธรรมใน จำนวนแง่มุมของเทคโนโลยี blockchain ไม่ได้มีวัตถุประสงค์เพื่อเป็นการระบุรายละเอียด เป็นทางการหรืออย่างอื่น ไม่ได้มีวัตถุประสงค์เพื่อให้ครอบคลุมหรือเพื่อเป็น การออกแบบขั้นสุดท้าย ไม่ได้มีวัตถุประสงค์เพื่อให้ครอบคลุมประเด็นที่ไม่ใช่ประเด็นหลัก ของเฟรมเวิร์ก เช่น API, การเชื่อมโยง, ภาษา และ การใช้งาน นี่เป็นการทดลองที่น่าสังเกต โดยที่พารามิเตอร์ ระบุไว้แล้วมีแนวโน้มที่จะเปลี่ยนแปลง กลไกจะ จะถูกเพิ่ม ปรับปรุง และลบออกเพื่อตอบสนองต่อชุมชน ความคิดและคำวิจารณ์ ส่วนใหญ่ของบทความนี้น่าจะเป็นไปได้ ได้รับการแก้ไขเป็นหลักฐานการทดลองและการสร้างต้นแบบให้ ข้อมูลของเราเกี่ยวกับสิ่งที่จะได้ผลและสิ่งที่ไม่ได้ผล เอกสารนี้ประกอบด้วยคำอธิบายหลักของระเบียบการพร้อมกับแนวคิดสำหรับแนวทางที่อาจนำไปปฏิบัติ เพื่อปรับปรุงด้านต่างๆ ก็มีจินตนาการว่าแกนกลาง คำอธิบายจะถูกใช้เป็นจุดเริ่มต้นสำหรับการเริ่มต้น ชุดการพิสูจน์แนวคิด “เวอร์ชัน 1.0” สุดท้ายจะเป็น อิงตามระเบียบการที่ได้รับการปรับปรุงนี้พร้อมกับแนวคิดเพิ่มเติมที่ได้รับการพิสูจน์และมุ่งมั่นที่จะทำ จำเป็นเพื่อให้โครงการบรรลุเป้าหมาย 1.1. ประวัติศาสตร์. • 10 กันยายน 2559: 0.1.0-proof1 • 20/10/2559: 0.1.0-proof2 • 01/11/2016: 0.1.0-proof3 • 10/11/2559: 0.1.0 2. บทนำ Blockchains ได้แสดงให้เห็นถึงคำมั่นสัญญาที่ยอดเยี่ยมของประโยชน์ใช้สอยในหลาย ๆ ด้านรวมถึง “Internet of Things” (IoT) การเงิน การกำกับดูแล การจัดการข้อมูลประจำตัว การกระจายอำนาจทางเว็บ และการติดตามสินทรัพย์ อย่างไรก็ตาม แม้ว่า คำมั่นสัญญาทางเทคโนโลยีและการพูดคุยครั้งยิ่งใหญ่ที่เรายังไม่เคยเห็น การปรับใช้เทคโนโลยีปัจจุบันในโลกแห่งความเป็นจริงอย่างมีนัยสำคัญ เราเชื่อว่านี่เป็นความล้มเหลวหลักห้าประการในปัจจุบัน กองเทคโนโลยี: ความสามารถในการปรับขนาด: ปริมาณการใช้ทรัพยากรทั่วโลก ในการประมวลผลแบนด์วิธและการจัดเก็บเพื่อให้ระบบประมวลผลรายการเดียวและจำนวนเท่าใด ธุรกรรมสามารถดำเนินการได้ตามสมควรภายใต้ สภาวะสูงสุด? การแยกตัวได้: ความต้องการที่แตกต่างกันของหลาย ๆ สามารถ ฝ่ายและแอปพลิเคชันได้รับการแก้ไขในระดับที่ใกล้เคียงที่สุดภายใต้กรอบการทำงานเดียวกันหรือไม่ การพัฒนา: เครื่องมือทำงานได้ดีแค่ไหน? ทำ API ตอบสนองความต้องการของนักพัฒนาหรือไม่? มีสื่อการเรียนไหม? มีการบูรณาการที่ถูกต้องหรือไม่? การกำกับดูแล: เครือข่ายสามารถคงความยืดหยุ่นไว้ได้หรือไม่ พัฒนาและปรับตัวตามกาลเวลา? ตัดสินใจได้ สร้างขึ้นด้วยความครอบคลุม ความชอบธรรม และ ความโปร่งใสเพื่อให้ความเป็นผู้นำที่มีประสิทธิผลของ ระบบกระจายอำนาจ? การบังคับใช้: เทคโนโลยีนี้ตอบสนองความต้องการอันร้อนแรงด้วยตัวมันเองจริงหรือ จำเป็นต้องใช้ “มิดเดิลแวร์” อื่นๆ เพื่อลดช่องว่างนี้หรือไม่ การใช้งานจริง? ในงานปัจจุบัน เรามุ่งหวังที่จะกล่าวถึงสองเรื่องแรก ประเด็นสำคัญ: ความสามารถในการปรับขนาดและการแยกตัวได้ ก็บอกแล้วเราเชื่อ กรอบงาน Polkadot สามารถให้การปรับปรุงที่มีความหมายในแต่ละประเภทของปัญหาเหล่านี้ การใช้งาน blockchain ที่ทันสมัยและมีประสิทธิภาพ เช่น ลูกค้า Parity Ethereum [17] สามารถดำเนินการได้ess เกินกว่า ธุรกรรม 3,000 รายการต่อวินาทีเมื่อทำงานบนฮาร์ดแวร์สำหรับผู้บริโภคที่มีประสิทธิภาพ อย่างไรก็ตาม โลกแห่งความเป็นจริงในปัจจุบัน blockchain เครือข่ายถูกจำกัดไว้ที่ประมาณ 30 เครือข่าย การทำธุรกรรมต่อวินาที ข้อจำกัดนี้ส่วนใหญ่มาจากข้อเท็จจริงที่ว่ากลไกฉันทามติแบบซิงโครนัสในปัจจุบันจำเป็นต้องมีระยะขอบด้านความปลอดภัยที่กว้าง ระยะเวลาการประมวลผลที่คาดไว้ ซึ่งจะรุนแรงขึ้นโดย 1
Аннотация
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 ДР. ГЭВИН ВУД ОСНОВАТЕЛЬ ETHEREUM И PARITY ГЭВИН@PARITY.IO Аннотация. Все современные архитектуры blockchain страдают от ряда проблем, не в последнюю очередь связанных с практическими средствами расширения и масштабируемости. Мы считаем, что это связано с объединением двух очень важных частей архитектуры консенсуса, а именно: каноничность и действительность слишком тесно связаны друг с другом. В этой статье представлена архитектура гетерогенной мультицепи, что фундаментально отличает их друг от друга. Разделив эти две части на отдельные части и сведя общую функциональность к абсолютному минимуму. безопасности и транспорта, мы представляем практические средства расширения ядра на месте. Масштабируемость обеспечивается за счет подход к этим двум функциям по принципу «разделяй и властвуй», расширяя свое связанное ядро за счет стимулирования ненадежные публичные узлы. Гетерогенная природа этой архитектуры позволяет множеству сильно различающихся типов консенсусных систем взаимодействовать в не требующей доверия, полностью децентрализованной «федерации», позволяя открытым и закрытым сетям иметь свободный от доверия доступ к друг друга. Мы предлагаем средства обеспечения обратной совместимости с одной или несколькими ранее существовавшими сетями, такими как Ethereum. Мы считаем, что такая система представляет собой полезный компонент базового уровня в общем поиске практического решения. реализуемая система, способная достичь уровня масштабируемости и конфиденциальности глобальной коммерции. 1. Предисловие Это краткое изложение технического «видения» одного возможного направления, которое может быть выбрано для дальнейшего развития парадигмы blockchain, вместе с некоторым обоснованием того, почему это направление целесообразно. Оно лежит в как можно больше деталей на данном этапе разработки система, которая может дать конкретное улучшение ряд аспектов технологии blockchain. Оно не предназначено для использования в качестве спецификации, формальной или иной. Он не претендует на то, чтобы быть всеобъемлющим или представлять собой окончательный дизайн. Он не предназначен для освещения неосновных аспектов. инфраструктуры, такие как API, привязки, языки и использование. Это особенно экспериментально; где параметры определены, они, вероятно, изменятся. Механизмы будут добавлять, уточнять и удалять в ответ на запросы сообщества. идеи и критика. Большая часть этой статьи, скорее всего, будет быть пересмотрено по мере того, как экспериментальные данные и прототипирование дают нам информацию о том, что будет работать, а что нет. Этот документ включает основное описание протокола вместе с идеями относительно направлений, которые можно предпринять. для улучшения различных аспектов. Предполагается, что ядро описание будет использоваться в качестве отправной точки для первоначального серия доказательств концепции. Окончательная «версия 1.0» будет основанный на этом усовершенствованном протоколе вместе с дополнительными идеями, которые стали доказанными и полны решимости необходимы для того, чтобы проект достиг своих целей. 1.1. История. • 10.09.2016: 0.1.0-доказательство1 • 20.10.2016: 0.1.0-доказательство2 • 11.01.2016: 0.1.0-доказательство3 • 11.10.2016: 0.1.0 2. Введение Блокчейны продемонстрировали большие перспективы использования в нескольких областях, включая «Интернет вещей». (IoT), финансы, управление, управление идентификацией, веб-децентрализация и отслеживание активов. Однако, несмотря на технологические обещания и грандиозные разговоры, нам еще предстоит увидеть значительное реальное внедрение современных технологий. Мы считаем, что это связано с пятью ключевыми неудачами нынешней политики. технологические стеки: Масштабируемость: сколько ресурсов тратится по всему миру. об обработке, пропускной способности и хранилище, позволяющем системе обрабатывать одну транзакцию и сколько транзакции могут быть разумно обработаны в соответствии с пиковые условия? Изолируемость: могут ли различающиеся потребности нескольких Стороны и заявления будут рассматриваться в почти оптимальной степени в рамках одних и тех же рамок? Возможность разработки: насколько хорошо работают инструменты? Делай API отвечают потребностям разработчиков? Доступны ли учебные материалы? Есть ли нужные интеграции? Управление: может ли сеть оставаться гибкой для развиваться и адаптироваться с течением времени? Могут ли решения быть сделано с достаточной инклюзивностью, легитимностью и прозрачность для обеспечения эффективного руководства децентрализованная система? Применимость: действительно ли технология сама по себе решает острую потребность? Требуется ли другое «промежуточное программное обеспечение», чтобы устранить разрыв в реальные приложения? В настоящей работе мы стремимся рассмотреть первые два. проблемы: масштабируемость и изоляционность. Тем не менее, мы верим Платформа Polkadot может обеспечить значительные улучшения в каждом из этих классов проблем. Современные эффективные реализации blockchain, такие как клиент Parity Ethereum PH_0000 может обрабатыватьэто превышает 3000 транзакций в секунду при работе на производительном потребительском оборудовании. Однако нынешний реальный мир Сети blockchain практически ограничены примерно 30 транзакций в секунду. Это ограничение главным образом связано с тем, что современные механизмы синхронного консенсуса требуют больших временных запасов безопасности. ожидаемое время обработки, которое усугубляется 1
การแนะนำ
Blockchains ได้แสดงให้เห็นถึงคำมั่นสัญญาที่ยอดเยี่ยมของประโยชน์ใช้สอยในหลาย ๆ ด้านรวมถึง “Internet of Things” (IoT) การเงิน การกำกับดูแล การจัดการข้อมูลประจำตัว การกระจายอำนาจทางเว็บ และการติดตามสินทรัพย์ อย่างไรก็ตาม แม้ว่า คำมั่นสัญญาทางเทคโนโลยีและการพูดคุยครั้งยิ่งใหญ่ที่เรายังไม่เคยเห็น การปรับใช้เทคโนโลยีปัจจุบันในโลกแห่งความเป็นจริงอย่างมีนัยสำคัญ เราเชื่อว่านี่เป็นความล้มเหลวหลักห้าประการในปัจจุบัน กองเทคโนโลยี: ความสามารถในการปรับขนาด: ปริมาณการใช้ทรัพยากรทั่วโลก ในการประมวลผลแบนด์วิธและการจัดเก็บเพื่อให้ระบบประมวลผลรายการเดียวและจำนวนเท่าใด ธุรกรรมสามารถดำเนินการได้ตามสมควรภายใต้ สภาวะสูงสุด? การแยกตัวได้: ความต้องการที่แตกต่างกันของหลาย ๆ สามารถ ฝ่ายและแอปพลิเคชันได้รับการแก้ไขในระดับที่ใกล้เคียงที่สุดภายใต้กรอบการทำงานเดียวกันหรือไม่ การพัฒนา: เครื่องมือทำงานได้ดีแค่ไหน? ทำ API ตอบสนองความต้องการของนักพัฒนาหรือไม่? มีสื่อการเรียนไหม? มีการบูรณาการที่ถูกต้องหรือไม่? การกำกับดูแล: เครือข่ายสามารถคงความยืดหยุ่นไว้ได้หรือไม่ พัฒนาและปรับตัวตามกาลเวลา? ตัดสินใจได้ สร้างขึ้นด้วยความครอบคลุม ความชอบธรรม และ ความโปร่งใสเพื่อให้ความเป็นผู้นำที่มีประสิทธิผลของ ระบบกระจายอำนาจ? การบังคับใช้: เทคโนโลยีนี้ตอบสนองความต้องการอันร้อนแรงด้วยตัวมันเองจริงหรือ จำเป็นต้องใช้ “มิดเดิลแวร์” อื่นๆ เพื่อลดช่องว่างนี้หรือไม่ การใช้งานจริง? ในงานปัจจุบัน เรามุ่งหวังที่จะกล่าวถึงสองเรื่องแรก ประเด็นสำคัญ: ความสามารถในการปรับขนาดและการแยกตัวได้ ก็บอกแล้วเราเชื่อ กรอบงาน Polkadot สามารถให้การปรับปรุงที่มีความหมายในแต่ละประเภทของปัญหาเหล่านี้ การใช้งาน blockchain ที่ทันสมัยและมีประสิทธิภาพ เช่น ลูกค้า Parity Ethereum [17] สามารถประมวลผลได้เกินกว่า ธุรกรรม 3,000 รายการต่อวินาทีเมื่อทำงานบนฮาร์ดแวร์สำหรับผู้บริโภคที่มีประสิทธิภาพ อย่างไรก็ตาม โลกแห่งความเป็นจริงในปัจจุบัน blockchain เครือข่ายถูกจำกัดไว้ที่ประมาณ 30 เครือข่าย การทำธุรกรรมต่อวินาที ข้อจำกัดนี้ส่วนใหญ่มาจากข้อเท็จจริงที่ว่ากลไกฉันทามติแบบซิงโครนัสในปัจจุบันจำเป็นต้องมีระยะขอบด้านความปลอดภัยที่กว้าง ระยะเวลาการประมวลผลที่คาดไว้ ซึ่งจะรุนแรงขึ้นโดยโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 2 ความปรารถนาที่จะสนับสนุนการใช้งานที่ช้าลง ทั้งนี้ก็เนื่องมาจาก สถาปัตยกรรมฉันทามติพื้นฐาน: กลไกการเปลี่ยนผ่านของรัฐ หรือวิธีการที่ฝ่ายต่างๆ เปรียบเทียบ และดำเนินธุรกรรม โดยมีตรรกะที่เชื่อมโยงกันเป็นพื้นฐาน เข้าสู่กลไกฉันทามติ "canonicalization" หรือ หมายถึงการที่ฝ่ายใดฝ่ายหนึ่งตกลงกันอย่างใดอย่างหนึ่งในจำนวนหนึ่ง เป็นไปได้ ถูกต้อง ประวัติศาสตร์ สิ่งนี้ใช้ได้กับทั้งระบบ proof-of-work (PoW) เช่น Bitcoin [15] และ Ethereum [5,23] และระบบ Proofof-stake (PoS) เช่น NXT [8] และ Bitshares [12]: ในที่สุดทุกคนก็ต้องทนทุกข์ทรมานจากความพิการแบบเดียวกัน มันเป็นเรื่องง่าย กลยุทธ์ที่ช่วยให้ blockchains ประสบความสำเร็จ อย่างไรก็ตาม โดยการเชื่อมต่อกลไกทั้งสองนี้เข้าด้วยกันอย่างแน่นหนาเป็นหน่วยเดียว ของโปรโตคอล เรายังรวมกลุ่มที่แตกต่างกันหลายรายการไว้ด้วยกัน นักแสดงและแอปพลิเคชันที่มีโปรไฟล์ความเสี่ยงที่แตกต่างกัน ข้อกำหนดความสามารถในการขยายขนาดที่แตกต่างกัน และความต้องการความเป็นส่วนตัวที่แตกต่างกัน ขนาดเดียวไม่เหมาะกับทั้งหมด บ่อยเกินไปที่จะเป็นกรณีที่ใน ความปรารถนาที่จะอุทธรณ์ในวงกว้าง เครือข่ายใช้ระดับของการอนุรักษ์ซึ่งส่งผลให้มีตัวส่วนร่วมต่ำที่สุด ให้บริการเพียงไม่กี่อย่างอย่างเหมาะสมและนำไปสู่ความล้มเหลวในที่สุด ในความสามารถในการสร้างสรรค์ ดำเนินการ และปรับตัวในบางครั้ง อย่างมาก ระบบบางอย่างเช่นเช่น ข้อเท็จจริง [21] ยกเลิกกลไกการเปลี่ยนสถานะโดยสิ้นเชิง อย่างไรก็ตาม ส่วนใหญ่ ยูทิลิตี้ที่เราต้องการนั้นต้องการความสามารถในการเปลี่ยนสถานะ ตามเครื่องของรัฐที่ใช้ร่วมกัน ปล่อยมันไปก็ช่วยได้ ปัญหาทางเลือก มันไม่ได้ให้ทางเลือกอื่น วิธีการแก้ปัญหา ดังนั้นจึงดูเหมือนชัดเจนว่าเป็นทิศทางที่สมเหตุสมผลอย่างหนึ่ง เพื่อสำรวจเป็นเส้นทางสู่การประมวลผลแบบกระจายอำนาจที่ปรับขนาดได้ แพลตฟอร์มคือการแยกสถาปัตยกรรมฉันทามติจาก กลไกการเปลี่ยนผ่านของรัฐ และอาจไม่น่าแปลกใจเลยที่นี่คือกลยุทธ์ที่ Polkadot ใช้เป็นโซลูชันในการขยายขนาด 2.1. ระเบียบวิธี การนำไปใช้ และเครือข่าย ชอบ Bitcoin และ Ethereum, Polkadot อ้างถึงโปรโตคอลเครือข่ายและโปรโตคอลหลัก (สมมุติมาจนบัดนี้) พร้อมกัน เครือข่ายสาธารณะที่รันโปรโตคอลนี้ Polkadot มีวัตถุประสงค์เพื่อเป็นโครงการที่เปิดกว้างและฟรี ข้อกำหนดของโปรโตคอลอยู่ภายใต้ใบอนุญาต Creative Commons และ รหัสถูกวางไว้ภายใต้ใบอนุญาต FLOSS โครงการนี้ก็คือ พัฒนาในลักษณะเปิดกว้างและยอมรับการมีส่วนร่วม มันจะมีประโยชน์ที่ไหนก็ตาม ระบบของ RFC ที่ไม่เหมือนกัน ข้อเสนอการปรับปรุงหลามจะอนุญาตให้มีวิธีการ การทำงานร่วมกันอย่างเปิดเผยเกี่ยวกับการเปลี่ยนแปลงและการอัพเกรดโปรโตคอล การใช้งานโปรโตคอล Polkadot ครั้งแรกของเรา จะเป็นที่รู้จักในนามแพลตฟอร์ม Parity Polkadot และความตั้งใจ รวมการใช้งานโปรโตคอลเต็มรูปแบบพร้อมกับ API การผูกมัด เช่นเดียวกับการใช้งาน Parity blockchain อื่น ๆ PPP ได้รับการออกแบบให้เป็นสแต็กเทคโนโลยี blockchain วัตถุประสงค์ทั่วไป ไม่ใช่เฉพาะสำหรับเครือข่ายสาธารณะหรือสำหรับ การดำเนินงานของเอกชน/กิจการร่วมค้า การพัฒนาของมันเช่นนี้ ไกลได้รับทุนจากหลายฝ่ายรวมถึงผ่าน ได้รับทุนสนับสนุนจากรัฐบาลอังกฤษ บทความนี้ยังคงอธิบาย Polkadot ภายใต้ บริบทของเครือข่ายสาธารณะ ฟังก์ชันการทำงานที่เราจินตนาการไว้ในเครือข่ายสาธารณะนั้นเหนือกว่าฟังก์ชันที่จำเป็นใน การตั้งค่าทางเลือก (เช่น ส่วนตัวและ/หรือสมาคม) นอกจากนี้ ในบริบทนี้ ขอบเขตทั้งหมดของ Polkadot สามารถทำได้ อธิบายและอภิปรายได้ชัดเจนยิ่งขึ้น นี่ไม่ได้หมายถึง ผู้อ่านควรตระหนักว่ากลไกบางอย่างอาจเกิดขึ้นได้ ได้รับการอธิบาย (เช่น การทำงานร่วมกันกับเครือข่ายสาธารณะอื่นๆ) ซึ่งไม่เกี่ยวข้องโดยตรงกับ Polkadot เมื่อใช้งานภายใต้สถานการณ์ที่ไม่เปิดเผยต่อสาธารณะ (“ได้รับอนุญาต”) 2.2. ผลงานที่ผ่านมา. มีการเสนอการแยกฉันทามติพื้นฐานออกจากการเปลี่ยนผ่านรัฐอย่างไม่เป็นทางการ เป็นการส่วนตัวเป็นเวลาอย่างน้อยสองปี - Max Kaye เป็นผู้เสนอกลยุทธ์ดังกล่าวในช่วงแรก ๆ ของ Ethereum. โซลูชันที่ปรับขนาดได้ที่ซับซ้อนยิ่งขึ้นที่เรียกว่า Chain ไฟเบอร์ ย้อนหลังไปถึงเดือนมิถุนายน 2014 และเผยแพร่ครั้งแรกในภายหลัง ในปีนั้น 1 ได้สร้างกรณีของรีเลย์เชนเดียวและหลายเชนที่เป็นเนื้อเดียวกัน ทำให้เกิดกลไกการดำเนินการระหว่างเชนที่โปร่งใส ได้รับการจ่ายเงินสำหรับ Decoherence ผ่านเวลาแฝงของธุรกรรม—ธุรกรรมที่ต้องการ การประสานงานของส่วนต่าง ๆ ของระบบจะ ใช้เวลาในการประมวลผลนานขึ้น Polkadot ใช้สถาปัตยกรรมส่วนใหญ่จากสิ่งนั้นและการสนทนาติดตามผลด้วย แม้ว่าจะมีความแตกต่างกันอย่างมากในการออกแบบและการเตรียมการก็ตาม แม้ว่าจะไม่มีระบบใดเทียบได้กับ Polkadot จริงๆ แล้วในการผลิต มีหลายระบบที่เกี่ยวข้องกัน ได้รับการเสนอแม้ว่าจะมีน้อยคนในระดับที่สำคัญก็ตาม รายละเอียด ข้อเสนอเหล่านี้สามารถแตกออกเป็นระบบ ซึ่งลดหรือลดแนวคิดเรื่องการเชื่อมโยงกันทั่วโลก เครื่องของรัฐซึ่งพยายามให้บริการทั่วโลก เครื่องซิงเกิลตันที่สอดคล้องกันผ่านชิ้นส่วนที่เป็นเนื้อเดียวกัน และกลุ่มที่มุ่งเป้าไปที่ความหลากหลายเท่านั้น 2.2.1. ระบบที่ไม่มีสถานะสากล Factom [21] คือระบบที่แสดงให้เห็นถึง Canonicality โดยไม่ต้องปฏิบัติตาม ความถูกต้อง ช่วยให้สามารถบันทึกข้อมูลได้อย่างมีประสิทธิภาพ เนื่องจากการหลีกเลี่ยงสภาวะโลกและความยากลำบาก ด้วยการปรับขนาดที่นำมาซึ่งสิ่งนี้ถือได้ว่าเป็นโซลูชันที่ปรับขนาดได้ อย่างไรก็ตามดังที่ได้กล่าวไปแล้วว่าชุดนี้ ของปัญหาที่แก้ไขได้นั้นเข้มงวดและเล็กลงอย่างมาก Tangle [18] เป็นแนวทางใหม่ในระบบฉันทามติ แทนที่จะจัดเรียงธุรกรรมออกเป็นบล็อกและสร้างฉันทามติในรายการที่เชื่อมโยงกันอย่างเคร่งครัดเพื่อให้มีการจัดระเบียบการเปลี่ยนแปลงรัฐที่เป็นที่ยอมรับทั่วโลก ส่วนใหญ่กลับละทิ้งแนวคิดเรื่องการสั่งซื้อที่มีโครงสร้างหนักและแทนที่ ผลักดันให้เกิดกราฟแบบอะไซเคิลโดยตรงของธุรกรรมที่ขึ้นอยู่กับรายการภายหลังซึ่งจะช่วยให้รายการก่อนหน้าเป็นแบบมาตรฐาน ผ่านการอ้างอิงที่ชัดเจน สำหรับการเปลี่ยนแปลงสถานะโดยพลการ กราฟการพึ่งพานี้จะกลายเป็นเรื่องยากอย่างรวดเร็ว อย่างไรก็ตามสำหรับ UTXO model2 ที่ง่ายกว่ามากสิ่งนี้จะกลายเป็น ค่อนข้างสมเหตุสมผล เนื่องจากระบบมีความสอดคล้องกันอย่างหลวมๆ เท่านั้น และโดยทั่วไปธุรกรรมจะเป็นอิสระจากกัน ประการอื่น ความเท่าเทียมระดับโลกจำนวนมากกลายมาค่อนข้างมาก เป็นธรรมชาติ การใช้โมเดล UTXO จะมีผล ffect ของการจำกัด Tangle ให้เป็น “สกุลเงิน” การโอนมูลค่าล้วนๆ ระบบมากกว่าสิ่งทั่วไปหรือขยายได้ นอกจากนี้ หากปราศจากการเชื่อมโยงกันทั่วโลกอย่างหนัก การโต้ตอบกับระบบอื่นๆ—ซึ่งมีแนวโน้มว่าจะต้องมีความสมบูรณ์ ความรู้ระดับปริญญาเหนือสถานะของระบบ—กลายเป็นสิ่งที่ปฏิบัติไม่ได้ 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2เอาท์พุทธุรกรรมที่ยังไม่ได้ใช้ แบบจำลองที่ Bitcoin ใช้โดยที่สถานะเป็นชุดของที่อยู่ที่เกี่ยวข้องกับค่าบางอย่างอย่างมีประสิทธิภาพ ธุรกรรมจะเปรียบเทียบที่อยู่ดังกล่าวและปฏิรูปให้เป็นที่อยู่ชุดใหม่ซึ่งมียอดรวมเท่ากัน
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 3 2.2.2. ระบบโซ่ต่างกัน โซ่ข้าง [3] คือ a ข้อเสนอเพิ่มเติมในโปรโตคอล Bitcoin ซึ่งจะอนุญาตให้มีปฏิสัมพันธ์ที่ไม่น่าเชื่อถือระหว่างห่วงโซ่ Bitcoin หลัก และโซ่ข้างเพิ่มเติม ไม่มีข้อกำหนดใดๆ ระดับของการโต้ตอบที่ 'สมบูรณ์' ระหว่าง side-chain: การโต้ตอบจะถูกจำกัดให้อนุญาตให้ side-chain เป็นได้ ผู้ดูแลทรัพย์สินของกันและกัน ซึ่งส่งผล – ในท้องถิ่น ศัพท์แสง—หมุดสองทาง 3 วิสัยทัศน์สุดท้ายมีไว้สำหรับกรอบงานที่สามารถระบุสกุลเงิน Bitcoin ได้ เพิ่มเติม ถ้ามีอุปกรณ์ต่อพ่วง ฟังก์ชันการทำงานผ่านการตรึงไว้ ไปยังเครือข่ายอื่นๆ ที่มีการเปลี่ยนแปลงสถานะที่แปลกใหม่มากขึ้น ระบบเกินกว่าที่โปรโตคอล Bitcoin อนุญาต ในแง่นี้ side-chains เน้นความสามารถในการขยายมากกว่าความสามารถในการขยายขนาด แท้จริงแล้ว ไม่มีข้อกำหนดพื้นฐานสำหรับความถูกต้องของไซด์เชน tokens จากห่วงโซ่เดียว (เช่น Bitcoin) จัดขึ้นในนามของห่วงโซ่ด้านข้างเท่านั้นที่มีการป้องกันโดย ความสามารถของ side-chain ในการจูงใจนักขุดให้ยอมรับมาตรฐาน การเปลี่ยนภาพที่ถูกต้อง ความปลอดภัยของเครือข่าย Bitcoin ไม่สามารถเปลี่ยนมาทำงานแทนผู้อื่นได้โดยง่าย blockchainส. นอกจากนี้ โปรโตคอลสำหรับการรับรอง Bitcoin นักขุดผสานเหมือง (ซึ่งเป็นการทำซ้ำอำนาจการกำหนดมาตรฐานของพวกเขาไปยังห่วงโซ่ด้านข้าง) และที่สำคัญกว่านั้นคือตรวจสอบความถูกต้องของการเปลี่ยนผ่านของห่วงโซ่ด้านข้างอยู่นอก ขอบเขตของข้อเสนอนี้ Cosmos [10] เป็นระบบหลายลูกโซ่ที่นำเสนอใน เส้นเดียวกับโซ่ข้าง สลับ Nakamoto PoW วิธีการที่เป็นเอกฉันท์สำหรับอัลกอริทึม Tendermint ของ Jae Kwon โดยพื้นฐานแล้ว มันอธิบายหลายเชน (ปฏิบัติการใน โซน) แต่ละแห่งใช้อินสแตนซ์ของ Tendermint ร่วมกับวิธีการสื่อสารที่ปราศจากความไว้วางใจผ่านทาง ห่วงโซ่ฮับหลัก การสื่อสารระหว่างเครือข่ายนี้จำกัดอยู่ที่การถ่ายโอนสินทรัพย์ดิจิทัล (“โดยเฉพาะเกี่ยวกับ tokens”) แทนที่จะเป็นข้อมูลที่กำหนดเอง อย่างไรก็ตาม การสื่อสารระหว่างเครือข่ายดังกล่าวมีเส้นทางส่งคืนข้อมูล เช่น เพื่อรายงานสถานะการโอนเงินให้ผู้ส่งทราบ เครื่องมือตรวจสอบความถูกต้องตั้งค่าสำหรับเชนแบบแบ่งโซน และโดยเฉพาะอย่างยิ่ง วิธีการจูงใจพวกเขาก็เหมือนกับโซ่ข้างซ้าย เป็นปัญหาที่ยังไม่ได้รับการแก้ไข สมมติฐานทั่วไปก็คือว่า แต่ละ chained chain จะเก็บ token ของค่าที่อัตราเงินเฟ้อถูกใช้เพื่อจ่ายสำหรับ validators ยังอยู่ในช่วงเริ่มต้น ของการออกแบบ ปัจจุบันข้อเสนอยังขาดรายละเอียดที่ครอบคลุมเกี่ยวกับวิธีการทางเศรษฐกิจในการบรรลุการขยายขนาด ความแน่นอนเหนือความถูกต้องสากล อย่างไรก็ตาม การเชื่อมโยงแบบหลวมๆ ที่จำเป็นระหว่างโซนและฮับจะช่วยให้ได้ เพื่อความยืดหยุ่นเพิ่มเติมเหนือพารามิเตอร์ของโซน โซ่เมื่อเปรียบเทียบกับระบบที่บังคับใช้แข็งแกร่งกว่า การเชื่อมโยงกัน 2.2.3. แคสเปอร์. ยังไม่มีรีวิวที่ครอบคลุมหรือการเปรียบเทียบแบบเทียบเคียงระหว่าง Casper [6] และ Polkadot ได้ทำไว้แล้วถึงแม้จะสามารถกวาดล้างได้พอสมควรก็ตาม (และไม่ถูกต้องตามลำดับ) ลักษณะของทั้งสอง Casper เป็นการพลิกโฉมวิธีการใช้อัลกอริธึมฉันทามติของ PoS อาจขึ้นอยู่กับผู้เข้าร่วมเดิมพันว่าส้อมใด ในที่สุดก็จะกลายเป็นที่ยอมรับ มีการพิจารณาอย่างมากเพื่อให้แน่ใจว่าเครือข่ายมีความแข็งแกร่ง forks แม้ว่าจะใช้เวลานานและมีระดับความสามารถในการขยายเพิ่มเติมนอกเหนือจากโมเดล Ethereum พื้นฐาน เช่น แคสเปอร์ในปัจจุบันมีแนวโน้มที่จะมีมากขึ้นอย่างมาก โปรโตคอลที่ซับซ้อนกว่า Polkadot และบรรพบุรุษของมัน และ การเบี่ยงเบนอย่างมากจากรูปแบบ blockchain พื้นฐาน มัน ยังไม่มีใครเห็นว่าแคสเปอร์จะทำซ้ำในอนาคตอย่างไร และจะมีลักษณะอย่างไรหากนำไปใช้จริงในที่สุด ในขณะที่ Casper และ Polkadot ต่างก็เป็นตัวแทนของโปรโตคอลใหม่ที่น่าสนใจ และในบางแง่มุม เป็นการเสริมของ Ethereum มีความแตกต่างอย่างมากระหว่างสิ่งเหล่านั้น เป้าหมายสูงสุดและเส้นทางสู่การใช้งาน แคสเปอร์เป็น Ethereum โครงการที่มีรากฐานเป็นศูนย์กลางซึ่งได้รับการออกแบบแต่แรกเริ่ม เป็นการเปลี่ยนแปลง PoS ของโปรโตคอลโดยไม่ต้องการ สร้าง blockchain ที่ปรับขนาดได้ขั้นพื้นฐาน ที่สำคัญก็คือ ออกแบบมาให้เป็นการฮาร์ดฟอร์ก แทนที่จะเป็นสิ่งอื่นใดที่กว้างขวางกว่า ดังนั้นลูกค้าและผู้ใช้ Ethereum ทั้งหมดจะเป็น จำเป็นต้องอัปเกรดหรือคงอยู่ในทางแยกของการนำไปใช้ที่ไม่แน่นอน ด้วยเหตุนี้ การใช้งานจึงยากขึ้นอย่างมาก เช่นเดียวกับที่มีอยู่ในโครงการที่มีการกระจายอำนาจในพื้นที่ที่คับแคบ จำเป็นต้องมีการประสานงาน Polkadot มีความแตกต่างหลายประการ ประการแรกและสำคัญที่สุด Polkadot ได้รับการออกแบบมาให้สามารถขยายและปรับขนาดได้อย่างสมบูรณ์ blockchain การทดสอบการพัฒนา การปรับใช้ และการโต้ตอบ เตียง มันถูกสร้างขึ้นเพื่อเป็นสายรัดที่สามารถป้องกันอนาคตได้ ดูดซึมใหม่ blockchainเทคโนโลยีเมื่อมีให้ใช้งานโดยไม่ต้องมีการประสานงานแบบกระจายอำนาจที่ซับซ้อนมากเกินไป หรือฮาร์ดฟอร์ก เราจินตนาการถึงกรณีการใช้งานหลายกรณีเช่นนี้แล้ว เป็นเครือข่ายร่วมที่เข้ารหัสและเครือข่ายความถี่สูง ด้วยเวลาบล็อกที่ต่ำมากซึ่งไม่สามารถทำได้จริง เวอร์ชันในอนาคตของ Ethereum ที่จินตนาการไว้ในปัจจุบัน ในที่สุด การมีเพศสัมพันธ์ระหว่างมันกับ Ethereum นั้นยอดเยี่ยมมาก หลวม; ไม่จำเป็นต้องดำเนินการใดๆ ในส่วนของ Ethereum เปิดใช้งานการส่งต่อธุรกรรมที่ไม่น่าเชื่อถือระหว่างทั้งสอง เครือข่าย กล่าวโดยย่อในขณะที่ Casper/Ethereum 2.0 และ Polkadot แบ่งปันความคล้ายคลึงกันบางอย่างที่เราเชื่อว่าเป็นเป้าหมายสุดท้ายของพวกเขา มีความแตกต่างอย่างมาก และแทนที่จะแข่งขันกัน โปรโตคอลทั้งสองมีแนวโน้มที่จะอยู่ร่วมกันในที่สุดภายใต้ ความสัมพันธ์ที่เป็นประโยชน์ร่วมกันในอนาคตอันใกล้
Введение
Блокчейны продемонстрировали большие перспективы использования в нескольких областях, включая «Интернет вещей». (IoT), финансы, управление, управление идентификацией, веб-децентрализация и отслеживание активов. Однако, несмотря на технологические обещания и грандиозные разговоры, нам еще предстоит увидеть значительное реальное внедрение современных технологий. Мы считаем, что это связано с пятью ключевыми неудачами нынешней политики. технологические стеки: Масштабируемость: сколько ресурсов тратится по всему миру. об обработке, пропускной способности и хранилище, позволяющем системе обрабатывать одну транзакцию и сколько транзакции могут быть разумно обработаны в соответствии с пиковые условия? Изолируемость: могут ли различающиеся потребности нескольких Стороны и заявления будут рассматриваться в почти оптимальной степени в рамках одних и тех же рамок? Возможность разработки: насколько хорошо работают инструменты? Делай API отвечают потребностям разработчиков? Доступны ли учебные материалы? Есть ли нужные интеграции? Управление: может ли сеть оставаться гибкой для развиваться и адаптироваться с течением времени? Могут ли решения быть сделано с достаточной инклюзивностью, легитимностью и прозрачность для обеспечения эффективного руководства децентрализованная система? Применимость: действительно ли технология сама по себе решает острую потребность? Требуется ли другое «промежуточное программное обеспечение», чтобы устранить разрыв в реальные приложения? В настоящей работе мы стремимся рассмотреть первые два. проблемы: масштабируемость и изоляционность. Тем не менее, мы верим Платформа Polkadot может обеспечить значительные улучшения в каждом из этих классов проблем. Современные эффективные реализации blockchain, такие как клиент четности Ethereum [17] может обрабатывать более 3000 транзакций в секунду при работе на производительном потребительском оборудовании. Однако нынешний реальный мир Сети blockchain практически ограничены примерно 30 транзакций в секунду. Это ограничение главным образом связано с тем, что современные механизмы синхронного консенсуса требуют больших временных запасов безопасности. ожидаемое время обработки, которое усугубляетсяPOLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 2 желание поддерживать более медленные реализации. Это связано с базовая архитектура консенсуса: механизм перехода состояний или средства, с помощью которых стороны сопоставляют информацию и выполнять транзакции, его логика фундаментально связана в консенсусный механизм «канонизации», или средства, с помощью которых стороны договариваются об одном из ряда возможные, действительные, истории. Это в равной степени относится как к системам proof-of-work (PoW), таким как Bitcoin [15] и Ethereum [5,23], так и к системам доказательства ставки (PoS), таким как NXT [8] и Bitshares [12]: все в конечном итоге страдают от одного и того же недостатка. Это простой стратегия, которая помогла blockchains добиться успеха. Однако, за счет тесного соединения этих двух механизмов в единое целое протокола, мы также объединяем несколько различных субъекты и приложения с разными профилями риска, разными требованиями к масштабируемости и разными потребностями в конфиденциальности. Один размер не подходит всем. Слишком часто бывает так, что в Стремясь к широкой привлекательности, сеть принимает определенную степень консерватизма, что приводит к наименьшему общему знаменателю. оптимально обслуживает немногих и в конечном итоге приводит к провалу в способности внедрять инновации, действовать и адаптироваться, иногда резко так. Некоторые системы, такие как, например. Факт [21] полностью отменяет механизм перехода состояний. Однако большая часть полезность, которую мы желаем, требует способности переходного состояния в соответствии с общим конечным автоматом. Удаление решает проблему альтернативная проблема; это не дает альтернативы решение. Таким образом, кажется очевидным, что одно разумное направление изучить как путь к масштабируемым децентрализованным вычислениям платформа заключается в том, чтобы отделить консенсусную архитектуру от механизм перехода состояний. И, возможно, неудивительно, что именно эту стратегию Polkadot использует в качестве решения проблемы масштабируемости. 2.1. Протокол, реализация и сеть. Нравится Bitcoin и Ethereum, Polkadot относятся одновременно к сетевому протоколу и (предполагаемому до сих пор) первичному общедоступная сеть, в которой работает этот протокол. Polkadot задуман как бесплатный и открытый проект, спецификация протокола находится под лицензией Creative Commons, а код размещается под лицензией FLOSS. Проект разрабатывается открыто и принимает вклады где бы они ни были полезны. Система RFC, мало чем отличающаяся от Предложения по усовершенствованию Python, позволят публичное сотрудничество по поводу изменений и обновлений протокола. Наша первоначальная реализация протокола Polkadot будет называться Платформа Parity Polkadot и будет включить полную реализацию протокола вместе с API привязки. Как и другие реализации четности blockchain, PPP представляет собой стек технологий общего назначения blockchain, предназначенный не только для сети общего пользования, но и для частная/консорциумная деятельность. Развитие его таким образом далеко финансируется несколькими сторонами, в том числе через грант британского правительства. Тем не менее, в этой статье Polkadot описывается под контекст публичной сети. Функциональность, которую мы видим в общедоступной сети, представляет собой расширенный набор функций, необходимых в альтернативные (например, частные и/или консорциумные) настройки. Более того, в этом контексте полная область действия Polkadot может быть более четко описаны и обсуждены. Это значит читатель должен знать, что определенные механизмы могут быть описаны (например, взаимодействие с другими общедоступными сетями), которые не имеют прямого отношения к Polkadot при развертывании в закрытых («разрешенных») ситуациях. 2.2. Предыдущая работа. Было неофициально предложено отделить основополагающий консенсус от перехода государства. в частном порядке в течение как минимум двух лет — Макс Кэй был сторонником такой стратегии в самые первые дни Ethereum. Более сложное масштабируемое решение, известное как Chain. волокна, датированные июнем 2014 года и впервые опубликованные позже. в том же году1 обосновал необходимость использования одной релейной цепи и нескольких однородных цепочек, обеспечивающих прозрачный механизм выполнения между цепочками. За декогеренцию заплатили через задержку транзакции — транзакции, требующие координация разрозненных частей системы будет обработка займет больше времени. Polkadot взял большую часть своей архитектуры из этого и последующих разговоров с разные люди, хотя он сильно различается по большей части своей конструкции и положений. Пока нет систем, сравнимых с Polkadot. на самом деле в производстве несколько систем, имеющих какое-то значение были предложены, хотя лишь немногие на сколько-нибудь существенном уровне деталь. Эти предложения могут бытьразбит на системы которые отбрасывают или уменьшают понятие глобально согласованного государственная машина, те, которые пытаются обеспечить глобальную когерентная одноэлементная машина через однородные осколки и те, которые нацелены только на неоднородность. 2.2.1. Системы без глобального состояния. Фактом [21] является система, демонстрирующая каноничность без соответствующего достоверность, что позволяет эффективно вести хронику данных. Из-за избегания глобального состояния и трудностей с учетом масштабирования, которое это дает, это можно считать масштабируемым решением. Однако, как уже говорилось ранее, набор количество проблем, которые он решает, строго и существенно меньше. Клубок [18] — это новый подход к консенсусным системам. Вместо того, чтобы организовывать транзакции в блоки и формировать консенсус по строго связанному списку, чтобы обеспечить глобально канонический порядок изменений состояний, он в значительной степени отказывается от идеи сильно структурированного упорядочения и вместо этого продвигает направленный ациклический граф зависимых транзакций с более поздними элементами, помогая канонизировать более ранние элементы посредством явных ссылок. Для произвольных изменений состояния этот граф зависимостей быстро стал бы неразрешимым, однако для гораздо более простой модели __PH_0006____2 это становится вполне разумно. Поскольку система лишь слабо когерентна, а транзакции, как правило, независимы от каждого с другой стороны, большое количество глобального параллелизма становится вполне натуральный. Использование модели UTXO действительно дает эффект ограничить Tangle чисто «валютой» для передачи ценностей система, а не что-то более общее или расширяемое. Более того, без жесткой глобальной согласованности взаимодействие с другими системами, которые, как правило, требуют абсолютного степень знания состояния системы становится непрактичной. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2вывод неизрасходованных транзакций, модель, которую использует Bitcoin, согласно которой состояние фактически представляет собой набор адресов, связанных с некоторым значением; транзакции сопоставляют такие адреса и преобразуют их в новый набор адресов, общая сумма которых эквивалентна
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 3 2.2.2. Гетерогенные цепные системы. Боковые цепи [3] — это предлагаемое дополнение к протоколу Bitcoin, которое позволит осуществлять доверительное взаимодействие между основной цепочкой Bitcoin и дополнительные боковые цепи. Никакого положения не предусмотрено степень «богатого» взаимодействия между боковыми цепями: взаимодействие будет ограничиваться возможностью хранители активов друг друга, действуя – на местном уровне жаргон — двусторонняя привязка 3. Конечная цель — создать структуру, в которой валюта Bitcoin может быть обеспечена дополнительная, хотя и периферийная, функциональность за счет ее привязки на некоторые другие цепочки с более экзотическим переходом состояний системах, чем позволяет протокол Bitcoin. В этом смысле Боковые цепи ориентированы на расширяемость, а не на масштабируемость. Действительно, принципиально не существует условий для действительности сайдчейнов; tokens из одной цепочки (например, Bitcoin) хранящиеся от имени боковой цепи, защищены только способность сайдчейна стимулировать майнеров к канонизации действительные переходы. Безопасность сети Bitcoin не может быть легко переведен на работу от имени других blockchainс. Кроме того, протокол обеспечения Bitcoin майнеры объединяют майнинг (то есть дублируют свои возможности канонизации на мощности боковой цепи) и, что более важно, подтверждают, что переходы боковой цепи находятся за пределами объем этого предложения. Cosmos [10] — это предлагаемая многоцепная система в то же самое, что и сайдчейны, заменяя PoW Накамото метод консенсуса для алгоритма Tendermint Джэ Квона. По сути, он описывает несколько цепочек (работающих в зоны), каждая из которых использует отдельные экземпляры Tendermint вместе со средствами доверительной связи через главная ступичная цепь. Эта межцепочная связь ограничивается передачей цифровых активов («в частности, около tokens»), а не произвольной информации, однако такая межцепочная связь действительно имеет обратный путь для данных, например сообщить отправителю о статусе перевода. Наборы валидаторов для зонированных цепочек, и в частности средства их стимулирования, как и сайдчейны, оставлены как нерешенная проблема. Общее предположение состоит в том, что каждая зонированная цепочка сама будет содержать token стоимости, инфляция которой используется для оплаты validators. Все еще на ранних стадиях дизайна, в настоящее время в предложении отсутствуют подробные сведения об экономических средствах достижения масштабируемого определенность важнее глобальной достоверности. Однако недостаточная согласованность, необходимая между зонами и концентратором, позволит для дополнительной гибкости по параметрам зонирования цепочек по сравнению с системой, обеспечивающей более строгое соблюдение согласованность. 2.2.3. Каспер. Пока еще нет комплексного обзора или параллельного сравнения Casper [6] и Polkadot. были сделаны, хотя можно сделать довольно широкий (и, соответственно, неточная) характеристика этих двоих. Casper — это переосмысление алгоритма консенсуса PoS. может быть основано на ставках участников на то, какой форк в конечном итоге станет каноническим. Существенное внимание было уделено обеспечению его устойчивости к сети. вилки, даже если они продлены, и имеют некоторую дополнительную степень масштабируемости поверх базовой модели Ethereum. Как таким образом, Каспер на сегодняшний день имеет тенденцию быть значительно более более сложный протокол, чем Polkadot и его предшественники, а также существенное отклонение от основного формата blockchain. Это остается неизвестным относительно того, как Каспер будет работать в будущем. и как он будет выглядеть, если он наконец будет развернут. Хотя Casper и Polkadot представляют собой новые интересные протоколы и, в некотором смысле, дополнения Ethereum, существуют существенные различия между их конечные цели и пути к развертыванию. Каспер – это Ethereum Первоначально разработанный проект, ориентированный на Фонд быть изменением протокола PoS без желания создайте принципиально масштабируемый blockchain. Принципиально важно, что это предназначен для хард-форка, а не для чего-то более обширного, и, таким образом, все клиенты и пользователи Ethereum будут необходимо обновить или остаться на вилке неопределенного внедрения. Таким образом, развертывание существенно усложняется, что характерно для децентрализованного проекта, где жесткие необходима координация. Polkadot отличается по нескольким причинам; прежде всего, Polkadot спроектирован как полностью расширяемый и масштабируемый blockchain тестирование разработки, развертывания и взаимодействия кровать. Она создана как привязь, ориентированная на будущее, способная ассимилировать новый blockchainтехнологии по мере их появления без чрезмерно сложной децентрализованной координации. или хардфорки. Мы уже предвидим несколько вариантов использования, таких как в виде зашифрованных цепочек консорциума и высокочастотных цепочек с очень низким временем блокировки, что нереально сделать в любая будущая версия Ethereum, предусмотренная в настоящее время. Наконец, связь между ним и Ethereum чрезвычайно рыхлый; никаких действий со стороны Ethereum не требуется, чтобы включить бездоверительную пересылку транзакций между двумя сети. Короче говоря, пока Каспер/Ethereum 2.0 и Polkadot поделиться некоторыми мимолетными сходствами, которые, как мы считаем, являются конечной целью существенно отличается и что вместо того, чтобы конкурировать, эти два протокола, вероятно, в конечном итоге будут сосуществовать под взаимовыгодные отношения в обозримом будущем.
สรุป
Polkadot คือ multi-chain ที่ต่างกันที่ปรับขนาดได้ นี้ หมายความว่าไม่เหมือนกับการใช้งาน blockchain ก่อนหน้านี้ ซึ่งได้เน้นการให้บริการห่วงโซ่เดียวที่แตกต่างกัน องศาทั่วไปเหนือแอปพลิเคชันที่เป็นไปได้ Polkadot ตัวมันเองได้รับการออกแบบมาเพื่อไม่ให้มีฟังก์ชันการทำงานของแอปพลิเคชันโดยธรรมชาติเลย แต่ Polkadot เป็นผู้ให้ข้อมูลพื้นฐาน “รีเลย์-เชน” ซึ่งสามารถตรวจสอบความถูกต้องได้จำนวนมาก โครงสร้างข้อมูลไดนามิกที่เชื่อมโยงกันทั่วโลกอาจถูกโฮสต์ เคียงข้างกัน เราเรียกโครงสร้างข้อมูลเหล่านี้ว่า "แบบขนาน" โซ่หรือพาราเชน แม้ว่าจะไม่จำเป็นต้องระบุเป็นพิเศษก็ตาม พวกมันจะมี blockchain ในธรรมชาติ กล่าวอีกนัยหนึ่ง Polkadot อาจถือว่าเทียบเท่ากับชุดของลูกโซ่อิสระ (เช่น ชุดที่มี Ethereum, Ethereum Classic, Namecoin และ Bitcoin) ยกเว้นสองประเด็นที่สำคัญมาก: • การรักษาความปลอดภัยแบบรวมกลุ่ม; • การทำธุรกรรมระหว่างเครือข่ายที่ปราศจากความไว้วางใจ ประเด็นเหล่านี้คือเหตุผลที่เราถือว่า Polkadot สามารถ "ปรับขนาดได้" โดยหลักการแล้ว ปัญหาที่จะปรับใช้บน Polkadot อาจถูกขนานอย่างมาก—ขยายขนาด—มากกว่า parachains จำนวนมาก เนื่องจากทุกแง่มุมของแต่ละคน parachain อาจดำเนินการแบบขนานโดยส่วนที่แตกต่างกันของเครือข่าย Polkadot ระบบมีความสามารถบางอย่าง เพื่อปรับขนาด Polkadot ให้ชิ้นส่วนที่ค่อนข้างเปลือยเปล่า 3 ซึ่งตรงข้ามกับหมุดทางเดียวซึ่งโดยพื้นฐานแล้วคือการทำลาย tokens ในสายโซ่หนึ่งเพื่อสร้าง tokens ในอีกสายหนึ่งโดยไม่มี กลไกในการสนทนาเพื่อกู้คืน tokens ดั้งเดิมโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 4 โครงสร้างพื้นฐานทำให้ความซับซ้อนมากต้องได้รับการแก้ไขในระดับมิดเดิลแวร์ นี่เป็นการตัดสินใจอย่างมีสติโดยมีจุดประสงค์เพื่อลดความเสี่ยงในการพัฒนา ซอฟต์แวร์ที่จำเป็นในการพัฒนาภายในระยะเวลาอันสั้น และมีความมั่นใจในระดับดีในเรื่องความปลอดภัยและ ความทนทาน 3.1. ปรัชญาของ Polkadot Polkadot ควร มอบรากฐานที่แข็งแกร่งอย่างแท้จริงให้กับคุณ สร้างคลื่นลูกใหม่ของระบบฉันทามติทันที สเปกตรัมความเสี่ยงจากการออกแบบที่ครบกำหนดในการผลิต สู่ความคิดใหม่ๆ ด้วยการให้การรับประกันที่รัดกุมในเรื่องความปลอดภัย การแยกตัว และการสื่อสาร Polkadot สามารถทำได้ parachains ให้เลือกจากคุณสมบัติต่างๆ มากมาย แท้จริงแล้ว เราคาดการณ์ว่า blockchain การทดลองต่างๆ จะผลักดันคุณสมบัติของสิ่งที่ถือว่าสมเหตุสมผล วันนี้ เราเห็นอนุรักษ์นิยม เครือที่มีมูลค่าสูงคล้ายกับ Bitcoin หรือ Z-cash [20] อยู่ร่วมกันพร้อมกับมูลค่าที่ต่ำกว่า “theme-chains” (การตลาดที่สนุกสนานมาก) และเครือข่ายทดสอบ โดยมีค่าธรรมเนียมเป็นศูนย์หรือเกือบเป็นศูนย์ เราเห็นการเข้ารหัสอย่างสมบูรณ์ “มืด” กลุ่มเครือที่ดำเนินงานเคียงข้าง—และแม้กระทั่ง ให้บริการแก่—เครือข่ายแบบเปิดและใช้งานได้ดี เช่นที่ชอบ Ethereum เราเห็นการทดลองใหม่ๆ เครือข่ายที่ใช้ VM เช่น wasm ที่คิดตามเวลาแบบอัตนัย ห่วงโซ่ที่ถูกใช้เป็นวิธีหนึ่งในเอาท์ซอร์สปัญหาการคำนวณที่ยากจากห่วงโซ่ที่มีลักษณะคล้าย Ethereum ที่เป็นผู้ใหญ่มากขึ้น หรือเชนแบบ Bitcoin ที่จำกัดมากขึ้น ในการจัดการการอัพเกรดลูกโซ่ Polkadot จะทำโดยธรรมชาติ สนับสนุนโครงสร้างการกำกับดูแลบางประเภทซึ่งอาจอิงตาม เกี่ยวกับระบบการเมืองที่มั่นคงที่มีอยู่และมีแง่มุมสองสภาที่คล้ายกับสภากระดาษเหลือง [24] เช่น ผู้มีอำนาจขั้นสูงสุด ผู้ถือ token ที่มีความเชื่อถือได้จะมีการควบคุม "การลงประชามติ" เพื่อสะท้อนถึงผู้ใช้ ความจำเป็นในการพัฒนา แต่ความต้องการของนักพัฒนาในด้านความชอบธรรม เราคาดหวังว่าจะมีทิศทางที่สมเหตุสมผล สองห้องจากคณะกรรมการ "ผู้ใช้" (ประกอบด้วย ผูกมัด validators) และมีการจัดตั้งคณะกรรมการ "ด้านเทคนิค" ของนักพัฒนาลูกค้ารายใหญ่และผู้เล่นในระบบนิเวศ ที่ เนื้อหาของผู้ถือ token จะรักษาความชอบธรรมขั้นสูงสุดและก่อให้เกิดความยิ่งใหญ่ในการขยาย ปรับพารามิเตอร์ แทนที่หรือยุบโครงสร้างนี้ ซึ่งเป็นสิ่งที่เรา อย่าสงสัยในความจำเป็นในที่สุด: ตามคำพูดของทเวน “รัฐบาลและผ้าอ้อมต้องเปลี่ยนบ่อยๆและเพื่อ เหตุผลเดียวกัน” ในขณะที่การกำหนดพารามิเตอร์ใหม่โดยทั่วไปเป็นเรื่องเล็กน้อยในการจัดเตรียมภายในกลไกฉันทามติที่ใหญ่กว่า การเปลี่ยนแปลงเชิงคุณภาพมากกว่า เช่น การแทนที่และการเพิ่มจะ มีแนวโน้มว่าจะต้องเป็น “คำสั่งซอฟต์เดครี” ที่ไม่อัตโนมัติ (เช่น ผ่านการบัญญัติมาตรฐานของหมายเลขบล็อกและ hash ของเอกสารที่ระบุโปรโตคอลใหม่อย่างเป็นทางการ) หรือจำเป็นต้องมีกลไกฉันทามติหลักเพื่อให้มี ภาษาที่อุดมสมบูรณ์เพียงพอที่จะอธิบายแง่มุมใด ๆ ของตัวเอง ซึ่งอาจจำเป็นต้องเปลี่ยนแปลง อันหลังเป็นเป้าหมายสุดท้าย อย่างไรก็ตาม อดีตมีแนวโน้มที่จะถูกเลือกเพื่อที่จะ อำนวยความสะดวกในการพัฒนาไทม์ไลน์ที่เหมาะสม หลักคำสอนหลักของ Polkadot และกฎเกณฑ์ภายในนั้น เราประเมินการตัดสินใจออกแบบทั้งหมดคือ: น้อยที่สุด: Polkadot ควรมีฟังก์ชันการทำงานน้อยที่สุด ง่าย: ไม่ควรมีความซับซ้อนเพิ่มเติม ในโปรโตคอลพื้นฐานเกินกว่าที่จะสมเหตุสมผล ที่ถูกโหลดเข้าสู่มิดเดิลแวร์ วางผ่านก parachain หรือนำมาใช้ในการเพิ่มประสิทธิภาพในภายหลัง ทั่วไป: ไม่มีข้อกำหนดที่ไม่จำเป็น, ข้อจำกัด หรือควรวางข้อจำกัดไว้บนพาราเชน Polkadot ควรเป็นเตียงทดสอบสำหรับการพัฒนาระบบฉันทามติที่สามารถปรับให้เหมาะสมได้ผ่าน ทำให้แบบจำลองที่ส่วนขยายพอดีกับนามธรรมมากที่สุด แข็งแกร่ง: Polkadot ควรจัดให้มีพื้นฐาน ชั้นฐานที่มั่นคง นอกจากความสมบูรณ์ทางเศรษฐกิจแล้ว ยังหมายถึงการกระจายอำนาจเพื่อลดให้เหลือน้อยที่สุดอีกด้วย เวกเตอร์สำหรับการโจมตีที่ให้ผลตอบแทนสูง
Краткое содержание
Polkadot — это масштабируемая гетерогенная мультицепочка. Это означает, что в отличие от предыдущих реализаций blockchain которые сосредоточились на обеспечении единой цепочки различных степени общности потенциальных приложений, Polkadot сам по себе не предназначен для обеспечения каких-либо встроенных функций приложения. Скорее, Polkadot обеспечивает основу «релейная цепочка», на которой большое количество проверяемых, глобально-когерентные динамические структуры данных могут размещаться бок о бок. Мы называем эти структуры данных «параллельными». цепочки или парацепи, хотя особой необходимости в них нет. они должны быть blockchain по своей природе. Другими словами, Polkadot можно считать эквивалентным набору независимых цепочек (например, набору, содержащему Ethereum, Ethereum Classic, Namecoin и Bitcoin), за исключением двух очень важных моментов: • Объединенная безопасность; • межцепочечная транзакция без доверия. Именно по этим причинам мы считаем Polkadot «масштабируемым». В принципе, задача, которая будет развернута на Polkadot, может быть существенно распараллелена — масштабирована — через большое количество парачейнов. Поскольку все аспекты каждого парачейн может проводиться параллельно разными сегментами сети Polkadot, система имеет некоторую возможность масштабировать. Polkadot представляет собой довольно простой фрагмент 3в отличие от односторонней привязки, которая по сути представляет собой действие по уничтожению token в одной цепочке для создания token в другой без механизм, позволяющий сделать обратное, чтобы восстановить исходные tokensPOLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 4 инфраструктура, оставляя большую часть сложностей решать на уровне промежуточного программного обеспечения. Это сознательное решение, направленное на снижение риска развития, позволяющее необходимое программное обеспечение, которое будет разработано в короткие сроки и с хорошим уровнем уверенности в своей безопасности и надежность. 3.1. Философия Polkadot. Polkadot должен обеспечить абсолютную прочную основу для построить следующую волну консенсусных систем, вплоть до спектр рисков от готовых к производству зрелых проектов к зарождающимся идеям. Предоставляя надежные гарантии безопасности, изоляции и связи, Polkadot может позволить парачейны для самостоятельного выбора из ряда свойств. Действительно, мы предвидим, что различные экспериментальные blockchain будут расширять свойства того, что можно было бы считать разумным. сегодня. Мы видим консерваторов, цепочки высокой добавленной стоимости, подобные Bitcoin или Z-cash PH_0000, сосуществующие рядом с более низкой стоимостью «тема-цепочки» (такой маркетинг, так весело) и тест-сети с нулевой или близкой к нулевой комиссией. Мы видим полностью зашифрованные, «темные» сети консорциумов, действующие бок о бок – и даже предоставление услуг — высокофункциональным и открытым цепочкам например, Ethereum. Мы видим экспериментальные новинки Цепочки на основе виртуальных машин, такие как субъективный васм с оплатой по времени цепочка используется как средство передачи сложных вычислительных задач на аутсорсинг из более зрелой цепочки, подобной Ethereum. или более ограниченную цепочку, подобную Bitcoin. Для управления обновлениями цепочки Polkadot по своей сути будет поддерживать некую структуру управления, вероятно, основанную на существующих стабильных политических системах и имеет двухпалатный аспект, аналогичный Совету «Желтой книги» [24]. Как высший орган власти, базовые держатели token будут иметь контроль «референдума». Чтобы отразить мнение пользователей потребность в развитии, но потребность разработчиков в легитимности, мы ожидаем, что разумным направлением будет формирование две палаты из комитета «пользователей» (состоящего из облигационные validators) и «технический» комитет, составленный крупных разработчиков клиентов и игроков экосистемы.
группа владельцев token будет сохранять максимальную легитимность и формировать сверхбольшинство для расширения, изменения параметров, замены или роспуска этой структуры, что мы и делаем. не сомневайтесь в возможной необходимости: по словам Твена «Правительства и подгузники надо менять часто, а для та же причина». В то время как репараметризацию обычно легко организовать в рамках более крупного механизма консенсуса, более качественные изменения, такие как замена и дополнение, могли бы быть осуществлены. вероятно, потребуются либо неавтоматизированные «мягкие указы» (например, посредством канонизации номера блока и hash документа, официально определяющего новый протокол) или сделать необходимым наличие основного механизма консенсуса для сдерживания достаточно богатый язык, чтобы описать любой аспект самого себя который, возможно, придется изменить. Последнее является конечной целью, однако первое, скорее всего, будет выбрано для того, чтобы обеспечить разумные сроки разработки. Основные принципы Polkadot и правила, в соответствии с которыми мы оцениваем все проектные решения: Минимально: Polkadot должен иметь как можно меньше функций. Просто: никаких дополнительных сложностей быть не должно. в базовом протоколе, чем это может быть разумно выгружается в промежуточное программное обеспечение, размещенный через parachain или введен в более поздней оптимизации. Общие сведения: нет ненужных требований и ограничений. или ограничения должны быть наложены на парачейны; Polkadot должен стать испытательной площадкой для разработки системы консенсуса, которую можно оптимизировать с помощью сделать модель, в которую вписываются расширения, максимально абстрактной. Надежный: Polkadot должен обеспечивать фундаментальную стабильный базовый слой. Помимо экономической устойчивости, это также означает децентрализацию с целью минимизации векторы для атак с высокой наградой.
การเข้าร่วมใน Polkadot
มีบทบาทพื้นฐานสี่ประการในการบำรุงรักษา Polkadot เครือข่าย: ผู้ประสานงาน ชาวประมง ผู้เสนอชื่อ และ validator ใน การใช้งานที่เป็นไปได้อย่างหนึ่งของ Polkadot บทบาทหลัง จริงๆ แล้วอาจแบ่งออกเป็นสองบทบาท: พื้นฐาน validator และผู้รับประกันความพร้อม; นี้จะกล่าวถึงในมาตรา 6.5.3. ผู้รวบรวม ชาวประมง ผู้ตรวจสอบความถูกต้อง (กลุ่มนี้) ผู้ตรวจสอบความถูกต้อง (กลุ่มอื่นๆ) อนุมัติ กลายเป็น จอภาพ รายงาน ไม่ดี พฤติกรรมที่จะ ให้บล็อก ผู้สมัคร สำหรับ ผู้เสนอชื่อ รูปที่ 1 ปฏิสัมพันธ์ระหว่าง สี่บทบาทของ Polkadot 4.1. ผู้ตรวจสอบความถูกต้อง A validator คือค่าใช้จ่ายสูงสุดและ ช่วยปิดผนึกบล็อกใหม่บนเครือข่าย Polkadot บทบาทของ validator ขึ้นอยู่กับความผูกพันที่สูงเพียงพอ กำลังฝากอยู่แม้ว่าเราจะอนุญาตให้ฝ่ายที่ถูกผูกมัดอื่น ๆ ก็ตาม เสนอชื่อ validator หนึ่งรายการขึ้นไปเพื่อดำเนินการแทนพวกเขาและเป็น บางส่วนของพันธะของ validator ดังกล่าวอาจไม่จำเป็นต้องเป็นของ validator เอง แต่เป็นของสิ่งเหล่านี้ ผู้เสนอชื่อ validator ต้องรันการใช้งานไคลเอ็นต์ลูกโซ่รีเลย์ที่มีความพร้อมใช้งานและแบนด์วิธสูง ในแต่ละบล็อค โหนดจะต้องพร้อมที่จะยอมรับบทบาทของการให้สัตยาบัน บล็อกใหม่บน parachain ที่ได้รับการเสนอชื่อ กระบวนการนี้ เกี่ยวข้องกับการรับ การตรวจสอบ และการเผยแพร่ผู้สมัครอีกครั้ง บล็อก การเสนอชื่อนั้นเป็นสิ่งที่กำหนดไว้ล่วงหน้าแต่แทบจะคาดเดาไม่ได้ล่วงหน้ามาก เนื่องจาก validator ไม่สามารถ คาดหวังได้อย่างสมเหตุสมผลว่าจะรักษาการซิงโครไนซ์อย่างเต็มที่ ฐานข้อมูลของ parachains ทั้งหมด คาดว่า validator จะเสนอชื่องานคิดค้นสิ่งใหม่ที่แนะนำ บล็อก parachain ให้กับบุคคลที่สามหรือที่เรียกว่า collator เมื่อบล็อกพาราเชนใหม่ทั้งหมดได้รับการรับรองอย่างเหมาะสมโดยกลุ่มย่อย validator ที่ได้รับการแต่งตั้งแล้ว validators จากนั้นจะต้องให้สัตยาบันต่อบล็อกรีเลย์โซ่เอง สิ่งนี้เกี่ยวข้องกับ อัปเดตสถานะของคิวธุรกรรม (โดยพื้นฐานแล้ว ย้ายข้อมูลจากเอาต์พุตคิวของ parachain ไปยังอีกคิวหนึ่ง คิวอินพุตของ parachain) ประมวลผลธุรกรรมของ การทำธุรกรรมสายโซ่รีเลย์ที่ให้สัตยาบันที่กำหนดและให้สัตยาบัน บล็อกสุดท้าย รวมถึงการเปลี่ยนแปลงพาราเชนสุดท้ายด้วยโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 5 validator ไม่ปฏิบัติหน้าที่ของตนในการค้นหาฉันทามติ ภายใต้กฎของอัลกอริทึมฉันทามติที่เราเลือกจะถูกลงโทษ สำหรับความล้มเหลวครั้งแรกโดยไม่ตั้งใจ ก็ถือว่าผ่านแล้ว ระงับรางวัลของ validator ความล้มเหลวซ้ำแล้วซ้ำเล่าส่งผลให้พันธบัตรด้านความปลอดภัยลดลง (ผ่านการเผา) การกระทำที่เป็นอันตรายที่พิสูจน์ได้ เช่น การลงนามสองครั้งหรือ การสมคบคิดที่จะจัดให้มีการบล็อกที่ไม่ถูกต้องส่งผลให้สูญเสีย พันธะทั้งหมด (ซึ่งถูกเผาบางส่วนแต่ส่วนใหญ่ให้มา) แก่ผู้ให้ข้อมูลและผู้แสดงที่ซื่อสัตย์) ในแง่หนึ่ง validators มีความคล้ายคลึงกับกลุ่มการขุด ของ PoW ปัจจุบัน blockchains 4.2. ผู้เสนอชื่อ ผู้เสนอชื่อเป็นฝ่ายที่ถือหุ้น ที่มีส่วนในหลักประกันความปลอดภัยของ validator พวกเขา ไม่มีบทบาทเพิ่มเติมยกเว้นการวางทุนความเสี่ยงและเป็น เช่นเพื่อส่งสัญญาณว่าพวกเขาเชื่อถือ validator โดยเฉพาะ (หรือ ที่กำหนดไว้) ให้ดำเนินการด้วยความรับผิดชอบในการบำรุงรักษา เครือข่าย พวกเขาได้รับการเพิ่มหรือลดตามสัดส่วน ในเงินฝากตามการเติบโตของพันธบัตรนั้น พวกเขามีส่วนร่วม ร่วมกับผู้เปรียบเทียบ ถัดไป ผู้เสนอชื่ออยู่ในบางส่วน มีความรู้สึกคล้ายกับนักขุดของเครือข่าย PoW ในปัจจุบัน 4.3. ผู้รวบรวม. ผู้เรียกเก็บเงินธุรกรรม (ผู้เรียกเก็บเงินระยะสั้น) เป็นฝ่ายที่ช่วยเหลือ validators ในการผลิตที่ถูกต้อง บล็อกพาราเชน พวกเขารักษา "โหนดเต็ม" สำหรับ parachain เฉพาะ หมายความว่าพวกเขาเก็บทุกสิ่งที่จำเป็นไว้ ข้อมูลเพื่อให้สามารถเขียนบล็อกใหม่และดำเนินการได้ การทำธุรกรรมในลักษณะเดียวกับที่นักขุดทำบน PoW blockchains ปัจจุบัน ภายใต้สถานการณ์ปกติพวกเขา จะเปรียบเทียบและดำเนินธุรกรรมเพื่อสร้างเปิดผนึก บล็อกและจัดเตรียมไว้พร้อมกับความรู้เป็นศูนย์ หลักฐานสำหรับ validator หนึ่งคนขึ้นไปที่รับผิดชอบในปัจจุบัน เสนอบล็อกพาราเชน ลักษณะความสัมพันธ์ที่ชัดเจนระหว่างผู้ทำงานร่วมกัน ผู้เสนอชื่อ และ validators มีแนวโน้มที่จะเปลี่ยนแปลงไป เวลา. ในตอนแรก เราคาดหวังให้ผู้ทำงานร่วมกันทำงานอย่างใกล้ชิด ด้วย validators เนื่องจากจะมีเพียงไม่กี่รายการเท่านั้น (บางที พาราเชนเพียงอันเดียวที่มีปริมาณธุรกรรมน้อย ที่ การใช้งานไคลเอนต์ครั้งแรกจะรวม RPC เพื่ออนุญาต โหนด collator parachain เพื่อจัดหาโหนด (relaychain) validator โดยไม่มีเงื่อนไขพร้อมกับ parachain ที่ถูกต้องที่พิสูจน์ได้ บล็อก เป็นค่าใช้จ่ายในการบำรุงรักษาเวอร์ชันที่ซิงค์ของ พาราเชนทั้งหมดเพิ่มขึ้น เราคาดว่าจะเห็นเพิ่มเติม โครงสร้างพื้นฐานที่จะช่วยแยกออกจากกัน หน้าที่ของพรรคอิสระที่มีแรงจูงใจทางเศรษฐกิจ ในที่สุด เราคาดว่าจะเห็นกลุ่มผู้เปรียบเทียบที่แย่งชิงกัน เก็บค่าธรรมเนียมการทำธุรกรรมมากที่สุด ผู้สมรู้ร่วมคิดดังกล่าวอาจได้รับการว่าจ้างให้ให้บริการ validators เฉพาะเจาะจงในช่วงระยะเวลาหนึ่งสำหรับส่วนแบ่งรางวัลที่ได้รับอย่างต่อเนื่อง อีกทางหนึ่ง ผู้ประสานงาน “อิสระ” อาจเพียงแค่สร้าง ตลาดที่นำเสนอบล็อก parachain ที่ถูกต้องเพื่อแลกกับส่วนแบ่งการแข่งขันของรางวัลที่จ่ายทันที ในทำนองเดียวกัน กลุ่มผู้เสนอชื่อแบบกระจายอำนาจจะอนุญาตให้มีหลายกลุ่ม ผู้เข้าร่วมผูกพันเพื่อประสานงานและแบ่งปันหน้าที่ของก validator. ความสามารถในการรวมกลุ่มนี้ช่วยให้มั่นใจได้ถึงการมีส่วนร่วมแบบเปิด นำไปสู่ระบบการกระจายอำนาจมากขึ้น 4.4. ชาวประมง. ต่างจากอีกสองพรรคที่ยังเคลื่อนไหวอยู่ ชาวประมงไม่เกี่ยวข้องโดยตรงกับการเขียนบล็อก กระบวนการ แต่เป็น “นักล่าเงินรางวัล” ที่เป็นอิสระ ได้รับแรงบันดาลใจจากรางวัลใหญ่รางวัลเดียว เนื่องมาจาก การมีอยู่ของชาวประมง เราคาดว่าเหตุการณ์ความประพฤติไม่ดีจะเกิดขึ้นน้อยครั้ง และเมื่อเกิดขึ้นเพียงเพราะ ผู้ถูกผูกมัดประมาทกับการรักษาความปลอดภัยด้วยกุญแจลับ มากกว่าด้วยเจตนาร้าย ชื่อก็มา. จากความถี่ในการให้รางวัลที่คาดหวัง ข้อกำหนดขั้นต่ำในการเข้าร่วม และขนาดรางวัลในท้ายที่สุด ชาวประมงจะได้รับรางวัลจากการพิสูจน์อย่างทันท่วงทีว่า ฝ่ายที่ถูกผูกมัดอย่างน้อยหนึ่งฝ่ายกระทำการผิดกฎหมาย การกระทำที่ผิดกฎหมาย รวมถึงการลงนามสองช่วงตึกโดยแต่ละช่วงตึกมีผู้ปกครองที่ให้สัตยาบันคนเดียวกัน หรือในกรณีของพาราเชน จะช่วยให้สัตยาบันเป็นโมฆะ บล็อก เพื่อป้องกันการให้รางวัลมากเกินไปหรือการประนีประนอมและ การใช้รหัสลับของเซสชันอย่างผิดกฎหมาย ซึ่งเป็นรางวัลพื้นฐานสำหรับ การระบุข้อความที่ลงนามอย่างผิดกฎหมายของ validator เพียงข้อความเดียวคือ น้อยที่สุด รางวัลนี้จะเพิ่มขึ้นแบบไม่แสดงอาการเช่นกัน การยืนยันลายเซ็นที่ผิดกฎหมายจาก validators อื่นๆ ถือเป็นการโจมตีอย่างแท้จริง เส้นกำกับถูกตั้งค่า ที่ 66% ตามการยืนยันความปลอดภัยพื้นฐานของเราอย่างน้อยที่สุด สองในสามของ validators กระทำการอย่างมีเมตตา ชาวประมงค่อนข้างจะคล้ายกับ “โหนดเต็ม” ค่ะ ระบบ blockchain ในปัจจุบันที่ทรัพยากรต้องการ มีขนาดค่อนข้างเล็กและความมุ่งมั่นในเรื่องเวลาทำงานที่มั่นคง และแบนด์วิธก็ไม่จำเป็น ชาวประมงก็มีความแตกต่างกัน มากเท่าที่พวกเขาต้องโพสต์ความผูกพันเล็กน้อยพันธะนี้ป้องกัน การโจมตีของ sybil จากการเสียเวลาและการคำนวณ validators ทรัพยากร ถอนได้ทันทีคงไม่มี มากกว่าเทียบเท่ากับไม่กี่ดอลลาร์และอาจนำไปสู่ เพื่อได้รับผลอันมหาศาลจากการเห็นความประพฤติไม่ดี validator.
Участие в Polkadot
В обслуживании Polkadot есть четыре основные роли. сеть: сборщик, рыбак, номинатор и validator. В одна возможная реализация Polkadot, последняя роль на самом деле может быть разбит на две роли: базовый validator и гарант доступности; это обсуждается в разделе 6.5.3. подборщик Рыбак Валидаторы (эта группа) Валидаторы (другие группы) одобряет становится мониторы отчеты плохой поведение к обеспечивает блокировку кандидаты для номинатор Рисунок 1. Взаимодействие между четыре роли Polkadot. 4.1. Валидаторы. validator — это самая высокая плата и помогает запечатать новые блоки в сети Polkadot. Роль validator зависит от достаточно высокой связи. депонируются, хотя мы разрешаем другим связанным сторонам назначить одного или нескольких validators, которые будут действовать от их имени и как такая некоторая часть облигации validator не обязательно может принадлежать самому validator, а скорее этим номинаторы. validator должен запускать реализацию клиента ретрансляционной цепочки с высокой доступностью и пропускной способностью. В каждом блоке узел должен быть готов принять роль ратифицирующего новый блок в назначенном парачейне. Этот процесс включает получение, проверку и повторную публикацию кандидата блоки. Номинация является детерминированной, но практически непредсказуемой заранее. Поскольку validator не может разумно ожидать поддержания полностью синхронизированного базе данных всех парачейнов, ожидается, что validator поставит перед собой задачу разработать предлагаемую новую блок парачейна третьей стороне, известной как сопоставление. Как только все новые блоки парачейна будут должным образом ратифицированы назначенными ими подгруппами validator, validators затем должен ратифицировать сам блок релейной цепи. Это включает в себя обновление состояния очередей транзакций (по сути перемещение данных из очереди вывода парачейна в другую входная очередь парачейна), обработка транзакций ратифицированный набор транзакций релейной цепи и ратификация финальный блок, включая окончательные изменения парачейна.POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 5 validator не выполняет свою обязанность по поиску консенсуса по правилам выбранного нами алгоритма консенсуса наказывается. В случае первоначальных непреднамеренных сбоев это происходит через удержание вознаграждения validator. Повторные сбои приводят к снижению их залога безопасности (за счет сжигания). Доказуемо вредоносные действия, такие как двойное подписание или сговор с целью предоставления недействительного блока приведет к потере вся связь (которая частично сгорела, но в основном отдана информатору и честным актерам). В некотором смысле validator похожи на пулы для майнинга. текущего PoW blockchains. 4.2. Номинаторы. Номинатор является стороной, владеющей долей который вносит свой вклад в залог validator. Они не имеют никакой дополнительной роли, кроме размещения рискового капитала и например, чтобы сигнализировать о том, что они доверяют конкретному validator (или их набор) действовать ответственно при поддержании сеть. Они получают пропорциональное увеличение или сокращение в свой депозит в зависимости от роста облигации, к которой они вносят свой вклад. Вместе с сопоставителями, далее в некоторых смысл аналогичен майнерам современных сетей PoW. 4.3. Подборщики. Сопоставители транзакций (сокращенно сопоставители) являются сторонами, которые помогают validators в составлении действительных блоки парачейна. Они поддерживают «полный узел» для конкретного парачейна; это означает, что они сохраняют все необходимое информация, позволяющая создавать новые блоки и выполнять транзакции почти так же, как это делают майнеры на текущих PoW blockchain. В обычных обстоятельствах они будет сопоставлять и выполнять транзакции для создания незапечатанного заблокировать и предоставить его вместе с функцией с нулевым разглашением доказательство одному или нескольким validators, в настоящее время ответственным за Предлагаю блок парачейна. Точный характер взаимоотношений между сопоставителями, номинаторами и validator, скорее всего, изменится со временем. время. Первоначально мы ожидаем, что подборщики будут работать очень тесно. с validators, так как их будет всего несколько (возможно только один) парачейн(ы) с небольшим объемом транзакций. первоначальная реализация клиента будет включать RPC, позволяющие узел сопоставления парачейна для безусловного предоставления узлу (релейной цепи) validator доказуемо действующего парачейна блок. Поскольку стоимость поддержки синхронизированной версии количество таких парачейнов увеличивается, мы ожидаем увидеть дополнительные наличие инфраструктуры, которая поможет отделить обязанности перед независимыми, экономически мотивированными сторонами. В конце концов, мы ожидаем увидеть пулы сопоставителей, которые соперничают за собирать максимальную комиссию за транзакции. С такими сборщиками может быть заключен контракт на обслуживание определенных validator в течение определенного периода времени с целью получения постоянной доли в доходах от вознаграждения. Альтернативно, «внештатные» подборщики могут просто создать рынок, предлагающий действительные блоки парачейна в обмен на конкурентоспособную долю вознаграждения, подлежащую немедленной выплате. Аналогичным образом, децентрализованные пулы номинаторов позволят множеству связанные участники координировать и разделять обязанности validator. Эта возможность объединения обеспечивает открытое участие. что приведет к более децентрализованной системе. 4.4. Рыбаки. В отличие от двух других активных партий, рыбаки не имеют прямого отношения к авторству блока процесс. Скорее они независимые «охотники за головами». мотивировано большой разовой наградой. Именно из-за существования рыбаков, мы ожидаем, что случаи плохого поведения будут происходить редко, а когда они происходят только из-за связанная сторона небрежна с безопасностью секретного ключа, а не со злым умыслом. Имя приходит от ожидаемой частоты вознаграждений, минимальных требований для участия и возможного размера вознаграждения. Рыбаки получают вознаграждение, если своевременно докажут, что по крайней мере одна связанная сторона действовала незаконно. Незаконные действия включать подписание двух блоков, каждый с одним и тем же ратифицированным родителем или, в случае парачейнов, помощь в ратификации недействительного блок. Чтобы предотвратить чрезмерное вознаграждение или компромисс и незаконное использование секретного ключа сеанса, базовая награда за предоставление одного незаконно подписанного сообщения validator является минимальный. Эта награда асимптотически возрастает по мере увеличения подтверждающие незаконные подписи других validator если это подразумевает настоящее нападение. Асимптота задана на 66 %, следуя нашему базовому утверждению безопасности, что по крайней мере две трети validator действуют доброжелательно. Рыбаки чем-то похожи на «полные узлы» в современные blockchain системы, необходимые ресурсы относительно небольшие и обеспечивают стабильное время безотказной работы и пропускная способность не обязательна. Рыбаки отличаются друг от друга так же, как они должны внести небольшой залог.Эта связь предотвращает Сивилла атакует, тратя validators время и вычислительные ресурсы ресурсы. Его сразу можно снять, наверное нет превышает сумму, эквивалентную нескольким долларам, и может привести получить огромную награду за обнаружение ненадлежащего поведения validator.
ภาพรวมการออกแบบ
ส่วนนี้มีวัตถุประสงค์เพื่อให้ภาพรวมโดยย่อของ ระบบโดยรวม การสำรวจอย่างละเอียดยิ่งขึ้นของ ระบบมีระบุไว้ในหัวข้อต่อไปนี้ 5.1. ฉันทามติ บนรีเลย์เชน Polkadot สำเร็จ ฉันทามติระดับต่ำเหนือชุดที่ตกลงร่วมกันถูกต้อง บล็อกผ่านอัลกอริธึม Byzantine Faulttolerant (BFT) แบบอะซิงโครนัสสมัยใหม่ อัลกอริทึมจะได้รับแรงบันดาลใจ โดย Tendermint ง่ายๆ [11] และอื่นๆ อีกมากมาย เกี่ยวข้องกับ HoneyBadgerBFT [14] หลังให้ ฉันทามติที่มีประสิทธิภาพและทนทานต่อข้อผิดพลาดเหนือกฎเกณฑ์ โครงสร้างพื้นฐานเครือข่ายที่มีข้อบกพร่อง โดยได้รับชุดของหน่วยงานที่ไม่เป็นอันตรายเป็นส่วนใหญ่หรือ validators สำหรับเครือข่ายสไตล์ Proof-of-authority (PoA) เพียงอย่างเดียว จะเพียงพอ แต่ Polkadot จินตนาการว่าเป็น อีกทั้งยังสามารถใช้งานเป็นเครือข่ายแบบเปิดและสาธารณะได้อย่างเต็มที่ สถานการณ์ที่ไม่มีองค์กรใดองค์กรหนึ่งหรือเชื่อถือได้ อำนาจที่จำเป็นในการบำรุงรักษา เช่นนี้เราจำเป็นต้องมี วิธีการกำหนดชุดของ validators และการสร้างแรงจูงใจ พูดตามตรง สำหรับสิ่งนี้ เราใช้การเลือกตาม PoS เกณฑ์ 5.2. การพิสูจน์เดิมพัน เราถือว่าเครือข่าย ก็จะมีวิธีการวัดว่า “เดิมพัน” เท่าไร มีบัญชีใดบัญชีหนึ่งโดยเฉพาะ เพื่อความสะดวกในการเปรียบเทียบกับ ระบบที่มีอยู่แล้วเราจะเรียกหน่วยวัดว่า “tokens” น่าเสียดายที่คำนี้น้อยกว่าอุดมคติสำหรับ a เหตุผลหลายประการ ไม่เพียงแต่เป็นเพียงสเกลาร์เท่านั้น มูลค่าที่เกี่ยวข้องกับบัญชี ไม่มีแนวคิดเกี่ยวกับ บุคลิกลักษณะ เราจินตนาการว่า validator ได้รับการเลือกตั้งไม่บ่อยนัก (มากที่สุด วันละครั้งแต่อาจจะแทบจะไม่เท่ากับไตรมาสละครั้ง) ผ่านโครงการ Nominated Proof-of-Stake (NPoS) การสร้างแรงจูงใจสามารถเกิดขึ้นได้ผ่านการจัดสรรตามสัดส่วนของโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 6 รีเลย์ โซ่ ฝูงผู้ตรวจสอบความถูกต้อง (แต่ละสีตามของมัน พาราเชนที่กำหนด) การทำธุรกรรม (ส่งโดย นักแสดงภายนอก) พาราเชน สะพาน พาราเชนเสมือนจริง (เช่น Ethereum) พาราเชน พาราเชน คิวและ I/O ธุรกรรมที่เผยแพร่ บล็อกการส่งผู้สมัคร ลำดับที่ 2 รีเลย์โซ่ ชุมชนพาราเชน บัญชี ธุรกรรมขาเข้า ธุรกรรมขาออก การทำธุรกรรมระหว่างกัน (จัดการโดย validators) ผู้รวบรวม บล็อกการแพร่กระจาย ชาวประมง รูปที่ 2. แผนผังสรุปของระบบ Polkadot สิ่งนี้แสดงให้ผู้เปรียบเทียบรวบรวมและเผยแพร่ธุรกรรมของผู้ใช้ รวมถึงการเผยแพร่ตัวเลือกบล็อกไปยังชาวประมงและ validators มันยัง แสดงให้เห็นว่าบัญชีสามารถโพสต์ธุรกรรมที่ดำเนินการจาก Parachain ผ่านทาง Relay-Chain ได้อย่างไร และต่อไปยัง parachain อื่นที่สามารถตีความได้ว่าเป็นธุรกรรมไปยังบัญชีที่นั่น เงินทุนที่มาจากการขยายฐาน token (สูงถึง 100% ต่อปีแต่มีแนวโน้มมากกว่าประมาณ 10%) ด้วยกัน ค่าธรรมเนียมการทำธุรกรรมใด ๆ ที่เรียกเก็บ ในขณะที่การขยายฐานการเงินมักจะนำไปสู่ภาวะเงินเฟ้อ เนื่องจากเจ้าของ token ทั้งหมด จะมีโอกาสที่ยุติธรรมในการเข้าร่วม ไม่มีผู้ถือ token รายใดที่ต้องทนทุกข์ทรมานจากการลดมูลค่าของพวกเขา การถือครองเมื่อเวลาผ่านไปหากพวกเขายินดีที่จะรับ บทบาทในกลไกฉันทามติ สัดส่วนเฉพาะ ของ tokens จะถูกกำหนดเป้าหมายสำหรับกระบวนการ staking ที่ ที่มีประสิทธิภาพ token การขยายฐานจะถูกปรับผ่าน กลไกตามตลาดเพื่อบรรลุเป้าหมายนี้ ผู้ตรวจสอบความถูกต้องมีความผูกพันอย่างมากจากการเดิมพันของพวกเขา ออก พันธบัตรของ validators จะคงอยู่เป็นเวลานานหลังจากที่หน้าที่ของ validators สิ้นสุดลง (อาจประมาณ 3 เดือน) ยาวขนาดนี้ ระยะเวลาชำระหนี้พันธบัตรช่วยให้เกิดพฤติกรรมที่ไม่เหมาะสมในอนาคตได้ ลงโทษจนถึงจุดตรวจโซ่เป็นระยะ การประพฤติมิชอบส่งผลให้เกิดการลงโทษ เช่น ลดหย่อน รางวัลหรือในกรณีที่จงใจประนีประนอม ความสมบูรณ์ของเครือข่าย validator สูญเสียบางส่วนหรือทั้งหมด ถือหุ้นกับ validators อื่นๆ ผู้ให้ข้อมูล หรือผู้มีส่วนได้ส่วนเสีย โดยรวม (ผ่านการเผา) ตัวอย่างเช่น validator ผู้พยายามที่จะให้สัตยาบันทั้งสองกิ่งของทางแยก (บางครั้ง ที่เรียกว่าการโจมตี "ระยะสั้น") อาจถูกระบุและ ลงโทษอย่างหลัง. การโจมตีระยะไกลแบบ “ไม่มีเดิมพัน”4 ได้รับการหลบเลี่ยงโดยใช้สลัก “จุดตรวจสอบ” แบบธรรมดา ซึ่งป้องกันการจัดระเบียบห่วงโซ่ที่เป็นอันตรายมากกว่า ความลึกของโซ่โดยเฉพาะ เพื่อให้แน่ใจว่าไคลเอ็นต์การซิงค์ใหม่ ย่อมไม่หลงผิดโซ่ตรวนเป็นธรรมดา “ฮาร์ดฟอร์ค” จะเกิดขึ้น (มากที่สุดในช่วงเวลาเดียวกันของ การชำระหนี้พันธบัตร validators) ที่ฮาร์ดโค้ดบล็อกจุดตรวจสอบล่าสุด hashes ลงในไคลเอนต์ สิ่งนี้เล่นได้ดีกับการวัดการลดรอยเท้าเพิ่มเติมของ "ความยาวโซ่จำกัด" หรือ การรีเซ็ตบล็อกการกำเนิดเป็นระยะ 5.3. Parachains และ Colators พาราเชนแต่ละตัวได้รับ ข้อกำหนดด้านความปลอดภัยที่คล้ายกันกับรีเลย์-เชน: ที่ ส่วนหัวของพาราเชนถูกผนึกไว้ภายในบล็อกรีเลย์-เชน การรับรองว่าไม่มีการปรับโครงสร้างองค์กรใหม่หรือ "การใช้จ่ายซ้ำซ้อน" ภายหลังการยืนยัน นี่เป็นการรับประกันความปลอดภัยที่คล้ายคลึงกับการรับประกันความปลอดภัยที่นำเสนอโดยไซด์เชนของ Bitcoin และการรวมเข้าด้วยกัน อย่างไรก็ตาม Polkadot ยังให้การรับประกันที่แข็งแกร่งว่าการเปลี่ยนสถานะของ parachains นั้นถูกต้อง นี้ เกิดขึ้นผ่านชุดของ validators ที่ถูกสุ่มแบบเข้ารหัสเป็นส่วนย่อย หนึ่งชุดย่อยต่อ parachain ซึ่งเป็นเซ็ตย่อยที่อาจแตกต่างกันไปในแต่ละบล็อก นี้ โดยทั่วไปการตั้งค่าจะบอกเป็นนัยว่าเวลาบล็อกของพาราเชนจะเป็นเช่นนั้น อย่างน้อยก็ตราบเท่าที่รีเลย์-เชน เฉพาะ วิธีการกำหนดการแบ่งพาร์ติชันอยู่นอกขอบเขต 4การโจมตีดังกล่าวเกิดขึ้นเมื่อศัตรูสร้างสายโซ่แห่งประวัติศาสตร์ใหม่ทั้งหมดตั้งแต่ช่วงกำเนิดเป็นต้นไป ผ่านการควบคุมก สัดส่วนการถือหุ้นที่ค่อนข้างไม่มีนัยสำคัญ ณ ที่ตั้ง พวกเขาสามารถค่อยๆ เพิ่มสัดส่วนการถือหุ้นเมื่อเทียบกับส่วนอื่นๆ ทั้งหมด ผู้มีส่วนได้ส่วนเสียเนื่องจากพวกเขาเป็นเพียงผู้มีส่วนร่วมอย่างแข็งขันในประวัติศาสตร์ทางเลือกของพวกเขา เนื่องจากไม่มีข้อจำกัดทางกายภาพที่แท้จริงในการสร้าง ของบล็อก (ต่างจาก PoW ที่ต้องใช้พลังงานการคำนวณค่อนข้างจริง) พวกเขาสามารถสร้างโซ่ที่ยาวกว่าโซ่จริงใน ช่วงเวลาค่อนข้างสั้นและอาจทำให้ยาวนานที่สุดและดีที่สุด โดยเข้ายึดสถานะมาตรฐานของเครือข่ายโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 7 ของเอกสารนี้แต่น่าจะอิงตามอย่างใดอย่างหนึ่ง กรอบการเปิดเผยการกระทำที่คล้ายกับ RanDAO [19] หรือ ใช้ข้อมูลที่รวมจากบล็อกก่อนหน้าของแต่ละพาราเชน ภายใต้การรักษาความปลอดภัยแบบเข้ารหัส hash เซ็ตย่อยของ validators ดังกล่าวจำเป็นต้องจัดเตรียม ตัวเลือกบล็อก parachain ซึ่งรับประกันว่าถูกต้อง (on ความเจ็บปวดจากการผูกมัด) ความถูกต้องหมุนรอบสอง จุดสำคัญ ประการแรกคือว่ามันใช้ได้จริง—นั่น การเปลี่ยนสถานะทั้งหมดได้รับการดำเนินการอย่างซื่อสัตย์และทั้งหมดนั้น ข้อมูลภายนอกที่อ้างอิง (เช่น ธุรกรรม) สามารถนำมารวมได้ ประการที่สอง ข้อมูลใดๆ ก็ตามที่อยู่ภายนอกตัวมัน ผู้สมัคร เช่น ธุรกรรมภายนอกเหล่านั้น มีความพร้อมใช้งานสูงเพียงพอเพื่อให้ผู้เข้าร่วมสามารถทำได้ ดาวน์โหลดและดำเนินการบล็อกด้วยตนเอง5 ผู้ตรวจสอบความถูกต้องอาจจัดเตรียมเฉพาะบล็อก "null" ที่ไม่มีข้อมูล "ธุรกรรม" ภายนอก แต่อาจเสี่ยงต่อการได้รับรางวัลลดลงหากทำเช่นนั้น พวกเขาทำงานเคียงข้างกัน โปรโตคอลการนินทา Parachain กับผู้เปรียบเทียบ - บุคคล ผู้เปรียบเทียบธุรกรรมเป็นบล็อกและให้หลักฐานที่ไม่โต้ตอบและไม่มีความรู้ว่าบล็อกนั้นถือเป็นลูกที่ถูกต้องของผู้ปกครอง (และทำธุรกรรมใด ๆ ค่าธรรมเนียมสำหรับปัญหาของพวกเขา) เหลือเพียงโปรโตคอล parachain เพื่อระบุโปรโตคอลของตนเอง วิธีการป้องกันสแปม: ไม่มีแนวคิดพื้นฐานของ "การวัดทรัพยากรคอมพิวเตอร์" หรือ "ค่าธรรมเนียมการทำธุรกรรม" กำหนดโดยรีเลย์โซ่ นอกจากนี้ยังไม่มีการบังคับใช้โดยตรงในเรื่องนี้โดยโปรโตคอลรีเลย์ลูกโซ่ (แม้ว่าจะเป็นเช่นนั้นก็ตาม) ไม่น่าเป็นไปได้ที่ผู้มีส่วนได้ส่วนเสียจะเลือกใช้ พาราเชนซึ่งไม่มีกลไกที่เหมาะสม) นี่เป็นการพยักหน้าอย่างชัดเจนถึงความเป็นไปได้ของเครือที่ไม่เหมือน Ethereum เช่น Bitcoin-like chain ซึ่งมีรูปแบบค่าธรรมเนียมที่ง่ายกว่ามากหรือรูปแบบการป้องกันสแปมอื่น ๆ ที่ยังไม่ได้เสนอ Polkadot รีเลย์เชนเองก็อาจมีอยู่เป็น Ethereum-บัญชีที่เหมือนกันและห่วงโซ่สถานะ อาจเป็น EVMอนุพันธ์ เนื่องจากโหนดรีเลย์โซ่จะต้องใช้ ทำการประมวลผลอื่น ๆ ที่สำคัญ ปริมาณธุรกรรม จะลดลงบางส่วนด้วยค่าธรรมเนียมการทำธุรกรรมจำนวนมาก และหากแบบจำลองการวิจัยของเราต้องการ ขีดจำกัดขนาดบล็อก 5.4. การสื่อสารระหว่างกัน องค์ประกอบสุดท้ายที่สำคัญของ Polkadot คือการสื่อสารระหว่างเครือข่าย ตั้งแต่ parachains สามารถมีช่องข้อมูลบางอย่างระหว่างพวกมันได้ เราอนุญาตให้ตัวเองพิจารณา Polkadot ก มัลติเชนที่ปรับขนาดได้ ในกรณีของ Polkadot การสื่อสารจะง่ายดายที่สุดเท่าที่จะเป็นไปได้: ธุรกรรมที่ดำเนินการใน parachain นั้น (ตามตรรกะของ chain นั้น) สามารถทำได้ ส่งผลต่อการส่งธุรกรรมไปยังพาราเชนที่สอง หรืออาจเป็นรีเลย์เชน เช่นเดียวกับการทำธุรกรรมภายนอก ในการผลิต blockchains พวกมันเป็นแบบอะซิงโครนัสอย่างสมบูรณ์ และไม่มีความสามารถที่แท้จริงสำหรับพวกเขาที่จะคืนสิ่งใด ๆ ข้อมูลประเภทต่างๆ กลับไปสู่ต้นกำเนิดของมัน ปลายทาง: ได้รับ ข้อมูลจากก่อนหน้านี้ validators ของบล็อก บัญชีได้รับโพสต์: รายการถูกลบออกจาก ทางเข้า Merkle tree บัญชีส่งโพสต์: รายการวางไว้ใน ทางออก Merkle tree เพื่อจุดหมายปลายทาง พาราเชน ทางออก ที่มา: หุ้น ข้อมูลที่มีบล็อกถัดไป validatorส หลักฐานการโพสต์เก็บไว้ใน Parachain ทางออก Merkle ต้นไม้ วางการอ้างอิงที่กำหนดเส้นทางแล้ว ในพาราเชนปลายทาง ทางเข้า Merkle tree ทางเข้า รูปที่ 3 การแสดงแผนผังพื้นฐาน ส่วนหลักของการกำหนดเส้นทางสำหรับการโพสต์ ธุรกรรม (”โพสต์”) เพื่อให้มั่นใจว่าการใช้งานมีความซับซ้อนน้อยที่สุด ความเสี่ยง และ น้อยที่สุด แจ็กเก็ตตรง ของ อนาคต สถาปัตยกรรมพาราเชน ธุรกรรมระหว่างเชนเหล่านี้คือ แยกไม่ออกจากธุรกรรมมาตรฐานที่ลงนามภายนอกอย่างมีประสิทธิภาพ ธุรกรรมมีส่วนต้นทางที่ให้ความสามารถในการระบุ parachain และ ที่อยู่ซึ่งอาจมีขนาดตามอำเภอใจ แตกต่างจากระบบปัจจุบันทั่วไป เช่น Bitcoin และ Ethereum ธุรกรรมระหว่างเครือข่ายไม่ได้มาพร้อมกับ "การชำระ" ค่าธรรมเนียมใดๆ ที่เกี่ยวข้อง การชำระเงินดังกล่าวจะต้องได้รับการจัดการผ่านตรรกะการเจรจาต่อรองบนพาราเชนต้นทางและปลายทาง มีระบบดังกล่าวที่เสนอมาเพื่อ Ethereum การเปิดตัว Serenity [7] เป็นวิธีง่ายๆ ของการจัดการการชำระเงินทรัพยากรข้ามสายโซ่ดังกล่าว เราถือว่าคนอื่นอาจมาถึงข้างหน้าในเวลาอันควร ธุรกรรม Interchain ได้รับการแก้ไขโดยใช้วิธีง่ายๆ กลไกการเข้าคิวตาม Merkle tree เพื่อให้มั่นใจ ความซื่อสัตย์ เป็นหน้าที่ของผู้ดูแลรีเลย์-โซ่ที่จะต้อง ย้ายธุรกรรมบนคิวเอาท์พุตของพาราเชนหนึ่งอัน เข้าไปในคิวอินพุตของพาราเชนปลายทาง ที่ ธุรกรรมที่ส่งผ่านจะถูกอ้างอิงบนรีเลย์-เชน แต่จะไม่สัมพันธ์กันธุรกรรม ay-chain เอง เพื่อป้องกันไม่ให้พาราเชนส่งสแปมพาราเชนอื่นด้วย ธุรกรรม จำเป็นต้องมีการส่งธุรกรรม ว่าคิวอินพุตของปลายทางไม่ใหญ่เกินไป เวลาสิ้นสุดของบล็อกก่อนหน้า ถ้าอินพุต คิวมีขนาดใหญ่เกินไปหลังจากการประมวลผลแบบบล็อก แล้วจะถือว่า "อิ่มตัว" และจะไม่มีการกำหนดเส้นทางธุรกรรมใด ๆ ภายในบล็อกต่อๆ ไปจนกระทั่งลดกลับไปต่ำกว่า ขีด จำกัด คิวเหล่านี้ได้รับการจัดการบนรีเลย์-เชน อนุญาตให้พาราเชนกำหนดความอิ่มตัวของกันและกัน สถานะ; วิธีนี้จะทำให้ความพยายามในการผ่านรายการธุรกรรมล้มเหลว ไปยังปลายทางที่จนตรอกอาจถูกรายงานพร้อมกัน (แม้ว่าจะไม่มีเส้นทางการส่งคืน แต่หากธุรกรรมรองล้มเหลวด้วยเหตุผลดังกล่าว ก็ไม่สามารถรายงานกลับได้ ไปยังผู้โทรเดิมและวิธีการกู้คืนอื่น ๆ จะต้องเกิดขึ้น) 5.5. Polkadot และ Ethereum เนื่องจาก Ethereum ความสมบูรณ์ของทัวริง เราคาดหวังว่าจะมีโอกาสมากมายสำหรับ Polkadot และ Ethereum ที่จะทำงานร่วมกันได้ อย่างน้อยก็อยู่ภายในขอบเขตความปลอดภัยที่อนุมานได้ง่าย กล่าวโดยย่อคือเราจินตนาการว่าการทำธุรกรรมจาก Polkadot สามารถลงนามโดย validators จากนั้นป้อนเข้า 5งานดังกล่าวอาจถูกแบ่งปันระหว่าง validators หรืออาจกลายเป็นงานที่กำหนดของชุด validators ที่เชื่อมโยงกันอย่างแน่นหนาที่เรียกว่า ผู้ค้ำประกันความพร้อม
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 8 Ethereum โดยที่สามารถตีความและตรากฎหมายได้โดย สัญญาส่งต่อธุรกรรม ในอีกทางหนึ่ง เราคาดการณ์การใช้บันทึก (เหตุการณ์) ที่จัดรูปแบบพิเศษ มาจาก "สัญญาแยกส่วน" เพื่อให้สามารถตรวจสอบได้อย่างรวดเร็วว่าควรส่งต่อข้อความใดข้อความหนึ่ง 5.5.1. Polkadot ถึง Ethereum โดยการเลือกก BFT กลไกฉันทามติที่มี validators เกิดขึ้นจาก กลุ่มผู้มีส่วนได้เสียที่กำหนดผ่านการลงคะแนนเสียงอนุมัติ กลไก เราสามารถได้รับฉันทามติที่ปลอดภัยกับ การเปลี่ยนแปลงไม่บ่อยนักและจำนวนเล็กน้อยของ validators ในระบบที่มีทั้งหมด 144 validators ซึ่งเป็นเวลาบล็อกที่ 4 วินาทีและสิ้นสุด 900 บล็อก (อนุญาตให้เป็นอันตราย พฤติกรรมเช่นการลงคะแนนสองครั้งที่ต้องรายงานการลงโทษ และซ่อมแซมแล้ว) ความถูกต้องของบล็อกก็สมเหตุสมผล ถือว่าพิสูจน์แล้วด้วยลายเซ็นเพียง 97 ลายเซ็น (สองในสามของ 144 บวกหนึ่ง) และช่วงการตรวจสอบยืนยัน 60 นาทีต่อมาซึ่งไม่มีการฝากคำท้าทาย Ethereum สามารถโฮสต์ "สัญญาแบ่ง" ได้ สามารถรักษาผู้ลงนามได้ 144 รายและควบคุมโดย พวกเขา เนื่องจากการกู้คืนลายเซ็นดิจิทัลแบบ Elliptic Curve (ECDSA) ใช้เวลาเพียง 3,000 Gas ภายใต้ EVM และเนื่องจาก เราน่าจะต้องการให้การตรวจสอบเกิดขึ้นใน a เท่านั้น ส่วนใหญ่มากของ validators (แทนที่จะเป็นเอกฉันท์ทั้งหมด) ต้นทุนฐานของ Ethereum ยืนยันว่าเป็นคำสั่ง ได้รับการตรวจสอบอย่างถูกต้องว่ามาจากเครือข่าย Polkadot จะมีก๊าซไม่เกิน 300,000 รายการ หรือเพียง 6% ของ ขีดจำกัดก๊าซบล็อกทั้งหมดที่ 5.5M การเพิ่มจำนวน validators (ตามที่จำเป็นสำหรับการจัดการ) หลายสิบโซ่) ทำให้ต้นทุนนี้เพิ่มขึ้นอย่างหลีกเลี่ยงไม่ได้ เป็นที่คาดกันโดยทั่วไปว่าแบนด์วิดธ์การทำธุรกรรมของ Ethereum จะเพิ่มขึ้นเมื่อเวลาผ่านไปเมื่อเทคโนโลยีเติบโตและ โครงสร้างพื้นฐานดีขึ้น ประกอบกับความจริงที่ว่าไม่ใช่ validators ทั้งหมดต้องมีส่วนร่วม (เช่น เฉพาะระดับสูงสุดเท่านั้น validators ที่เดิมพันไว้อาจถูกเรียกใช้งานดังกล่าว) ขีดจำกัดของกลไกนี้ขยายออกไปพอสมควร สมมติว่ามีการหมุนรายวันของ validators ดังกล่าว (ซึ่งก็คือ ค่อนข้างอนุรักษ์นิยม—รายสัปดาห์หรือรายเดือนอาจยอมรับได้) จากนั้นต้นทุนในการบำรุงรักษาเครือข่าย Ethereum-สะพานส่งต่อนี้จะอยู่ที่ประมาณ 540,000 ค่าน้ำมันต่อวัน หรือ ณ ราคาน้ำมันปัจจุบันอยู่ที่ 45 เหรียญสหรัฐฯ ต่อปี ธุรกรรมพื้นฐานที่ส่งต่อเพียงอย่างเดียวบนสะพานจะมีค่าใช้จ่าย ประมาณ 0.11 ดอลลาร์; การคำนวณสัญญาเพิ่มเติมจะมีค่าใช้จ่าย มากขึ้นแน่นอน โดยการแบ่งแยกและการรวมกลุ่มธุรกรรม ร่วมกันค่าใช้จ่ายในการอนุญาตการบุกรุกสามารถได้อย่างง่ายดาย แบ่งปัน ลดต้นทุนต่อการทำธุรกรรมอย่างมาก หากจำเป็นต้องมีธุรกรรม 20 รายการก่อนที่จะส่งต่อ ค่าใช้จ่ายในการส่งต่อธุรกรรมพื้นฐานจะลดลง ประมาณ 0.01 ดอลลาร์ ทางเลือกหนึ่งที่น่าสนใจและราคาถูกกว่าสำหรับโมเดลสัญญาแบบหลายลายเซ็นนี้คือการใช้ลายเซ็นตามเกณฑ์เพื่อให้บรรลุความหมายการเป็นเจ้าของแบบหลายฝ่าย ในขณะที่แผนลายเซ็นเกณฑ์สำหรับ ECDSA มีราคาแพงในการคำนวณ สำหรับโครงการอื่นๆ เช่นลายเซ็น Schnorr นั้นสมเหตุสมผลมาก Ethereum วางแผนที่จะแนะนำสิ่งดั้งเดิมซึ่งจะทำให้เป็นเช่นนั้น โครงร่างราคาถูกเพื่อใช้ใน hardfork ของ Metropolis ที่กำลังจะมาถึง ถ้าใช้วิธีการดังกล่าวได้ก็จะต้องเสียค่าน้ำมัน สำหรับการส่งต่อธุรกรรม Polkadot ไปยัง Ethereum เครือข่ายจะลดลงอย่างมากจนเหลือใกล้ศูนย์ ค่าใช้จ่ายสูงกว่าต้นทุนพื้นฐานสำหรับการตรวจสอบความถูกต้อง ลงนามและดำเนินการธุรกรรมที่เกี่ยวข้อง ในโมเดลนี้ โหนด validator ของ Polkadot จะมี ที่จะทำอย่างอื่นนอกจากการลงนามข้อความ ในการรับธุรกรรมที่ส่งไปยังเครือข่าย Ethereum จริง ๆ เรา สมมติว่า validators ตัวใดตัวหนึ่งก็จะอาศัยอยู่ด้วย เครือข่าย Ethereum หรือมีแนวโน้มมากกว่านั้นคือค่าหัวเล็กน้อย มอบให้กับนักแสดงคนแรกที่ส่งต่อข้อความต่อไป ไปยังเครือข่าย (สามารถจ่ายค่าหัวเล็กน้อยให้กับ ผู้สร้างธุรกรรม) 5.5.2. Ethereum ถึง Polkadot การรับธุรกรรมให้เป็น ส่งต่อจาก Ethereum ไปยัง Polkadot ใช้แนวคิดง่ายๆ ของบันทึก เมื่อสัญญา Ethereum ต้องการส่งธุรกรรมไปยัง parachain เฉพาะของ Polkadot มันจำเป็นต้องเรียกเข้าสู่ "สัญญาแยกส่วน" พิเศษ สัญญาแบ่งออกจะต้องชำระเงินใด ๆ ที่อาจเป็นไปได้ จำเป็นและออกคำแนะนำในการบันทึกเพื่อให้สามารถพิสูจน์การมีอยู่ได้ผ่านการพิสูจน์ Merkle และการยืนยันว่าส่วนหัวของบล็อกที่เกี่ยวข้องนั้นถูกต้องและ ตามบัญญัติ ในสองเงื่อนไขหลัง ความถูกต้องอาจเป็น ตรงไปตรงมาที่สุดในการพิสูจน์ โดยหลักการแล้วข้อกำหนดเพียงอย่างเดียวคือสำหรับแต่ละโหนด Polkadot ที่ต้องการการพิสูจน์ (เช่น โหนด validator ที่ได้รับการแต่งตั้ง) เพื่อเรียกใช้อินสแตนซ์ที่ซิงโครไนซ์อย่างสมบูรณ์ของโหนด Ethereum มาตรฐาน น่าเสียดายที่นี่เป็นการพึ่งพาที่ค่อนข้างหนัก มากขึ้น วิธีน้ำหนักเบาก็จะใช้การพิสูจน์ง่ายๆว่า ส่วนหัวได้รับการประเมินอย่างถูกต้องโดยการจัดหาเฉพาะ ส่วนหนึ่งของการลองสถานะของ Ethereum จำเป็นต้องดำเนินการอย่างถูกต้อง ธุรกรรมในบล็อกและตรวจสอบว่าบันทึก (มีอยู่ในใบเสร็จรับเงินบล็อก) ถูกต้อง “เหมือน SPV”6 การพิสูจน์อาจต้องใช้ข้อมูลจำนวนมาก สะดวก โดยทั่วไปแล้วพวกเขาจะไม่จำเป็นต้องใช้ที่ ทั้งหมด: ระบบพันธะภายใน Polkadot จะอนุญาตให้มีการเชื่อมโยงได้ บุคคลที่สามในการส่งส่วนหัวที่เสี่ยงต่อการสูญเสีย พันธบัตรควรบุคคลที่สามอื่น ๆ (เช่น "ชาวประมง" ดู 6.2.3) ให้หลักฐานว่าส่วนหัวไม่ถูกต้อง (โดยเฉพาะอย่างยิ่งว่ารากของรัฐหรือรากรับเป็นผู้แอบอ้าง) บนเครือข่าย PoW ที่ยังไม่สิ้นสุด เช่น Ethereum ความเป็นมาตรฐานไม่สามารถพิสูจน์ได้อย่างแน่ชัด เพื่อแก้ไขปัญหานี้ แอปพลิเคชันที่พยายามพึ่งพาชนิดใดก็ตาม ของผลกระทบที่ขึ้นกับลูกโซ่ รอ "การยืนยัน" หลายครั้ง หรือจนกว่าธุรกรรมที่ขึ้นอยู่กับบางรายการ ความลึกเฉพาะภายในห่วงโซ่ เมื่อวันที่ Ethereum สิ่งนี้ ความลึกจะแตกต่างกันไปจาก 1 บล็อกสำหรับธุรกรรมที่มีค่าน้อยที่สุดโดยไม่มีปัญหาเครือข่ายที่ทราบ ไปจนถึง 1200 บล็อกเหมือนเดิม กรณีนี้ในระหว่างการเปิดตัว Frontier ครั้งแรกสำหรับการแลกเปลี่ยน บนเครือข่าย “Homestead” ที่เสถียร รูปนี้อยู่ที่ 120 บล็อกสำหรับการแลกเปลี่ยนส่วนใหญ่ และเราน่าจะรับไป พารามิเตอร์ที่คล้ายกัน ดังนั้น เรา สามารถ ลองจินตนาการดู ของเรา Polkadot-ด้าน Ethereumอินเทอร์เฟซมีฟังก์ชันง่ายๆ: เพื่อให้สามารถ ยอมรับส่วนหัวใหม่จากเครือข่าย Ethereum และตรวจสอบความถูกต้องของ PoW เพื่อให้สามารถยอมรับหลักฐานบางอย่างที่ บันทึกเฉพาะถูกปล่อยออกมาโดยสัญญาฝ่าวงล้อมฝั่ง Ethereum สำหรับส่วนหัวที่มีความลึกเพียงพอ (และส่งต่อ ข้อความที่เกี่ยวข้องภายใน Polkadot) และสุดท้าย เพื่อให้สามารถยอมรับข้อพิสูจน์ที่ได้รับการยอมรับก่อนหน้านี้แต่ ส่วนหัวที่ยังไม่ได้ตรากฎหมายมีรากการรับที่ไม่ถูกต้อง หากต้องการรับข้อมูลส่วนหัว Ethereum จริงๆ (และ การพิสูจน์ SPV หรือการหักล้างความถูกต้อง/ความถูกต้องตามบัญญัติ) เครือข่าย Polkadot สิ่งจูงใจในการส่งต่อ 6SPV อ้างอิงถึงการยืนยันการชำระเงินแบบง่ายใน Bitcoin และอธิบายวิธีการสำหรับลูกค้าในการตรวจสอบธุรกรรมในขณะที่เก็บไว้เท่านั้น สำเนาของส่วนหัวบล็อกทั้งหมดของห่วงโซ่ PoW ที่ยาวที่สุดโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 9 จำเป็นต้องมีข้อมูล ซึ่งอาจง่ายพอๆ กับการชำระเงิน (ได้รับทุนจากค่าธรรมเนียมที่เรียกเก็บจากฝั่ง Ethereum) ที่ชำระแล้ว ถึงใครก็ตามที่สามารถส่งต่อบล็อกที่เป็นประโยชน์ซึ่งมีส่วนหัวเป็นได้ ถูกต้อง ผู้ตรวจสอบความถูกต้องจะถูกเรียกให้เก็บข้อมูลที่เกี่ยวข้องกับบล็อกสองสามพันบล็อกล่าสุดเพื่อที่จะ สามารถจัดการ forks ได้ด้วยวิธีการบางอย่างของโปรโตคอลหรือผ่านสัญญาที่เก็บรักษาไว้บน โซ่รีเลย์ 5.6. Polkadot และ Bitcoin. Bitcoin การทำงานร่วมกัน นำเสนอความท้าทายที่น่าสนใจสำหรับ Polkadot: สิ่งที่เรียกว่า “หมุดสองทาง” จะเป็นโครงสร้างพื้นฐานที่มีประโยชน์ ให้มีที่ฝั่งทั้งสองเครือข่าย อย่างไรก็ตามเนื่องจาก ข้อจำกัดของ Bitcoin การให้หมุดดังกล่าวอย่างปลอดภัยคือ กิจการที่ไม่สำคัญ การส่งมอบธุรกรรมจาก โดยหลักการแล้ว Bitcoin ถึง Polkadot สามารถทำได้ด้วยกระบวนการที่คล้ายกับกระบวนการนั้นสำหรับ Ethereum; “ที่อยู่แยก” ควบคุมในทางใดทางหนึ่งโดย Polkadot validators ทำได้ รับ tokens ที่ถ่ายโอน (และข้อมูลที่ส่งไปพร้อมกับพวกเขา) สามารถจัดเตรียมหลักฐาน SPV ได้ด้วย oracles ที่เป็นแรงจูงใจ และ พร้อมระยะเวลายืนยันเงินรางวัลที่มอบให้ การระบุบล็อกที่ไม่เป็นที่ยอมรับซึ่งบ่งบอกถึงธุรกรรม ถูก "ใช้จ่ายสองเท่า" tokens ใดๆ ก็ตามที่เป็นเจ้าของใน โดยหลักการแล้ว “ที่อยู่แยก” จะถูกควบคุมโดย validators เดียวกันเหล่านั้นเพื่อการกระจายในภายหลัง อย่างไรก็ตาม ปัญหาคือวิธีที่สามารถควบคุมเงินฝากได้อย่างปลอดภัยจากชุดที่หมุนเวียน validator ไม่เหมือน Ethereum ซึ่งสามารถตัดสินใจได้ตามอำเภอใจ จากการรวมลายเซ็น Bitcoin มีความสำคัญอย่างยิ่ง มีข้อจำกัดมากขึ้น โดยลูกค้าส่วนใหญ่ยอมรับเฉพาะธุรกรรมที่มีลายเซ็นหลายลายเซ็นโดยมีได้สูงสุด 3 ฝ่าย การขยายเป็น 36 หรือหลายพันตามที่ต้องการในท้ายที่สุดนั้นเป็นไปไม่ได้ภายใต้ระเบียบการปัจจุบัน ทางเลือกหนึ่งคือแก้ไขโปรโตคอล Bitcoin เพื่อเปิดใช้งาน ฟังก์ชั่นดังกล่าวแม้จะเรียกว่า "ฮาร์ดฟอร์ก" ใน Bitcoin โลกเป็นเรื่องยากที่จะจัดให้มีการตัดสินจากความพยายามครั้งล่าสุด ความเป็นไปได้อย่างหนึ่งคือการใช้ลายเซ็นเกณฑ์ รูปแบบการเข้ารหัสเพื่อให้สาธารณะสามารถระบุตัวได้เพียงลำพัง กุญแจสำคัญที่จะควบคุมอย่างมีประสิทธิภาพโดย "ส่วน" ที่เป็นความลับหลายอัน บางส่วนหรือทั้งหมดต้องใช้เพื่อสร้างลายเซ็นที่ถูกต้อง ขออภัย รองรับลายเซ็นตามเกณฑ์ ด้วย ECDSA ของ Bitcoin นั้นมีราคาแพงในการคำนวณ สร้างและความซับซ้อนพหุนาม แผนการอื่นๆ เช่น ลายเซ็น Schnorr ให้ต้นทุนที่ต่ำกว่ามาก อย่างไรก็ตาม ไทม์ไลน์ที่อาจนำมาใช้ใน Bitcoin โปรโตคอลไม่แน่นอน เนื่องจากความปลอดภัยขั้นสูงสุดของเงินฝากขึ้นอยู่กับ จำนวน validators ที่ถูกผูกมัด อีกทางเลือกหนึ่งคือ ลดผู้ถือกุญแจแบบหลายลายเซ็นให้เหลือเพียงจำนวนมากเท่านั้น ชุดย่อยที่ถูกผูกมัดของทั้งหมด validators ดังกล่าวถึงเกณฑ์นั้น ลายเซ็นเป็นไปได้ (หรือที่แย่ที่สุดคือ Bitcoin เป็นภาษาท้องถิ่น สามารถลงนามหลายลายเซ็นได้) แน่นอนว่าสิ่งนี้จะช่วยลด จำนวนพันธบัตรทั้งหมดที่สามารถหักในการชดใช้หาก validators ประพฤติผิดกฎหมาย อย่างไรก็ตาม สิ่งนี้ เป็นการเสื่อมสลายอย่างงดงาม เพียงแต่กำหนดขอบเขตบนไว้ จำนวนเงินที่สามารถดำเนินการได้อย่างปลอดภัยระหว่าง สองเครือข่าย (หรือแท้จริงแล้ว % การสูญเสียควรถูกโจมตี) จาก validators สำเร็จ) ด้วยเหตุนี้ เราจึงเชื่อว่าการวาง Bitcoin การทำงานร่วมกันที่ปลอดภัยพอสมควร "parachain เสมือน" ไม่ใช่เรื่องไม่สมจริง ระหว่างทั้งสองเครือข่าย แม้ว่าจะเป็นความพยายามอย่างมากโดยมีไทม์ไลน์ที่ไม่แน่นอนและอาจเป็นไปได้ก็ตาม โดยต้องได้รับความร่วมมือจากผู้มีส่วนได้เสียภายในนั้น เครือข่าย
Обзор конструкции
Цель этого раздела – дать краткий обзор система в целом. Более тщательное исследование система приведена в следующем за ней разделе. 5.1. Консенсус. В цепочке реле Polkadot достигает консенсус низкого уровня по набору взаимно согласованных действительных блокируется с помощью современного асинхронного византийского отказоустойчивого алгоритма (BFT). Алгоритм будет вдохновлен с помощью простого Tendermint [11] и значительно большего участвует HoneyBadgerBFT [14]. Последний обеспечивает эффективный и отказоустойчивый консенсус по произвольному дефектная сетевая инфраструктура, учитывая набор в основном безобидных органов власти или validator. Для сети в стиле доказательства авторитета (PoA) это само по себе было бы достаточно, однако Polkadot предполагается также можно развернуть в виде сети в полностью открытом и общедоступном режиме. ситуация без какой-либо конкретной организации или доверенного лица полномочия, необходимые для его поддержания. Таким образом, нам нужен средства определения набора validators и стимулирования им, если честно. Для этого мы используем отбор на основе PoS. критерии. 5.2. Доказательство ставки. Мы предполагаем, что сеть будут иметь некоторые средства измерения размера «ставки» какая-либо конкретная учетная запись имеет. Для удобства сравнения с ранее существовавших систем, мы будем называть единицу измерения «tokens». К сожалению, этот термин не идеален для ряд причин, не в последнюю очередь то, что это просто скаляр значение, связанное со счетом, нет понятия индивидуальность. Мы предполагаем, что validator избираются нечасто (в лучшем случае один раз в день, но, возможно, реже, чем раз в квартал), по схеме Nomination Proof-of-Stake (NPoS). Стимулирование может происходить за счет пропорционального распределенияPOLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 6 Реле цепь Рой валидаторов (каждый окрашен в свой цвет обозначенный парачейн) Транзакция (представлено внешний актер) Парачейн мост Виртуальный парачейн (например, Ethereum) Парачейн Парачейн очереди и ввод-вывод Распространяемые транзакции Заблокировать подачу кандидата 2-й порядок Релейная цепь Парачейн-сообщество Аккаунт Входящая транзакция Исходящая транзакция Межцепочные транзакции (управляется validators) подборщик Распространенный блок Рыбак Рисунок 2. Сводная схема системы Polkadot. На этом рисунке показаны сопоставители, собирающие и распространяющие пользовательские транзакции, а также распространяющие кандидатов на блоки рыбакам и validator. Это также показывает, как учетная запись может публиковать транзакцию, выполняемую из ее парачейна, через релейную цепь. и в другой парачейн, где это можно интерпретировать как транзакцию на счет там. средства, поступающие от расширения базы token (до 100 % в год, хотя более вероятно около 10%) вместе с любые взимаемые комиссии за транзакции. Хотя расширение денежной базы обычно приводит к инфляции, поскольку все владельцы token будут иметь справедливую возможность участия, ни одному держателю token не придется страдать от снижения стоимости своих холдингов с течением времени при условии, что они будут рады принять роль в механизме консенсуса. Особая пропорция из token будут предназначены для процесса staking; тот эффективное расширение базы token будет скорректировано через рыночный механизм для достижения этой цели. Валидаторы сильно связаны своими ставками; выход Облигации validators остаются в силе еще долгое время после прекращения исполнения обязанностей validators (возможно, около 3 месяцев). Это долго Период ликвидации облигаций позволяет предотвратить неправомерное поведение в будущем. наказываются вплоть до периодической проверки цепочки. Неправомерное поведение влечет за собой наказание, например, снижение вознаграждение или, в случаях, которые намеренно ставят под угрозу целостность сети, validator теряет часть или все свои ставка другим validator, информаторам или заинтересованным сторонам в целом (через горение). Например, validator который пытается ратифицировать обе ветви вилки (иногда известная как атака «ближнего радиуса действия»), могут быть идентифицированы и наказывалось последним способом. Дальние атаки «ничего не поставлено на карту»4 обходят с помощью простой блокировки «контрольной точки», которая предотвращает опасную реорганизацию цепочки длиной более определенную глубину цепи. Чтобы обеспечить новую синхронизацию клиентов не могут попасться не на ту цепочку, регулярные произойдут «хардфорки» (максимум того же периода ликвидация облигаций validators), которые жестко закодируют недавнюю контрольную точку, блокирующую hashes в клиентах. Это хорошо сочетается с дополнительной мерой уменьшения занимаемой площади «конечной длиной цепи» или периодический сброс генезис-блока. 5.3. Парачейны и колляторы. Каждый парачейн получает аналогичные средства безопасности для релейной цепи: тот заголовки парачейнов запечатаны внутри блока релейной цепи обеспечение невозможности реорганизации или «двойного расходования» после подтверждения. Это аналогичная гарантия безопасности, предлагаемая сайдчейнами Bitcoin и слиянием майнинга. Polkadot, однако, также предоставляет надежные гарантии того, что переходы состояний парачейнов действительны. Это происходит посредством криптографического случайного сегментирования набора validator на подмножества; одно подмножество на парачейн, подмножества которых потенциально различаются в каждом блоке. Это настройка обычно подразумевает, что время блокировки парачейнов будет быть по крайней мере такой же длины, как и длина релейной цепи. Конкретный средства определения разделения выходят за рамки 4Такая атака заключается в том, что противник создает совершенно новую историческую цепочку, начиная с блока генезиса. Посредством контроля относительно незначительную часть ставки при зачете, они могут постепенно увеличивать свою долю ставки относительно всех других заинтересованные стороны, поскольку они являются единственными активными участниками своей альтернативной истории. Поскольку не существует внутренних физических ограничений на создание блоков (в отличие от PoW, где должна быть затрачена вполне реальная вычислительная энергия), они способны создавать цепочку длиннее, чем реальная цепочка в относительно короткий промежуток времени и потенциально делает его самым длинным и лучшим, принимая на себя каноническое состояние сети.POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 7 этого документа, но, скорее всего, будет основан либо на фреймворк фиксации-раскрытия, аналогичный RanDAO [19] или использовать данные, объединенные из предыдущих блоков каждого парачейна под криптографически безопасным hash. Такие подмножества validator необходимы для предоставления кандидат на блок парачейна, который гарантированно действителен (на боль от конфискации облигаций). Срок действия вращается вокруг двух важные моменты; во-первых, что оно действительно действительно по своей сути — что все переходы состояний были выполнены добросовестно и что все внешние данные, на которые ссылаются (т. е. транзакции), действительны для включения. Во-вторых, любые данные, не относящиеся к его кандидаты, такие как внешние транзакции, имеют достаточно высокую доступность, чтобы участники могли загрузите его и выполните блок вручную.5 Валидаторы могут предоставить только «нулевой» блок, не содержащий данных о внешних «транзакциях», но в этом случае они рискуют получить уменьшенное вознаграждение. Они работают бок о бок протокол сплетен парачейна с сопоставителями — отдельными лицами которые объединяют транзакции в блоки и предоставляют неинтерактивное доказательство с нулевым разглашением того, что блок является действительным дочерним элементом своего родителя (и принимает любую транзакцию гонорары за свои хлопоты). Протоколам парачейна предоставлено право определять свои собственные средства предотвращения спама: не существует фундаментального понятия «учет вычислительных ресурсов» или «плата за транзакцию» налагаемые релейной цепью. Протокол ретрансляционной цепи также не обеспечивает прямого соблюдения этого правила (хотя он маловероятно, что заинтересованные стороны захотят принять парачейн, который не обеспечивал достойного механизма). Это явный намек на возможность существования цепочек в отличие от Ethereum, например. цепочка типа Bitcoin, которая имеет гораздо более простую модель оплаты или какую-либо другую, еще не предложенную модель предотвращения спама. Сама релейная цепь Polkadot, вероятно, будет существовать как Ethereum-подобные учетные записи и цепочка состояний, возможно, производная от EVM. Поскольку узлы релейной цепи должны будут выполнять существенную другую обработку, пропускную способность транзакций будет частично сведено к минимуму за счет больших комиссий за транзакции и, если наши исследовательские модели требуют ограничения размера блока. 5.4. Межсетевое общение. Важнейшим и последним ингредиентом Polkadot является межцепочечная связь. Поскольку между парачейнами может быть какой-то информационный канал, мы позволяем себе считать Polkadot масштабируемая мультицепочка. В случае Polkadot связь настолько проста, насколько это возможно: транзакции выполняются в парачейн (согласно логике этой цепочки) способны осуществить отправку транзакции во второй парачейн или, потенциально, релейная цепь. Как внешние транзакции на производстве blockchain они полностью асинхронны и у них нет внутренней способности возвращать какие-либо вид информации возвращается к ее источнику. Назначение: получает данные предыдущего validators блока. Аккаунт получает сообщение: запись удалена из вход Merkle tree Аккаунт отправляет сообщение: запись помещена в выход Merkle tree для назначения парачейн выход Источник: акции данные со следующим блоком validatorс подтверждение почты, хранящееся в выход парачейна Меркла дерево размещена маршрутизированная ссылка в пункте назначения парачейна вход Merkle tree проникновение Рисунок 3. Базовая схема, показывающая основные части маршрутизации для публикации транзакции («посты»). Чтобы обеспечить минимальную сложность реализации, минимальные риск и минимальный смирительная рубашка из будущее В парачейн-архитектурах эти межцепочные транзакции фактически неотличимы от стандартных транзакций, подписанных извне. Транзакция имеет сегмент происхождения, предоставляющий возможность идентифицировать парачейн, и адрес, который может иметь произвольный размер. В отличие от обычных текущих систем, таких как Bitcoin и Ethereum, межцепочные транзакции не связаны с какой-либо «оплатой» комиссии; любой такой платеж должен управляться посредством логики переговоров в парачейнах источника и назначения. Такая система, как предложенная для Выпуск Serenity Ethereum [7] будет простым средством управления такой межсетевой оплатой ресурсов, хотя мы предполагаем, что со временем на первый план могут выйти и другие. Межцепочные транзакции разрешаются с использованием простого механизм организации очередей, основанный на Merkle tree, чтобы гарантировать верность. Задачей специалистов по обслуживанию релейной цепи является перемещать транзакции в выходную очередь одного парачейна во входную очередь целевого парачейна. на пройденные транзакции ссылаются в цепочке реле, однако они не передаютсяСами транзакции ay-chain. Чтобы предотвратить спам-рассылку парачейна другому парачейну с помощью транзакции, для отправки транзакции необходимо чтобы очередь ввода адресата не была слишком большой время окончания предыдущего блока. Если вход очередь слишком велика после обработки блока, то она считается «насыщенной» и никакие транзакции не могут быть перенаправлены в нее в последующих блоках, пока не уменьшится снова ниже уровня предел. Эти очереди администрируются в цепочке реле. позволяя парачейнам определять насыщенность друг друга статус; таким образом, неудачная попытка опубликовать транзакцию в остановленный пункт назначения может быть сообщено синхронно. (Хотя, поскольку пути возврата не существует, если вторичная транзакция не удалась по этой причине, о ней нельзя будет сообщить обратно. исходному абоненту и некоторые другие средства восстановления должно было состояться.) 5.5. Polkadot и Ethereum. Учитывая полноту по Тьюрингу Ethereum, мы ожидаем, что у Polkadot и Ethereum есть широкие возможности взаимодействия с друг друга, по крайней мере, в пределах некоторых легко выводимых границ безопасности. Короче говоря, мы предполагаем, что транзакции из Polkadot может быть подписан validator и затем передан в 5Такая задача может быть разделена между validator или может стать назначенной задачей набора сильно связанных validator, известных как Гаранты наличия.
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 8 Ethereum, где их можно интерпретировать и применять договор о пересылке транзакций. В другом направлении, мы предусматриваем использование специально отформатированных журналов (событий) исходит из «прорывного контракта», чтобы обеспечить быструю проверку того, что конкретное сообщение должно быть перенаправлено. 5.5.1. От Polkadot до Ethereum. Через выбор А. Механизм консенсуса BFT с validators, сформированный из набор заинтересованных сторон, определенный путем одобрительного голосования механизм, мы можем достичь надежного консенсуса с нечасто меняющееся и скромное количество validators. В системе с общим числом 144 validators время блока 4 секунды и завершение в 900 блоков (что позволяет злонамеренным поведение, такое как двойное голосование, о котором следует сообщать, наказывается и восстановлен), достоверность блока может быть обоснованно считается доказанным, если имеется всего лишь 97 подписей (две трети из 144 плюс одна) и последующий 60-минутный период проверки, в течение которого не было предъявлено никаких возражений. Ethereum может организовать «контракт на взлом», который может сохранить 144 подписанта и контролироваться их. Поскольку для восстановления цифровой подписи по эллиптической кривой (ECDSA) требуется всего 3000 газа под номером EVM, и поскольку мы, вероятно, хотели бы, чтобы проверка происходила только на сверхбольшинство validator (вместо полного единогласия), базовая стоимость Ethereum, подтверждающая, что инструкция было правильно подтверждено, поскольку из сети Polkadot будет не более 300 000 газа — всего 6% общий лимит газа по блоку составляет 5,5М. Увеличение количества validator (что необходимо для работы с десятки сетей) неизбежно увеличивает эту стоимость, однако ожидается, что пропускная способность транзакций Ethereum со временем будет расти по мере развития технологии и инфраструктура улучшается. Вместе с тем, что не должны быть задействованы все validator (например, только самый высокий для выполнения такой задачи могут быть привлечены поставленные на карту validators) пределы этого механизма достаточно обширны. Предполагая ежедневную ротацию таких validator (что достаточно консервативны (может быть приемлемым еженедельное или даже ежемесячное обслуживание), тогда затраты сети на поддержание этот мост пересылки Ethereum будет около 540 000 газа в день или, при нынешних ценах на газ, 45 долларов в год. Базовая транзакция, пересылаемая через мост, будет стоить около 0,11 доллара США; дополнительные расчеты по контракту будут стоить больше, конечно. Путем буферизации и объединения транзакций вместе затраты на разрешение на взлом могут быть легко совместное использование, что существенно снижает стоимость транзакции; если перед пересылкой требовалось 20 транзакций, то стоимость пересылки базовой транзакции упадет до около $0,01. Одной интересной и более дешевой альтернативой этой модели контракта с несколькими подписями может быть использование пороговых подписей для достижения семантики многостороннего владения. В то время как схемы пороговой подписи для ECDSA являются вычислительно дорогими, для других схем такие как подписи Шнорра очень разумны. Ethereum планирует ввести примитивы, которые сделают такие дешевые схемы для использования в предстоящем хардфорке Metropolis. Если бы такое средство можно было использовать, стоимость газа для пересылки транзакции Polkadot в Ethereum сеть будет резко сокращена почти до нуля. накладные расходы сверх основных затрат на проверку подпись и выполнение базовой транзакции. В этой модели узлы Polkadot validator будут иметь ничего не делать, кроме как подписывать сообщения. Чтобы транзакции действительно направлялись в сеть Ethereum, мы предположим, что либо сами validator также будут находиться на сеть Ethereum или, что более вероятно, небольшие награды быть предложено первому актору, который передаст сообщение в сеть (награда может быть тривиально выплачена инициатор транзакции). 5.5.2. От Ethereum до Polkadot. Получение транзакций при пересылке с Ethereum на Polkadot используется простое понятие журналов. Когда контракт Ethereum желает отправить транзакцию в конкретный парачейн Polkadot, ему нужно просто заключить специальный «контракт о прорыве». Контракт о прорыве будет принимать любые платежи, которые могут потребуется и выдать инструкцию регистрации, чтобы ее существование можно было доказать с помощью доказательства Меркла и утверждения о том, что заголовок соответствующего блока действителен и канонический. Из последних двух условий достоверность, пожалуй, является проще всего доказать. В принципе, единственное требованиедля каждого узла Polkadot, требующего доказательства (т. е. назначенные узлы validator) для запуска полностью синхронизированного экземпляра стандартного узла Ethereum. К сожалению, это само по себе довольно сильная зависимость. Более Облегченным методом было бы использовать простое доказательство того, что заголовок был оценен правильно, поскольку был указан только часть дерева состояния Ethereum, необходимая для правильного выполнения транзакции в блоке и проверьте достоверность журналов (содержащихся в квитанции блока). Такие «СПВ-подобные»6 доказательства все же могут потребовать значительного объема информации; удобно, они обычно не нужны все: система облигаций внутри Polkadot позволит связывать третьим лицам отправлять заголовки с риском потери своих залог, если какая-либо третья сторона (например, «рыбак», см. 6.2.3) предоставит доказательство того, что заголовок недействителен. (в частности, что корень штата или корни квитанций были самозванцами). В незавершенной сети PoW, такой как Ethereum, каноничность невозможно доказать окончательно. Чтобы решить эту проблему, приложения, которые пытаются использовать какие-либо причинно-следственной цепочки дождитесь нескольких «подтверждений» или пока зависимая транзакция не достигнет некоторого определенную глубину внутри цепи. На Ethereum это Глубина варьируется от 1 блока для наименее ценных транзакций без известных проблем с сетью до 1200 блоков, как было раньше. случай во время первоначального выпуска Frontier для обмена. В стабильной сети «Homestead» эта цифра находится на отметке 120 блоков для большинства бирж, и мы, скорее всего, возьмем аналогичный параметр. Итак мы может представьте себе наш Polkadot сторона Ethereumинтерфейс, чтобы иметь несколько простых функций: иметь возможность принять новый заголовок из сети Ethereum и проверить PoW, чтобы иметь возможность принять некоторые доказательства того, что конкретный журнал был создан контрактом прорыва на стороне Ethereum для заголовка достаточной глубины (и прямого соответствующее сообщение в Polkadot) и, наконец, иметь возможность принимать доказательства, которые ранее были приняты, но Заголовок not-yet-enacted содержит недопустимый корень квитанции. Чтобы получить сами данные заголовка Ethereum (и любые доказательства SPV или опровержения действительности/каноничности) в сеть Polkadot, стимул для пересылки 6SPV относится к упрощенной проверке платежей в Bitcoin и описывает метод, позволяющий клиентам проверять транзакции, сохраняя при этом только копия заголовков всех блоков самой длинной цепочки PoW.POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 9 нужны данные. Это может быть так же просто, как оплата (финансируется за счет комиссий, собранных на стороне Ethereum) оплачено всем, кто может переслать полезный блок, заголовок которого действительный. Валидаторам будет предложено сохранять информацию, относящуюся к последним нескольким тысячам блоков, чтобы иметь возможность управлять форками либо с помощью некоторых встроенных в протокол средств, либо с помощью контракта, поддерживаемого на релейная цепь. 5.6. Polkadot и Bitcoin. Bitcoin взаимодействие представляет собой интересную задачу для Polkadot: так называемую «двусторонняя привязка» была бы полезной частью инфраструктуры иметь на стороне обеих сетей. Однако из-за ограничения Bitcoin, обеспечение такой привязки безопасным нетривиальное занятие. Осуществление транзакции от От PH_0011 до Polkadot в принципе можно выполнить с помощью процесса, аналогичного процессу для Ethereum; «адрес прорыва» каким-то образом контролируемые Polkadot validators могли получать переданные tokens (и данные, отправленные вместе с ними). Доказательства SPV могут быть предоставлены заинтересованными oracle и, вместе с периодом подтверждения, награда за выявление неканонических блоков, подразумевающих транзакцию был «израсходован дважды». Любые tokens, принадлежавшие тогда в Тогда «адрес прорыва», в принципе, будет контролироваться теми же validator для последующего распространения. Однако проблема заключается в том, как можно безопасно контролировать депозиты с помощью вращающегося набора validator. В отличие от Ethereum, который способен принимать произвольные решения на основе при сочетании подписей Bitcoin по существу более ограничен: большинство клиентов принимают только транзакции с мультиподписями, в которых участвуют максимум 3 стороны. Увеличение этого числа до 36 или даже до тысяч, как это в конечном итоге может быть желательно, невозможно в соответствии с текущим протоколом. Один из вариантов — изменить протокол Bitcoin, чтобы включить такая функциональность, однако так называемые «хард-форки» в Bitcoin мир сложно устроить, судя по недавним попыткам. Одной из возможностей является использование пороговых сигнатур, криптографические схемы, позволяющие однозначно идентифицировать публичные ключ для эффективного управления несколькими секретными «частями», некоторые или все из них должны быть использованы для создания действительной подписи. К сожалению, пороговые подписи совместимы с ECDSA Bitcoin требуют больших вычислительных затрат создания и полиномиальной сложности. Другие схемы, такие как Подписи Шнорра обеспечивают гораздо более низкие затраты, однако график, в котором они могут быть представлены в Bitcoin протокол неясен. Поскольку конечная безопасность депозитов зависит от несколько связанных validator, еще один вариант — сократить количество держателей ключей с несколькими подписями до связанное подмножество общего числа validators, такое что порог подписи становятся возможными (или, на худой конец, родными для Bitcoin возможна мультиподпись). Это, конечно, снижает общая сумма облигаций, которая может быть вычтена в качестве возмещения, если validator будут вести себя незаконно, однако это это изящная деградация, просто установка верхнего предела количество средств, которые могут безопасно перемещаться между две сети (вернее, на % потерь при атаке из __PH_0004__s удалось). Таким образом, мы считаем, что вполне реально разместить достаточно безопасный «виртуальный парачейн» с функциональной совместимостью Bitcoin. между двумя сетями, хотя, тем не менее, это значительные усилия с неопределенными сроками и, вполне возможно, требуя сотрудничества заинтересованных сторон в рамках этого сеть.
โปรโตคอลโดยละเอียด
โปรโตคอลสามารถแบ่งออกเป็นสามอย่างคร่าว ๆ ชิ้นส่วน: กลไกฉันทามติ, ส่วนต่อประสานพาราเชน และการกำหนดเส้นทางธุรกรรมระหว่างลูกโซ่ 6.1. รีเลย์โซ่ การดำเนินงาน ที่ รีเลย์โซ่ จะ น่าจะเป็นห่วงโซ่ที่คล้ายกับ Ethereum ในวงกว้าง เป็นแบบรัฐโดยมีที่อยู่การแมปสถานะไปยังบัญชี ข้อมูล ส่วนใหญ่จะสมดุล และ (เพื่อป้องกันการเล่นซ้ำ) เคาน์เตอร์ธุรกรรม การวางบัญชีที่นี่บรรลุจุดประสงค์เดียว นั่นคือ เพื่อจัดเตรียมการบัญชีที่มีเอกลักษณ์เฉพาะตัว จำนวนเดิมพันในระบบ 7 จะมีความแตกต่างที่น่าสังเกตแม้ว่า: • ไม่สามารถปรับใช้สัญญาผ่านธุรกรรมได้ ต่อไปนี้จากความปรารถนาที่จะหลีกเลี่ยงการทำงานของแอปพลิเคชันบนรีเลย์เชนก็จะไม่เป็นเช่นนั้น สนับสนุนการนำสัญญาไปใช้สาธารณะ • การใช้ทรัพยากรคอมพิวเตอร์ (“แก๊ส”) ไม่ได้ถูกนำมาพิจารณา เนื่องจากมีเพียงฟังก์ชันเดียวที่เปิดให้ใช้งานทั่วไปเท่านั้น จะได้รับการแก้ไข เหตุผลเบื้องหลังการบัญชีก๊าซ ไม่ถืออีกต่อไป ด้วยเหตุนี้จึงจะมีค่าธรรมเนียมเพิ่มเติม ทุกกรณีช่วยให้มีประสิทธิภาพมากขึ้นจากกรณีใด ๆ การเรียกใช้โค้ดแบบไดนามิกที่อาจจำเป็นต้องดำเนินการ และรูปแบบธุรกรรมที่ง่ายกว่า • ฟังก์ชั่นพิเศษได้รับการสนับสนุนสำหรับสัญญาที่ระบุไว้ซึ่งช่วยให้สามารถดำเนินการอัตโนมัติและส่งออกข้อความเครือข่าย ในกรณีที่รีเลย์เชนมี VM และเป็นเช่นนั้น จาก EVM นั้น จะมีการปรับเปลี่ยนหลายอย่างเพื่อให้แน่ใจว่ามีความเรียบง่ายสูงสุด ก็น่าจะได้ มีสัญญาในตัวจำนวนหนึ่ง (คล้ายกับที่ ที่อยู่ 1-4 ใน Ethereum) เพื่ออนุญาตเฉพาะแพลตฟอร์ม หน้าที่ที่จะต้องจัดการรวมถึงสัญญาที่เป็นเอกฉันท์ validator สัญญาและสัญญาพาราเชน หากไม่ใช่ EVM ดังนั้นแบ็กเอนด์ WebAssembly [2] (wasm) จึงเป็นทางเลือกที่เป็นไปได้มากที่สุด ในกรณีนี้โดยรวม โครงสร้างจะคล้ายกัน แต่ก็ไม่จำเป็น สำหรับสัญญาในตัวที่มี Wasm เป็นเป้าหมายที่เป็นไปได้ สำหรับภาษาวัตถุประสงค์ทั่วไปมากกว่าที่ยังไม่บรรลุนิติภาวะ และภาษาที่จำกัดสำหรับ EVM การเบี่ยงเบนที่เป็นไปได้อื่นๆ จากโปรโตคอล Ethereum ปัจจุบันค่อนข้างเป็นไปได้ ตัวอย่างเช่น ความเรียบง่ายของ รูปแบบธุรกรรม-ใบเสร็จรับเงินช่วยให้สามารถดำเนินการแบบขนานของธุรกรรมที่ไม่มีความขัดแย้งภายในบล็อกเดียวกัน ตามที่เสนอสำหรับชุดการเปลี่ยนแปลง Serenity เป็นไปได้แม้ว่าจะไม่น่าเป็นไปได้ก็ตามที่เหมือนความสงบสุข โซ่ "บริสุทธิ์" ถูกปรับใช้เป็นรีเลย์-เชน เพื่อให้สามารถ สัญญาเฉพาะเพื่อจัดการสิ่งต่าง ๆ เช่น staking token สมดุลแทนที่จะทำให้สิ่งนั้นเป็นส่วนพื้นฐานของ โปรโตคอลของลูกโซ่ ปัจจุบันเรารู้สึกว่าไม่น่าจะเป็นเช่นนั้น จะนำเสนอความเรียบง่ายของโปรโตคอลที่ดีเยี่ยมพอสมควร คุ้มค่ากับความซับซ้อนและความไม่แน่นอนเพิ่มเติมที่เกี่ยวข้อง ในการพัฒนามัน 7เพื่อเป็นการแสดงจำนวนเงินที่ผู้ถือกำหนดต้องรับผิดชอบต่อความปลอดภัยโดยรวมของระบบ บัญชีเดิมพันเหล่านี้จะ เข้ารหัสมูลค่าทางเศรษฐกิจบางอย่างอย่างหลีกเลี่ยงไม่ได้ อย่างไรก็ตาม ควรเข้าใจว่าเนื่องจากไม่มีเจตนาที่จะใช้ค่าดังกล่าว ไม่ว่าด้วยวิธีใดก็ตามเพื่อวัตถุประสงค์ในการแลกเปลี่ยนสินค้าและบริการในโลกแห่งความเป็นจริง ควรสังเกตว่า tokens นั้นไม่เหมือนกับ สกุลเงินและด้วยเหตุนี้ รีเลย์เชนจึงยังคงรักษาปรัชญาที่ทำลายล้างเกี่ยวกับการใช้งานโพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 10 มีฟังก์ชันการทำงานเล็กๆ น้อยๆ จำนวนหนึ่งที่จำเป็นสำหรับการจัดการกลไกฉันทามติ ชุด validator กลไกการตรวจสอบ และพาราเชน เหล่านี้ สามารถนำไปใช้ร่วมกันภายใต้โปรโตคอลเสาหิน อย่างไรก็ตาม ด้วยเหตุผลของการเพิ่มความเป็นโมดูลาร์ เราจึงอธิบายสิ่งเหล่านี้ว่าเป็น "สัญญา" ของรีเลย์-เชน สิ่งนี้ควร ให้เข้าใจว่าเป็นวัตถุ (ในความหมายของ การเขียนโปรแกรมเชิงวัตถุ) จัดการโดยกลไกฉันทามติของรีเลย์เชน แต่ไม่จำเป็นว่าจะเป็นเช่นนั้น พวกเขาถูกกำหนดให้เป็นโปรแกรมใน EVM-like opcodes หรือ แม้ว่าพวกเขาจะสามารถระบุที่อยู่ได้เป็นรายบุคคลผ่านทาง ระบบบัญชี 6.2. สัญญาการปักหลัก สัญญานี้จะรักษาชุด validator มันจัดการ: • บัญชีใดในปัจจุบัน validators; • ซึ่งพร้อมที่จะกลายเป็น validators ในระยะสั้น แจ้งให้ทราบล่วงหน้า; • บัญชีใดที่มีการเสนอชื่อเดิมพัน validator; • คุณสมบัติของแต่ละอย่างรวมถึงปริมาณ staking อัตราการจ่ายเงินและที่อยู่ที่ยอมรับได้ และตัวตนระยะสั้น (เซสชัน) อนุญาตให้บัญชีลงทะเบียนความปรารถนาที่จะเป็น ผูกมัด validator (พร้อมกับข้อกำหนด) เพื่อเสนอชื่อตัวตนบางส่วน และสำหรับ validators ผูกมัดที่มีอยู่แล้ว เพื่อลงทะเบียนความปรารถนาที่จะออกจากสถานะนี้ มันยัง รวมถึงเครื่องจักรสำหรับกลไกการตรวจสอบและการกำหนดมาตรฐาน 6.2.1. เดิมพัน-token สภาพคล่อง เป็นที่พึงปรารถนาโดยทั่วไป มี staking tokens ทั้งหมดมากที่สุดเท่าที่จะเป็นไปได้ เดิมพันภายในการดำเนินงานบำรุงรักษาเครือข่ายตั้งแต่นั้นมา สิ่งนี้เชื่อมโยงโดยตรงกับความปลอดภัยของเครือข่ายกับ "มูลค่าหลักทรัพย์ตามราคาตลาด" โดยรวมของ staking token นี้ได้อย่างง่ายดาย ได้รับการจูงใจด้วยการเพิ่มสกุลเงินและแจกจ่ายรายได้ให้กับผู้ที่เข้าร่วมในฐานะ validators อย่างไรก็ตาม การทำเช่นนี้ทำให้เกิดปัญหา: ถ้า token ถูกล็อคอยู่ในสัญญาการปักหลักภายใต้การลงโทษของการลดลง ส่วนสำคัญจะคงอยู่ได้อย่างเพียงพอได้อย่างไร ของเหลวเพื่อให้สามารถค้นพบราคาได้? คำตอบประการหนึ่งสำหรับเรื่องนี้คือการอนุญาตให้ทำสัญญาอนุพันธ์ที่ตรงไปตรงมา โดยรักษาความปลอดภัย tokens ที่เปลี่ยนกันได้บนหุ้นอ้างอิง token นี่เป็นเรื่องยากที่จะจัดการในลักษณะที่ไว้วางใจได้ นอกจากนี้ tokens อนุพันธ์เหล่านี้ไม่สามารถได้รับการปฏิบัติอย่างเท่าเทียมกันด้วยเหตุผลเดียวกันกับที่ว่าพันธบัตรรัฐบาลยูโรโซนที่แตกต่างกันไม่สามารถทดแทนได้: คือโอกาสที่สินทรัพย์อ้างอิงจะล้มเหลวและกลายเป็น ไร้ค่า กับรัฐบาลยูโรโซนอาจมี ค่าเริ่มต้น ด้วย validator-เดิมพัน tokens validator อาจ กระทำการอันมุ่งร้ายและถูกลงโทษ ตามหลักการของเรา เราเลือกวิธีแก้ปัญหาที่ง่ายที่สุด: ไม่ใช่ token ทั้งหมดจะถูกเดิมพัน นี่ก็จะหมายความอย่างนั้น สัดส่วนบางส่วน (อาจ 20%) ของ tokens จะถูกบังคับให้ยังคงเป็นของเหลว แม้ว่าสิ่งนี้จะไม่สมบูรณ์แบบจากมุมมองด้านความปลอดภัย แต่ก็ไม่น่าจะสร้างความแตกต่างขั้นพื้นฐานได้ ความปลอดภัยของเครือข่าย 80% ของการชดใช้ที่เป็นไปได้จากการยึดพันธบัตรจะยังคงสามารถทำได้ เทียบกับ “กรณีที่สมบูรณ์แบบ” 100% staking อัตราส่วนระหว่างเงินเดิมพันและของเหลว tokens สามารถกำหนดเป้าหมายได้อย่างง่ายดายผ่านกลไกการประมูลแบบย้อนกลับ โดยพื้นฐานแล้ว token ผู้ถือสนใจที่จะเป็น validator แต่ละคนจะโพสต์ข้อเสนอในสัญญา staking ที่ระบุ อัตราการจ่ายเงินขั้นต่ำที่พวกเขาจะต้องได้รับ ส่วนหนึ่ง ในตอนต้นของแต่ละเซสชัน (เซสชันจะ เกิดขึ้นเป็นประจำบางทีอาจเกิดขึ้นครั้งละครั้ง) validator ช่องจะถูกเติมตามแต่ละช่อง validator เดิมพันและอัตราการจ่ายเงิน อัลกอริทึมหนึ่งที่เป็นไปได้ เพราะนี่จะเป็นการเอาผู้ที่มีข้อเสนอต่ำที่สุด เป็นตัวแทนเดิมพันไม่สูงกว่ายอดเดิมพันทั้งหมดที่ตั้งเป้าหมายไว้ หารด้วยจำนวนช่องและไม่ต่ำกว่าขอบล่างของจำนวนนั้น หากไม่สามารถเติมช่องได้ ขอบเขตล่างสามารถลดลงซ้ำๆ ได้ด้วยปัจจัยบางอย่างเพื่อให้เกิดความพึงพอใจ 6.2.2. การเสนอชื่อ เป็นไปได้ที่จะเสนอชื่ออย่างไม่ไว้วางใจ staking tokens ให้กับ validator ที่ใช้งานอยู่ โดยมอบให้พวกเขา ความรับผิดชอบของหน้าที่ validators การเสนอชื่อผลงาน ผ่านระบบอนุมัติ-ลงคะแนนเสียง ผู้ที่จะเป็นผู้เสนอชื่อแต่ละคนสามารถโพสต์คำแนะนำในสัญญา staking ได้ การแสดงตัวตน validator อย่างน้อยหนึ่งรายการภายใต้เจ้าของ ความรับผิดชอบที่พวกเขาพร้อมที่จะมอบความไว้วางใจ ในแต่ละเซสชั่นพันธบัตรของผู้เสนอชื่อจะกระจายออกไป แสดงโดย validator หนึ่งรายการขึ้นไป อัลกอริธึมการกระจายปรับให้เหมาะสมสำหรับชุด validators ของผลรวมที่เทียบเท่ากัน พันธบัตร พันธบัตรของผู้เสนอชื่อจะอยู่ภายใต้ความรับผิดชอบที่มีประสิทธิภาพของ validator aและได้รับดอกเบี้ยหรือประสบ ลดโทษตามสมควร 6.2.3. การยึดพันธบัตร / การเผา พฤติกรรม validator บางอย่างส่งผลให้มีการลดความผูกพันลง ถ้า พันธบัตรจะลดลงต่ำกว่าขั้นต่ำที่อนุญาต เซสชันสิ้นสุดก่อนกำหนดและเซสชันอื่นเริ่มต้นขึ้น รายการพฤติกรรมที่ไม่เหมาะสม validator ที่ได้รับโทษอย่างครบถ้วน รวมถึง: • เป็นส่วนหนึ่งของกลุ่มพาราเชนที่ไม่สามารถให้ได้ ฉันทามติเกี่ยวกับความถูกต้องของบล็อกพาราเชน • กระตือรือร้นในการลงนามเพื่อความถูกต้องของสิ่งที่ไม่ถูกต้อง บล็อกพาราเชน • ไม่สามารถจัดหาเพย์โหลดขาออกได้ก่อนหน้านี้ โหวตว่าใช้ได้; • การไม่ใช้งานในระหว่างกระบวนการฉันทามติ; • ตรวจสอบความถูกต้องของบล็อกรีเลย์-เชนบนส้อมของคู่แข่ง พฤติกรรมที่ไม่เหมาะสมบางกรณีอาจคุกคามความสมบูรณ์ของเครือข่าย (เช่น การเซ็นชื่อบล็อก parachain ที่ไม่ถูกต้อง และการตรวจสอบหลายด้านของทางแยก) และด้วยเหตุนี้จึงส่งผลให้มีการเนรเทศอย่างมีประสิทธิผลโดยการลดพันธะทั้งหมดลง ใน กรณีอื่นๆ ที่ร้ายแรงน้อยกว่า (เช่น การไม่มีการใช้งานตามฉันทามติ กระบวนการ) หรือกรณีที่ไม่สามารถระบุความผิดได้แน่ชัด (เป็นส่วนหนึ่งของกลุ่มที่ขาดประสิทธิภาพ) ส่วนน้อย ของพันธบัตรอาจถูกปรับแทนได้ ในกรณีหลังนี้ ทำงานได้ดีกับการปั่นกลุ่มย่อยเพื่อให้แน่ใจว่าเป็นอันตราย โหนดต้องสูญเสียมากกว่าโหนดใจดีที่เสียหายอย่างมาก ในบางกรณี (เช่น การตรวจสอบ multi-fork และไม่ถูกต้อง การลงนามบล็อกย่อย) validators ไม่สามารถตรวจจับพฤติกรรมที่ไม่เหมาะสมของกันและกันได้อย่างง่ายดายเนื่องจากมีการตรวจสอบอย่างต่อเนื่อง ของแต่ละบล็อกพาราเชนจะเป็นงานที่ยากลำบากเกินไป ที่นี่ มีความจำเป็นต้องขอความช่วยเหลือจากฝ่ายภายนอก กระบวนการตรวจสอบเพื่อตรวจสอบและรายงานพฤติกรรมที่ไม่เหมาะสมดังกล่าว ทุกฝ่ายจะได้รับรางวัลจากการรายงานกิจกรรมดังกล่าว คำว่า “ชาวประมง” มีต้นกำเนิดมาจากสิ่งที่ไม่น่าเป็นไปได้ ของรางวัลดังกล่าว เนื่องจากกรณีเหล่านี้มักมีความร้ายแรงมาก เราจึงคิดว่าสามารถจ่ายรางวัลใดๆ ได้อย่างง่ายดายจากพันธบัตรที่ถูกยึด โดยทั่วไปแล้ว เราชอบที่จะรักษาสมดุลของการเผาไหม้ (เช่น ลดจนเหลืออะไรเลย) ด้วยการจัดสรรใหม่ แทนที่จะเป็น พยายามจัดสรรการขายส่ง สิ่งนี้มีผลกระทบจาก
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 11 การเพิ่มมูลค่าโดยรวมของ token เพื่อชดเชย เครือข่ายโดยทั่วไปในระดับหนึ่งมากกว่าเฉพาะเจาะจง ฝ่ายที่เกี่ยวข้องกับการค้นพบ นี่เป็นเรื่องความปลอดภัยเป็นหลัก กลไก: เงินจำนวนมากที่เกี่ยวข้องอาจนำไปสู่การจูงใจพฤติกรรมที่รุนแรงและเฉียบพลันได้ทั้งหมด มอบให้กับเป้าหมายเดียว โดยทั่วไป สิ่งสำคัญคือรางวัลจะต้องมีจำนวนมากพอที่จะทำให้การตรวจสอบคุ้มค่าสำหรับเครือข่าย แต่ก็ไม่มากจนเกินไปที่จะชดเชยค่าใช้จ่ายในการเผชิญหน้า อาชญากร "ระดับอุตสาหกรรม" ที่มีเงินทุนดีและจัดการอย่างดี การแฮ็กการโจมตี validator ผู้โชคร้ายบางตัวเพื่อบังคับพฤติกรรมที่ไม่เหมาะสม ด้วยวิธีนี้จำนวนเงินที่เรียกร้องโดยทั่วไปควรเป็นจำนวนไม่ มากกว่าความผูกพันโดยตรงของผู้หลงทาง validator เกรงว่าก แรงจูงใจอันชั่วร้ายเกิดจากการประพฤติผิดและรายงานตัวเพื่อรับเงินรางวัล สิ่งนี้สามารถต่อสู้ได้อย่างชัดเจน ผ่านข้อกำหนดพันธะโดยตรงขั้นต่ำสำหรับการเป็น validator หรือโดยนัยโดยการให้ความรู้แก่ผู้เสนอชื่อว่า validators ที่มีพันธบัตรเพียงเล็กน้อยไม่มีแรงจูงใจที่ดี ประพฤติตัวดี 6.3. Parachain Registry Parachain แต่ละอันถูกกำหนดไว้แล้ว รีจิสทรีนี้ มันเป็นโครงสร้างคล้ายฐานข้อมูลที่ค่อนข้างเรียบง่ายและเก็บข้อมูลทั้งแบบคงที่และไดนามิก แต่ละโซ่ ข้อมูลคงที่รวมถึงดัชนีลูกโซ่ (แบบง่าย จำนวนเต็ม) พร้อมด้วยเอกลักษณ์ของโปรโตคอลการตรวจสอบ วิธีการแยกแยะระหว่างชนชั้นต่างๆ ของ parachain เพื่อให้อัลกอริธึมการตรวจสอบความถูกต้องถูกต้อง ดำเนินการโดย validators ส่งต่อผู้สมัครที่ถูกต้อง การพิสูจน์แนวคิดเบื้องต้นจะเน้นไปที่การวาง อัลกอริธึมการตรวจสอบใหม่เข้าสู่ไคลเอนต์โดยต้องมีการฮาร์ดฟอร์กของโปรโตคอลในแต่ละครั้งอย่างมีประสิทธิภาพ มีการเพิ่มคลาสของโซ่เพิ่มเติม ท้ายที่สุดแล้วแม้ว่า อาจเป็นไปได้ที่จะระบุอัลกอริธึมการตรวจสอบความถูกต้อง วิธีการที่เข้มงวดและมีประสิทธิภาพเพียงพอที่ลูกค้าจะเป็น สามารถทำงานร่วมกับพาราเชนใหม่ได้อย่างมีประสิทธิผลโดยไม่ต้องมี ฮาร์ดฟอร์ก แนวทางหนึ่งที่เป็นไปได้คือการระบุ อัลกอริธึมการตรวจสอบความถูกต้องของพาราเชนที่ได้รับการยอมรับอย่างดี ภาษาที่เป็นกลางและคอมไพล์ตามแพลตฟอร์ม เช่น WebAssembly จำเป็นต้องมีการวิจัยเพิ่มเติมเพื่อพิจารณา ไม่ว่าจะเป็นไปได้จริงหรือไม่ แต่ถ้าเป็นเช่นนั้นก็สามารถนำมาซึ่ง ด้วยข้อได้เปรียบอันมหาศาลของการขับไล่ฮาร์ดฟอร์ก เพื่อความดี ข้อมูลแบบไดนามิกรวมถึงลักษณะของระบบการกำหนดเส้นทางธุรกรรมที่ต้องมีข้อตกลงระดับโลกดังกล่าว เป็นคิวทางเข้าของ parachain (อธิบายไว้ในส่วน 6.6) รีจิสทรีสามารถเพิ่ม parachains ได้เท่านั้น ผ่านการลงประชามติเต็มรูปแบบ สิ่งนี้สามารถจัดการได้ ภายในแต่น่าจะวางไว้ภายนอกมากกว่า สัญญาลงประชามติเพื่ออำนวยความสะดวกในการนำกลับมาใช้ใหม่ตาม องค์ประกอบการกำกับดูแลทั่วไปเพิ่มเติม พารามิเตอร์ที่จะ ข้อกำหนดในการลงคะแนนเสียง (เช่น องค์ประชุมที่ต้องการ เสียงข้างมาก จำเป็น) สำหรับการลงทะเบียนโซ่เพิ่มเติมและอื่น ๆ การอัพเกรดระบบที่เป็นทางการน้อยลงจะมีการกำหนดไว้ใน "ต้นแบบ รัฐธรรมนูญ” แต่มีแนวโน้มว่าจะเป็นไปตามประเพณีที่ค่อนข้างเป็นธรรม เส้นทางอย่างน้อยในตอนแรก สูตรที่แม่นยำหมดแล้ว ขอบเขตสำหรับงานปัจจุบัน แต่เช่น มากสุดสองในสามที่จะผ่านด้วยมากกว่าหนึ่งในสามของระบบทั้งหมด การลงคะแนนเสียงในทางบวกอาจเป็นจุดเริ่มต้นที่สมเหตุสมผล การดำเนินการเพิ่มเติม ได้แก่ การระงับและการถอดพาราเชน หวังว่าการระงับจะไม่เกิดขึ้น เกิดขึ้นอย่างไรก็ตามมันถูกออกแบบให้มีการป้องกันน้อยที่สุด มีปัญหาที่รักษาไม่หายในระบบตรวจสอบความถูกต้องของพาราเชน ตัวอย่างที่ชัดเจนที่สุดที่อาจเป็นไปได้ be need คือความแตกต่างที่เป็นเอกฉันท์ที่สำคัญระหว่างการใช้งานที่ทำให้ validators ไม่สามารถตกลงกันได้ ความถูกต้องหรือบล็อก ผู้ตรวจสอบความถูกต้องจะได้รับการสนับสนุนให้ใช้ การใช้งานไคลเอนต์หลายตัวเพื่อที่จะสามารถทำได้ เพื่อทราบปัญหาดังกล่าวก่อนการยึดพันธบัตร เนื่องจากการระงับเป็นมาตรการฉุกเฉิน ก็คงเป็นเช่นนั้น ภายใต้การอุปถัมภ์ของการลงคะแนนแบบไดนามิก validator มากกว่าการลงประชามติ การกลับมาใหม่จะเป็นไปได้ทั้งสองอย่าง จาก validators หรือการลงประชามติ การถอดพาราเชนออกทั้งหมดจะเกิดขึ้นเท่านั้น หลังจากการลงประชามติและด้วยซึ่งจะต้องมีการ ระยะเวลาผ่อนผันที่สำคัญเพื่อให้เกิดการเปลี่ยนแปลงอย่างเป็นระเบียบ ไม่ว่าจะเป็นเครือข่ายแบบสแตนด์อโลนหรือเป็นส่วนหนึ่งของเครือข่ายอื่น ฉันทามติ-ระบบ ระยะเวลาผ่อนผันน่าจะเป็นของ ลำดับของเดือนและมีแนวโน้มที่จะกำหนดตามลำดับในการลงทะเบียน parachain ตามลำดับที่แตกต่างกัน Parachains สามารถเพลิดเพลินกับช่วงเวลาผ่อนผันที่แตกต่างกันตาม ความต้องการของพวกเขา 6.4. บล็อกรีเลย์ซีล การปิดผนึกหมายถึงโดยพื้นฐานแล้ว ถึงกระบวนการกำหนดรูปแบบบัญญัติ; นั่นคือข้อมูลพื้นฐาน แปลงซึ่งแม็ปต้นฉบับให้เป็นสิ่งที่มีเอกลักษณ์และมีความหมายโดยพื้นฐาน ภายใต้ห่วงโซ่ PoW การปิดผนึกเป็นคำพ้องความหมายสำหรับการขุดอย่างมีประสิทธิผล ในกรณีของเรา มันเกี่ยวข้องกับการรวบรวมข้อความที่ลงนามจาก validators เกี่ยวกับความถูกต้อง ความพร้อมใช้งาน และมาตรฐานของ บล็อกรีเลย์โซ่โดยเฉพาะและบล็อกพาราเชนนั้น มันเป็นตัวแทน กลไกของอัลกอริธึมฉันทามติ BFT พื้นฐานอยู่นอกขอบเขตสำหรับงานปัจจุบัน เราจะ แทนที่จะอธิบายโดยใช้คำดั้งเดิมซึ่งถือว่าก การสร้างเครื่องรัฐที่เป็นเอกฉันท์ ในที่สุดเราก็คาดหวัง ได้รับแรงบันดาลใจจากความเห็นพ้องต้องกันของ BFT ที่มีแนวโน้มหลายประการ อัลกอริธึมในแกนกลาง Tangaora [9] (ตัวแปร BFT ของ แพ [16]), เทนเดอร์มิ้นต์ [11] และ HoneyBadgerBFT [14] อัลกอริธึมจะต้องบรรลุข้อตกลงบนหลาย parachains แบบขนาน ดังนั้นจึงแตกต่างจากปกติ blockchain กลไกฉันทามติ เราถือว่าครั้งหนึ่ง ถึงฉันทามติแล้ว เราก็สามารถบันทึกฉันทามติได้ ในข้อพิสูจน์ที่หักล้างไม่ได้ซึ่งสามารถให้ได้โดยบุคคลใดบุคคลหนึ่ง ผู้เข้าร่วมนั้น เราก็ถือเอาพฤติกรรมที่ไม่เหมาะสมนั้นด้วย ภายในโปรโตคอลโดยทั่วไปสามารถลดลงเหลือเพียงเล็กน้อยได้ กลุ่มที่มีผู้เข้าร่วมประพฤติตัวไม่เหมาะสมเพื่อลด ความเสียหายของหลักประกันเมื่อต้องจัดการกับการลงโทษ8 หลักฐานซึ่งอยู่ในรูปแบบของข้อความที่ลงนามของเรา จะถูกวางไว้ในส่วนหัวของบล็อกสายโซ่รีเลย์ไว้ด้วยกัน กับฟิลด์อื่น ๆ บางอย่างไม่น้อยไปกว่ารูท statetrie ของรีเลย์-เชนและทรานแซคชัน-ทรีรูท ที่ การปิดผนึก กระบวนการ ใช้เวลา สถานที่ ภายใต้ ก โสด การสร้างฉันทามติ กลไก ที่อยู่ ทั้งสองอย่าง ที่ บล็อกของรีเลย์โซ่และบล็อกของพาราเชนที่ทำขึ้น ส่วนหนึ่งของเนื้อหาของรีเลย์: parachains จะไม่ถูก "กระทำ" แยกกันโดยกลุ่มย่อยแล้วจึงเปรียบเทียบ ในภายหลัง สิ่งนี้ส่งผลให้เกิดกระบวนการที่ซับซ้อนมากขึ้นสำหรับรีเลย์เชน แต่ช่วยให้เราสามารถบรรลุฉันทามติของระบบทั้งหมดได้ในขั้นตอนเดียว ลดเวลาแฝงและอนุญาต สำหรับข้อกำหนดด้านความพร้อมใช้งานของข้อมูลที่ค่อนข้างซับซ้อน ได้แก่ มีประโยชน์สำหรับกระบวนการกำหนดเส้นทางด้านล่าง 8แผนงานที่เป็นเอกฉันท์ตาม PoS BFT ที่มีอยู่ เช่น Tendermint BFT และ Slasher ดั้งเดิมจะตอบสนองการยืนยันเหล่านี้
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 12 สถานะของเครื่องฉันทามติของผู้เข้าร่วมแต่ละคนอาจ จำลองเป็นตารางอย่างง่าย (2 มิติ) ผู้เข้าร่วมแต่ละคน (validator) มีชุดข้อมูลอยู่ในแบบฟอร์ม ของคำแถลงที่ลงนาม (“โหวต”) จากผู้เข้าร่วมคนอื่นๆ เกี่ยวกับตัวเลือกบล็อกพาราเชนแต่ละตัวรวมถึงตัวเลือกบล็อกรีเลย์ ชุดข้อมูลมีสองชิ้น ของข้อมูล: มีจำหน่าย: ไม่ นี้ validator มี ทางออก ข้อมูลธุรกรรมโพสต์จากบล็อกนี้ดังนั้น พวกเขาสามารถตรวจสอบผู้สมัคร parachain ได้อย่างถูกต้องในบล็อกต่อไปนี้หรือไม่ พวกเขาอาจจะลงคะแนนเสียง 1 (รู้จัก) หรือ 0 (ยังไม่ทราบ) เมื่อพวกเขา โหวต 1 พวกเขามุ่งมั่นที่จะลงคะแนนเสียงในทำนองเดียวกัน ส่วนที่เหลือของกระบวนการนี้ ต่อมาโหวตว่าไม่ได้ ความเคารพ นี่เป็นเหตุสำหรับการลงโทษ ความถูกต้อง: บล็อกพาราเชนถูกต้องและเป็นทั้งหมด ข้อมูลอ้างอิงภายนอก (เช่น ธุรกรรม) ใช้ได้เหรอ? สิ่งนี้เกี่ยวข้องเฉพาะกับ validators ที่ได้รับมอบหมายให้กับ parachain ที่พวกเขากำลังลงคะแนนอยู่ พวกเขาอาจลงคะแนนเสียง 1 (ถูกต้อง), -1 (ไม่ถูกต้อง) หรือ 0 (ยังไม่ทราบ) เมื่อพวกเขาลงคะแนนเสียงไม่เป็นศูนย์พวกเขาก็ มุ่งมั่นที่จะลงคะแนนเสียงด้วยวิธีนี้สำหรับส่วนที่เหลือของ กระบวนการ ต่อมาโหวตไม่เคารพเรื่องนี้ เป็นเหตุให้ลงโทษ validators ทั้งหมดต้องส่งการโหวต สามารถส่งคะแนนเสียงอีกครั้งได้ โดยต้องผ่านเกณฑ์ตามกฎข้างต้น ความก้าวหน้าของ ฉันทามติอาจจำลองเป็นอัลกอริธึมฉันทามติมาตรฐาน BFT หลายอันเหนือแต่ละ parachain ที่เกิดขึ้นแบบขนาน เนื่องจากสิ่งเหล่านี้อาจถูกขัดขวางโดยค่อนข้าง มีผู้ประสงค์ร้ายส่วนน้อยที่กระจุกตัวอยู่ กลุ่มพาราเชนกลุ่มเดียว มีมติโดยรวมอยู่ สร้างแบ็คสต็อปเพื่อจำกัดสถานการณ์ที่เลวร้ายที่สุดจาก การหยุดชะงักของบล็อกพาราเชนที่เป็นโมฆะเพียงหนึ่งบล็อกขึ้นไป (และ รอบการลงโทษผู้รับผิดชอบ) กฎพื้นฐานสำหรับความถูกต้องของแต่ละบล็อก (ที่อนุญาตให้ชุดรวมของ validators โดยรวมมาถึง ฉันทามติว่าจะกลายเป็นผู้สมัคร parachain ที่ไม่เหมือนใคร ที่จะอ้างอิงจากการถ่ายทอดตามรูปแบบบัญญัติ): • ต้องมีคะแนนเสียงอย่างน้อยสองในสามของ validators ในทางบวก และไม่มีการลงคะแนนเสียงในทางลบ; • ต้องมี validators มากกว่าหนึ่งในสามลงคะแนนเชิงบวกต่อความพร้อมใช้งานของข้อมูลคิวขาออก หากมีการลงคะแนนเสียงเชิงบวกอย่างน้อยหนึ่งครั้งและเชิงลบอย่างน้อยหนึ่งรายการ เงื่อนไขพิเศษจะถูกสร้างขึ้น และทั้งชุดของ validators ต้องลงคะแนนเพื่อตัดสิน หากมีผู้ประสงค์ร้ายหรือหากมีเหตุบังเอิญ ส้อม นอกเหนือจากการลงคะแนนเสียงที่ถูกต้องและไม่ถูกต้องแล้ว การลงคะแนนเสียงประเภทที่สาม ได้รับอนุญาตเทียบเท่ากับการลงคะแนนเสียงทั้งสองอย่างหมายความว่า โหนดมีความคิดเห็นที่ขัดแย้งกัน ทั้งนี้อาจมีสาเหตุมาจาก เจ้าของโหนดใช้งานหลายอย่างซึ่งทำ ไม่เห็นด้วย ซึ่งบ่งบอกถึงความคลุมเครือที่เป็นไปได้ในระเบียบการ หลังจากการโหวตทั้งหมดจะนับจากชุด validator ทั้งหมด หาก ความคิดเห็นที่แพ้ก็มีสัดส่วนเล็กน้อยเป็นอย่างน้อย (ถึง เป็นพารามิเตอร์; มากที่สุดครึ่งหนึ่ง อาจจะน้อยกว่าอย่างเห็นได้ชัด) ของคะแนนเสียงของผู้มีความเห็นเป็นผู้ชนะให้ถือว่า เป็นส้อมพาราเชนโดยไม่ได้ตั้งใจ และพาราเชนจะถูกระงับโดยอัตโนมัติจากกระบวนการฉันทามติ มิฉะนั้นเราจะถือว่ามันเป็นการกระทำที่เป็นอันตรายและลงโทษ ชนกลุ่มน้อยที่ลงคะแนนเสียงแสดงความเห็นแย้ง ข้อสรุปคือชุดลายเซ็นที่สาธิต ความเป็นมาตรฐาน บล็อกรีเลย์-โซ่อาจถูกปิดผนึก และกระบวนการปิดผนึกบล็อกต่อไปก็เริ่มขึ้น 6.5. การปรับปรุงสำหรับการซีลบล็อกรีเลย์ ในขณะที่ วิธีการปิดผนึกนี้รับประกันการทำงานของระบบได้ดี แต่ก็ไม่ได้ขยายขนาดออกไปมากนัก เนื่องจากข้อมูลสำคัญของพาราเชนทุกอันจะต้องมีข้อมูลของมัน รับประกันความพร้อมใช้งานมากกว่าหนึ่งในสามของ validators ทั้งหมด ซึ่งหมายความว่าทุกๆ รอยเท้าความรับผิดชอบของ validator เติบโตขึ้นเมื่อมีการเพิ่มโซ่มากขึ้น ในขณะที่ข้อมูลมีอยู่ในเครือข่ายเปิดฉันทามติ โดยพื้นฐานแล้วเป็นปัญหาที่ยังไม่ได้รับการแก้ไข มีวิธีบรรเทาค่าใช้จ่ายที่วางไว้บนโหนด validator ง่ายๆ อย่างหนึ่ง วิธีแก้ปัญหาคือการตระหนักว่าในขณะที่ validators ต้องแบกรับ ความรับผิดชอบต่อความพร้อมของข้อมูล ไม่จำเป็นต้องจัดเก็บ สื่อสาร หรือทำซ้ำข้อมูลด้วยตนเอง ไซโลข้อมูลทุติยภูมิ ซึ่งอาจเกี่ยวข้องกับ (หรือแม้แต่ส่วนใหญ่) เดียวกัน) ผู้เปรียบเทียบที่รวบรวมข้อมูลนี้สามารถจัดการได้ งานรับประกันความพร้อมโดย validators มอบดอกเบี้ย/รายได้ส่วนหนึ่งในการชำระเงิน อย่างไรก็ตาม แม้ว่าสิ่งนี้อาจซื้อความสามารถในการปรับขนาดระดับกลาง แต่ก็ยังไม่ได้ช่วยแก้ปัญหาที่ซ่อนอยู่ ตั้งแต่ การเพิ่มเชนโดยทั่วไปจะต้องใช้ validators เพิ่มเติม การใช้ทรัพยากรเครือข่ายอย่างต่อเนื่อง (โดยเฉพาะในแง่ของแบนด์วิดท์) จะเพิ่มขึ้นตามกำลังสองของ ที่โซ่ซึ่งเป็นทรัพย์สินที่ไม่สามารถป้องกันได้ในระยะยาว ในที่สุดเราก็มีแนวโน้มที่จะทุบตีหัวของเราต่อไป ขัดต่อข้อจำกัดพื้นฐานซึ่งระบุไว้ว่าสำหรับ เครือข่ายฉันทามติที่จะถือว่ามีความปลอดภัย ข้อกำหนดแบนด์วิธที่กำลังดำเนินอยู่นั้นเป็นลำดับทั้งหมด validators คูณข้อมูลอินพุตทั้งหมด ทั้งนี้ก็เนื่องมาจาก การไร้ความสามารถของเครือข่ายที่ไม่น่าเชื่อถือในการกระจายงานการจัดเก็บข้อมูลไปยังโหนดต่างๆ ที่มีอยู่อย่างเหมาะสม นอกเหนือจากงานการประมวลผลที่สามารถแจกจ่ายได้อย่างเห็นได้ชัด 6.5.1. ขอแนะนำความหน่วง วิธีหนึ่งในการทำให้สิ่งนี้อ่อนลง กฎคือการผ่อนคลายแนวคิดเรื่องความฉับไว ด้วยการกำหนดให้มีการลงคะแนนเสียง 33%+1 validators สำหรับความพร้อมใช้งานในท้ายที่สุดเท่านั้น และไม่ใช่ในทันที เราจึงสามารถใช้การเผยแพร่ข้อมูลแบบเอ็กซ์โปเนนเชียลได้ดีขึ้น และช่วยให้การแลกเปลี่ยนข้อมูลถึงจุดสูงสุดได้ ความเท่าเทียมกันที่สมเหตุสมผล (แม้ว่าจะไม่ได้รับการพิสูจน์) อาจจะเป็น: (1) เวลาแฝง = ผู้เข้าร่วม × ลูกโซ่ ภายใต้รุ่นปัจจุบัน ขนาดของระบบจะปรับขนาด ด้วยจำนวนโซ่เพื่อให้แน่ใจว่าการประมวลผลเป็น กระจาย; เนื่องจากแต่ละเชนจะต้องมีอย่างน้อยหนึ่ง validator และเราจะแก้ไขการยืนยันความพร้อมเป็นค่าคงที่ สัดส่วน validators จากนั้นผู้เข้าร่วมก็เติบโตขึ้นเช่นเดียวกัน ด้วยจำนวนโซ่ เราจบลงด้วย: (2) เวลาแฝง = ขนาด 2 หมายความว่าเมื่อระบบเติบโตขึ้น แบนด์วิดท์ที่ต้องการและค่าหน่วงเวลาจนกว่าจะทราบความพร้อมใช้งานทั่วทั้งระบบ เครือข่ายซึ่งอาจมีลักษณะเป็นตัวเลขด้วย ของบล็อกก่อนจุดสิ้นสุด เพิ่มขึ้นตามกำลังสอง นี่คือ ปัจจัยการเติบโตที่สำคัญและอาจกลายเป็นอุปสรรคสำคัญและบังคับให้เราเข้าสู่กระบวนทัศน์ "ไม่ราบเรียบ" เช่นการเขียน “Polkadotes” หลายรายการลงในลำดับชั้น สำหรับการกำหนดเส้นทางโพสต์หลายระดับผ่านแผนผังของรีเลย์เชน
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 13 6.5.2. การมีส่วนร่วมของประชาชน อีกหนึ่งทิศทางที่เป็นไปได้ คือการชักชวนให้ประชาชนมีส่วนร่วมในกระบวนการผ่านก ระบบการร้องเรียนขนาดเล็ก คล้ายกับชาวประมงที่นั่น อาจเป็นบุคคลภายนอกเพื่อทำหน้าที่ตำรวจ validators ที่อ้างสิทธิ์ ความพร้อมใช้งาน หน้าที่ของพวกเขาคือค้นหาผู้ที่ดูเหมือนจะไม่สามารถแสดงให้เห็นถึงความพร้อมดังกล่าวได้ ในการทำเช่นนั้นพวกเขา สามารถยื่นเรื่องร้องเรียนเล็กๆ น้อยๆ ไปยัง validators อื่นๆ ได้ ปตท.หรือ อาจใช้พันธบัตรเดิมพันเพื่อบรรเทาการโจมตีของซีบิล ซึ่งจะทำให้ระบบไร้ประโยชน์อย่างมาก 6.5.3. ผู้รับประกันความพร้อมใช้งาน เส้นทางสุดท้ายก็คงจะเป็น เสนอชื่อชุดที่สองของ validators ที่ถูกผูกมัดเป็น "ความพร้อมใช้งาน ผู้ค้ำประกัน” สิ่งเหล่านี้จะถูกเชื่อมโยงเช่นเดียวกับ validators ปกติ และอาจนำมาจากชุดเดียวกันด้วยซ้ำ (แต่ถ้าเป็นเช่นนั้น พวกเขาจะถูกเลือกเป็นระยะเวลานาน อย่างน้อยต่อเซสชัน) ไม่เหมือนกับ validators ปกติเลย จะไม่สลับระหว่างพาราเชน แต่จะสลับ จัดตั้งกลุ่มเดียวเพื่อยืนยันความพร้อมใช้งานของข้อมูลอินเตอร์เชนที่สำคัญทั้งหมด นี่เป็นข้อได้เปรียบในการผ่อนคลายความเท่าเทียมกันระหว่างผู้เข้าร่วมและเครือข่าย โดยพื้นฐานแล้วโซ่สามารถทำได้ เติบโต (พร้อมกับชุดโซ่เดิม validator) ในขณะที่ ผู้เข้าร่วมและโดยเฉพาะผู้ที่มีส่วนร่วมในพินัยกรรมความพร้อมใช้ของข้อมูล สามารถคงอยู่ในบรรทัดย่อยน้อยที่สุด และค่อนข้างจะคงที่ 6.5.4. การตั้งค่าของผู้รวบรวม สิ่งสำคัญประการหนึ่งของเรื่องนี้ ระบบคือเพื่อให้แน่ใจว่ามีการคัดเลือกที่ดีต่อสุขภาพของ ผู้ทำงานร่วมกันสร้างบล็อกในพาราเชนที่กำหนด ถ้าก ผู้เปรียบเทียบเดี่ยวควบคุม parachain จากนั้นก็มีการโจมตีบ้าง เป็นไปได้มากขึ้นเนื่องจากความน่าจะเป็นของการขาด ความพร้อมใช้งานของข้อมูลภายนอกจะชัดเจนน้อยลง ทางเลือกหนึ่งคือการถ่วงน้ำหนักบล็อกพาราเชนแบบเทียมเข้าไป กลไกการสุ่มหลอกเพื่อสนับสนุนผู้เปรียบเทียบที่หลากหลาย ในกรณีแรกเราจะต้อง ซึ่งเป็นส่วนหนึ่งของกลไกฉันทามติที่ validator เห็นชอบ ตัวเลือกบล็อกพาราเชนระบุว่า "หนักกว่า" ในทำนองเดียวกัน เราต้องจูงใจ validators ให้พยายามทำ แนะนำบล็อกที่มีน้ำหนักมากที่สุดที่พวกเขาหาได้ ซึ่งอาจเป็นได้ ทำโดยการแบ่งส่วนของรางวัลตามสัดส่วนน้ำหนักของผู้สมัคร เพื่อให้ผู้สมรู้ร่วมคิดได้รับความยุติธรรมอย่างสมเหตุสมผล โอกาสที่ผู้สมัครของพวกเขาจะถูกเลือกให้เป็นผู้ชนะ ผู้สมัครที่เป็นเอกฉันท์ เราจะกำหนดน้ำหนักเฉพาะของ a ตัวเลือกบล็อก parachain กำหนดฟังก์ชันสุ่มที่เชื่อมต่อกับแต่ละ collator เช่น การเอา การวัดระยะทาง XOR ระหว่างที่อยู่ของผู้เปรียบเทียบ และหมายเลขสุ่มเทียมที่ปลอดภัยด้วยการเข้ารหัส กำหนดไว้ใกล้กับจุดที่สร้างบล็อก (หรือที่เรียกว่า “ตั๋วที่ชนะ”) สิ่งนี้ให้แต่ละอย่างมีประสิทธิผล ผู้ประสานงาน (หรือโดยเฉพาะอย่างยิ่ง ที่อยู่ของผู้ประสานงานแต่ละคน) โอกาสสุ่มที่บล็อกผู้สมัครของพวกเขาจะ "ชนะ" มากกว่า อื่น ๆ ทั้งหมด เพื่อบรรเทาการโจมตีของ sybil ของผู้รวบรวมรายเดียว "การขุด" ที่อยู่ที่ใกล้กับตั๋วที่ชนะและด้วยเหตุนี้ เป็นรายการโปรดในแต่ละบล็อก เราจะเพิ่มความเฉื่อยให้กับที่อยู่ของผู้เปรียบเทียบ นี่อาจจะง่ายพอ ๆ กับการเรียกร้อง เพื่อให้มีจำนวนเงินพื้นฐานอยู่ในที่อยู่ มากขึ้น แนวทางที่หรูหราคือการชั่งน้ำหนักความใกล้ชิดกับ ตั๋วที่ชนะด้วยจำนวนเงินที่จอดอยู่ที่ ที่อยู่ที่เป็นปัญหา ในขณะที่การสร้างแบบจำลองยังไม่เสร็จสิ้น ค่อนข้างเป็นไปได้ที่กลไกนี้จะช่วยได้มาก ผู้มีส่วนได้ส่วนเสียรายย่อยเพื่อร่วมสมทบทุน 6.5.5. บล็อกน้ำหนักเกิน หากชุด validator ถูกบุกรุก พวกเขาอาจสร้างและเสนอบล็อกซึ่งแม้ว่า ถูกต้อง ใช้เวลาในการดำเนินการมากเกินไป และ ตรวจสอบ นี่เป็นปัญหาเนื่องจากกลุ่ม validator สามารถทำได้ สร้างบล็อกขึ้นมาอย่างสมเหตุสมผลซึ่งใช้เวลานานมากในการ ดำเนินการเว้นแต่ว่าข้อมูลบางอย่างจะทราบอยู่แล้วว่าอนุญาตให้มีทางลัดเช่น การแยกตัวประกอบขนาดใหญ่ สำคัญ หากผู้เปรียบเทียบรายเดียวทราบข้อมูลนั้นแล้ว พวกเขาจะมีข้อได้เปรียบที่ชัดเจนในการได้รับเป็นของตัวเอง ผู้สมัครยอมรับตราบเท่าที่คนอื่นกำลังยุ่งอยู่กับการประมวลผลบล็อกเก่า เราเรียกบล็อกเหล่านี้ว่ามีน้ำหนักเกิน การป้องกัน validators การส่งและตรวจสอบบล็อกเหล่านี้ส่วนใหญ่อยู่ภายใต้การปกปิดเช่นเดียวกับสำหรับ บล็อกที่ไม่ถูกต้อง แม้ว่าจะมีข้อแม้เพิ่มเติม: เนื่องจาก เวลาที่ใช้ในการดำเนินการบล็อก (และสถานะเป็น น้ำหนักเกิน) เป็นเรื่องส่วนตัว ซึ่งเป็นผลลัพธ์สุดท้ายของการลงคะแนนเสียง พฤติกรรมที่ไม่เหมาะสมจะตกเป็น 3 ค่ายหลัก หนึ่ง ความเป็นไปได้ก็คือบล็อกนั้นไม่มีน้ำหนักเกินแน่นอน— ในกรณีนี้มากกว่าสองในสามประกาศว่าทำได้ ดำเนินการบล็อกภายในขีดจำกัด (เช่น 50% ของเวลาทั้งหมดที่อนุญาตระหว่างบล็อก) อีกประการหนึ่งก็คือ บล็อกคือ dน้ำหนักเกินอย่างแน่นอน - นี่จะเป็นถ้ามากกว่านั้น สองในสามประกาศว่าพวกเขาไม่สามารถดำเนินการบล็อกได้ ภายในขอบเขตดังกล่าว ความเป็นไปได้สุดท้ายประการหนึ่งค่อนข้างจะเท่าเทียมกัน การแบ่งความคิดเห็นระหว่าง validators ในกรณีนี้เราก็ได้ เลือกทำโทษตามสมควร เพื่อให้แน่ใจว่า validators สามารถคาดการณ์ได้ว่าจะเกิดขึ้นเมื่อใด เสนอบล็อกที่มีน้ำหนักเกิน อาจสมเหตุสมผลที่จะกำหนดให้พวกเขาเผยแพร่ข้อมูลเกี่ยวกับประสิทธิภาพของตนเองสำหรับแต่ละบล็อก เป็นระยะเวลาพอสมควร สิ่งนี้ควรทำให้พวกเขาสามารถกำหนดโปรไฟล์ความเร็วในการประมวลผลได้ เมื่อเทียบกับคนรอบข้างที่จะตัดสินพวกเขา 6.5.6. ประกันสะสมทรัพย์. ยังคงมีประเด็นหนึ่งสำหรับ validators: ไม่เหมือนกับเครือข่าย PoW เพื่อตรวจสอบผู้ประสานงาน เพื่อความถูกต้อง พวกเขาจะต้องดำเนินการธุรกรรมในนั้นจริงๆ ผู้เปรียบเทียบที่เป็นอันตรายสามารถป้อนบล็อกที่ไม่ถูกต้องหรือมีน้ำหนักเกินให้กับ validators ทำให้เกิดความเศร้าโศก (สิ้นเปลือง ทรัพยากรของพวกเขา) และเรียกร้องค่าเสียโอกาสที่สำคัญที่อาจเกิดขึ้น เพื่อบรรเทาปัญหานี้ เราเสนอกลยุทธ์ง่ายๆ เกี่ยวกับ ส่วนหนึ่งของ validators ประการแรก ผู้สมัครบล็อกพาราเชนถูกส่งไป ถึง validators จะต้องลงนามจากบัญชีลูกโซ่รีเลย์ ด้วยเงินทุน หากไม่เป็นเช่นนั้น validator ควรจะลดลง มันทันที ประการที่สอง ผู้สมัครดังกล่าวควรได้รับลำดับความสำคัญโดยการรวมกัน (เช่น การคูณ) ของ จำนวนเงินในบัญชีถึงขีดจำกัดบางส่วน จำนวนบล็อกก่อนหน้านี้ที่ผู้เปรียบเทียบได้เสนอสำเร็จในอดีต (ไม่ต้องพูดถึงบล็อกใด ๆ ก่อนหน้านี้ การลงโทษ) และปัจจัยความใกล้ชิดต่อการชนะ ตั๋วตามที่กล่าวไว้ก่อนหน้านี้ หมวกควรจะเหมือนกัน เป็นค่าเสียหายเชิงลงโทษที่จ่ายให้กับ validator ในกรณีนี้ ของพวกเขาส่งบล็อกที่ไม่ถูกต้อง เพื่อไม่ให้ผู้เปรียบเทียบส่งผู้สมัครบล็อกที่ไม่ถูกต้องหรือมีน้ำหนักเกินไปที่ validators validator ใดๆ อาจ วางธุรกรรมในบล็อกถัดไป รวมถึงบล็อกที่สิ้นสุดโดยกล่าวหาว่ามีพฤติกรรมที่ไม่เหมาะสมซึ่งส่งผลให้มีการโอนเงินบางส่วนหรือทั้งหมดในผู้ค้ำประกันที่ประพฤติมิชอบ ขอแสดงความเสียใจต่อ validator ที่ได้รับความเดือดร้อน ธุรกรรมประเภทนี้จะดำเนินการล่วงหน้าเพื่อให้แน่ใจว่าผู้ประสานงานไม่สามารถทำได้ นำเงินออกก่อนที่จะมีการลงโทษ จำนวน เงินที่โอนเป็นค่าเสียหายยังเป็นพารามิเตอร์แบบไดนามิก
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 14 ที่จะสร้างแบบจำลอง แต่น่าจะเป็นสัดส่วนของรางวัลบล็อก validator เพื่อสะท้อนระดับความเศร้าโศกที่เกิดขึ้น ถึง ป้องกันไม่ให้ validators ที่เป็นอันตรายยึดเงินของผู้ร่วมสมทบโดยพลการ ผู้เรียกเก็บเงินอาจอุทธรณ์คำตัดสินของ validator โดยมีคณะลูกขุนของ validators ที่ได้รับการสุ่มเลือกเป็นการตอบแทน เพื่อวางเงินมัดจำเล็กน้อย หากพวกเขาพบว่าเข้าข้าง validator เงินฝากนั้นก็จะถูกใช้ไปโดยพวกเขา ถ้าไม่เช่นนั้น เงินฝากจะถูกส่งคืนและ validator ถูกปรับ (เนื่องจาก validator อยู่ในตำแหน่งโค้งมากกว่ามาก ความปรารถนาดี คงจะค่อนข้างหนัก) 6.6. อินเตอร์เชน การทำธุรกรรม การกำหนดเส้นทาง อินเตอร์เชน การกำหนดเส้นทางธุรกรรมเป็นหนึ่งในการบำรุงรักษาที่สำคัญ งานของรีเลย์เชนและ validators นี่คือ ตรรกะที่ควบคุมว่าธุรกรรมที่ผ่านรายการ (มักเรียกสั้น ๆ ว่า "โพสต์") ได้รับจากการเป็นผลลัพธ์ที่ต้องการอย่างไร จาก parachain ต้นทางหนึ่งไปสู่การเป็นอินพุตที่ไม่สามารถต่อรองได้ของ parachain ปลายทางอื่นโดยปราศจากความเชื่อถือ ข้อกำหนด เราเลือกถ้อยคำข้างต้นอย่างระมัดระวัง สะดุดตาเรา ไม่จำเป็นต้องมีการทำธุรกรรมในแหล่งที่มา parachain เพื่ออนุมัติโพสต์นี้อย่างชัดเจน เท่านั้น ข้อจำกัดที่เราวางไว้กับโมเดลของเราก็คือพาราเชน ต้องจัดให้มีบรรจุเป็นส่วนหนึ่งของบล็อกโดยรวม การประมวลผลเอาต์พุต โพสต์ซึ่งเป็นผลลัพธ์ของ การดำเนินการของบล็อก โพสต์เหล่านี้มีโครงสร้างเป็นคิว FIFO หลายรายการ ที่ จำนวนรายการเรียกว่าฐานเส้นทางและอาจเป็น ประมาณ 16 ปี โดยเฉพาะอย่างยิ่งตัวเลขนี้แสดงถึงปริมาณ ของพาราเชนที่เราสามารถรองรับได้โดยไม่ต้องหันไปพึ่ง การกำหนดเส้นทางแบบหลายเฟส เริ่มแรก Polkadot จะสนับสนุนสิ่งนี้ ประเภทของการกำหนดเส้นทางโดยตรง อย่างไรก็ตาม เราจะสรุปเส้นทางที่เป็นไปได้ กระบวนการกำหนดเส้นทางแบบหลายเฟส (“ไฮเปอร์-เราต์ติ้ง”) เป็นวิธีการ ของการขยายขนาดให้เกินชุดพาราเชนเริ่มต้น เรา ถือว่า นั่น ทั้งหมด ผู้เข้าร่วม รู้ ที่ การจัดกลุ่มย่อยสำหรับสองบล็อกถัดไป n, n + 1 โดยสรุปคือ ระบบกำหนดเส้นทางเป็นไปตามขั้นตอนเหล่านี้: • CollatorS: ติดต่อสมาชิกของ V alidators[n][S] • CollatorS: สำหรับแต่ละกลุ่มย่อย: ตรวจสอบที่ มีสมาชิก V alidators[n][s] อย่างน้อย 1 คนติดต่อกัน • ผู้เรียกเก็บเงิน: สำหรับแต่ละกลุ่มย่อย: ถือว่า egress[n −1][s][S] พร้อมใช้งาน (โพสต์ที่เข้ามาทั้งหมด ข้อมูลเป็น 'S' จากบล็อกที่แล้ว) • ผู้เรียกเก็บเงิน: เขียนผู้สมัครบล็อก b สำหรับ S: (b.header, b.ext, b.proof, b.receipt, b.egress) • ผู้เรียกเก็บเงิน: ส่ง หลักฐาน ข้อมูล หลักฐาน[S] = (b.header, b.ext, b.proof, b.receipt) ถึง V alidators[n][S] • CollatorS: ตรวจสอบข้อมูลธุรกรรมภายนอก b.ext มีให้สำหรับผู้ทำงานร่วมกันคนอื่นๆ และ validators • ผู้เรียกเก็บเงิน: สำหรับ แต่ละ กลุ่มย่อย ส: ส่ง ทางออก ข้อมูล ทางออก[n][S][s] = (b.header, b.receipt, b.egress[s]) ถึง ที่ การรับ กลุ่มย่อย สมาชิก ของ ถัดไป บล็อก ตัวแก้ไข V[n + 1][s] • V alidatorV : เชื่อมต่อสมาชิกชุดเดียวกันทั้งหมดล่วงหน้า สำหรับบล็อกถัดไป: ให้ N = Chain[n + 1][V ]; เชื่อมต่อ ทั้งหมด validators v โดยที่ Chain[n + 1][v] = N • V alidatorV : เปรียบเทียบข้อมูลขาเข้าทั้งหมดสำหรับสิ่งนี้ บล็อก: สำหรับ แต่ละ กลุ่มย่อย ส: ดึงข้อมูล egress[n −1][s][Chain[n][V ]] รับจาก validators v อื่นๆ โดยที่ Chain[n][v] = Chain[n][V ] อาจจะผ่านการสุ่มเลือก validators อื่นๆ เพื่อพิสูจน์ความพยายาม • V alidatorV : ยอมรับหลักฐานของผู้สมัครสำหรับสิ่งนี้ บล็อกหลักฐาน [เชน [n] [V ]] ความถูกต้องของการบล็อกการลงคะแนนเสียง • V alidatorV : ยอมรับข้อมูลทางออกของผู้สมัครสำหรับ บล็อกถัดไป: สำหรับแต่ละกลุ่มย่อย ให้ยอมรับ ทางออก[n][s][N] ความพร้อมใช้งานของบล็อกการลงคะแนนเสียง เผยแพร่ซ้ำในหมู่ผู้สนใจ validators v เช่นนั้น เชน[n + 1][v] = เชน[n + 1][V ] • V alidatorV : จนกว่าจะมีมติ โดยที่: egress[n][from][to] คือคิวทางออกปัจจุบัน ข้อมูลสำหรับการโพสต์จาก parachain 'จาก' ถึง parachain 'ถึง' ในหมายเลขบล็อก 'n' CollatorS คือ collator สำหรับ parachain S. V alidators[n][s] คือเซตของ validators สำหรับ parachain s ที่บล็อกหมายเลข n ในทางกลับกัน Chain[n][v] คือ parachain ซึ่ง validator v ถูกกำหนดให้กับบล็อกหมายเลข n block.egress[to] คือทางออก คิวของโพสต์จากบล็อกบล็อกพาราเชนบางบล็อกที่มี ปลายทางคือพาราเชน เนื่องจากผู้เรียกเก็บเงินเก็บค่าธรรมเนียม (ธุรกรรม) ตาม บล็อกของพวกเขากลายเป็นมาตรฐานที่พวกเขาได้รับแรงจูงใจให้ทำ ตรวจสอบให้แน่ใจว่าสำหรับปลายทางบล็อกถัดไปแต่ละกลุ่มย่อย สมาชิกทราบถึงคิวขาออกจากปัจจุบัน บล็อก Validators จะได้รับแรงจูงใจเพียงเพื่อสร้างฉันทามติเกี่ยวกับบล็อก (parachain) เท่านั้น เนื่องจากพวกเขาไม่สนใจเกี่ยวกับเรื่องนี้มากนัก บล็อกของผู้เปรียบเทียบรายใดกลายเป็น Canonical ในที่สุด ใน โดยหลักการแล้ว validator สามารถสร้างความจงรักภักดีกับผู้สมรู้ร่วมคิดและสมรู้ร่วมคิดเพื่อลดโอกาสของผู้สมรู้ร่วมคิดคนอื่น ๆ การบล็อกกลายเป็นที่ยอมรับ อย่างไรก็ตาม นี่ก็เป็นเรื่องที่ยากทั้งคู่ ที่จะจัดให้เนื่องจากการสุ่มเลือกส่วนของ validators สำหรับ parachains และสามารถป้องกันได้ด้วยการลดค่าธรรมเนียมที่ต้องจ่ายสำหรับบล็อก parachain ที่เก็บไว้ กระบวนการฉันทามติ 6.6.1. ความพร้อมใช้งานของข้อมูลภายนอก มั่นใจของพาราเชน ข้อมูลภายนอกที่มีอยู่จริงเป็นปัญหาที่ยืนต้นด้วย ระบบกระจายอำนาจที่มีจุดมุ่งหมายเพื่อกระจายภาระงานไปทั่ว เครือข่าย หัวใจสำคัญของปัญหาคือความพร้อม ปัญหาที่ระบุว่าเนื่องจากเป็นไปไม่ได้ สร้างหลักฐานความพร้อมแบบไม่โต้ตอบหรือทุกประเภท ของการพิสูจน์ความไม่พร้อมใช้งาน เพื่อให้ระบบ BFT ทำงานได้อย่างถูกต้อง ตรวจสอบการเปลี่ยนแปลงใด ๆ ที่มีความถูกต้องขึ้นอยู่กับ ความพร้อมใช้งานของข้อมูลภายนอกบางส่วนจำนวนสูงสุด ของโหนดไบแซนไทน์ที่ยอมรับได้ บวกหนึ่งโหนดของระบบ จะต้องยืนยันถึงข้อมูลที่มีอยู่ เพื่อให้ระบบขยายขนาดอย่างเหมาะสม เช่น Polkadot สิ่งนี้ เชิญชวนให้เกิดปัญหา: ถ้าสัดส่วนคงที่ของ validators จะต้องยืนยันถึงความมีอยู่ของข้อมูลและสมมติ ว่า validators ต้องการจัดเก็บข้อมูลจริงก่อนที่จะยืนยันว่าข้อมูลนั้นพร้อมใช้งาน แล้วเราจะหลีกเลี่ยงได้อย่างไร ปัญหาความต้องการแบนด์วิธ/พื้นที่เก็บข้อมูลที่เพิ่มขึ้นตามขนาดระบบ (และจำนวน validators) คำตอบหนึ่งที่เป็นไปได้คือต้องมีชุดแยกต่างหาก ของ validators (ผู้ค้ำประกันความพร้อมจำหน่าย) ซึ่งมีคำสั่งซื้อเพิ่มขึ้น ใต้เชิงเส้นด้วยขนาด Polkadot โดยรวม นี่คือ อธิบายไว้ใน 6.5.3 เราก็มีเคล็ดลับรองเช่นกัน ในฐานะกลุ่ม ผู้เปรียบเทียบมีแรงจูงใจที่แท้จริงเพื่อให้แน่ใจว่าข้อมูลทั้งหมดนั้นถูกต้อง มีให้สำหรับพาราเชนที่พวกเขาเลือกเนื่องจากไม่มีมัน ไม่สามารถเขียนบล็อกเพิ่มเติมจากที่สามารถทำได้ เก็บค่าธรรมเนียมการทำธุรกรรม ผู้รวบรวมยังจัดตั้งกลุ่มขึ้นมา ซึ่งสมาชิกมีความหลากหลาย (เนื่องจากลักษณะการสุ่มของ parachain validator กลุ่ม) ไม่สำคัญที่จะเข้าและง่าย
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 15 เพื่อพิสูจน์ ผู้เปรียบเทียบล่าสุด (อาจเป็นสองสามพันบล็อกสุดท้าย) จึงได้รับอนุญาตให้ออกข้อท้าทายได้ ความพร้อมใช้งานของข้อมูลภายนอกสำหรับพาราเชนเฉพาะ บล็อกไปที่ validators เพื่อความสัมพันธ์เล็กๆ น้อยๆ ผู้ตรวจสอบจะต้องติดต่อผู้ที่มาจากกลุ่มย่อย validator ที่เห็นได้ชัดว่าละเมิด ซึ่งเป็นผู้ให้การเป็นพยานและรับและส่งคืนข้อมูลไปยังผู้เปรียบเทียบหรือยกระดับ สำคัญโดยการให้การเป็นพยานถึงการขาดความพร้อมใช้งาน (การปฏิเสธโดยตรงที่จะให้ข้อมูลถือเป็นความผิดในการผูกมัด ดังนั้นพฤติกรรมที่ไม่เหมาะสม validator มีแนวโน้มเพียง ยกเลิกการเชื่อมต่อ) และติดต่อ validators เพิ่มเติม เพื่อทำการทดสอบเดียวกัน ในกรณีหลังคือพันธบัตรของผู้ค้ำประกัน จะถูกส่งกลับ เมื่อถึงโควรัมของ validators ที่สามารถสร้างคำรับรองที่ไม่พร้อมใช้งานดังกล่าวได้ครบแล้ว พวกเขาก็จะได้รับการเผยแพร่ กลุ่มย่อยที่ประพฤติตัวไม่เหมาะสมจะถูกลงโทษ และบล็อกจะถูกเปลี่ยนกลับ 6.6.2. การกำหนดเส้นทางโพสต์ ส่วนหัวของ Parachain แต่ละอันประกอบด้วย ทางออก-ไตร-รูท; นี่คือรากของไตรที่มี bins ฐานเส้นทาง แต่ละ bin เป็นรายการที่ต่อกัน ของโพสต์ทางออก อาจมีการเตรียมหลักฐาน Merkle ไว้ทั่ว parachain validators เพื่อพิสูจน์ว่า parachain โดยเฉพาะ block มีคิวทางออกเฉพาะสำหรับ parachain ปลายทางเฉพาะ ที่จุดเริ่มต้นของการประมวลผลบล็อกพาราเชนแต่ละอัน คิวทางออกของ parachain อื่นที่ถูกผูกไว้กับบล็อกดังกล่าวคือ รวมเข้ากับคิวทางเข้าของบล็อกของเรา เราถือว่าแข็งแกร่ง อาจเป็น CSPR9 ซึ่งเป็นคำสั่งย่อยเพื่อให้บรรลุการดำเนินการตามที่กำหนดซึ่งไม่มีการเล่นพรรคเล่นพวกระหว่างกัน การจับคู่บล็อกพาราเชน ผู้รวบรวมคำนวณคิวใหม่ และระบายคิวทางออกตามพาราเชน ตรรกะ เนื้อหาของคิวทางเข้าถูกเขียนอย่างชัดเจน เข้าไปในบล็อกพาราเชน สิ่งนี้มีจุดประสงค์หลักสองประการ: ประการแรก หมายความว่าพาราเชนสามารถซิงโครไนซ์ได้อย่างน่าเชื่อถือโดยแยกออกจากพาราเชนอื่นๆ ประการที่สอง มันทำให้การขนส่งข้อมูลง่ายขึ้นหากทางเข้าทั้งหมด คิวไม่สามารถประมวลผลได้ในบล็อกเดียว validators และผู้ทำงานร่วมกันสามารถประมวลผลบล็อกต่อไปนี้ได้ โดยไม่ต้องสืบค้นข้อมูลคิวเป็นพิเศษ หากคิวทางเข้าของ Parachain อยู่เหนือเกณฑ์ จำนวนเงินเมื่อสิ้นสุดการประมวลผลบล็อก จากนั้นจะมีการทำเครื่องหมายไว้ อิ่มตัวบนรีเลย์เชนและไม่สามารถส่งข้อความเพิ่มเติมได้ จัดส่งไปให้จนกว่าจะเคลียร์ได้ หลักฐานจาก Merkle คือ ใช้เพื่อแสดงให้เห็นถึงความเที่ยงตรงในการปฏิบัติงานของผู้ประสานงานใน หลักฐานของบล็อกพาราเชน 6.6.3. วิจารณ์. ข้อบกพร่องเล็กๆ น้อยๆ ประการหนึ่งที่เกี่ยวข้องกับพื้นฐานนี้ กลไกคือการโจมตีหลังระเบิด นี่คือที่ทั้งหมด parachains ส่งจำนวนโพสต์สูงสุดที่เป็นไปได้ ไปยังพาราเชนโดยเฉพาะ ขณะนี้สิ่งนี้เชื่อมโยงเป้าหมายไว้ เข้าคิวพร้อมกัน ไม่มีความเสียหายเกิดขึ้นซ้ำแล้วซ้ำอีก การโจมตี DoS ธุรกรรมมาตรฐาน ใช้งานได้ปกติพร้อมชุดซิงโครไนซ์อย่างดีและ ผู้เปรียบเทียบที่ไม่เป็นอันตรายและ validators สำหรับ N parachains เรารวม N × M validators และ L collators ต่อพาราเชน สามารถแบ่งเส้นทางข้อมูลทั้งหมดต่อบล็อกเป็น: เครื่องมือตรวจสอบความถูกต้อง: M −1+L+L: M −1 สำหรับอีก validators ในชุดพาราเชน L สำหรับแต่ละคอลเลเตอร์จะมีบล็อกพาราเชนให้เลือก และ L ตัวที่สองสำหรับแต่ละคอลเลเตอร์ ของบล็อกถัดไปที่ต้องการเพย์โหลดทางออกของบล็อกก่อนหน้า (อันหลังนี้เป็นเหมือนกรณีที่เลวร้ายที่สุดมากกว่า การดำเนินการเนื่องจากมีแนวโน้มว่าผู้เรียกเก็บเงินจะแบ่งปันข้อมูลดังกล่าว ข้อมูล) Collator: M +kN: M สำหรับการเชื่อมต่อไปยังแต่ละที่เกี่ยวข้อง บล็อก parachain validator, kN สำหรับการเพาะ payloads ทางออกไปยังชุดย่อยบางส่วนของ parachain แต่ละกลุ่ม validator กลุ่มสำหรับ บล็อกถัดไป (และอาจมีผู้เปรียบเทียบบางคนที่ชื่นชอบ) ดังนั้นเส้นทางข้อมูลต่อโหนดจึงเติบโตเป็นเส้นตรง ด้วยความซับซ้อนโดยรวมของระบบ ขณะนี้เป็น สมเหตุสมผล เนื่องจากระบบขยายเป็น parachains นับร้อยหรือหลายพัน ความล่าช้าในการสื่อสารบางอย่างอาจมีอยู่ ดูดซึมเพื่อแลกกับอัตราการเติบโตของความซับซ้อนที่ลดลง ในกรณีนี้ อาจใช้อัลกอริธึมการกำหนดเส้นทางแบบหลายเฟส เพื่อลดจำนวนเส้นทางทันที โดยเสียค่าใช้จ่ายในการแนะนำบัฟเฟอร์การจัดเก็บข้อมูลและเวลาแฝง 6.6.4. การกำหนดเส้นทางไฮเปอร์คิวบ์ การกำหนดเส้นทางไฮเปอร์คิวบ์เป็นกลไกที่ส่วนใหญ่สามารถสร้างเป็นส่วนขยายของ กลไกการกำหนดเส้นทางพื้นฐานที่อธิบายไว้ข้างต้น โดยพื้นฐานแล้ว แทนที่จะเพิ่มการเชื่อมต่อโหนดด้วยจำนวนพาราเชนและโหนดกลุ่มย่อย เราจะเติบโตด้วยเท่านั้น ลอการิทึมของพาราเชน กระทู้อาจมีการส่งต่อระหว่าง การต่อคิวของพาราเชนหลายตัวระหว่างทางเพื่อส่งมอบขั้นสุดท้าย การกำหนดเส้นทางนั้นถูกกำหนดไว้และเรียบง่าย เราเริ่มต้นด้วย การจำกัดจำนวนถังขยะในคิวเข้า/ออก แทนที่จะเป็นจำนวนพาราเชนทั้งหมด เป็นฐานเส้นทาง (b) . โดยจะกำหนดเป็นตัวเลข ของการเปลี่ยนแปลง parachains โดยที่เลขชี้กำลังการกำหนดเส้นทาง (e) จะถูกยกขึ้นแทน ภายใต้โมเดลนี้ ปริมาณข้อความของเรา เติบโตไปพร้อมกับ O(be) โดยวิถีทางยังคงไม่เปลี่ยนแปลง และเวลาแฝง (หรือจำนวนบล็อกที่จำเป็นสำหรับการจัดส่ง) ด้วย O(อี) โมเดลการกำหนดเส้นทางของเราคือไฮเปอร์คิวบ์ของมิติ e โดยแต่ละด้านของลูกบาศก์มีตำแหน่งที่เป็นไปได้ b แต่ละบล็อก เรากำหนดเส้นทางข้อความตามแกนเดียว เรา สลับแกนในลักษณะวนรอบ จึงรับประกันเวลาการส่งมอบในกรณีที่เลวร้ายที่สุดของบล็อก e เป็นส่วนหนึ่งของการประมวลผลพาราเชนที่ถูกผูกไว้จากต่างประเทศ ข้อความที่พบในคิวขาเข้าจะถูกส่งไปยังถังขยะของคิวขาออกที่เหมาะสมทันที โดยกำหนดให้ หมายเลขบล็อกปัจจุบัน (และมิติการกำหนดเส้นทาง) นี้ กระบวนการจำเป็นต้องมีการถ่ายโอนข้อมูลเพิ่มเติมสำหรับการกระโดดแต่ละครั้ง บนเส้นทางการจัดส่ง อย่างไรก็ตาม นี่เป็นปัญหาในตัวมันเอง ซึ่งอาจบรรเทาลงได้โดยใช้วิธีอื่น ของการจัดส่งเพย์โหลดข้อมูลและรวมถึงการอ้างอิงเท่านั้น แทนที่จะเป็นเพย์โหลดเต็มของโพสต์ในโพสต์ทรี ตัวอย่างของการกำหนดเส้นทางไฮเปอร์คิวบ์สำหรับระบบ ด้วย 4 parachains b = 2 และ e = 2 อาจเป็น: เฟส 0 ในแต่ละข้อความ M: • sub0: ถ้า Mdest ∈{2, 3} ให้ sendTo(2) อย่างอื่นเก็บไว้ • sub1: ถ้า Mdest ∈{2, 3} ให้ sendTo(3) อย่างอื่นเก็บไว้ • sub2: ถ้า Mdest ∈{0, 1} ให้ sendTo(0) อย่างอื่นเก็บไว้ • sub3: ถ้า Mdest ∈{0, 1} ให้ sendTo(1) อย่างอื่นเก็บไว้ ระยะที่ 1 ในแต่ละข้อความ M: • sub0: ถ้า Mdest ∈{1, 3} ให้ sendTo(1) อย่างอื่นเก็บไว้ • sub1: ถ้า Mdest ∈{0, 2} ให้ sendTo(0) อย่างอื่นเก็บไว้ • sub2: ถ้า Mdest ∈{1, 3} ให้ sendTo(3) อย่างอื่นเก็บไว้ • sub3: ถ้า Mdest ∈{0, 2} ให้ sendTo(2) อย่างอื่นเก็บไว้ มิติทั้งสองนี้มองเห็นได้ง่ายเป็นอันดับแรก ดัชนีปลายทางสองบิต สำหรับบล็อกแรกนั้น ใช้บิตลำดับที่สูงกว่าเพียงอย่างเดียว ข้อเสนอบล็อกที่สอง ด้วยบิตลำดับต่ำ เมื่อทั้งสองเกิดขึ้น (โดยพลการ สั่งซื้อ) จากนั้นโพสต์จะถูกส่งไป 9 การสุ่มหลอกที่ปลอดภัยด้วยการเข้ารหัส
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 16 6.6.5. เพิ่ม Serendipity ให้สูงสุด การเปลี่ยนแปลงขั้นพื้นฐานอย่างหนึ่ง ข้อเสนอจะเห็นจำนวนรวมคงที่ของ c2 −c validators ด้วย c−1 validators ในแต่ละกลุ่มย่อย แต่ละบล็อกมากกว่า มีการแบ่งพาร์ติชันใหม่แบบไม่มีโครงสร้างของ validators ในหมู่พาราเชน แทนที่จะเป็นกลุ่มย่อยพาราเชนแต่ละกลุ่ม validator แต่ละรายการจะได้รับการกำหนดให้มีเอกลักษณ์และแตกต่าง กลุ่มย่อย parachain ในบล็อกต่อไปนี้ นี้จะ นำไปสู่ค่าคงที่ระหว่างสองช่วงตึกใดๆ สำหรับค่าใดๆ ก็ตาม Parachain สองคู่ มี validators สองอันอยู่ ได้สลับความรับผิดชอบของ Parachain แม้ว่าสิ่งนี้จะไม่สามารถใช้เพื่อรับประกันความพร้อมใช้งานได้อย่างสมบูรณ์ (validator ตัวเดียวจะดรอป ofine เป็นครั้งคราว แม้ว่า เมตตากรุณา) แต่ก็สามารถเพิ่มประสิทธิภาพกรณีทั่วไปได้ แนวทางนี้ไม่ได้ปราศจากภาวะแทรกซ้อน การเพิ่มพาราเชนก็จำเป็นต้องมีการปรับโครงสร้างองค์กรใหม่ด้วย ของชุด validator นอกจากนี้จำนวนของ validators ซึ่งเชื่อมโยงกับกำลังสองของจำนวน parachains เริ่มจากเล็กๆ น้อยๆ และเติบโตไปไกลในที่สุด เร็วเกินไป จนไม่สามารถป้องกันได้หลังจากใช้พาราเชนไปประมาณ 50 อัน สิ่งเหล่านี้ไม่ใช่ปัญหาพื้นฐาน ในกรณีแรก การจัดระเบียบชุด validator ใหม่เป็นสิ่งที่ต้องมี ทำเป็นประจำอยู่แล้ว เกี่ยวกับขนาดของ validator ตั้งค่า เมื่อเล็กเกินไป อาจกำหนด validator หลายรายการได้ ไปยังพาราเชนเดียวกัน โดยใช้ตัวประกอบจำนวนเต็มกับ รวมทั้งหมด validators กลไกการกำหนดเส้นทางแบบหลายเฟส เช่น Hypercube Routing ที่จะกล่าวถึงใน 6.6.4 บรรเทาความต้องการสำหรับ validators จำนวนมาก เมื่อมีโซ่จำนวนมาก 6.7. การตรวจสอบ Parachain วัตถุประสงค์หลักของ validator คือการเป็นพยานในฐานะนักแสดงที่มีความผูกพันกันเป็นอย่างดีว่าเป็นนักพาราเชน การบล็อกนั้นถูกต้อง รวมถึงแต่ไม่จำกัดเพียงการเปลี่ยนแปลงสถานะ ธุรกรรมภายนอกใดๆ ที่รวมอยู่ด้วย การดำเนินการของ โพสต์ที่รออยู่ในคิวทางเข้าและสถานะสุดท้าย ของคิวขาออก กระบวนการนี้ค่อนข้างง่าย เมื่อ validator ปิดผนึกบล็อกก่อนหน้า พวกเขาจะเป็นอิสระ เพื่อเริ่มทำงานเพื่อจัดหาบล็อกพาราเชนที่เหมาะสม ผู้สมัครรับฉันทามติรอบต่อไป เริ่มแรก validator ค้นหาตัวเลือกบล็อกพาราเชนผ่านตัวเชื่อมโยงพาราเชน (อธิบายต่อไป) หรือหนึ่งรายการ ของ co-validators ของมัน ข้อมูลผู้สมัครบล็อกพาราเชน รวมถึงส่วนหัวของบล็อก ส่วนหัวของบล็อกก่อนหน้า ข้อมูลอินพุตภายนอกใดๆ ที่รวมอยู่ (สำหรับ Ethereum และ Bitcoin ข้อมูลดังกล่าวจะเรียกว่าธุรกรรม อย่างไรก็ตาม โดยหลักการแล้วอาจรวมถึงโครงสร้างข้อมูลที่กำหนดเองเพื่อวัตถุประสงค์ที่กำหนดเอง) ข้อมูลคิวขาออก และข้อมูลภายในเพื่อพิสูจน์ความถูกต้องของการเปลี่ยนแปลงสถานะ (สำหรับ Ethereum นี่จะเป็นโหนด Trie สถานะ/หน่วยเก็บข้อมูลต่างๆ ที่จำเป็นในการดำเนินการแต่ละธุรกรรม) หลักฐานการทดลองแสดงชุดข้อมูลแบบเต็มสำหรับบล็อก Ethereum ล่าสุด สูงสุดไม่กี่ร้อย KiB พร้อมกันหากยังไม่ได้ดำเนินการ validator จะเป็น พยายามดึงข้อมูลที่เกี่ยวข้องกับการเปลี่ยนแปลงของบล็อกก่อนหน้า โดยเริ่มจากบล็อกก่อนหน้า validators และหลังจากนั้นจากการลงนามของ validators ทั้งหมด ความพร้อมใช้งานของข้อมูล เมื่อ validator ได้รับการบล็อกผู้สมัครดังกล่าวแล้ว จากนั้นพวกเขาจะตรวจสอบภายในเครื่อง กระบวนการตรวจสอบความถูกต้องมีอยู่ภายในโมดูล validator ของคลาส parachain ก โมดูลซอฟต์แวร์ที่มีความละเอียดอ่อนที่ต้องเขียน สำหรับการดำเนินการใด ๆ ของ Polkadot (แม้ว่าโดยหลักการแล้ว ไลบรารีที่มี C ABI สามารถเปิดใช้งานไลบรารีเดียวได้ ร่วมกันระหว่างการนำไปปฏิบัติด้วยความเหมาะสม ความปลอดภัยที่ลดลงจากการมีการดำเนินการ "อ้างอิง" เพียงรายการเดียว) กระบวนการนี้ใช้ส่วนหัวของบล็อกก่อนหน้าและยืนยันตัวตนผ่านรีเลย์เชนที่ตกลงกันเมื่อเร็ว ๆ นี้ บล็อกที่ควรบันทึก hash เมื่อตรวจสอบความถูกต้องของส่วนหัวพาเรนต์แล้ว Parachain ที่เฉพาะเจาะจง ฟังก์ชันการตรวจสอบความถูกต้องของคลาสอาจถูกเรียก นี่เป็นฟังก์ชันเดียวที่ยอมรับช่องข้อมูลจำนวนหนึ่ง (ประมาณ ที่ให้ไว้ก่อนหน้านี้) และส่งคืนบูลีนแบบง่าย ประกาศความถูกต้องของบล็อก ฟังก์ชั่นการตรวจสอบความถูกต้องส่วนใหญ่จะตรวจสอบก่อน ฟิลด์ส่วนหัวซึ่งสามารถได้รับโดยตรงจาก บล็อกหลัก (เช่น parent hash, number) กำลังติดตาม สิ่งนี้จะเติมโครงสร้างข้อมูลภายในใด ๆ เช่น จำเป็นในการประมวลผลธุรกรรมและ/หรือโพสต์ สำหรับห่วงโซ่ที่มีลักษณะคล้าย Ethereum จำนวนนี้คือการเติม a ลองใช้ฐานข้อมูลพร้อมโหนดที่จำเป็นสำหรับ การทำธุรกรรมเต็มรูปแบบ โซ่ประเภทอื่นอาจมี หน้าอื่น ๆกลไกการชดใช้ เมื่อเสร็จแล้ว โพสต์ทางเข้าและธุรกรรมภายนอก (หรืออะไรก็ตามที่เป็นตัวแทนข้อมูลภายนอก) จะเป็นเช่นนั้น ตราขึ้นและสมดุลตามข้อกำหนดของโซ่ (ก ค่าเริ่มต้นที่สมเหตุสมผลอาจต้องกำหนดให้มีการโพสต์ทางเข้าทั้งหมด ประมวลผลก่อนที่จะให้บริการธุรกรรมภายนอก อย่างไรก็ตาม สิ่งนี้ควรเป็นไปตามตรรกะของ Parachain ในการตัดสินใจ) ด้วยการตรากฎหมายนี้ จะมีชุดโพสต์ทางออก สร้างขึ้นและจะได้รับการยืนยันว่าสิ่งเหล่านี้ตรงกันจริงๆ ผู้สมัครของผู้สมรู้ร่วมคิด ในที่สุดก็มีประชากรอย่างเหมาะสม ส่วนหัวจะถูกตรวจสอบกับส่วนหัวของผู้สมัคร ด้วยบล็อกผู้สมัครที่ได้รับการตรวจสอบความถูกต้องครบถ้วน validator จากนั้นสามารถลงคะแนนให้ hash ของส่วนหัวและส่งข้อมูลการตรวจสอบที่จำเป็นทั้งหมดไปยัง co-validators ในกลุ่มย่อย 6.7.1. เครื่องสะสมพาราเชน Parachain collators คือผู้ปฏิบัติงานที่ไม่มีพันธะผูกพัน ซึ่งทำหน้าที่ส่วนใหญ่ของนักขุด บนเครือข่าย blockchain ในปัจจุบัน พวกมันมีความเฉพาะเจาะจง ไปยังพาราเชนโดยเฉพาะ เพื่อที่จะดำเนินการพวกเขาจะต้อง รักษาทั้งรีเลย์-เชนและซิงโครไนซ์อย่างเต็มที่ พาราเชน ความหมายที่ชัดเจนของ "การซิงโครไนซ์อย่างเต็มที่" จะขึ้นอยู่กับคลาสของ parachain แม้ว่าจะรวมถึงสถานะปัจจุบันของคิวทางเข้าของ parachain ก็ตาม ในกรณีของ Ethereum อย่างน้อยก็เกี่ยวข้องกับการบำรุงรักษาด้วย ฐานข้อมูล Merkle-tree ของสองสามช่วงตึกสุดท้าย แต่อาจ รวมถึงโครงสร้างข้อมูลอื่นๆ มากมาย รวมถึง Bloom ตัวกรองสำหรับการมีอยู่ของบัญชี ข้อมูลครอบครัว การบันทึก เอาต์พุตและตารางการค้นหาแบบย้อนกลับสำหรับหมายเลขบล็อก นอกจากจะทำให้โซ่ทั้งสองประสานกันแล้ว ต้อง "จับปลา" สำหรับธุรกรรมด้วยการรักษาคิวธุรกรรมและยอมรับธุรกรรมที่ได้รับการตรวจสอบอย่างถูกต้อง จากเครือข่ายสาธารณะ ด้วยคิวและห่วงโซ่มันคือ สามารถสร้างบล็อกผู้สมัครใหม่สำหรับ validators ที่เลือกในแต่ละบล็อก (ซึ่งทราบข้อมูลประจำตัวเนื่องจากรีเลย์เชนซิงโครไนซ์) และส่งบล็อกเหล่านั้นพร้อมกับ ข้อมูลเสริมต่างๆ เช่น หลักฐานความถูกต้อง ผ่านทาง เครือข่ายเพียร์ สำหรับปัญหาดังกล่าว ระบบจะเก็บค่าธรรมเนียมทั้งหมดที่เกี่ยวข้องกับธุรกรรมที่รวมไว้ เศรษฐศาสตร์ต่างๆ หมุนเวียนไปรอบ ๆ นี้ การจัดการ ในตลาดที่มีการแข่งขันสูงนั่นเอง เป็นส่วนเกินของผู้ค้ำประกันก็เป็นไปได้ว่าการทำธุรกรรม จะมีการแชร์ค่าธรรมเนียมกับ parachain validators เพื่อสร้างแรงจูงใจ การรวมบล็อกของผู้ประสานงานโดยเฉพาะ ในทำนองเดียวกัน
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 17 ผู้เรียกเก็บเงินบางรายอาจเพิ่มค่าธรรมเนียมที่จำเป็นด้วยซ้ำ จะต้องชำระเพื่อทำให้บล็อกน่าสนใจยิ่งขึ้น validatorส. ในกรณีนี้ ตลาดธรรมชาติควรก่อตัวขึ้น ด้วยการทำธุรกรรมที่จ่ายค่าธรรมเนียมสูงกว่าการข้ามคิว และรวมเข้าเป็นลูกโซ่ได้เร็วขึ้น 6.8. เครือข่าย. การสร้างเครือข่ายบน blockchains แบบดั้งเดิม เช่น Ethereum และ Bitcoin มีข้อกำหนดที่ค่อนข้างง่าย ธุรกรรมและบล็อกทั้งหมดถูกถ่ายทอดในรูปแบบซุบซิบที่ไม่มีทิศทาง การซิงโครไนซ์มีส่วนเกี่ยวข้องมากกว่าโดยเฉพาะ ด้วย Ethereum แต่ในความเป็นจริงแล้วตรรกะนี้มีอยู่ใน กลยุทธ์เพียร์มากกว่าโปรโตคอลเองซึ่งแก้ไขได้กับข้อความคำขอและคำตอบบางประเภท ในขณะที่ Ethereum มีความคืบหน้าในการนำเสนอโปรโตคอลปัจจุบันด้วยโปรโตคอล devp2p ซึ่งอนุญาตสำหรับหลาย ๆ คน โปรโตคอลย่อยที่จะมัลติเพล็กซ์ผ่านการเชื่อมต่อแบบเพียร์เดียว จึงมีเพียร์โอเวอร์เลย์เดียวกันที่รองรับหลาย ๆ ตัว โปรโตคอล p2p พร้อมกัน ส่วน Ethereum ของ โปรโตคอลยังคงค่อนข้างง่ายและ p2p โปรโตคอลในขณะที่ยังไม่เสร็จสิ้นกับความสำคัญ ฟังก์ชันการทำงานที่ขาดหายไป เช่น การสนับสนุน QoS น่าเศร้าที่ความปรารถนาที่จะสร้างโปรโตคอล “web 3” ที่แพร่หลายมากขึ้นเป็นส่วนใหญ่ ล้มเหลว โดยมีเพียงโครงการเดียวที่ใช้โครงการนี้อย่างชัดเจน ได้รับทุนจากการขายฝูงชน Ethereum ข้อกำหนดสำหรับ Polkadot ค่อนข้างสำคัญกว่า แทนที่จะเป็นเครือข่ายที่เหมือนกันทั้งหมด Polkadot มีผู้เข้าร่วมหลายประเภท โดยแต่ละประเภทมีข้อกำหนดที่แตกต่างกันตามรูปแบบเพื่อนและเครือข่ายที่หลากหลาย “ช่องทาง” ที่ผู้เข้าร่วมมักจะพูดคุยถึง ข้อมูลเฉพาะ นี่หมายถึงการซ้อนทับเครือข่ายที่มีโครงสร้างมากขึ้นอย่างมาก—และโปรโตคอลที่รองรับ— คงจะจำเป็น นอกจากนี้ ความสามารถในการขยายเพื่อรองรับการเพิ่มในอนาคต เช่น "ลูกโซ่" รูปแบบใหม่อาจเกิดขึ้น เองจำเป็นต้องมีโครงสร้างการซ้อนทับแบบใหม่ ขณะที่การอภิปรายเชิงลึกเกี่ยวกับวิธีการสร้างเครือข่าย โปรโตคอลอาจดูอยู่นอกขอบเขตของเอกสารนี้ การวิเคราะห์ข้อกำหนดบางอย่างมีความสมเหตุสมผล เราทำได้ โดยคร่าวๆ แบ่งผู้เข้าร่วมเครือข่ายของเราออกเป็นสองชุด (รีเลย์-เชน, พาราเชน) แต่ละชุดย่อยทั้งสามชุด เราทำได้ ยังระบุด้วยว่าผู้เข้าร่วมพาราเชนแต่ละคนเป็นเพียงเท่านั้น สนใจที่จะพูดคุยระหว่างกันเองแทนที่จะเป็นฝ่ายตรงข้าม ผู้เข้าร่วมใน parachachas อื่น: • ผู้เข้าร่วมรีเลย์เชน: • ผู้ตรวจสอบความถูกต้อง: P แบ่งออกเป็นเซตย่อย P[s] สำหรับแต่ละเซต พาราเชน • ผู้รับประกันความพร้อมใช้งาน: A (ซึ่งอาจแสดงโดยผู้ตรวจสอบความถูกต้องในรูปแบบพื้นฐานของโปรโตคอล) • ไคลเอนต์รีเลย์เชน: M (หมายเหตุ สมาชิกแต่ละคน. ชุดพาราเชนก็มีแนวโน้มที่จะเป็นสมาชิกของ M ด้วย) • ผู้เข้าร่วมพาราเชน: • ตัวประสานพาราเชน: C[0], C[1], . . . • ชาวประมงพาราเชน: F[0], F[1], . . • ไคลเอนต์ Parachain: S[0], S[1], . . . • Parachain light-client: L[0], L[1], . . . โดยทั่วไปเราจะตั้งชื่อคลาสของการสื่อสารโดยเฉพาะ มักจะเกิดขึ้นระหว่างสมาชิกของชุดเหล่านี้: • พี | ก <-> ป | ตอบ: ที่ เต็ม ชุด ของ validators/ผู้ค้ำประกัน ต้อง เป็น เชื่อมต่อกันดี ถึง บรรลุฉันทามติ • P[s] <-> C[s] | P[s]: validator แต่ละคนในฐานะสมาชิกของกลุ่ม parachain ที่กำหนดจะมีแนวโน้มที่จะนินทา กับสมาชิกคนอื่นๆ และผู้ร่วมงานด้วย ของพาราเชนนั้นเพื่อค้นหาและแบ่งปันตัวเลือกบล็อก • A <-> P[s] | ซี | ตอบ: ผู้รับประกันความพร้อมในการให้บริการแต่ละราย จะต้องรวบรวม cross-chain ที่ไวต่อฉันทามติ ข้อมูลจาก validators ที่ได้รับมอบหมาย; ผู้ประสานงาน อาจเพิ่มโอกาสในการได้รับฉันทามติด้วย บล็อกโดยการโฆษณากับผู้รับประกันความพร้อม เมื่อได้รับแล้วข้อมูลจะถูกจ่ายไป ผู้ค้ำประกันรายอื่นเพื่ออำนวยความสะดวกในการตกลงกัน • P[s] <-> A | P[s']: Parachain validators จะ จำเป็นต้องรวบรวมข้อมูลอินพุตเพิ่มเติมจากชุดก่อนหน้าของ validators หรือผู้รับประกันความพร้อมใช้งาน • F[s] <-> P: เมื่อรายงาน ชาวประมงอาจส่ง การเรียกร้องกับผู้เข้าร่วมคนใด ๆ • ม <-> ม | ป | ตอบ: ไคลเอนต์รีเลย์เชนทั่วไปจะจ่ายข้อมูลจาก validators และผู้ค้ำประกัน • ส[s] <-> ส[s] | ป[s] | ตอบ: ไคลเอนต์ Parachain กระจายข้อมูลจาก validator/guarantors • L[s] <-> L[s] | S[s]: ไคลเอนต์ Parachain light เบิกจ่ายข้อมูลจากลูกค้าเต็มจำนวน เพื่อให้มั่นใจว่ากลไกการขนส่งมีประสิทธิภาพ “แฟลต” เครือข่ายซ้อนทับ - เช่น devp2p ของ Ethereum โดยที่แต่ละอัน โหนดไม่ (โดยพลการ) ไม่แยกแยะความเหมาะสมของมัน เพื่อนร่วมงานไม่น่าจะเหมาะสม ขยายออกได้พอสมควร กลไกการคัดเลือกและการค้นพบเพื่อนน่าจะจำเป็น ให้รวมอยู่ในระเบียบการและเชิงรุกด้วย การวางแผนมองล่วงหน้าเพื่อให้แน่ใจว่ามีเพื่อนที่เหมาะสม เป็นคอนเน็ก "โดยบังเอิญ"ในเวลาที่เหมาะสม กลยุทธ์ที่ชัดเจนในการคัดเลือกผู้ร่วมงานจะแตกต่างกันสำหรับผู้เข้าร่วมแต่ละชั้นเรียน: เพื่อการปรับขนาดที่เหมาะสม multi-chain ผู้ทำงานร่วมกันจะต้องดำเนินการอย่างต่อเนื่อง เชื่อมต่อกับ validators ที่ได้รับการเลือกตั้งตามนั้นหรือจะ ต้องการข้อตกลงที่กำลังดำเนินการกับชุดย่อยของ validators เพื่อให้แน่ใจว่าจะไม่ถูกตัดการเชื่อมต่อในช่วงเวลาส่วนใหญ่ที่ไม่มีประโยชน์สำหรับ validator นั้น ผู้รวบรวมจะพยายามรักษาไว้โดยธรรมชาติ หรือการเชื่อมต่อที่เสถียรยิ่งขึ้นไปยังผู้รับประกันความพร้อมใช้งาน กำหนดไว้เพื่อให้แน่ใจว่ามีการเผยแพร่อย่างรวดเร็วของความเห็นพ้องต้องกัน ข้อมูล ผู้รับประกันความพร้อมส่วนใหญ่จะมุ่งเป้าไปที่การรักษา การเชื่อมต่อที่เสถียรระหว่างกันและกับ validators (สำหรับข้อมูลที่เป็นเอกฉันท์และข้อมูล Parachain ที่มีความสำคัญเป็นเอกฉันท์ซึ่ง พวกเขายืนยัน) เช่นเดียวกับผู้เปรียบเทียบบางคน (สำหรับ parachain ข้อมูล) และชาวประมงและลูกค้าบางส่วน (สำหรับการกระจายตัว ข้อมูล) ผู้ตรวจสอบความถูกต้องมักจะมองหา validators อื่นๆ โดยเฉพาะที่อยู่ในกลุ่มย่อยเดียวกันและ ผู้ประสานงานที่สามารถจัดหาตัวเลือกบล็อกพาราเชนให้พวกเขาได้ ชาวประมงตลอดจนรีเลย์โซ่และพาราเชนทั่วไป โดยทั่วไปลูกค้าจะมุ่งหวังที่จะรักษาการเชื่อมต่อที่เปิดไว้กับ validator หรือผู้ค้ำประกัน แต่มีโหนดอื่นๆ ที่คล้ายกันอีกมากมาย แก่ตนเองเป็นอย่างอื่น Parachain light client มีเป้าหมายที่จะเชื่อมต่อกับไคลเอนต์แบบเต็มของ parachain ในทำนองเดียวกัน หากไม่ใช่เพียงไคลเอ็นต์ light-client ของ parachain อื่นๆ 6.8.1. ปัญหาของเพื่อนปั่น. ในข้อเสนอโปรโตคอลพื้นฐาน แต่ละชุดย่อยเหล่านี้เปลี่ยนแปลงแบบสุ่มอย่างต่อเนื่องกับแต่ละบล็อกตามที่ validators มอบหมายให้ตรวจสอบ การเปลี่ยนพาราเชนจะถูกสุ่มเลือก นี้สามารถ เป็นปัญหาที่ควรต้องมีโหนดที่แตกต่างกัน (ไม่ใช่เพียร์) ส่งข้อมูลระหว่างกัน ก็ต้องพึ่งเช่นกัน เครือข่ายเพียร์ที่มีการกระจายอย่างเป็นธรรมและเชื่อมต่ออย่างดี
โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 18 ตรวจสอบให้แน่ใจว่าระยะทางกระโดด (และความล่าช้าที่เลวร้ายที่สุด) จะเพิ่มขึ้นตามลอการิทึมของขนาดเครือข่ายเท่านั้น (โปรโตคอลที่คล้ายกับ Kademlia [13] อาจช่วยได้ที่นี่) หรือต้องทำอย่างใดอย่างหนึ่ง แนะนำเวลาบล็อกที่นานขึ้นเพื่อให้การเจรจาการเชื่อมต่อที่จำเป็นเกิดขึ้นเพื่อรักษาเพียร์เซ็ตไว้ สะท้อนถึงความต้องการการสื่อสารในปัจจุบันของโหนด ทั้งสองวิธีไม่ใช่วิธีแก้ปัญหาที่ดี: ใช้เวลาบล็อกนาน การถูกบังคับบนเครือข่ายอาจทำให้ไร้ประโยชน์ได้ การใช้งานและโซ่โดยเฉพาะ แม้กระทั่งงานที่สมบูรณ์แบบ และเครือข่ายที่เชื่อมต่อจะส่งผลให้เกิดการสิ้นเปลืองอย่างมาก ของแบนด์วิธเมื่อขยายขนาดเนื่องจากมีโหนดที่ไม่สนใจ เพื่อส่งต่อข้อมูลไปอย่างไร้ประโยชน์ให้กับพวกเขา แม้ว่าทั้งสองทิศทางอาจเป็นส่วนหนึ่งของสารละลาย การเพิ่มประสิทธิภาพที่เหมาะสมเพื่อช่วยลดเวลาแฝงให้เหลือน้อยที่สุด คือการจำกัดความผันผวนของ parachain เหล่านี้ validator ชุด หรือกำหนดความเป็นสมาชิกใหม่เฉพาะระหว่างชุดของบล็อก (เช่น ในกลุ่ม 15 ซึ่งใน 4 วินาที เวลาบล็อกจะหมายถึงการเปลี่ยนแปลงการเชื่อมต่อเพียงครั้งเดียวต่อ นาที) หรือหมุนเวียนสมาชิกแบบเพิ่มขึ้น เช่น เปลี่ยนแปลงทีละสมาชิก (เช่น ถ้ามี ได้รับมอบหมาย 15 validators ให้กับแต่ละ parachain ดังนั้นโดยเฉลี่ยแล้วจะใช้เวลาหนึ่งนาทีเต็มระหว่างค่าที่ไม่ซ้ำกันโดยสิ้นเชิง ชุด) โดยการจำกัดจำนวนการเลิกใช้งานเพียร์ และรับรองว่าการเชื่อมต่อเพียร์ที่ได้เปรียบจะทำไปด้วยดี ก้าวหน้าผ่านการคาดเดาได้บางส่วนของพาราเชน เราสามารถช่วยให้แน่ใจว่าแต่ละโหนดจะคงไว้อย่างถาวร การคัดเลือกเพื่อนโดยบังเอิญ 6.8.2. เส้นทางสู่โปรโตคอลเครือข่ายที่มีประสิทธิภาพ คงจะ. ความพยายามในการพัฒนาที่มีประสิทธิผลและสมเหตุสมผลมากที่สุดจะมุ่งเน้นไปที่การใช้โปรโตคอลที่มีอยู่แล้วมากกว่าการเผยแพร่ ของเราเอง มีโปรโตคอลฐานเพียร์ทูเพียร์หลายตัว เราอาจใช้หรือเพิ่มรวมถึง devp2p ของ Ethereum ของตัวเองด้วย [22], libp2p ของ IPFS [1] และ GNUnet ของ GNU [4] การทบทวนระเบียบการเหล่านี้ฉบับสมบูรณ์และความเกี่ยวข้องสำหรับการสร้าง เครือข่ายเพียร์แบบโมดูลาร์ที่รองรับการรับประกันโครงสร้างบางอย่าง การควบคุมเพียร์แบบไดนามิก และโปรโตคอลย่อยที่ขยายได้ อยู่นอกเหนือขอบเขตของเอกสารนี้ แต่จะเป็น ขั้นตอนสำคัญในการใช้งาน Polkadot 7. การปฏิบัติจริงของพิธีสาร 7.1. การชำระเงินธุรกรรมระหว่างกัน ในขณะที่ยิ่งใหญ่ ปริมาณความเป็นอิสระและความเรียบง่ายนั้นได้มาจากการลดความต้องการเฟรมเวิร์กการบัญชีทรัพยากรการคำนวณแบบองค์รวม เช่น ก๊าซของ Ethereum สิ่งนี้ทำให้เกิดคำถามสำคัญ: หากไม่มีก๊าซ แล้วพาราเชนหนึ่งตัวจะเป็นอย่างไร หลีกเลี่ยง parachain อื่นจากการบังคับให้ทำการคำนวณหรือไม่ ในขณะที่เราสามารถพึ่งพาคิวการเข้าหลังธุรกรรมได้ บัฟเฟอร์เพื่อป้องกันไม่ให้ห่วงโซ่หนึ่งส่งสแปมด้วย ข้อมูลธุรกรรม ไม่มีกลไกที่เท่าเทียมกันในโปรโตคอลเพื่อป้องกันสแปมในการประมวลผลธุรกรรม นี่เป็นปัญหาที่เหลืออยู่ในระดับที่สูงขึ้น ตั้งแต่โซ่ตรวน มีอิสระที่จะแนบซีแมนทิกส์ตามอำเภอใจกับขาเข้า ข้อมูลธุรกรรมโพสต์เราสามารถรับประกันได้ว่าการคำนวณ จะต้องชำระก่อนที่จะเริ่ม ในลักษณะเดียวกันกับ โมเดลที่ดำเนินการโดย Ethereum ความสงบ เราสามารถจินตนาการได้ สัญญา "แตกหัก" ภายใน parachain ซึ่งอนุญาตให้ validator รับประกันการชำระเงินเพื่อแลกกับ การจัดหาทรัพยากรการประมวลผลในปริมาณเฉพาะ ทรัพยากรเหล่านี้อาจวัดได้ในรูปของก๊าซ แต่ยังอาจเป็นโมเดลที่แปลกใหม่บางอย่าง เช่น เวลาในการดำเนินการแบบอัตนัยหรือแบบจำลองค่าธรรมเนียมแบบ Bitcoin ที่เหมือนค่าธรรมเนียม ด้วยตัวมันเองสิ่งนี้ไม่มีประโยชน์นักเนื่องจากเราไม่สามารถสรุปได้ว่าผู้เรียกแบบ off-chain นั้นว่างสำหรับพวกเขา กลไกคุณค่าใดก็ตามที่ได้รับการยอมรับจากการบุกรุก สัญญา อย่างไรก็ตาม เราสามารถจินตนาการถึงสัญญา "ฝ่าวงล้อม" รองในห่วงโซ่แหล่งที่มาได้ สัญญาทั้งสองร่วมกันจะสร้างสะพานที่รับรู้ซึ่งกันและกันและ ให้ความเท่าเทียมกันของมูลค่า (การปักหลัก-tokens ใช้ได้กับ แต่ละรายการสามารถนำไปใช้ชำระดุลการชำระเงินได้) การโทรเข้าสายโซ่อื่นจะหมายถึงการมอบฉันทะ ผ่านสะพานแห่งนี้ซึ่งจะให้หนทางในการ การเจรจาการถ่ายโอนมูลค่าระหว่างเครือข่ายเพื่อที่จะ ชำระค่าทรัพยากรการคำนวณที่จำเป็นสำหรับพาราเชนปลายทาง 7.2. เพิ่มเติม โซ่. ในขณะที่ ที่ นอกจากนี้ ของ ก parachain เป็นการดำเนินการที่ค่อนข้างถูก มันไม่ฟรี พาราเชนที่มากขึ้นหมายถึง validators ต่อพาราเชนที่น้อยลง และในที่สุด validators จำนวนมากขึ้นแต่ละอันมี a พันธบัตรเฉลี่ยลดลง ในขณะที่ปัญหาเรื่องการบังคับค่าใช้จ่ายในการโจมตี Parachain น้อยลงก็บรรเทาลงได้ ชาวประมง validator ที่กำลังเติบโต กำหนดกำลังสำคัญ ระดับเวลาแฝงที่สูงขึ้นเนื่องจากกลไกของความเห็นพ้องต้องกันท็อด นอกจากนี้พาราเชนแต่ละอัน นำมาซึ่งความโศกเศร้า validators พร้อมด้วย อัลกอริธึมการตรวจสอบที่หนักเกินไป ด้วยเหตุนี้ จะมี "ราคา" บางส่วนที่ validators และ/หรือชุมชนผู้มีส่วนได้ส่วนเสียจะดึงข้อมูลออกมาเพื่อ เพิ่มพาราเชนใหม่ ตลาดสำหรับโซ่นี้จะ อาจเห็นการเพิ่มอย่างใดอย่างหนึ่ง: • เครือข่ายที่มีแนวโน้มว่าจะมีการจ่ายเงินสุทธิเป็นศูนย์ (ในแง่ของการล็อคหรือการเผา staking tokens) ที่จะสร้างเป็นส่วนหนึ่ง (เช่น เครือเครือข่ายสมาคม Doge-chains, เชนเฉพาะแอป); • เครือข่ายที่ส่งมอบคุณค่าที่แท้จริงให้กับเครือข่าย ผ่านการเพิ่มฟังก์ชันการทำงานเฉพาะที่ยุ่งยาก เพื่อไปยังที่อื่น (เช่น การรักษาความลับ ความสามารถในการขยายภายใน การเชื่อมโยงการบริการ) โดยพื้นฐานแล้วชุมชนของผู้มีส่วนได้ส่วนเสียจะต้อง ได้รับการจูงใจให้เพิ่มเครือข่ายย่อย—ทั้งทางการเงินหรือ ด้วยความปรารถนาที่จะเพิ่มโซ่ที่โดดเด่นให้กับรีเลย์ คาดว่าเครือใหม่ที่เพิ่มเข้ามาจะมีมาก ระยะเวลาแจ้งสั้นสำหรับการถอด ทำให้สามารถโซ่ใหม่ได้ ทดลองได้โดยไม่ต้องเสี่ยงต่อการประนีประนอม การนำเสนอคุณค่าระยะกลางหรือระยะยาว 8. บทสรุป เราได้สรุปแนวทางที่อาจนำไปใช้ในการเขียน โปรโตคอลหลายสายโซ่ที่ต่างกันและปรับขนาดได้พร้อมศักยภาพที่จะเข้ากันได้แบบย้อนหลังกับบางโปรโตคอลที่มีอยู่แล้ว blockchain เครือข่าย ภายใต้ระเบียบการดังกล่าวผู้เข้าร่วม ทำงานเพื่อประโยชน์ส่วนตนที่รู้แจ้งเพื่อสร้างระบบโดยรวมที่สามารถขยายออกไปในลักษณะที่ฟรีเป็นพิเศษและไม่มีค่าใช้จ่ายทั่วไปสำหรับผู้ใช้ที่มีอยู่ มาจากการออกแบบมาตรฐาน blockchain เราได้ให้ โครงร่างคร่าวๆ ของสถาปัตยกรรมที่จะต้องรวมไว้ด้วย ลักษณะของผู้เข้าร่วม สิ่งจูงใจทางเศรษฐกิจ และกระบวนการที่พวกเขาต้องมีส่วนร่วม เรามี ระบุการออกแบบขั้นพื้นฐานและหารือถึงจุดแข็งและ ข้อจำกัด; ดังนั้นเราจึงมีแนวทางเพิ่มเติมซึ่ง อาจบรรเทาข้อจำกัดเหล่านั้นและส่งผลให้ได้รับโซลูชัน blockchain ที่ปรับขนาดได้อย่างเต็มที่โพลคาดอท: วิสัยทัศน์สำหรับกรอบการทำงานแบบหลายห่วงโซ่ที่แตกต่างกัน ร่างที่ 1 19 8.1. เนื้อหาที่ขาดหายไปและคำถามเปิด การฟอร์กเครือข่ายนั้นมีความเป็นไปได้เสมอจากการใช้งานโปรโตคอลที่แตกต่างกัน การฟื้นตัวจากการดังกล่าว ไม่ได้กล่าวถึงเงื่อนไขพิเศษ เนื่องจากเครือข่ายจะต้องมีระยะเวลาสรุปที่ไม่เป็นศูนย์ มันไม่ควรเป็นปัญหาใหญ่ในการกู้คืนจากการฟอร์กของรีเลย์เชน แต่จะต้องมีการผสานรวมอย่างระมัดระวัง โปรโตคอลฉันทามติ การยึดพันธบัตรและการให้รางวัลในทางกลับกันมี ไม่ได้รับการสำรวจอย่างลึกซึ้ง ในปัจจุบันเราถือว่ารางวัล มีให้ภายใต้เกณฑ์ผู้ชนะ - รับทั้งหมด: สิ่งนี้อาจไม่ มอบรูปแบบการสร้างแรงจูงใจที่ดีที่สุดสำหรับชาวประมง กระบวนการเปิดเผยข้อผูกพันในระยะเวลาอันสั้นจะทำให้ชาวประมงจำนวนมาก เพื่อรับรางวัลโดยมีการแจกรางวัลอย่างยุติธรรมมากขึ้น อย่างไรก็ตามกระบวนการนี้อาจนำไปสู่เวลาแฝงเพิ่มเติมใน การค้นพบพฤติกรรมที่ไม่เหมาะสม 8.2. รับทราบ ขอบคุณมากสำหรับทั้งหมด ผู้พิสูจน์อักษรที่ได้ช่วยทำความเข้าใจเรื่องนี้อย่างคลุมเครือ รูปร่างเรียบร้อย โดยเฉพาะ Peter Czaban, Bj¨orn วากเนอร์, เคน แคปเปลอร์, โรเบิร์ต ฮาเบอร์ไมเออร์, วิตาลิก บูเทริน, เรโต้ ทริงเกอร์ และแจ็ค ปีเตอร์สสัน ขอบคุณทุกคน คนที่มีส่วนสนับสนุนความคิดหรือจุดเริ่มต้น ด้วยเหตุนี้ Marek Kotewicz และ Aeron Buchanan จึงสมควรได้รับการกล่าวถึงเป็นพิเศษ และขอบคุณทุกคนสำหรับความช่วยเหลือของพวกเขา ระหว่างทาง ข้อผิดพลาดทั้งหมดเป็นของฉันเอง บางส่วนของงานนี้ รวมถึงการวิจัยเบื้องต้นเกี่ยวกับ อัลกอริธึมฉันทามติได้รับทุนบางส่วนจากอังกฤษ รัฐบาลภายใต้โครงการ Innovate UK
Протокол в деталях
Протокол можно условно разбить на три части: механизм консенсуса, интерфейс парачейна. и маршрутизация межцепочных транзакций. 6.1. Релейная цепь Операция. релейная цепь будет вероятно, это цепочка, во многом похожая на Ethereum тем, что она основан на состоянии с адресом сопоставления состояния учетной записи информация, в основном балансы и (во избежание повторов) счетчик транзакций. Размещение здесь учетных записей преследует одну цель: обеспечить учет, личность которого обладает какая доля участия в системе.7 Однако будут заметные различия: • Контракты не могут быть развернуты посредством транзакций; исходя из желания избежать функциональности приложения в релейной цепочке, оно не будет поддерживать публичное внедрение контрактов. • Использование вычислительных ресурсов («газ») не учитывается; поскольку единственные функции, доступные для публичного использования будет исправлено, обоснование учета газа больше не держится. Таким образом, взимается фиксированная плата. во всех случаях, что позволяет добиться большей производительности в любом динамическое выполнение кода, которое может потребоваться и более простой формат транзакции. • Для перечисленных контрактов поддерживается специальная функциональность, обеспечивающая автоматическое выполнение и вывод сетевых сообщений. В случае, если в релейной цепочке есть виртуальная машина и она будет основанный на EVM, он будет иметь ряд модификаций для обеспечения максимальной простоты. Вероятно, это было бы иметь ряд встроенных контрактов (аналогично тем, что есть в адреса 1–4 в Ethereum), чтобы обеспечить возможность специфичной для платформы обязанности, подлежащие управлению, включая консенсусный контракт, validator контракт и контракт парачейна. Если не EVM, то наиболее вероятной альтернативой является серверная часть WebAssembly [2] (wasm); в этом случае общий структура была бы аналогична, но не было бы необходимости для встроенных контрактов, где Wasm является жизнеспособной целью для языков общего назначения, а не для незрелых и ограниченное количество языков для EVM. Вполне возможны и другие вероятные отклонения от настоящего протокола Ethereum, например упрощение формат квитанции транзакции, позволяющий параллельное выполнение неконфликтных транзакций в одном блоке, как предложено для серии изменений Serenity. Возможно, хотя и маловероятно, что подобная Серенити «чистая» цепочка может быть развернута как релейная цепочка, что позволяет конкретный контракт для управления такими вещами, как staking token баланса, а не делать это фундаментальной частью протокол сети. В настоящее время мы считаем маловероятным, что это предложит достаточно большое упрощение протокола, чтобы стоит дополнительных сложностей и неопределенности, связанных с этим в его разработке. 7В качестве средства представления суммы, которую данный владелец несет ответственность за общую безопасность системы, эти счета ставок будут неизбежно кодируют некоторую экономическую ценность. Однако следует понимать, что, поскольку нет намерения использовать такие значения в любым способом с целью обмена на реальные товары и услуги, следует отметить, что token нельзя сравнивать с валюта и, как таковая, релейная цепь сохраняют свою нигилистическую философию в отношении приложений.POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 10 Существует ряд небольших функциональных возможностей, необходимых для администрирования механизма консенсуса, набора validator, механизма проверки и парачейнов. Эти могут быть реализованы вместе в рамках монолитного протокола. Однако из соображений модульности мы описываем их как «контракты» релейной цепи. Это должно можно понимать так, что они являются объектами (в смысле объектно-ориентированное программирование), управляемое механизмом консенсуса релейной цепи, но не обязательно они определяются как программы с кодами операций, подобными EVM, а также даже если к ним можно индивидуально обращаться через учетная система. 6.2. Контракт на стейкинг. Этот контракт поддерживает набор validator. Он управляет: • какие учетные записи в настоящее время являются validator; • которые в ближайшее время могут стать validators уведомление; • на каких счетах были размещены доли, номинированные на validator; • свойства каждого из них, включая объем staking, приемлемые ставки выплат и адреса, а также краткосрочные (сессионные) идентификаторы. Позволяет аккаунту зарегистрировать желание стать связанный validator (вместе с его требованиями), чтобы назначить какую-либо личность, а для ранее существовавших связанных validators зарегистрировать свое желание выйти из этого статуса. Это также включает в себя сам механизм проверки и канонизации. 6.2.1. Ставка-token Ликвидность. Как правило, желательно иметь как можно больше из общего числа staking tokens, чтобы быть участие в операциях по техническому обслуживанию сети, поскольку это напрямую связывает безопасность сети с общей «рыночной капитализацией» staking token. Это может легко стимулироваться путем раздувания валюты и раздачи доходов тем, кто участвует в качестве validators. Однако сделать это представляет проблему: если token заблокирован в Контракте о ставках под наказанием сокращения, как значительная часть может оставаться достаточной ликвидный, чтобы позволить обнаружение цен? Одним из ответов на это является разрешение прямого деривативного контракта, обеспечивающего взаимозаменяемые token на базовой ставке token. Это трудно организовать без доверия. Более того, эти производные token не могут рассматриваться одинаково по той же причине, по которой различные государственные облигации еврозоны не являются взаимозаменяемыми: существуют это вероятность того, что базовый актив потерпит неудачу и станет бесполезный. С правительствами еврозоны может произойти по умолчанию. При ставке validator tokens validator может действовать злонамеренно и быть наказанным. Следуя нашим принципам, мы выбираем самое простое решение: не все token будут поставлены на карту. Это означало бы, что некоторая часть (возможно, 20%) token будет принудительно оставаться жидким. Хотя это несовершенно с точки зрения безопасности, вряд ли это будет иметь фундаментальное значение для безопасность сети; 80% возможных репараций в результате конфискации облигаций все равно можно будет выплатить. по сравнению с «идеальным случаем» 100% staking. Соотношение между поставленными и ликвидными token можно довольно просто определить с помощью механизма обратного аукциона. По сути, владельцы token заинтересованы в том, чтобы стать validator. каждый из них разместит предложение по контракту staking с указанием минимальная ставка выплат, которую они потребуют принять часть. В начале каждой сессии (сессии будут происходят регулярно, возможно, раз в час) validator слотов будут заполнены в соответствии с каждым возможным Ставка validator и размер выплат. Один из возможных алгоритмов ибо это означало бы брать тех, у кого самые низкие предложения, представляют собой ставку, не превышающую общую целевую ставку делится на количество слотов и не может быть меньше половины этой суммы. Если места не могут быть заполнены, нижняя граница может быть неоднократно уменьшена на некоторый коэффициент, чтобы удовлетворить требованиям. 6.2.2. Номинирование. Можно безнадежно номинировать одни staking tokens на активный validator, давая им ответственность за выполнение обязанностей validator. Номинирование работ через систему одобрения-голосования. Каждый потенциальный номинатор может опубликовать инструкцию к контракту staking. выражающее одну или несколько validator личностей, под чьим именем ответственность, которую они готовы доверить своим обязательствам. На каждой сессии облигации номинаторов распределяются таким образом, чтобы представлены одним или несколькими validator. Алгоритм распределения оптимизирует набор из validator с эквивалентной суммой. облигации. Облигации номинаторов переходят под фактическую ответственность validator aи получить интерес или страдать наказание-смягчение соответственно. 6.2.3. Конфискация/сожжение облигаций. Определенное поведение validator приводит к штрафному сокращению их залога. Если облигация снижается ниже допустимого минимума, сеанс преждевременно завершился и начался другой. Неисчерпывающий список наказуемых validator проступков включает в себя: • Будучи частью группы парачейнов, неспособной предоставить консенсус относительно действительности блока парачейна; • активно подписываясь за действительность инвалида блок парачейна; • невозможность доставить исходящую полезную нагрузку ранее проголосовали как доступные; • бездействие во время процесса достижения консенсуса; • проверка блоков релейной цепи на конкурирующих вилках. Некоторые случаи неправомерного поведения угрожают целостности сети (например, подписание недействительных блоков парачейна и проверка нескольких сторон форка) и, как следствие, приводят к эффективному изгнанию за счет полного сокращения связи. В другие, менее серьезные случаи (например, бездействие в консенсусе процессе) или в случаях, когда вина не может быть точно распределена (будучи частью неэффективной группы), небольшая часть вместо этого может быть оштрафован на сумму залога. В последнем случае это хорошо работает с оттоком подгрупп, чтобы гарантировать, что вредоносные узлы несут значительно большие потери, чем сопутствующе поврежденные доброжелательные узлы. В некоторых случаях (например, проверка нескольких вилок и недействительный подписание субблока) validator сами не могут легко обнаружить неправомерное поведение друг друга, поскольку постоянная проверка каждого блока парачейна было бы слишком трудной задачей. Здесь необходимо заручиться поддержкой сторон, внешних по отношению к процесс проверки для проверки и сообщения о таком неправильном поведении. Стороны получают вознаграждение за сообщение о такой деятельности; их термин «рыбаки» проистекает из маловероятности такой награды. Поскольку эти случаи, как правило, очень серьезные, мы полагаем, что любые вознаграждения могут быть легко выплачены из конфискованной облигации. В целом мы предпочитаем балансировать горение (т.е. сведение на нет) с перераспределением, а не попытка массового перераспределения. Это имеет эффект
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 11 увеличивая общее значение token, компенсируя сети в целом, а не конкретной сторона, участвовавшая в открытии. Это в первую очередь в целях безопасности механизм: задействованные большие суммы могли бы привести к чрезвычайной и острой стимулировке поведения, если бы все они направлено на одну цель. В общем, важно, чтобы вознаграждение было достаточно большим, чтобы сделать верификацию полезной для сети, но не настолько большим, чтобы компенсировать затраты на противодействие хорошо финансируемый, хорошо организованный преступник «промышленного уровня» хакерская атака на какого-то неудачливого validator с целью заставить его вести себя неподобающе. Таким образом, требуемая сумма, как правило, не должна быть больше, чем прямая связь заблудшего validator, чтобы не возникают извращенные стимулы к плохому поведению и заявлению о награде. С этим можно бороться либо явно посредством минимального требования к прямым облигациям для того, чтобы быть validator или косвенно, объясняя номинаторам, что validator с небольшим количеством депонированных облигаций не имеют большого стимула вести себя хорошо. 6.3. Реестр Парачейна. Каждый парачейн определен в этот реестр. Это относительно простая конструкция, подобная базе данных, которая содержит как статическую, так и динамическую информацию. каждая цепочка. Статическая информация включает в себя индекс цепочки (простой целое число), а также идентификатор протокола проверки, средства различения разных классов парачейн, чтобы можно было использовать правильный алгоритм проверки. под руководством validators, призванных выдвинуть действительного кандидата. Первоначальная проверка концепции будет сосредоточена на размещении новые алгоритмы проверки в самих клиентах, что фактически требует хард-форка протокола каждый раз, когда добавлен дополнительный класс цепи. В конечном счете, однако, возможно, можно указать алгоритм проверки в одновременно строгий и достаточно эффективный способ, позволяющий клиентам способен эффективно работать с новыми парачейнами без хард-форк. Одним из возможных способов решения этой проблемы могло бы быть указание алгоритм проверки парачейна в хорошо зарекомендовавшей себя, скомпилированный в собственном коде, нейтральный к платформе язык, такой как WebAssembly. Необходимы дополнительные исследования, чтобы определить действительно ли это осуществимо, однако если это так, это может принести вместе с этим огромное преимущество в виде исключения хард-форков навсегда. Динамическая информация включает в себя аспекты системы маршрутизации транзакций, которые должны иметь глобальное соглашение, такие как в качестве входной очереди парачейна (описано в разделе 6.6). В реестр можно добавлять только парачейны. путем полного голосования на референдуме; этим можно было бы управлять внутри, но, скорее всего, будет размещен во внешнем контракт референдума, чтобы облегчить повторное использование в соответствии с более общие компоненты управления. Параметры для требования к голосованию (например, необходимый кворум, большинство требуется) для регистрации дополнительных цепочек и прочего, менее формальные обновления системы будут изложены в «основном конституции», но, скорее всего, будут следовать довольно традиционной путь, по крайней мере, на начальном этапе. Точная формулировка отсутствует. объем настоящей работы, но, например. квалифицированное большинство в две трети для принятия более одной трети всей системы положительное голосование по ставкам может быть разумной отправной точкой. Дополнительные операции включают подвешивание и удаление парацепей. Отстранение, надеюсь, никогда не произойдет случается, однако это призвано служить как минимум гарантией в системе проверки парачейна возникла какая-то неразрешимая проблема. Самый очевидный пример, когда это может быть необходимо критическое для консенсуса различие между реализациями, приводящее validator к неспособности прийти к согласию по действительность или блоки. Валидаторам будет предложено использовать несколько реализаций клиента, чтобы они могли чтобы обнаружить такую проблему до конфискации облигаций. Поскольку приостановка является экстренной мерой, это будет под эгидой динамического validator-голосования, а не чем референдум. Восстановление возможно как из validators или референдума. Полный отказ от парачейнов произойдет только после референдума и при котором потребуется существенный льготный период, позволяющий осуществить упорядоченный переход к либо создать отдельную сеть, либо стать частью какой-либо другой консенсус-система. Льготный период, скорее всего, будет длиться порядок месяцев и, вероятно, будет установлен для каждой цепочки в реестре парачейнов, чтобы разные парачейны могут пользоваться разными льготными периодами в зависимости от их потребность. 6.4. Пломбирование блоков реле. По сути, герметизация подразумевает к процессу канонизации; то есть базовые данные трансформировать которыйотображает оригинал в нечто принципиально уникальное и значимое. В цепочке PoW запечатывание фактически является синонимом добычи полезных ископаемых. В нашем случае он включает в себя сбор подписанных заявлений от validators о действительности, доступности и каноничности конкретный блок релейной цепи и блоки парачейна, которые оно представляет. Механика базового алгоритма консенсуса BFT выходит за рамки настоящей работы. Мы будем вместо этого опишите его, используя примитив, который предполагает государственная машина, создающая консенсус. В конечном итоге мы ожидаем вдохновиться рядом многообещающих BFT консенсусных алгоритмы в ядре; Тангаора [9] (вариант BFT Плот [16]), Tendermint [11] и HoneyBadgerBFT [14]. Алгоритму придется достичь соглашения по нескольким парачейнам параллельно, что отличается от обычного blockchain механизмы консенсуса. Мы предполагаем, что однажды консенсус достигнут, мы можем записать консенсус в неопровержимом доказательстве, которое может быть предоставлено любым из участников к нему. Мы также предполагаем, что неправильное поведение в рамках протокола можно вообще свести к небольшому группа, содержащая плохо себя ведущих участников, чтобы свести к минимуму сопутствующий ущерб при назначении наказания8. Доказательство, которое принимает форму наших подписанных утверждений, помещается в заголовок блока релейной цепи вместе. с некоторыми другими полями, в частности корнем дерева состояний релейной цепочки и корнем дерева транзакций.
уплотнение процесс берет место под а одинокий создание консенсуса механизм обращение оба тот блок релейной цепи и блоки парачейнов, которые составляют часть содержимого ретранслятора: парачейны не «фиксируются» по отдельности их подгруппами, а затем сопоставляются позже. Это приводит к более сложному процессу для релейной цепи, но позволяет нам завершить согласование всей системы за один этап, минимизируя задержку и позволяя для довольно сложных требований к доступности данных, которые полезно для процесса маршрутизации ниже. 8Существующие схемы консенсуса BFT на основе PoS, такие как Tendermint BFT и оригинальный Slasher, соответствуют этим утверждениям.
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 12 Состояние машины консенсуса каждого участника может моделироваться как простая (двумерная) таблица. Каждый участник (validator) имеет набор информации в виде подписанных заявлений («голосов») от других участников в отношении каждого кандидата на блок парачейна, а также кандидата на блок релейной цепи. Набор информации состоит из двух частей. данных: Наличие: есть это validator иметь выход информация о транзакции из этого блока, поэтому они могут правильно проверить кандидатов на парачейн в следующем блоке? Они могут голосовать либо 1 (известно), либо 0 (пока неизвестно). Как только они проголосовали 1, они обязуются проголосовать аналогичным образом за остальная часть этого процесса. Последующие голоса, которые не уважение это является основанием для наказания. Валидность: действителен ли блок парачейна и все ли данные с внешней ссылкой (например, транзакции) доступен? Это актуально только для validator, назначенных парачейну, в котором они голосуют. Они могут проголосовать 1 (действительно), -1 (недействительно) или 0. (пока не известно). Как только они проголосуют за ненулевое значение, они намерены голосовать таким образом до конца процесс. Последующие голоса, которые не соблюдают это являются основанием для наказания. Все validator должны проголосовать; голоса могут быть поданы повторно, если они соответствуют правилам, изложенным выше. Прогрессирование консенсус можно смоделировать как несколько стандартных BFT алгоритмов консенсуса в каждом парачейне, происходящих параллельно. Поскольку этому потенциально препятствует относительно небольшое меньшинство злоумышленников сосредоточено в единой группы парачейнов, существует общий консенсус в отношении установить ограничитель обратного хода, ограничивая худший сценарий от тупик всего лишь к одному или нескольким блокам пустотного парачейна (и наказание для виновных). Основные правила валидности отдельных блоков (которые позволяют всему набору validators в целом прийти к консенсус по поводу того, что он станет уникальным кандидатом на парачейн на которые можно ссылаться из канонического реле): • должно быть, чтобы не менее двух третей validator проголосовали положительно, и ни один из них не проголосовал бы отрицательно; • более трети validator должны проголосовать положительно за доступность информации об исходящей очереди. Если есть хотя бы один положительный и хотя бы один отрицательный голос о действительности, создается исключительное условие. и весь набор validators должен проголосовать, чтобы определить если есть злоумышленники или если произошел случайный вилка. Помимо действительных и недействительных, существует третий вид голосов. разрешены, что эквивалентно голосованию за обоих, а это означает, что узел имеет противоречивые мнения. Это может быть связано с владелец узла запускает несколько реализаций, которые не согласен, что указывает на возможную неясность протокола. После подсчета всех голосов из полного набора validator, если проигрышное мнение имеет, по крайней мере, незначительную долю (к быть параметризованными; максимум половина, а возможно и значительно меньше) голосов за выигравшее мнение, то предполагается, что будет случайным форком парачейна, и парачейн автоматически отключится от процесса консенсуса. В противном случае мы считаем, что это злонамеренное действие, и наказываем виновного. меньшинство, голосовавшее за особое мнение. Заключение представляет собой набор подписей, подтверждающих каноничность. Блок релейной цепи затем может быть опломбирован. и начался процесс запечатывания следующего блока. 6.5. Улучшения в герметизации блоков реле. Пока этот метод герметизации дает серьезные гарантии работы системы, он не особенно хорошо масштабируется поскольку ключевая информация каждого парачейна должна иметь свое доступность гарантирована более чем одной третью всех validator. Это означает, что ответственность каждого validator растет по мере добавления новых цепей. Хотя доступность данных в сетях открытого консенсуса по сути является нерешенной проблемой, существуют способы уменьшения накладных расходов, возникающих на узлах validator. Один простой решение состоит в том, чтобы осознать, что хотя validators должны взять на себя ответственность за доступность данных, им не нужно фактически хранить, передавать или тиражировать данные самостоятельно. Вторичные хранилища данных, возможно, связанные с (или даже с самой же) сопоставители, которые собирают эти данные, могут управлять задача гарантировать доступность, при этом validators предоставляют часть своих процентов/дохода в виде оплаты. Однако, хотя это и может обеспечить некоторую промежуточную масштабируемость, это все равно не решает основную проблему; с тех пор добавление большего количества цепочек, как правило, потребует дополнительных validator, текущее потребление сетевых ресурсов (особенно с точки зрения пропускной способности) растет с квадратом тотцепи, несостоятельная собственность в долгосрочной перспективе. В конце концов, мы, вероятно, продолжим ломать головы против фундаментального ограничения, которое гласит, что для консенсусную сеть, которую следует считать доступной и безопасной, текущие требования к полосе пропускания имеют порядок общего validators раз умножает общую входную информацию. Это связано с неспособность недоверенной сети правильно распределить задачу хранения данных по множеству узлов, которая сидит помимо в высшей степени распределяемой задачи обработки. 6.5.1. Представляем задержку. Один из способов смягчить это Правило состоит в том, чтобы ослабить понятие непосредственности. Требуя, чтобы 33%+1 validator голосовали за доступность только в конечном итоге, а не сразу, мы можем лучше использовать экспоненциальное распространение данных и помочь сгладить пики обмена данными. Разумное равенство (хотя и недоказанное) может быть: (1) задержка = участники × цепочки В рамках текущей модели размер системы масштабируется с количеством цепочек, чтобы гарантировать, что обработка распределенный; поскольку для каждой цепочки потребуется хотя бы один validator, и мы фиксируем константу подтверждения доступности доля validators, то участники аналогично растут с количеством цепей. В итоге мы имеем: (2) задержка = размер2 Это означает, что по мере роста системы требуемая полоса пропускания и задержка до момента доступности становятся известны по всей сети. сети, которую можно также охарактеризовать как количество блоков до завершения, увеличивается с увеличением его площади. Это существенный фактор роста и может оказаться заметным препятствием на пути и вынудить нас придерживаться «неплоских» парадигм например, объединение нескольких «Polkadotes» в иерархию для многоуровневой маршрутизации сообщений через дерево релейных цепочек.
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 13 6.5.2. Общественное участие. Еще одно возможное направление заключается в привлечении общественности к участию в этом процессе посредством система микрожалоб. Подобно рыбакам, здесь могут быть внешними сторонами, которые следят за validator, которые заявляют доступность. Их задача — найти того, кто не способен продемонстрировать такую доступность. При этом они может подать микрожалобу другим validator. PoW или заложенная облигация может быть использована для смягчения атаки Сивиллы что сделало бы систему практически бесполезной. 6.5.3. Гарантии наличия. Конечный путь будет заключаться в том, чтобы назначить второй набор связанных validators как «доступность» гаранты». Они будут связаны так же, как и обычные validator, и даже могут быть взяты из того же набора. (хотя в этом случае они будут выбираться на длительный период, по крайней мере, за сеанс). В отличие от обычных validator, они не будет переключаться между парачейнами, а скорее будет сформировать единую группу, чтобы подтвердить доступность всех важных межцепочных данных. Это имеет то преимущество, что ослабляет эквивалентность между участниками и цепочками. По сути, цепи могут расти (вместе с исходным набором цепочек validator), тогда как участники, и особенно те, кто принимает участие в тестировании доступности данных, могут оставаться, по крайней мере, сублинейными. и, вполне возможно, постоянный. 6.5.4. Настройки подборщика. Один важный аспект этого система заключается в том, чтобы обеспечить здоровый выбор колляторы, создающие блоки в любом парачейне. Если один коллатор доминировал над парачейном, а затем несколько атак становится более осуществимым, поскольку вероятность отсутствия доступность внешних данных будет менее очевидной. Одним из вариантов является искусственное взвешивание блоков парачейна в псевдослучайный механизм, позволяющий отдавать предпочтение широкому кругу алгоритмов сопоставления. В первом случае нам потребуется как часть механизма консенсуса, который поддерживают validators Кандидаты в блоки парачейна определены как «более тяжелые». Точно так же мы должны стимулировать validators попытаться предложите самый весомый блок, который они смогут найти — это может быть Это делается путем выплаты части вознаграждения пропорционально весу кандидата. Чтобы гарантировать, что подборщикам предоставляется разумная справедливая вероятность того, что их кандидат будет выбран победителем кандидата в консенсусе, мы определяем удельный вес Кандидат в блок парачейна определяется случайной функцией, связанной с каждым коллатором. Например, взяв мера расстояния XOR между адресом сопоставления и некоторое криптографически безопасное псевдослучайное число определяется вблизи точки создаваемого блока (условный «выигрышный билет»). Это фактически дает каждому сопоставитель (или, более конкретно, адрес каждого сопоставителя) случайный шанс того, что их блок-кандидат «победит» над все остальные. Чтобы смягчить атаку Сивиллы, когда один сопоставитель «майнит» адрес, близкий к выигрышному билету и, таким образом, если каждый блок является избранным, мы бы добавили некоторую инерцию к адресу сопоставления. Это может быть так же просто, как потребовать их иметь базовую сумму средств на адресе. Более элегантным подходом было бы взвешивание близости к выигрышный билет с указанием суммы средств, припаркованных на адрес, о котором идет речь. Хотя моделирование еще не завершено, вполне возможно, что этот механизм позволяет даже очень мелкие заинтересованные стороны могут внести свой вклад в качестве сопоставителя. 6.5.5. Блоки с избыточным весом. Если набор validator скомпрометирован, они могут создать и предложить блок, который, хотя и действительны, требует слишком много времени для выполнения и подтвердить. Это проблема, поскольку группа validator может разумно сформировать блок, на создание которого уходит очень много времени выполняться, если уже не известна какая-то конкретная часть информации, позволяющая сократить путь, например. факторинг крупного премьер. Если бы хоть один сопоставитель знал эту информацию, то у них будет явное преимущество в получении своего собственного кандидаты соглашались, пока остальные были заняты обработкой старого блока. Мы называем эти блоки избыточным весом. Защита от validators, отправляющих и проверяющих эти блоки, в основном подпадает под ту же самую защиту, что и для недействительные блоки, хотя и с дополнительной оговоркой: поскольку время, необходимое для выполнения блока (и, следовательно, его статус как избыточный вес) является субъективным, окончательный результат голосования по плохое поведение разделится по существу на три лагеря. Один возможно, что блок определенно не имеет лишнего веса — в этом случае более двух третей заявляют, что они могли бы выполнить блок в пределах некоторого ограничения (например, 50 % от общего времени, разрешенного между блоками). Другое заключается в том, что блок dопределенно избыточный вес — это было бы, если бы более две трети заявляют, что не смогли выполнить блок в пределах указанного лимита. Последняя возможность — это довольно равная раскол мнений между validators. В этом случае мы можем решите применить соразмерное наказание. Чтобы validator могли предсказать, когда они могут оказаться Предлагая блок с избыточным весом, возможно, было бы разумно потребовать от них публиковать информацию о своей производительности для каждого блока. За достаточный период времени это должно позволить им профилировать скорость обработки относительно сверстников, которые будут их судить. 6.5.6. Коллекторное страхование. Для validators осталась одна проблема: в отличие от сетей PoW, для проверки коллятора для проверки достоверности, они должны фактически выполнять транзакции в нем. Злоумышленники могут передавать недействительные или слишком тяжелые блоки validator, вызывая у них беспокойство (растрачивание блоков). свои ресурсы) и требует потенциально существенных альтернативных издержек. Чтобы смягчить это, мы предлагаем простую стратегию на часть validators. Во-первых, кандидаты на блок парачейна были отправлены до validators необходимо подписать из учетной записи цепочки ретрансляции с фондами; если это не так, то validator должен отпасть это немедленно. Во-вторых, такие кандидаты должны быть упорядочены по приоритету путем комбинации (например, умножения) количество средств на счете до определенного предела, количество предыдущих блоков, которые коллятор успешно предложил в прошлом (не говоря уже о любых предыдущих наказания), а также фактор близости к победителю. билет, как обсуждалось ранее. Шапка должна быть такой же в качестве штрафных санкций, выплаченных validator по делу из них отправляют недействительный блок. Чтобы не стимулировать подборщики отправлять недействительных или перегруженных кандидатов на блоки validator, любой validator может поместить в следующий блок транзакцию, включающую блок-нарушитель, в котором утверждается о неправомерном поведении, что приведет к переводу некоторых или всех средств из некорректно работающего коллатора отчет потерпевшему validator. Этот тип транзакций опережает все остальные, чтобы гарантировать, что сборщик не сможет снять средства до наказания. Сумма средства, перечисленные в качестве возмещения ущерба, пока являются динамическим параметром
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 14 подлежит моделированию, но, вероятно, будет составлять часть вознаграждения за блок validator, чтобы отразить уровень причиненного горя. Чтобы предотвратить произвольную конфискацию средств злоумышленниками validators, сборщик может взамен обжаловать решение validator присяжных, состоящих из случайно выбранных validators. для внесения небольшого депозита. Если они примут решение в пользу validator, депозит будет использован ими. Если нет, то депозит возвращается, а validator оштрафован (поскольку validator находится в гораздо более опасной позиции, штраф будет вероятно, будет довольно здоровенным). 6.6. Интерчейн Транзакция Маршрутизация. Интерчейн маршрутизация транзакций является одним из важнейших процессов обслуживания задачи релейной цепи и ее validators. Это логика, которая управляет тем, как опубликованная транзакция (часто сокращенно просто «публикация») становится желаемым результатом из одного исходного парачейна в непередаваемый вход другого целевого парачейна без какого-либо доверия требования. Мы тщательно подбираем приведенную выше формулировку; особенно мы не требуют, чтобы в источнике была транзакция parachain явно санкционировал этот пост. Единственный ограничения, которые мы налагаем на нашу модель, заключаются в том, что парачейны должны предоставить упакованные как часть общего блока выходные данные обработки, сообщения, являющиеся результатом выполнение блока. Эти сообщения структурированы как несколько очередей FIFO; тот количество списков называется базой маршрутизации и может быть около 16. Примечательно, что это число представляет собой количество парачейнов, которые мы можем поддерживать, не прибегая к многофазная маршрутизация. Первоначально Polkadot будет поддерживать это вид прямой маршрутизации, однако мы опишем один из возможных процесс многофазной маршрутизации («гипермаршрутизация») как средство масштабирования далеко за пределы первоначального набора парачейнов. Мы предположить что все участники знать тот подгруппы для следующих двух блоков n, n + 1. Таким образом, Система маршрутизации проходит следующие этапы: • CollatorS: свяжитесь с членами Валидаторов[n][S] • Сортировщики: ДЛЯ КАЖДОЙ подгруппы: убедитесь, что минимум 1 член валидаторов[n][s] в контакте • Сопоставители: ДЛЯ КАЖДОЙ подгруппы: предположить egress[n −1][s][S] доступен (все входящие сообщения данные в «S» из последнего блока) • Сопоставители: Составьте кандидата блока b для S: (b.header, b.ext, b.proof, b.ceipt, b.egress) • Сопоставители: Отправить доказательство информация доказательство[S] = (b.header, b.ext, b.proof, b.receipt) на Валидаторы[n][S] • CollatorS: обеспечение данных внешних транзакций b.ext. доступен другим подборщикам и validators • Сопоставители: ДЛЯ КАЖДЫЙ подгруппа с: Отправить выход информация выход[n][S][s] = (b.заголовок, b.квитанция, b.выход[ы]) чтобы тот получение подгруппы члены из следующий блокировать Валидаторы[n + 1][s] • ValidatorV: предварительно соедините все элементы одного набора. для следующего блока: пусть N = Chain[n + 1][V ]; подключить все validators v такие, что Chain[n + 1][v] = N • ВалидаторV: Сопоставить все поступающие данные для этого блок: ДЛЯ КАЖДЫЙ подгруппа с: Получить egress[n −1][s][Chain[n][V ]], получить от других validators v таких, что Chain[n][v] = Chain[n][V ]. Возможно, пройдя через случайно выбранных других validator для доказательства попытки. • ВалидаторV: Примите кандидатские доказательства для этого доказательство блока[Chain[n][V ]]. Действительность блокировки голосования • ВалидаторV: Принять выходные данные кандидата для следующий блок: ДЛЯ КАЖДОЙ подгруппы примите выход[n][s][N]. Возможность блокировки выхода при голосовании; переопубликовать среди заинтересованных validators v так, чтобы Цепочка[n + 1][v] = Цепочка[n + 1][V ]. • ВалидаторV: ДО СОГЛАСИЯ Где: egress[n][from][to] — текущая выходная очередь. информация для сообщений, идущих из парачейна «от», в парачейн «to» в блоке номер «n». CollatorS — это средство сортировки для парачейна S. Validators[n][s] — это набор validators для парачейна s в блоке номер n. И наоборот, Chain[n][v] — это парачейн, которому назначен validator v в блоке номер n. block.egress[to] — выход очередь сообщений из какого-то блока парачейна, чей пункт назначения парачейна. Поскольку коллаторы взимают комиссию (за транзакцию) на основе их блоки становятся каноническими, у них появляется стимул убедитесь, что для каждого пункта назначения следующего блока имя подгруппы участники информируются о выходной очереди из настоящего блок. Валидаторы заинтересованы только в формировании консенсуса по блоку (парачейна), поэтому их мало волнует какой блок сопоставления в конечном итоге становится каноническим. В В принципе, validator может заключить союз с сопоставителем и вступить в сговор с целью уменьшить шансы других сопоставителей блоки становятся каноническими, однако это сложно организовать из-за случайного выборадействие validators для парачейнов, и от них можно защититься за счет снижения комиссий, выплачиваемых за блоки парачейнов, которые выдерживают процесс консенсуса. 6.6.1. Доступность внешних данных. Обеспечение работоспособности парачейна внешние данные на самом деле доступны, это вечная проблема с децентрализованные системы, направленные на распределение рабочей нагрузки между сеть. В основе проблемы лежит доступность проблема, которая гласит, что, поскольку невозможно ни сделать неинтерактивное подтверждение доступности или какой-либо другой доказательства недоступности, чтобы система BFT правильно проверять любой переход, корректность которого зависит от наличие некоторых внешних данных, максимальное количество приемлемо византийских узлов плюс один системы должен подтвердить наличие данных. Для правильного масштабирования системы, например Polkadot, это возникает проблема: если постоянная доля validators должны подтвердить наличие данных и предполагая, что что validators действительно захотят сохранить данные до того, как они будут подтверждены, как нам избежать проблема увеличения требований к пропускной способности/хранилищу с увеличением размера системы (и, следовательно, количества validators)? Одним из возможных ответов было бы создание отдельного набора. из validators (гарантов доступности), чей заказ растет сублинейно с размером Polkadot в целом. Это описано в 6.5.3. У нас также есть второстепенный трюк. Как группа, у сопоставителей есть внутренний стимул гарантировать, что все данные доступны для выбранного ими парачейна, поскольку без него они не могут создавать дополнительные блоки, из которых они могут собирать комиссию за транзакцию. Коллаторы также образуют группу, членство в которой варьируется (из-за случайного характера группы parachain validator) нетривиален для входа и прост
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 15 доказать. Таким образом, недавним сопоставлениям (возможно, из последних нескольких тысяч блоков) разрешено ставить задачи доступность внешних данных для конкретного парачейна заблокируйте validators за небольшой залог. Валидаторы должны связаться с лицами из явно нарушившей подгруппы validator, которые дали показания, и либо получить и вернуть данные сопоставителю, либо передать ситуацию на более высокий уровень. дело, свидетельствуя об отсутствии доступности (прямой отказ предоставить данные считается правонарушением, связанным с конфискацией облигаций, поэтому неправомерное поведение validator, скорее всего, просто разорвать соединение) и связаться с дополнительными validators чтобы запустить тот же тест. В последнем случае залог коллатора возвращается. Как только будет достигнут кворум validator, которые могут дать такие свидетельства о недоступности, они будут освобождены. плохо себя ведущая подгруппа наказывается, и блокировка отменяется. 6.6.2. Маршрутизация сообщений. Каждый заголовок парачейна включает в себя выходной-три-корень; это корень дерева, содержащего контейнеры базы маршрутизации, каждый контейнер представляет собой объединенный список выходных постов. Доказательства Меркла могут быть предоставлены через parachain validators, чтобы доказать, что конкретный парачейн у блока была определенная выходная очередь для определенного парачейна назначения. В начале обработки блока парачейна каждый выходная очередь другого парачейна, привязанная к указанному блоку, равна объединены во входную очередь нашего блока. Мы предполагаем сильными, вероятно, CSPR9, подблок, предназначенный для достижения детерминированной операции, которая не предполагает фаворитизма между какими-либо Спаривание блоков парачейна. Колляторы рассчитывают новую очередь и опустошить выходные очереди в соответствии с параметрами парачейна логика. Содержимое входной очереди записывается явно в блок парачейна. Это преследует две основные цели: во-первых, это означает, что парачейн можно без доверия синхронизировать изолированно от других парачейнов. Во-вторых, это упрощает логистику данных, если весь входной очередь не может быть обработана в одном блоке; validators и средства сортировки могут обрабатывать следующие блоки без необходимости специально получать данные очереди. Если входная очередь парачейна превышает пороговое значение сумма в конце обработки блока, затем она отмечается насыщена в релейной цепи, и никакие дальнейшие сообщения не могут быть быть доставлено ему до тех пор, пока оно не будет очищено. Доказательства Меркла используется для демонстрации точности работы сортировщика в Доказательство блока парачейна. 6.6.3. Критика. Один незначительный недостаток, связанный с этим основным механизмом является атака после взрыва. Здесь все парачейны отправляют максимально возможное количество постов к конкретному парачейну. Хотя это связывает цель входная очередь сразу, никакой ущерб не наносится сверх стандартная транзакционная DoS-атака. Работает нормально, с набором хорошо синхронизированных и незлонамеренные алгоритмы сортировки и validators для N парачейнов, Всего N × M validators и L колляторов на парачейн, мы может разбить общее количество путей передачи данных на блок на: Валидатор: M −1+L+L: M −1 для остальных validators в наборе парачейнов L для каждого сопоставления, предоставляющего блок-кандидат парачейна, и второй L для каждого сопоставления. следующего блока, требующего исходящих полезных данных предыдущего блока. (Последнее на самом деле больше похоже на худший случай. операции, поскольку вполне вероятно, что подборщики будут использовать такие данные.) Сборщик: M +kN: M для подключения к каждому соответствующему блок парачейна validator, кН для распределения исходящих полезных данных в некоторое подмножество каждой группы парачейна validator для следующий блок (и, возможно, какой-нибудь предпочтительный сопоставитель(и)). Таким образом, пути передачи данных на узел растут линейно. с общей сложностью системы. Хотя это разумно, поскольку система масштабируется до сотен или тысяч парачейнов, некоторая задержка связи может быть поглощены в обмен на более низкие темпы роста сложности. В этом случае может быть использован алгоритм многофазной маршрутизации. чтобы уменьшить количество мгновенных путей ценой введения буферов хранения и задержки. 6.6.4. Маршрутизация гиперкуба. Маршрутизация гиперкуба — это механизм, который в большинстве случаев можно построить как расширение базовый механизм маршрутизации, описанный выше. По сути, вместо того, чтобы увеличивать связность узлов с увеличением количества парачейнов и узлов подгрупп, мы растем только с логарифм парацепей. Сообщения могут перемещаться между очереди нескольких парачейнов на пути к окончательной доставке. Сама маршрутизация детерминирована и проста. Мы начинаем с ограничение количества ячеек во входных/выходных очередях; а не общее количество парачейнов, они являютсябаза маршрутизации (b) . Это будет зафиксировано как число изменений парачейнов, при этом показатель маршрутизации (e) вместо этого увеличивается. Согласно этой модели, объем нашего сообщения растет с ростом O(be), при этом пути остаются постоянными и задержка (или количество блоков, необходимых для доставки) с О(е). Наша модель маршрутизации представляет собой гиперкуб размером e, причем каждая сторона куба имеет b возможных мест. В каждом блоке мы маршрутизируем сообщения по одной оси. Мы чередуйте оси по кругу, гарантируя таким образом время доставки блоков e в наихудшем случае. В рамках обработки парачейна иностранные Сообщения, обнаруженные во входящей очереди, немедленно направляются в соответствующий контейнер исходящей очереди, учитывая текущий номер блока (и, следовательно, размер маршрутизации). Это процесс требует дополнительной передачи данных для каждого перехода на пути доставки, однако это само по себе проблема которые можно смягчить, используя некоторые альтернативные средства доставки полезной нагрузки данных и включая только ссылку, а не полную полезную нагрузку сообщения в post-trie. Пример такой маршрутизации гиперкуба для системы с 4 парачейнами b = 2 и e = 2 могут быть: Фаза 0, для каждого сообщения M: • sub0: если Mdest ∈{2, 3}, то sendTo(2), иначе сохраните • sub1: если Mdest ∈{2, 3}, то sendTo(3), иначе сохраните • sub2: если Mdest ∈{0, 1}, то sendTo(0), иначе сохраните • sub3: если Mdest ∈{0, 1}, то sendTo(1), иначе сохраните Фаза 1, по каждому сообщению M: • sub0: если Mdest ∈{1, 3}, то sendTo(1), иначе сохраните • sub1: если Mdest ∈{0, 2}, то sendTo(0), иначе сохраните • sub2: если Mdest ∈{1, 3}, то sendTo(3), иначе сохраните • sub3: если Mdest ∈{0, 2}, то sendTo(2), иначе сохраните Два измерения здесь легко увидеть как первое. два бита индекса назначения; для первого блока, используется только бит более высокого порядка. Второй блок занимается с младшим битом. Как только произойдет то и другое (в произвольном order), тогда сообщение будет перенаправлено. 9криптографически безопасный псевдослучайный
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 16 6.6.5. Максимизация случайности. Одно изменение основного предложение будет иметь фиксированную сумму c2 −c validators, при этом c-1 validators в каждой подгруппе. Каждый блок, а не происходит неструктурированное перераспределение validators среди парачейнов, вместо этого для каждой подгруппы парачейнов, каждый validator будет присвоен уникальному и различному подгруппу парачейна в следующем блоке. Это бы приводят к инварианту, что между любыми двумя блоками, для любого двух пар парачейна, существует два validator, которые поменялись обязанностями в сфере парачейна. Хотя это не может быть использовано для получения абсолютных гарантий доступности. (одиночный validator иногда будет отключен от сети, даже если доброжелательный), он, тем не менее, может оптимизировать общий случай. Этот подход не лишен осложнений. Добавление парачейна также потребует реорганизации. из набора validator. Кроме того, количество validator, привязанное к квадрату количества парацепей, сначала будет очень маленьким, а в конечном итоге вырастет далеко слишком быстро и становится несостоятельным примерно после 50 парачейнов. Ни одна из этих проблем не является фундаментальной. В первом случае реорганизация наборов validator - это то, что должно быть в любом случае делается регулярно. Что касается размера validator установлено, если слишком мало, можно назначить несколько validators к тому же парачейну, применяя целочисленный коэффициент к общее количество validatorс. Механизм многофазной маршрутизации, такой как маршрутизация гиперкуба, рассмотренный в разделе 6.6.4, будет смягчить требования к большому количеству validators когда имеется большое количество цепочек. 6.7. Проверка парачейна. Основное назначение validator как актер с хорошими связями засвидетельствовать, что парачейн блок действителен, включая, помимо прочего, любой переход состояния, любые включенные внешние транзакции, выполнение любые ожидающие посты во входной очереди и конечное состояние выходной очереди. Сам процесс довольно прост. Как только validator запечатает предыдущий блок, они становятся свободными. начать работу по предоставлению кандидата на блок парачейна кандидат на следующий раунд консенсуса. Первоначально validator находит кандидата на блок парачейна через механизм сортировки парачейна (описанный далее) или один его со-validators. Данные кандидата на блок парачейна включает заголовок блока, заголовок предыдущего блока, любые включенные внешние входные данные (для Ethereum и Bitcoin такие данные будут называться транзакциями, однако в принципе они могут включать произвольные структуры данных для произвольных целей), данные выходной очереди и внутренние данные для подтверждения достоверности перехода состояния (для Ethereum это будут различные узлы дерева состояния/хранилища, необходимые для выполнения каждой транзакции). Экспериментальные данные показывают этот полный набор данных для недавнего блока Ethereum. быть самое большее несколько сотен КиБ. Одновременно, если это еще не сделано, validator будет попытка получить информацию, относящуюся к переходу предыдущего блока, первоначально из предыдущего блока validators и позже от всех validators, подписавших контракт доступность данных. Как только validator получит такой блок-кандидат, затем они проверяют его локально. Процесс проверки содержится в модуле validator класса парачейн, чувствительный к консенсусу программный модуль, который необходимо написать для любой реализации Polkadot (хотя в принципе библиотека с C ABI может позволить одной библиотеке распределяться между реализациями с соответствующими снижение безопасности из-за наличия только одной «эталонной» реализации). Процесс берет заголовок предыдущего блока и проверяет его идентичность через недавно согласованную цепочку ретрансляции. блок, в котором должен быть записан его hash. Как только достоверность родительского заголовка установлена, конкретный парачейн может быть вызвана функция проверки класса. Это одна функция, принимающая несколько полей данных (примерно приведенные ранее) и возвращая простое логическое значение провозглашая валидность блока. Большинство таких функций проверки сначала проверяют поля заголовков, которые могут быть получены непосредственно из родительский блок (например, родительский hash, номер). Следование при этом они будут заполнять любые внутренние структуры данных как необходимо для обработки транзакций и/или сообщений. Для цепочки типа Ethereum это равносильно заполнению база данных trie с узлами, которые понадобятся для полное исполнение сделок. Другие типы цепей могут иметь другое препаративные механизмы. После этого входящие сообщения и внешние транзакции (или что бы то ни было, что представляют собой внешние данные) будут приняты, сбалансированы в соответствии со спецификацией сети. (А разумным по умолчанию может быть требование, чтобы все входящие сообщения были обрабатываются до обслуживания внешних транзакций, однако это должна решать логика парачейна.) Благодаря этому постановлению, ряд выходных постов будет созданы, и будет проверено, что они действительно соответствуют кандидат сборщика. Наконец, правильно заполненный заголовок будет сверяться с заголовком кандидата. При полностью проверенном блоке-кандидате validator затем может проголосовать за hash своего заголовка и отправить всю необходимую информацию для проверки со-validator в своей подгруппе. 6.7.1. Коллекторы парачейна. Коллаторы парачейна — это несвязанные операторы, которые выполняют большую часть задач майнеров. в современных сетях blockchain. Они специфичны к конкретному парачейну. Для того чтобы действовать, они должны поддерживать как релейную цепь, так и полностью синхронизированную парачейн. Точное значение слова «полная синхронизация» будет зависеть от класса парачейна, но всегда будет включать текущее состояние входной очереди парачейна. В случае Ethereum это также предполагает как минимум поддержание базу данных дерева Меркла последних нескольких блоков, но может также включает в себя различные другие структуры данных, включая Bloom фильтры для существования учетной записи, семейной информации, регистрации выходные данные и таблицы обратного поиска для номера блока. Помимо синхронизации двух цепочек, это также должен «ловить» транзакции, поддерживая очередь транзакций и принимая должным образом проверенные транзакции. из общедоступной сети. С очередью и цепочкой это способен создавать новые блоки-кандидаты для validator, выбранных в каждом блоке (чья личность известна, поскольку релейная цепь синхронизирована), и отправлять их вместе с различную вспомогательную информацию, такую как подтверждение действительности, через одноранговая сеть. К сожалению, он собирает все комиссии, связанные с включенными в него транзакциями. Вокруг этого вращаются различные экономические теории. аранжировка. На высококонкурентном рынке, где является излишек колляторов, возможно, что транзакция сборы будут разделены с парачейном validators для стимулирования включение определенного блока подборщика. Сходным образом,
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 17 некоторые подборщики могут даже поднять необходимые сборы, которые требуют платить, чтобы сделать блок более привлекательным для validatorс. В этом случае должен образоваться естественный рынок. с транзакциями с более высокой комиссией без очереди и имеющих более быстрое включение в цепочку. 6.8. Сеть. Сеть на традиционных blockchains например Ethereum и Bitcoin, имеют довольно простые требования. Все транзакции и блоки передаются в виде простой ненаправленной сплетни. Синхронизация более сложна, особенно с Ethereum, но на самом деле эта логика содержалась в одноранговая стратегия, а не сам протокол, который разрешается вокруг нескольких типов сообщений запроса и ответа. В то время как Ethereum добился прогресса в текущих предложениях протоколов с помощью протокола devp2p, который позволил многим подпротоколы, которые должны быть мультиплексированы по одному одноранговому соединению и, таким образом, иметь одно и то же наложение одноранговых узлов, поддерживают множество p2p-протоколов одновременно, часть Ethereum протокол по-прежнему оставался относительно простым, а p2p Протокол какое-то время остается незавершенным с важными отсутствуют функциональные возможности, такие как поддержка QoS. К сожалению, желание создать более распространенный протокол «web 3» во многом провалился, и единственные проекты, использующие его, были явно финансируется за счет краудсейла Ethereum. Требования к Polkadot гораздо более существенные. Вместо полностью однородной сети Polkadot имеет несколько типов участников, каждый из которых имеет разные требования к составу своих коллег и несколько сетевых «проспекты», участники которых будут склонны обсуждать конкретные данные. Это означает существенно более структурированное сетевое наложение — и протокол, поддерживающий это — скорее всего, будет необходимо. Кроме того, возможность расширения для облегчения будущих дополнений, таких как новые виды «цепочек», может сами по себе требуют новой структуры наложения. В то время как углубленное обсуждение того, как сеть Протокол может выглядеть выходит за рамки данного документа, поэтому некоторый анализ требований является разумным. Мы можем грубо разобьем участников нашей сети на две группы (релейная цепь, парачейны) каждое из трёх подмножеств. Мы можем также заявляют, что каждый из участников парачейна является только заинтересованы в общении между собой, а не участники других парачейнов: • Участники релейной цепи: • Валидаторы: P, разбить на подмножества P[s] для каждого парачейн • Гаранты доступности: A (могут быть представлены валидаторами в базовой форме протокола). • Клиенты релейной цепи: M (обратите внимание на членов каждого набор парачейнов также будет иметь тенденцию быть членами M) • Участники парачейна: • Сопоставители парачейна: C[0], C[1], . . . • Рыбаки-парачейны: F[0], F[1], . . . • Клиенты Парачейна: S[0], S[1], . . . • Легкие клиенты Parachain: L[0], L[1], . . . Обычно мы называем отдельные классы общения будет иметь место между членами этих наборов: • П | А <-> П | А:
полный набор из validators/гаранты должен быть хорошие связи чтобы достичь консенсуса. • P[s] <-> C[s] | P[s]: Каждый validator как член определенной группы парачейна будет склонен сплетничать. с другими такими участниками, а также сопоставителями этого парачейна, чтобы находить и делиться кандидатами на блоки. • A <-> P[s] | С | A: Каждый гарант доступности необходимо будет собрать чувствительные к консенсусу межсетевые данные из назначенных ему validators; подборщики может также оптимизировать вероятность достижения консенсуса по их заблокировать, объявив его гарантам доступности. Как только они будут получены, данные будут переданы другого такого гаранта для содействия достижению консенсуса. • P[s] <-> A | P[s']: Парачейн validators будет необходимо собрать дополнительные входные данные из предыдущего набора validator или гарантов доступности. • F[s] <-> P: При репортаже рыбаки могут размещать претензия к любому участнику. • М <-> М | П | A: Обычные клиенты ретрансляционной цепочки передают данные от validator и гарантов. • S[s] <-> S[s] | П[ы] | О: Клиенты Parachain передают данные от validator/гарантов. • L[s] <-> L[s] | S[s]: легкие клиенты Parachain выдавать данные от полных клиентов. Для обеспечения эффективного транспортного механизма используется «плоский» оверлейная сеть, например devp2p Ethereum, где каждый узел не (непроизвольно) дифференцирует пригодность своего сверстники вряд ли подойдут. Достаточно расширяемый механизм выбора и обнаружения одноранговых узлов, вероятно, потребует быть включенным в протокол, а также агрессивные планирование прогноза, чтобы обеспечить правильный тип пиров «по счастливой случайности» связаныпоступил в нужное время. Точная стратегия формирования равных будет разной для каждого класса участников: для правильно масштабированного мультичейн, подборщики должны либо работать постоянно, повторное подключение к соответствующим образом избранным validator, или будет нужны действующие соглашения с подмножеством validators чтобы гарантировать, что они не будут отключены в течение большей части времени, когда они бесполезны для этого validator. Сопоставители также, естественно, будут пытаться поддерживать один или более стабильные соединения с гарантом доступности призваны обеспечить быстрое распространение своих чувствительных к консенсусу данные. Гаранты доступности в основном будут стремиться поддерживать стабильное соединение друг с другом и с validators (для консенсуса и критически важных для консенсуса данных парачейна, к которым они подтверждают), а также некоторым коллаторам (для парачейна данные) и некоторые рыбаки и полные клиенты (для разгона информация). Валидаторы будут склонны искать другие validator, особенно находящиеся в той же подгруппе и любых сборщики, которые могут предоставить им кандидатов на блок парачейна. Рыбаки, а также общие реле-цепи и парацепи клиенты обычно стремятся сохранить соединение открытым для validator или гарант, но множество других подобных узлов себе иначе. Легкие клиенты парачейна также будут стремиться подключиться к полноценному клиенту парачейна. если не просто другие легкие клиенты парачейна. 6.8.1. Проблема оттока коллег. В предложении базового протокола каждое из этих подмножеств постоянно случайным образом меняется с каждым блоком, поскольку validator назначены для проверки. переходы парацепи выбираются случайным образом. Это может быть проблемой, если разрозненные (неодноранговые) узлы должны передавать данные между собой. Нужно либо полагаться на достаточно распределенная и хорошо связанная одноранговая сеть для
POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 18 убедитесь, что расстояние перехода (и, следовательно, задержка в худшем случае) увеличивается только с логарифмом размера сети (здесь может помочь протокол типа Kademlia [13]), или необходимо ввести более длительное время блокировки, чтобы обеспечить необходимое согласование соединения и сохранить набор одноранговых узлов, который отражает текущие коммуникационные потребности узла. Ни одно из этих решений не является отличным решением: длительное время блокировки. принудительное использование сети может сделать ее бесполезной для конкретные приложения и цепочки. Даже совершенно справедливый и подключенной сети приведет к значительным потерям пропускной способности по мере ее масштабирования из-за незаинтересованных узлов, имеющих пересылать бесполезные для них данные. Хотя оба направления могут стать частью решения, разумная оптимизация, помогающая минимизировать задержку, могла бы должно ограничить волатильность этих парачейнов validator наборов, либо переназначая членство только между сериями блоков (например, в группах по 15, что с интервалом в 4 секунды время блокировки будет означать изменение соединений только один раз в минуту) или путем постепенной ротации участников, например меняется по одному члену за раз (например, если есть каждому парачейну назначено 15 validator, то в среднем между совершенно уникальными наборы). Ограничивая количество оттока одноранговых узлов и гарантируя, что выгодные одноранговые соединения устанавливаются хорошо в продвигаться вперед благодаря частичной предсказуемости парачейна наборы, мы можем помочь обеспечить, чтобы каждый узел постоянно сохранял случайный выбор сверстников. 6.8.2. Путь к эффективному сетевому протоколу. Вероятно наиболее эффективные и разумные усилия по разработке будут сосредоточены на использовании уже существующего протокола, а не на его постоянном обновлении. наш собственный. Существует несколько одноранговых базовых протоколов, которые мы можем использовать или дополнять собственный devp2p Ethereum. [22], libp2p [1] IPFS и GNUnet [4] GNU. Полный обзор этих протоколов и их значимости для построения модульная одноранговая сеть, поддерживающая определенные структурные гарантии, динамическое управление одноранговыми узлами и расширяемые подпротоколы выходит далеко за рамки этого документа, но будет важный шаг в реализации Polkadot. 7. Практические аспекты Протокола 7.1. Оплата межсетевых транзакций. Хотя отличный количество свободы и простоты достигается за счет отказа от необходимости в целостной системе учета вычислительных ресурсов, такой как газ Ethereum, это поднимает важный вопрос: как без газа может работать один парачейн избежать того, чтобы другой парачейн заставил его выполнять вычисления? Хотя мы можем полагаться на входную очередь после транзакции буферы, чтобы предотвратить рассылку спама из одной цепочки в другую данных транзакции, в протоколе не существует эквивалентного механизма для предотвращения спама при обработке транзакций. Это проблема, оставленная на более высоком уровне. Поскольку цепи вольны придавать произвольную семантику входящему данные после транзакции, мы можем гарантировать, что вычисление должны быть оплачены до начала работы. В том же духе, что и модель, поддерживаемая Ethereum Безмятежность, которую мы можем себе представить контракт на «взлом» внутри парачейна, который позволяет validator будет гарантирована оплата в обмен на предоставление определенного объема перерабатывающих ресурсов. Эти ресурсы могут измеряться чем-то вроде газа, но это также может быть какая-то совершенно новая модель, такая как субъективное время выполнения или модель фиксированной оплаты, подобная Bitcoin. Само по себе это не так уж полезно, поскольку мы не можем с готовностью предположить, что вызывающая сторона, находящаяся вне сети, имеет доступ к какой бы механизм стоимости ни был распознан взломом контракт. Однако мы можем представить себе вторичный «прорывной» контракт в исходной цепочке. Два контракта вместе образуют мост, признавая друг друга и обеспечение эквивалентности стоимости. (Стейкинг-tokens, доступен каждый из них может быть использован для урегулирования платежного баланса.) Вызов другой такой цепочки будет означать проксирование через этот мост, который обеспечит средства переговоры о передаче стоимости между цепочками с целью оплатить вычислительные ресурсы, необходимые в целевом парачейне. 7.2. Дополнительно Цепи. Пока тот дополнение из а парачейн — относительно дешевая операция, она не бесплатна. Больше парачейнов означает меньше validators на парачейн и, в конечном итоге, большее количество validators, каждый с снижение средней облигации. Хотя проблема меньшей стоимости принуждения для атаки на парачейн смягчается за счет рыбаков, растущая группа validator по существу вынуждает более высокая степень задержки из-за механики основного консенсусаметод. Кроме того, каждый парачейн приносит с собой потенциальную возможность гореть validators с слишком обременительный алгоритм проверки. Таким образом, будет некоторая «цена», которую validators и/или заинтересованное сообщество будет извлекать для добавление нового парачейна. Этот рынок для сетей будет возможно, увидите добавление либо: • Цепочки, которые, скорее всего, не будут платить нулевой чистый взнос (с точки зрения блокировки или сжигания staking tokens), которые должны стать частью (например, цепочки консорциумов, Doge-chains, цепочки для конкретных приложений); • цепочки, которые приносят внутреннюю ценность сети путем добавления определенной функциональности сложно добиться чего-то еще (например, конфиденциальность, внутренняя масштабируемость, привязка к услугам). По сути, сообщество заинтересованных сторон должно будет быть заинтересованы в добавлении дочерних цепочек — либо финансово, либо из-за желания добавить в реле функциональные цепи. Предполагается, что добавление новых сетей будет иметь очень короткий период уведомления об удалении, что позволяет новым цепям можно экспериментировать без какого-либо риска компрометации среднесрочное или долгосрочное ценностное предложение. 8. Заключение Мы наметили направление, по которому можно пойти, чтобы создать масштабируемый, гетерогенный многоцепочный протокол с потенциалом обратной совместимости с определенными, уже существующими blockchain сетей. По такому протоколу участники работать в просвещенных собственных интересах, чтобы создать общую систему, которая может быть расширена исключительно бесплатно и без типичных затрат для существующих пользователей, которые исходит из стандартного дизайна blockchain. Мы дали приблизительный набросок архитектуры, которая потребуется, включая характер участников, их экономические стимулы и процессы, в рамках которых они должны участвовать. У нас есть определили базовую конструкцию и обсудили ее сильные стороны и ограничения; соответственно, у нас есть дальнейшие направления, которые может ослабить эти ограничения и проложить путь к полностью масштабируемому решению blockchain.POLKADOT: ВИДЕНИЕ ГЕТЕРОГЕННОЙ МНОГОЦЕПНОЙ СТРУКТУРЫ ПРОЕКТ 1 19 8.1. Недостающий материал и открытые вопросы. Разветвление сети всегда возможно из-за различных реализаций протокола. Восстановление после такого исключительное состояние не обсуждалось. Учитывая, что сеть обязательно будет иметь ненулевой период завершения, восстановление после разветвления релейной цепи не должно представлять собой большой проблемы, однако потребует тщательной интеграции в протокол консенсуса. Конфискация облигаций и, наоборот, предоставление вознаграждения не были глубоко исследованы. В настоящее время мы принимаем вознаграждения предоставляются по принципу «победитель получает все»: это может не предложить лучшую модель стимулирования рыбаков. Кратковременный процесс раскрытия информации позволил бы многим рыбакам претендовать на приз, обеспечивающий более справедливое распределение вознаграждений, однако этот процесс может привести к дополнительной задержке в обнаружение неправомерного поведения. 8.2. Благодарности. Большое спасибо всем корректоры, которые помогли донести это до смутного презентабельная форма. В частности, Петер Чабан, Бьёрн Вагнер, Кен Капплер, Роберт Хабермайер, Виталик Бутерин, Рето Тринклер и Джек Петерссон. Спасибо всем люди, которые внесли идеи или начинания в связи с этим особого упоминания заслуживают Марек Котевич и Аэрон Бьюкенен. И спасибо всем остальным за помощь по пути. Все ошибки мои собственные. Части этой работы, включая первоначальные исследования алгоритмов консенсуса, частично финансировался Великобританией. Правительство в рамках программы Innovate UK.