Polkadot: رؤية لإطار متعدد السلاسل غير متجانس
Аннотация
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
خلاصة
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 د. جافين وود مؤسس الإيثيريوم والتكافؤ جافين@PARITY.IO مجردة. تعاني جميع بنيات blockchain الحالية من عدد من المشكلات ليس أقلها الوسائل العملية لقابلية التوسعة وقابلية التوسع. ونعتقد أن هذا ينبع من ربط جزأين مهمين للغاية في بنية الإجماع، وهما الشرعية والصلاحية، قريبان جدًا من بعضهما البعض. تقدم هذه الورقة بنية، السلاسل المتعددة غير المتجانسة، الذي يميز بين الاثنين بشكل أساسي. في تقسيم هذين الجزأين، ومن خلال الحفاظ على الوظائف العامة المقدمة إلى الحد الأدنى المطلق فيما يتعلق بالأمن والنقل، فإننا نقدم وسائل عملية للتوسعة الأساسية في الموقع. تتم معالجة قابلية التوسع من خلال نهج فرق تسد في هاتين الوظيفتين، والخروج من جوهره المستعبد من خلال تحفيز العقد العامة غير الموثوق بها. إن الطبيعة غير المتجانسة لهذه البنية تمكن العديد من الأنواع المتباينة للغاية من أنظمة الإجماع التي تتفاعل في "اتحاد" غير موثوق به ولامركزي بالكامل، مما يسمح للشبكات المفتوحة والمغلقة بالوصول دون ثقة إلى بعضها البعض. لقد طرحنا وسيلة لتوفير التوافق العكسي مع واحدة أو أكثر من الشبكات الموجودة مسبقًا مثل Ethereum. ونحن نعتقد أن مثل هذا النظام يوفر مكونًا مفيدًا على المستوى الأساسي في البحث الشامل عن عملية نظام قابل للتنفيذ قادر على تحقيق مستويات التجارة العالمية من قابلية التوسع والخصوصية. 1. المقدمة يهدف هذا إلى أن يكون ملخص "رؤية" فنية لاتجاه واحد محتمل يمكن اتخاذه في مواصلة تطوير نموذج blockchain مع بعض الأسباب المنطقية لسبب كون هذا الاتجاه معقولًا. انها تضع في أكبر قدر ممكن من التفاصيل في هذه المرحلة من التطوير النظام الذي قد يعطي تحسنا ملموسا على أ عدد جوانب تقنية blockchain. وليس المقصود أن تكون مواصفات رسمية أو غير ذلك. وليس المقصود أن تكون شاملة ولا أن تكون التصميم النهائي. وليس المقصود منه تغطية الجوانب غير الأساسية للإطار مثل واجهات برمجة التطبيقات والارتباطات واللغات و الاستخدام. هذا تجريبي بشكل خاص. حيث المعلمات محددة، فمن المرجح أن تتغير. الآليات سوف تتم إضافتها وصقلها وإزالتها استجابة للمجتمع الأفكار والانتقادات. من المحتمل أن تكون أجزاء كبيرة من هذه الورقة يمكن تنقيحها كأدلة تجريبية ونماذج أولية لنا معلومات حول ما سيعمل وما لا. تتضمن هذه الوثيقة وصفًا أساسيًا للبروتوكول بالإضافة إلى أفكار حول التوجيهات التي يمكن اتخاذها لتحسين الجوانب المختلفة. ومن المتصور أن الأساسية سيتم استخدام الوصف كنقطة بداية للبداية سلسلة من البراهين على المفهوم. سيكون "الإصدار 1.0" النهائي استنادًا إلى هذا البروتوكول المكرر جنبًا إلى جنب مع الأفكار الإضافية التي تم إثباتها وعقد العزم على تحقيقها اللازمة حتى يصل المشروع إلى أهدافه. 1.1. تاريخ. • 10/09/2016: 0.1.0-proof1 • 20/10/2016: 0.1.0-proof2 • 11/01/2016: 0.1.0-proof3 • 10/11/2016: 0.1.0 2. مقدمة لقد أظهرت Blockchains وعدًا كبيرًا بالفائدة في العديد من المجالات بما في ذلك "إنترنت الأشياء" (إنترنت الأشياء)، والتمويل، والحوكمة، وإدارة الهوية، ولامركزية الويب، وتتبع الأصول. ومع ذلك، على الرغم من الوعد التكنولوجي والحديث الكبير، لم نر بعد نشر كبير في العالم الحقيقي للتكنولوجيا الحالية. ونحن نعتقد أن هذا يرجع إلى خمسة إخفاقات رئيسية في الوقت الحاضر مكدسات التكنولوجيا: قابلية التوسع: مقدار الموارد التي يتم إنفاقها على مستوى العالم حول المعالجة وعرض النطاق الترددي والتخزين للنظام لمعالجة معاملة واحدة وكم عددها يمكن معالجة المعاملات بشكل معقول بموجب ظروف الذروة؟ قابلية العزلة: يمكن أن تكون الاحتياجات المتباينة متعددة هل تتم معالجة الأطراف والطلبات بدرجة قريبة من المستوى الأمثل ضمن نفس الإطار؟ قابلية التطوير: ما مدى جودة عمل الأدوات؟ افعل هل تلبي واجهات برمجة التطبيقات احتياجات المطورين؟ هل المواد التعليمية متوفرة؟ هل التكامل الصحيح موجود؟ الحوكمة: هل يمكن أن تظل الشبكة مرنة؟ تتطور وتتكيف مع مرور الوقت؟ هل يمكن أن تكون القرارات مصنوعة بالشمولية والشرعية الكافية الشفافية لتوفير القيادة الفعالة ل النظام اللامركزي؟ قابلية التطبيق: هل تعالج التكنولوجيا بالفعل حاجة ملحة من تلقاء نفسها؟ هل هناك حاجة إلى "برامج وسيطة" أخرى من أجل سد الفجوة التطبيقات الفعلية؟ في العمل الحالي، ونحن نهدف إلى معالجة الأولين القضايا: قابلية التوسع والعزلة. وقيل: نحن نؤمن يمكن لإطار عمل Polkadot أن يوفر تحسينات ذات معنى في كل فئة من هذه الفئات من المشاكل. تطبيقات blockchain الحديثة والفعالة مثل يمكن لعميل التكافؤ Ethereum [17] إجراء العمليةيس ما يزيد على 3000 معاملة في الثانية عند التشغيل على أجهزة استهلاكية عالية الأداء. ومع ذلك، العالم الحقيقي الحالي تقتصر شبكات blockchain عمليًا على حوالي 30 شبكة المعاملات في الثانية الواحدة. ينشأ هذا القيد أساسًا من حقيقة أن آليات الإجماع المتزامن الحالية تتطلب هوامش توقيت واسعة من الأمان وقت المعالجة المتوقع، والذي يتفاقم بسبب 1
Введение
Блокчейны продемонстрировали большие перспективы использования в нескольких областях, включая «Интернет вещей». (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 поделиться некоторыми мимолетными сходствами, которые, как мы считаем, являются конечной целью существенно отличается и что вместо того, чтобы конкурировать, эти два протокола, вероятно, в конечном итоге будут сосуществовать под взаимовыгодные отношения в обозримом будущем.
مقدمة
لقد أظهرت Blockchains وعدًا كبيرًا بالفائدة في العديد من المجالات بما في ذلك "إنترنت الأشياء" (إنترنت الأشياء)، والتمويل، والحوكمة، وإدارة الهوية، ولامركزية الويب، وتتبع الأصول. ومع ذلك، على الرغم من الوعد التكنولوجي والحديث الكبير، لم نر بعد نشر كبير في العالم الحقيقي للتكنولوجيا الحالية. ونحن نعتقد أن هذا يرجع إلى خمسة إخفاقات رئيسية في الوقت الحاضر مكدسات التكنولوجيا: قابلية التوسع: مقدار الموارد التي يتم إنفاقها على مستوى العالم حول المعالجة وعرض النطاق الترددي والتخزين للنظام لمعالجة معاملة واحدة وكم عددها يمكن معالجة المعاملات بشكل معقول بموجب ظروف الذروة؟ قابلية العزلة: يمكن أن تكون الاحتياجات المتباينة متعددة هل تتم معالجة الأطراف والطلبات بدرجة قريبة من المستوى الأمثل ضمن نفس الإطار؟ قابلية التطوير: ما مدى جودة عمل الأدوات؟ افعل هل تلبي واجهات برمجة التطبيقات احتياجات المطورين؟ هل المواد التعليمية متوفرة؟ هل التكامل الصحيح موجود؟ الحوكمة: هل يمكن أن تظل الشبكة مرنة؟ تتطور وتتكيف مع مرور الوقت؟ هل يمكن أن تكون القرارات مصنوعة بالشمولية والشرعية الكافية الشفافية لتوفير القيادة الفعالة ل النظام اللامركزي؟ قابلية التطبيق: هل تعالج التكنولوجيا بالفعل حاجة ملحة من تلقاء نفسها؟ هل هناك حاجة إلى "برامج وسيطة" أخرى من أجل سد الفجوة التطبيقات الفعلية؟ في العمل الحالي، ونحن نهدف إلى معالجة الأولين القضايا: قابلية التوسع والعزلة. وقيل: نحن نؤمن يمكن لإطار عمل Polkadot أن يوفر تحسينات ذات معنى في كل فئة من هذه الفئات من المشاكل. تطبيقات blockchain الحديثة والفعالة مثل يمكن لعميل التماثل Ethereum [17] معالجة ما يزيد عن 3000 معاملة في الثانية عند التشغيل على أجهزة استهلاكية عالية الأداء. ومع ذلك، العالم الحقيقي الحالي تقتصر شبكات blockchain عمليًا على حوالي 30 شبكة المعاملات في الثانية الواحدة. ينشأ هذا القيد أساسًا من حقيقة أن آليات الإجماع المتزامن الحالية تتطلب هوامش توقيت واسعة من الأمان وقت المعالجة المتوقع، والذي يتفاقم بسبببولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 2 الرغبة في دعم عمليات التنفيذ الأبطأ. هذا يرجع إلى بنية التوافق الأساسية: آلية انتقال الدولة، أو الوسائل التي يتم من خلالها تجميع الأحزاب وتنفيذ المعاملات، له منطق مرتبط بشكل أساسي في آلية "التحديد الأساسي" المتفق عليها، أو الوسائل التي تتفق الأطراف من خلالها على واحد من عدد من ممكن، صحيح، التواريخ. ينطبق هذا بالتساوي على كل من أنظمة proof-of-work (PoW) مثل Bitcoin [15] و Ethereum [5,23] وأنظمة إثبات الحصة (PoS) مثل NXT [8] وBitshares [12]: جميعهم يعانون في النهاية من نفس الإعاقة. إنها بسيطة الإستراتيجية التي ساعدت في إنجاح blockchains. ومع ذلك، عن طريق ربط هاتين الآليتين بإحكام في وحدة واحدة من البروتوكول، نقوم أيضًا بتجميع العديد من العناصر المختلفة معًا الجهات الفاعلة والتطبيقات ذات ملفات تعريف المخاطر المختلفة ومتطلبات قابلية التوسع المختلفة واحتياجات الخصوصية المختلفة. حجم واحد لا يناسب الجميع. في كثير من الأحيان يكون الأمر كذلك في أ الرغبة في الحصول على جاذبية واسعة، تتبنى الشبكة درجة من المحافظة مما يؤدي إلى القاسم المشترك الأدنى يخدم القليل على النحو الأمثل ويؤدي في النهاية إلى الفشل في القدرة على الابتكار والأداء والتكيف، في بعض الأحيان بشكل كبير جدا. بعض الأنظمة مثل على سبيل المثال. Factom [21] أسقط آلية انتقال الحالة تمامًا. ومع ذلك، فإن الكثير من المنفعة التي نرغب فيها تتطلب القدرة على الانتقال إلى الحالة وفقا لآلة الدولة المشتركة. إسقاطه يحل مشكلة بديلة؛ ولا يوفر بديلاً الحل. لذلك يبدو من الواضح أن هناك اتجاهًا واحدًا معقولًا للاستكشاف كطريق إلى حوسبة لامركزية قابلة للتطوير النظام الأساسي هو فصل بنية الإجماع عن آلية انتقال الدولة وربما ليس من المستغرب أن هذه هي الإستراتيجية التي يتبناها Polkadot كحل لقابلية التوسع. 2.1. البروتوكول والتنفيذ والشبكة. مثل Bitcoin و Ethereum، Polkadot يشير في الوقت نفسه إلى بروتوكول الشبكة والبروتوكول الأساسي (المفترض حتى الآن) الشبكة العامة التي تقوم بتشغيل هذا البروتوكول. Polkadot يهدف إلى أن يكون مشروعًا حرًا ومفتوحًا، حيث تكون مواصفات البروتوكول خاضعة لترخيص المشاع الإبداعي و يتم وضع الكود تحت ترخيص FLOSS. المشروع هو تم تطويره بطريقة مفتوحة ويقبل المساهمات أينما كانت مفيدة. نظام RFCs، لا يختلف ستسمح مقترحات تحسين بايثون بوسيلة لـ التعاون علنًا في تغييرات البروتوكول وترقياته. تنفيذنا الأولي لبروتوكول Polkadot سيعرف باسم منصة التكافؤ Polkadot وسوف تضمين تنفيذ بروتوكول كامل مع واجهة برمجة التطبيقات (API). الارتباطات. مثل تطبيقات Parity blockchain الأخرى، تم تصميم PPP لتكون مجموعة تقنية blockchain ذات أغراض عامة، وليست مخصصة بشكل فريد لشبكة عامة ولا لـ عملية خاصة/كونسورتيوم. تطوره هكذا تم تمويل Far من قبل عدة أطراف بما في ذلك من خلال منحة من الحكومة البريطانية. مع ذلك، تصف هذه الورقة Polkadot ضمن سياق الشبكة العامة. الوظائف التي نتصورها في الشبكة العامة هي مجموعة شاملة من تلك المطلوبة في إعدادات بديلة (مثل القطاع الخاص و/أو الاتحاد). علاوة على ذلك، في هذا السياق، يمكن للنطاق الكامل لـ Polkadot أن يتم وصفها ومناقشتها بشكل أكثر وضوحًا. هذا يعني يجب أن يدرك القارئ أن بعض الآليات قد تفعل ذلك سيتم وصفها (على سبيل المثال، التشغيل البيني مع الشبكات العامة الأخرى) والتي لا تتعلق بشكل مباشر بـ Polkadot عند نشرها في مواقف غير عامة ("مسموح بها"). 2.2. العمل السابق. لقد تم اقتراح فصل الإجماع الأساسي عن عملية انتقال الدولة بشكل غير رسمي على انفراد لمدة عامين على الأقل - كان ماكس كاي من أنصار مثل هذه الإستراتيجية خلال الأيام الأولى من الثورة Ethereum. حل أكثر تعقيدًا وقابل للتطوير يُعرف باسم Chain ألياف، يعود تاريخه إلى يونيو 2014 وتم نشره لأول مرة لاحقًا في ذلك العام 1، قدمت الحجة لسلسلة ترحيل واحدة وسلاسل متعددة متجانسة توفر آلية تنفيذ شفافة بين السلاسل. تم دفع ثمن فك الترابط من خلال زمن استجابة المعاملة - المعاملات التي تتطلب تنسيق أجزاء متباينة من النظام سوف يستغرق وقتا أطول للمعالجة. Polkadot يأخذ الكثير من بنيته من ذلك ومن محادثات المتابعة معه مختلف الناس، على الرغم من أنها تختلف بشكل كبير في الكثير من تصميمها وأحكامها. في حين لا توجد أنظمة مماثلة لـ Polkadot في الواقع في الإنتاج، عدة أنظمة ذات أهمية معينة تم اقتراحها، على الرغم من قلة عددها في أي مستوى كبير من التفاصيل. هذه المقترحات يمكن أن تكونمقسمة إلى أنظمة مما يسقط أو يقلل من فكرة التماسك العالمي آلة الدولة، تلك التي تحاول توفير عالميًا آلة مفردة متماسكة من خلال شظايا متجانسة وتلك التي تستهدف عدم التجانس فقط. 2.2.1. أنظمة بدون دولة عالمية. Factom [21] هو نظام يوضح القانون الأساسي دون المطابقة الصلاحية، مما يسمح بشكل فعال بتأريخ البيانات. بسبب تجنب الدولة العالمية والصعوبات ومع التوسع الذي يجلبه هذا، يمكن اعتباره حلاً قابلاً للتطوير. ومع ذلك، كما ذكرنا سابقًا، المجموعة من المشاكل التي يحلها أصغر بشكل صارم وجوهري. يعد Tangle [18] أسلوبًا جديدًا لأنظمة الإجماع. فبدلاً من ترتيب المعاملات في كتل وتشكيل إجماع حول قائمة مرتبطة بشكل صارم لإعطاء ترتيب عالمي عالمي لتغييرات الحالة، فإنه يتخلى إلى حد كبير عن فكرة الترتيب شديد التنظيم وبدلاً من ذلك يدفع للحصول على رسم بياني حلقي موجه للمعاملات التابعة مع العناصر اللاحقة مما يساعد في تحديد العناصر السابقة من خلال الإشارة الصريحة. لإجراء تغييرات تعسفية في الحالة، هذا الرسم البياني للتبعية سيصبح سريعًا مستعصيًا على الحل، ولكن بالنسبة للطراز UTXO model2 الأبسط بكثير، يصبح هذا الأمر معقول جدا. لأن النظام متماسك بشكل فضفاض فقط والمعاملات مستقلة بشكل عام عن كل منها أخرى، يصبح قدر كبير من التوازي العالمي تماما طبيعي. إن استخدام النموذج UTXO له التأثير قصر Tangle على "عملة" نقل القيمة البحتة النظام بدلا من أي شيء أكثر عمومية أو قابلة للتوسيع. علاوة على ذلك، من دون التماسك العالمي الصعب، فإن التفاعل مع الأنظمة الأخرى - والذي يميل إلى الحاجة إلى المطلق درجة المعرفة بحالة النظام - تصبح غير عملية. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2مخرجات المعاملات غير المنفقة، النموذج الذي يستخدمه Bitcoin حيث تكون الحالة بشكل فعال مجموعة العناوين المرتبطة ببعض القيمة؛ تقوم المعاملات بجمع هذه العناوين وإصلاحها في مجموعة جديدة من العناوين التي يكون مجموعها مكافئًا
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 3 2.2.2. أنظمة السلسلة غير المتجانسة. السلاسل الجانبية [3] هي أ الإضافة المقترحة إلى بروتوكول Bitcoin والتي من شأنها أن تسمح بالتفاعل غير الموثوق به بين سلسلة Bitcoin الرئيسية وسلاسل جانبية إضافية. لا يوجد أي شرط لأي درجة التفاعل "الغني" بين السلاسل الجانبية: سيقتصر التفاعل على السماح بوجود السلاسل الجانبية أوصياء على أصول بعضهم البعض، ويؤثرون على المستوى المحلي المصطلحات - ربط ثنائي الاتجاه 3. الرؤية النهائية هي لإطار يمكن من خلاله توفير عملة Bitcoin وظائف إضافية، إذا كانت طرفية، من خلال ربطها إلى بعض السلاسل الأخرى التي تتمتع بانتقال حالة أكثر غرابة الأنظمة التي يسمح بها بروتوكول Bitcoin. وبهذا المعنى، تتناول السلاسل الجانبية قابلية التوسعة بدلاً من قابلية التوسع. في الواقع، لا يوجد أي نص أساسي على صحة السلاسل الجانبية؛ tokens من سلسلة واحدة (على سبيل المثال Bitcoin) يتم الاحتفاظ بها نيابة عن سلسلة جانبية ويتم تأمينها فقط من خلال قدرة السلسلة الجانبية على تحفيز القائمين بالتعدين على تحديد المعايير الأساسية التحولات صالحة. أمان شبكة Bitcoin لا يمكن بسهولة أن تنتقل للعمل نيابة عن الآخرين blockchains. علاوة على ذلك، بروتوكول لضمان Bitcoin يقوم القائمون بالتعدين بدمج منجمي (أي تكرار قوة تحديد المعايير الخاصة بهم على تلك الخاصة بالسلسلة الجانبية)، والأهم من ذلك، التحقق من صحة انتقالات السلسلة الجانبية خارج نطاق نطاق هذا الاقتراح. Cosmos [10] هو نظام متعدد السلاسل مقترح في على نفس المنوال مثل السلاسل الجانبية، مبادلة ناكاموتو PoW طريقة الإجماع لخوارزمية Tendermint لـ Jae Kwon. بشكل أساسي، فهو يصف سلاسل متعددة (تعمل في المناطق) تستخدم كل منها مثيلات فردية من Tendermint، جنبًا إلى جنب مع وسيلة للاتصال الخالي من الثقة عبر a سلسلة المحور الرئيسي. يقتصر هذا الاتصال بين السلاسل على نقل الأصول الرقمية ("على وجه التحديد حول 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 تمكين إعادة توجيه المعاملات غير الموثوقة بين الاثنين الشبكات. باختصار، بينما Casper/Ethereum 2.0 و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 عبارة عن سلسلة متعددة غير متجانسة وقابلة للتطوير. هذا يعني أنه على عكس تطبيقات blockchain السابقة التي ركزت على توفير سلسلة واحدة متفاوتة درجات العمومية على التطبيقات المحتملة، Polkadot تم تصميمه في حد ذاته بحيث لا يوفر أي وظيفة تطبيق متأصلة على الإطلاق. بل إن Polkadot يوفر الأساس المتين "سلسلة الترحيل" التي يعتمد عليها عدد كبير من التحقق من الصحة، يمكن استضافة هياكل البيانات الديناميكية المتماسكة عالميًا جنبا إلى جنب. نحن نطلق على هياكل البيانات هذه اسم "المتوازية" السلاسل أو المظلات، على الرغم من عدم وجود حاجة محددة لها أن تكون blockchain بطبيعتها. بمعنى آخر، يمكن اعتبار Polkadot مكافئًا لمجموعة من السلاسل المستقلة (على سبيل المثال، المجموعة التي تحتوي على Ethereum، Ethereum Classic، Namecoin و Bitcoin) باستثناء نقطتين مهمتين للغاية: • الأمن المجمع. • إمكانية التعامل بين السلاسل دون ثقة. هذه النقاط هي سبب اعتبارنا Polkadot "قابلة للتطوير". من حيث المبدأ، قد تكون المشكلة التي سيتم نشرها على Polkadot متوازية إلى حد كبير - أو متدرجة - على مدى عدد كبير من المظلات. وبما أن جميع جوانب كل منهما يمكن إجراء سلسلة المظلة بالتوازي بواسطة جزء مختلف من شبكة Polkadot، يتمتع النظام ببعض القدرة على نطاق واسع. Polkadot يوفر قطعة مجردة إلى حد ما 3 على عكس الربط أحادي الاتجاه والذي هو في الأساس عملية تدمير tokens في سلسلة واحدة لإنشاء tokens في سلسلة أخرى بدون آلية لإجراء العكس من أجل استعادة tokens الأصليةبولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 4 البنية التحتية تترك الكثير من التعقيد ليتم معالجتها على مستوى البرمجيات الوسيطة. وهذا قرار واعي يهدف إلى الحد من مخاطر التنمية، وتمكين البرامج المطلوبة التي سيتم تطويرها خلال فترة زمنية قصيرة ومع مستوى جيد من الثقة في أمنها و المتانة. 3.1. فلسفة Polkadot. Polkadot ينبغي توفير أساس متين مطلق يمكن القيام به قم ببناء الموجة التالية من أنظمة الإجماع، حتى النهاية طيف المخاطر من التصاميم الناضجة القادرة على الإنتاج إلى الأفكار الناشئة. من خلال توفير ضمانات قوية بشأن الأمان والعزل والتواصل، يمكن أن يسمح Polkadot بذلك المظلات للاختيار من بين مجموعة من الخصائص بأنفسهم. في الواقع، نتوقع أن تقوم العديد من التجارب التجريبية بدفع خصائص ما يمكن اعتباره معقولًا اليوم. نرى المحافظين سلاسل ذات قيمة عالية مماثلة ل Bitcoin أو Z-cash [20] تتواجد جنبًا إلى جنب مع القيمة الأقل "سلاسل المواضيع" (مثل هذا التسويق، ممتع جدًا) وشبكات الاختبار مع رسوم صفر أو قريبة من الصفر. نرى مشفرة بالكامل، سلاسل الكونسورتيوم "المظلمة" تعمل جنبًا إلى جنب - وحتى تقديم الخدمات لسلاسل مفتوحة وفعالة للغاية مثل تلك مثل Ethereum. نرى تجريبية جديدة السلاسل المستندة إلى VM مثل الـWasm المشحون بالوقت يتم استخدام السلسلة كوسيلة لالاستعانة بمصادر خارجية لمشاكل الحوسبة الصعبة من سلسلة أكثر نضجًا تشبه 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. Валидаторы. 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.
المشاركة في Polkadot
هناك أربعة أدوار أساسية في صيانة Polkadot الشبكة: المتعاون والصياد والمرشح وvalidator. في أحد التطبيقات المحتملة لـ Polkadot، الدور الأخير يمكن تقسيمها فعليًا إلى دورين: validator الأساسي وضامن التوفر؛ تمت مناقشة هذا في القسم 6.5.3. جامع صياد المدققون (هذه المجموعة) المدققون (مجموعات أخرى) يوافق يصبح المراقبين التقارير سيئة السلوك ل يوفر كتلة المرشحين ل المرشح الشكل 1. التفاعل بين أربعة أدوار Polkadot. 4.1. المدققون. validator هو أعلى شحن و يساعد في إغلاق الكتل الجديدة على شبكة Polkadot. يتوقف دور validator على وجود رابطة عالية بما فيه الكفاية يتم إيداعها، على الرغم من أننا نسمح للأطراف المستعبدة الأخرى بذلك قم بترشيح واحد أو أكثر من validator لتمثيلهم وبصفتهم قد لا يكون هذا الجزء من سند validator مملوكًا بالضرورة لـ validator نفسه ولكن بالأحرى من قبل هؤلاء الترشيحات. يجب أن يقوم validator بتشغيل تطبيق عميل سلسلة الترحيل مع توفر عالي وعرض النطاق الترددي. عند كل كتلة يجب أن تكون العقدة جاهزة لقبول دور التصديق كتلة جديدة على المظلة المرشحة. هذه العملية يتضمن تلقي المرشح والتحقق من صحته وإعادة نشره كتل. إن الترشيح أمر حتمي ولكن لا يمكن التنبؤ به تقريبًا مقدمًا. نظرًا لأن validator لا يمكن ذلك ومن المتوقع بشكل معقول للحفاظ على متزامنة بالكامل قاعدة بيانات لجميع المظلات، من المتوقع أن يرشح validator مهمة ابتكار قاعدة بيانات جديدة مقترحة كتلة المظلة لطرف ثالث، والمعروفة باسم المجمع. بمجرد التصديق على جميع كتل المظلات الجديدة بشكل صحيح من خلال مجموعاتها الفرعية validator، validators يجب بعد ذلك التصديق على كتلة سلسلة التتابع نفسها. هذا ينطوي على تحديث حالة قوائم انتظار المعاملات (بشكل أساسي نقل البيانات من قائمة انتظار إخراج سلسلة Parachain إلى أخرى قائمة انتظار إدخال Parachain)، ومعالجة المعاملات مجموعة معاملات سلسلة الترحيل المعتمدة والتصديق على الكتلة النهائية، بما في ذلك تغييرات الباراشين النهائية.بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 5 validator لا يقومون بواجبهم في التوصل إلى توافق في الآراء بموجب قواعد خوارزمية الإجماع التي اخترناها يعاقب. بالنسبة لحالات الفشل الأولية غير المقصودة، يتم ذلك حجز مكافأة validator. يؤدي الفشل المتكرر إلى تقليل سندات الضمان الخاصة بهم (من خلال الحرق). من المحتمل أن تكون الإجراءات الضارة مثل التوقيع المزدوج أو التآمر لتقديم كتلة غير صالحة يؤدي إلى خسارة السند بأكمله (الذي يتم حرقه جزئيًا ولكن يتم تقديمه في الغالب إلى المخبرين والفاعلين الصادقين). إلى حد ما، validators تشبه مجمعات التعدين من إثبات العمل الحالي blockchains. 4.2. الترشيحات. المرشح هو طرف صاحب مصلحة الذي يساهم في السند الضماني لـ validator. هم ليس لها دور إضافي سوى وضع رأس المال المخاطر وكما للإشارة إلى أنهم يثقون في validator معين (أو مجموعة منها) للتصرف بمسؤولية في صيانتها شبكة. ويحصلون على زيادة أو تخفيض تناسبي في ودائعهم وفقا لنمو السند الذي يساهمون. جنبا إلى جنب مع المتعاونين، التالي، المرشحون في بعض يشبه عمال المناجم في شبكات إثبات العمل (PoW) الحالية. 4.3. المقارنات. جامعو المعاملات (جامعو المعاملات باختصار) هي الأطراف التي تساعد validators في إنتاج صالحة كتل المظلة. إنهم يحافظون على "عقدة كاملة" لسلسلة باراشين معينة؛ وهذا يعني أنهم يحتفظون بكل ما هو ضروري المعلومات لتكون قادرة على تأليف كتل جديدة وتنفيذها المعاملات بنفس الطريقة التي يقوم بها القائمون بالتعدين على إثبات العمل (PoW) blockchains الحالي. في الظروف العادية هم سوف نقوم بجمع وتنفيذ المعاملات لإنشاء ملف مفتوح كتلة، وتوفيرها، جنبا إلى جنب مع المعرفة الصفرية إثبات، إلى واحد أو أكثر من validator المسؤولين حاليًا عن اقتراح كتلة المظلة. من المرجح أن تتغير الطبيعة الدقيقة للعلاقة بين المتعاونين والمرشحين وvalidators بمرور الوقت الوقت. في البداية، نتوقع أن يعمل المترجمون بشكل وثيق جدًا مع validators، نظرًا لأنه لن يكون هناك سوى عدد قليل (ربما سلسلة (سلاسل) واحدة فقط ذات حجم معاملات صغير. ال سيتضمن التنفيذ الأولي للعميل RPCs للسماح بـ عقدة ربط سلسلة Parachain لتزويد عقدة (سلسلة ترحيل) validator بشكل غير مشروط بسلسلة Parachain صالحة بشكل مثبت كتلة. كتكلفة الحفاظ على نسخة متزامنة من كل هذه المظلات تتزايد، ونتوقع أن نرى المزيد البنية التحتية الموجودة والتي ستساعد في فصل واجبات الأطراف المستقلة ذات الدوافع الاقتصادية. في نهاية المطاف، نتوقع أن نرى مجموعات من المتعاونين الذين يتنافسون عليها جمع معظم رسوم المعاملات. قد يتم التعاقد مع هؤلاء المجمعين لخدمة validator معينة على مدى فترة زمنية مقابل حصة مستمرة في عائدات المكافأة. وبدلاً من ذلك، يمكن للمجمعين "المستقلين" ببساطة إنشاء ملف يقدم السوق كتل باراشين صالحة مقابل حصة تنافسية من المكافأة تدفع على الفور. وبالمثل، فإن مجمعات الترشيح اللامركزية ستسمح بالتعددية المشاركون المستعبدين للتنسيق وتقاسم واجب أ validator. تضمن هذه القدرة على التجميع المشاركة المفتوحة مما يؤدي إلى نظام أكثر لامركزية. 4.4. الصيادين. على عكس الحزبين النشطين الآخرين، لا يرتبط الصيادون مباشرة بتأليف الكتلة عملية. بل هم "صائدو جوائز" مستقلون بدافع من مكافأة كبيرة. على وجه التحديد بسبب بوجود الصيادين، نتوقع أن حوادث سوء السلوك نادرًا ما تحدث، وعندما تحدث فقط بسبب كون الطرف المستعبد مهملاً بأمن المفتاح السري، وليس من خلال النوايا الخبيثة. يأتي الاسم من التكرار المتوقع للمكافأة، والحد الأدنى من متطلبات المشاركة وحجم المكافأة النهائية. يحصل الصيادون على أجرهم من خلال إثبات ذلك في الوقت المناسب تصرف طرف مستعبد واحد على الأقل بشكل غير قانوني. أعمال غير قانونية تتضمن التوقيع على كتلتين مع نفس الوالد المعتمد، أو، في حالة المظلات، المساعدة في التصديق على غير صالح كتلة. لمنع الإفراط في المكافأة أو التسوية و الاستخدام غير المشروع للمفتاح السري للجلسة، المكافأة الأساسية مقابل تقديم رسالة واحدة موقعة بشكل غير قانوني من validator هو الحد الأدنى. وتزداد هذه المكافأة بشكل مقارب أكثر يتم إثبات التوقيعات غير القانونية من validators الأخرى بشرط أن يكون ذلك بمثابة هجوم حقيقي. تم تعيين الخط المقارب بنسبة 66% بعد تأكيدنا الأمني الأساسي على الأقل ثلثا validators يتصرفون بشكل خيري. يشبه الصيادون إلى حد ما "العقد الكاملة" في أنظمة blockchain الحالية التي تحتاج إلى الموارد صغيرة نسبيًا والالتزام بوقت تشغيل مستقر وعرض النطاق الترددي ليس ضروريا. ويختلف الصيادون في ذلك بقدر ما يجب عليهم نشر سند صغير.يمنع هذا السند هجمات sybil من إضاعة وقت وحساب validators الموارد. يمكن سحبه على الفور، ربما لا أكثر من ما يعادل بضعة دولارات وربما يؤدي لجني مكافأة ضخمة من اكتشاف سوء التصرف validator.
Обзор конструкции
Цель этого раздела – дать краткий обзор система в целом. Более тщательное исследование система приведена в следующем за ней разделе. 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. между двумя сетями, хотя, тем не менее, это значительные усилия с неопределенными сроками и, вполне возможно, требуя сотрудничества заинтересованных сторон в рамках этого сеть.
نظرة عامة على التصميم
يهدف هذا القسم إلى تقديم لمحة موجزة عن النظام ككل. استكشاف أكثر شمولا لل النظام موجود في القسم الذي يليه 5.1. إجماع. على سلسلة التتابع، Polkadot يحقق توافق منخفض المستوى حول مجموعة صالحة متفق عليها بشكل متبادل الكتل من خلال خوارزمية التسامح مع الأخطاء البيزنطية غير المتزامنة (BFT). سيتم إلهام الخوارزمية بواسطة Tendermint البسيط [11] وأكثر من ذلك بكثير المعنية HoneyBadgerBFT [14]. هذا الأخير يوفر إجماع فعال ومتسامح مع الأخطاء على نحو تعسفي بنية تحتية معيبة للشبكة، نظرًا لمجموعة من السلطات الحميدة في الغالب أو validators. بالنسبة لشبكة نمط إثبات السلطة (PoA)، هذا وحده سيكون كافيًا، ولكن من المفترض أن يكون Polkadot كذلك كما يمكن نشرها كشبكة مفتوحة بالكامل وعامة الوضع دون أي منظمة معينة أو موثوق بها السلطة اللازمة للحفاظ عليه. وعلى هذا النحو نحن بحاجة إلى وسائل تحديد مجموعة من validator والتحفيز لهم أن يكونوا صادقين. ولهذا نستخدم الاختيار القائم على إثبات الحصة (PoS). المعايير. 5.2. إثبات الحصة. نحن نفترض أن الشبكة سيكون لديه بعض الوسائل لقياس مقدار "الحصة" أي حساب معين لديه. لسهولة المقارنة الأنظمة الموجودة مسبقًا، سوف نسميها وحدة القياس "tokens". لسوء الحظ فإن المصطلح أقل من مثالي لـ أ لعدد من الأسباب، ليس أقلها كونها مجرد عددية القيمة المرتبطة بالحساب، لا توجد فكرة عنها الفردية. نحن نتخيل أن يتم انتخاب validator، بشكل غير متكرر (على الأكثر مرة واحدة يوميًا ولكن ربما نادرًا مثل مرة واحدة كل ربع سنة)، من خلال نظام إثبات الحصة المرشح (NPoS). يمكن أن يحدث التحفيز من خلال التخصيص التناسبي لـبولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 6 تتابع سلسلة سرب المدقق (كل لون حسب لونه المظلة المعينة) الصفقة (مقدم من ممثل خارجي) باراشين جسر المظلة الافتراضية (على سبيل المثال Ethereum) باراشين باراشين قوائم الانتظار والإدخال/الإخراج المعاملات المنتشرة منع تقديم المرشح الترتيب الثاني سلسلة التتابع مجتمع باراشين الحساب المعاملة الواردة المعاملة الصادرة المعاملات بين السلاسل (تتم إدارته بواسطة validators) جامع كتلة منتشرة صياد الشكل 2. ملخص تخطيطي لنظام Polkadot. يُظهر هذا أن المتعاونين يقومون بجمع ونشر معاملات المستخدم، بالإضافة إلى نشر مرشحي الكتلة للصيادين وvalidators. إنه أيضًا يوضح كيف يمكن للحساب نشر معاملة يتم تنفيذها من سلسلة Parachain الخاصة به، عبر سلسلة الترحيل ثم إلى سلسلة باراشين أخرى حيث يمكن تفسيرها على أنها معاملة لحساب هناك. الأموال القادمة من توسيع القاعدة token (حتى 100% سنويًا، على الرغم من أنه من المرجح أن يصل إلى حوالي 10٪) مع أي رسوم المعاملات التي تم جمعها. في حين أن توسع القاعدة النقدية يؤدي عادة إلى التضخم، حيث أن جميع مالكي token سيكون لديهم فرصة عادلة للمشاركة، فلن يحتاج أي مالك token إلى أن يعاني من انخفاض في قيمة أسهمه المقتنيات بمرور الوقت بشرط أن يكونوا سعداء بالحصول على دور في آلية التوافق. نسبة معينة من tokens سيتم استهدافها لعملية staking؛ ال سيتم تعديل توسيع القاعدة الفعال token من خلال آلية قائمة على السوق للوصول إلى هذا الهدف. يتم ربط المدققين بشكل كبير بحصصهم؛ الخروج تظل سندات validators سارية لفترة طويلة بعد توقف واجبات validators (ربما حوالي 3 أشهر). هذا طويل تسمح فترة تصفية السندات بحدوث سوء سلوك في المستقبل يعاقب حتى التفتيش الدوري للسلسلة. يؤدي سوء السلوك إلى العقوبة، مثل تقليل مكافأة أو، في الحالات التي تضر عمدا سلامة الشبكة، حيث يفقد validator بعضًا أو كلًا منها حصة validators أو المخبرين أو أصحاب المصلحة الآخرين ككل (من خلال الحرق). على سبيل المثال، validator الذي يحاول التصديق على فرعي الشوكة (أحيانًا المعروف باسم هجوم "قصير المدى") يمكن تحديده و يعاقب بالطريقة الأخيرة. يتم التحايل على هجمات "لا شيء على المحك" بعيدة المدى4 من خلال مزلاج "نقطة تفتيش" بسيط يمنع إعادة تنظيم سلسلة خطيرة لأكثر من عمق سلسلة معينة. لضمان مزامنة العملاء حديثًا لا يمكن أن ينخدعوا بالسلسلة الخاطئة، العادية سيحدث "الهارد فورك" (في نفس الفترة على الأكثر). تصفية سندات validators) التي تقوم بحظر نقطة تفتيش حديثة ذات كود ثابت hashes في العملاء. يلعب هذا بشكل جيد مع مقياس إضافي لتقليل البصمة وهو "طول السلسلة المحدودة" أو إعادة ضبط دورية لكتلة التكوين. 5.3. المظلات والمجمعات. يحصل كل مظلة معايير أمنية مماثلة لسلسلة الترحيل: ال يتم إغلاق رؤوس المظلات داخل كتلة سلسلة التتابع ضمان عدم إمكانية إعادة التنظيم أو "الإنفاق المزدوج" بعد التأكيد. يعد هذا ضمانًا أمنيًا مشابهًا لذلك الذي توفره السلاسل الجانبية والدمج لـ Bitcoin. ومع ذلك، فإن Polkadot يوفر أيضًا ضمانات قوية بأن انتقالات حالة المظلات صالحة. هذا يحدث من خلال مجموعة validators التي يتم تقسيمها بشكل عشوائي إلى مجموعات فرعية؛ مجموعة فرعية واحدة لكل Parachain، من المحتمل أن تختلف المجموعات الفرعية لكل كتلة. هذا يشير الإعداد عمومًا إلى أن أوقات حظر سلاسل المظلات ستفعل ذلك تكون على الأقل بنفس طول سلسلة التتابع. المحدد وسائل تحديد التقسيم خارج النطاق 4مثل هذا الهجوم هو حيث يقوم الخصم بصياغة سلسلة جديدة تمامًا من التاريخ بدءًا من كتلة التكوين وما بعده. من خلال التحكم أ حصة ضئيلة نسبيًا من الحصة في المقابل، فإنهم قادرون على زيادة حصتهم من الحصة بشكل تدريجي مقارنة بجميع الحصص الأخرى أصحاب المصلحة لأنهم المشاركون النشطون الوحيدون في تاريخهم البديل. نظرًا لعدم وجود قيود مادية جوهرية على الخلق من الكتل (على عكس إثبات العمل (PoW) حيث يجب إنفاق طاقة حسابية حقيقية تمامًا)، فإنهم قادرون على صياغة سلسلة أطول من السلسلة الحقيقية في فترة زمنية قصيرة نسبيًا وربما تجعلها الأطول والأفضل، وتتولى الحالة الأساسية للشبكة.بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 7 من هذه الوثيقة ولكن من المرجح أن تستند إما حولها إطار عمل كشف الالتزام مشابه لـ RanDAO [19] أو استخدم البيانات المجمعة من الكتل السابقة لكل سلسلة باراشين تحت hash آمن تشفيريًا. هذه المجموعات الفرعية من validators مطلوبة لتوفير أ مرشح كتلة الباراشين الذي يضمن صلاحيته (on ألم مصادرة السندات). الصلاحية تدور حول اثنين نقاط مهمة؛ أولاً أنه صحيح جوهريًا – ذلك تم تنفيذ جميع التحولات في الدولة بأمانة وهذا كل شيء البيانات الخارجية المشار إليها (أي المعاملات) صالحة للتضمين. ثانياً: أن أي بيانات خارجية عنه المرشح، مثل تلك المعاملات الخارجية، يتمتع بتوافر عالٍ بدرجة كافية حتى يتمكن المشاركون من ذلك قم بتنزيله وتنفيذ الكتلة يدويًا.5 قد يقدم المدققون كتلة "خالية" فقط لا تحتوي على بيانات "معاملات" خارجية، ولكنهم قد يتعرضون لخطر الحصول على مكافأة مخفضة إذا فعلوا ذلك. إنهم يعملون جنبا إلى جنب بروتوكول ثرثرة باراشين مع المتعاونين - الأفراد الذي يجمع المعاملات في كتل ويقدم دليلاً غير تفاعلي وصفر المعرفة على أن الكتلة تشكل فرعًا صالحًا لوالدها (ويأخذ أي معاملة رسوم على متاعبهم). يُترك الأمر لبروتوكولات Parachain لتحديد البروتوكولات الخاصة بها وسائل منع البريد العشوائي: لا توجد فكرة أساسية عن "قياس موارد الكمبيوتر" أو "رسوم المعاملات" التي تفرضها سلسلة التتابع. لا يوجد أيضًا تطبيق مباشر لهذا الأمر من خلال بروتوكول سلسلة الترحيل (على الرغم من أنه ومن غير المرجح أن يختار أصحاب المصلحة اعتمادها المظلة التي لم توفر آلية لائقة). هذه إشارة صريحة إلى إمكانية وجود سلاسل مختلفة Ethereum، على سبيل المثال. سلسلة تشبه Bitcoin ولها نموذج رسوم أبسط بكثير أو نموذج آخر لمنع البريد العشوائي لم يتم اقتراحه بعد. من المحتمل أن تكون سلسلة الترحيل الخاصة بـ Polkadot نفسها موجودة كـ Ethereum-حسابات شبيهة وسلسلة الحالة، من المحتمل أن تكون EVMمشتقة. نظرًا لأن عقد سلسلة التتابع ستكون مطلوبة القيام بمعالجة كبيرة أخرى، وإنتاجية المعاملات سيتم تقليلها جزئيًا من خلال رسوم المعاملات الكبيرة وإذا كانت نماذجنا البحثية تتطلب حدًا لحجم الكتلة. 5.4. الاتصالات بين السلاسل. العنصر الأخير الحاسم في Polkadot هو التواصل بين السلاسل. منذ يمكن أن تحتوي المظلات على نوع من قناة المعلومات فيما بينها، ونحن نسمح لأنفسنا بالنظر في Polkadot أ متعددة السلاسل قابلة للتطوير. في حالة Polkadot، يكون الاتصال بسيطًا قدر الإمكان: يتم تنفيذ المعاملات في المظلة (وفقًا لمنطق تلك السلسلة) قادرة على ذلك يؤثر على إرسال المعاملة إلى سلسلة Parachain ثانية أو ربما سلسلة التتابع. مثل المعاملات الخارجية في الإنتاج blockchains، فهي غير متزامنة تمامًا وليس هناك قدرة جوهرية لهم على العودة أي نوع من المعلومات يعود إلى أصله. الوجهة: يحصل البيانات من السابقة الكتلة validators. يتلقى الحساب منشورًا: تمت إزالة الإدخال من دخول Merkle tree يرسل الحساب منشورًا: تم وضع الإدخال في الخروج Merkle tree للوجهة المظلة الخروج المصدر: أسهم البيانات مع الكتلة التالية validators إثبات البريد المخزن في خروج المظلة ميركل شجرة تم وضع المرجع الموجه في باراتشين الوجهة دخول Merkle tree دخول الشكل 3. عرض تخطيطي أساسي الأجزاء الرئيسية من التوجيه لنشرها المعاملات ("المشاركات"). لضمان الحد الأدنى من تعقيد التنفيذ، الحد الأدنى خطر و الحد الأدنى سترات مستقيمة من المستقبل أبنية Parachain، هذه المعاملات بين السلاسل هي لا يمكن تمييزها بشكل فعال عن المعاملات القياسية الموقعة خارجيا. تحتوي المعاملة على جزء أصل، مما يوفر القدرة على تحديد سلسلة Parachain، و عنوان قد يكون ذو حجم تعسفي. على عكس الأنظمة الحالية الشائعة مثل Bitcoin وEthereum، لا تأتي المعاملات بين السلاسل مع أي نوع من "الدفع" للرسوم المرتبطة بها؛ ويجب إدارة أي دفع من هذا القبيل من خلال منطق التفاوض على سلاسل المصدر والوجهة. نظام مثل ذلك المقترح ل سيكون إصدار Serenity الخاص بـ Ethereum [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 والسيطرة عليهم لهم. نظرًا لأن استرداد التوقيع الرقمي للمنحنى الإهليلجي (ECDSA) لا يتطلب سوى 3000 غاز تحت EVM، ومنذ ذلك الحين من المحتمل أننا نريد فقط أن يتم التحقق من الصحة على الأغلبية العظمى من validators (بدلاً من الإجماع الكامل)، التكلفة الأساسية لـ Ethereum لتأكيد تلك التعليمات تم التحقق من صحتها بشكل صحيح حيث أن القادمة من شبكة Polkadot لن تزيد عن 300000 غاز - أي 6% فقط من الحد الإجمالي للغاز عند 5.5 م. زيادة عدد validators (كما هو ضروري للتعامل معها العشرات من السلاسل) يزيد حتما من هذه التكلفة من المتوقع على نطاق واسع أن ينمو النطاق الترددي لمعاملات Ethereum بمرور الوقت مع نضوج التكنولوجيا و تتحسن البنية التحتية. جنبا إلى جنب مع حقيقة أن لا يجب مشاركة جميع validators (على سبيل المثال، الأعلى فقط قد يتم استدعاء validators المثبت لمثل هذه المهمة). وتمتد حدود هذه الآلية بشكل جيد إلى حد معقول. بافتراض التناوب اليومي لمثل هذه validators (وهو متحفظ إلى حد ما - أسبوعيًا أو حتى شهريًا قد يكون مقبولاً)، ثم التكلفة التي تتحملها الشبكة للصيانة سيكون هذا الجسر Ethereum-إعادة التوجيه حوالي 540.000 الغاز يوميًا أو، بأسعار الغاز الحالية، 45 دولارًا سنويًا. ستتكلف المعاملة الأساسية التي يتم إرسالها بمفردها عبر الجسر حوالي 0.11 دولار؛ سيكلف حساب العقد الإضافي أكثر، بطبيعة الحال. عن طريق التخزين المؤقت وتجميع المعاملات معا، يمكن بسهولة أن تكون تكاليف ترخيص الاقتحام المشتركة، مما يقلل تكلفة المعاملة بشكل كبير؛ إذا كانت هناك حاجة إلى 20 معاملة قبل إعادة التوجيه، إذن ستنخفض تكلفة إعادة توجيه المعاملة الأساسية إلى حوالي 0.01 دولار. أحد البدائل المثيرة للاهتمام والأرخص لنموذج العقد متعدد التوقيع هو استخدام توقيعات العتبة من أجل تحقيق دلالات الملكية متعددة الأطراف. بينما مخططات توقيع العتبة لـ ECDSA باهظة الثمن من الناحية الحسابية، كتلك الخاصة بالمخططات الأخرى مثل توقيعات شنور معقولة جدًا. Ethereum تخطط لإدخال البدائيين التي من شأنها أن تفعل ذلك مخططات رخيصة للاستخدام في شوكة متروبوليس الصلبة القادمة. إذا كان من الممكن استخدام مثل هذه الوسيلة، فستكون تكلفة الغاز لإعادة توجيه معاملة Polkadot إلى Ethereum سيتم تخفيض الشبكة بشكل كبير إلى ما يقرب من الصفر النفقات العامة بالإضافة إلى التكاليف الأساسية للتحقق من صحة التوقيع وتنفيذ المعاملة الأساسية. في هذا النموذج، سيكون لعقد Polkadot validator لفعل القليل بخلاف توقيع الرسائل. لتوجيه المعاملات فعليًا إلى شبكة Ethereum، نحن افترض أن أيًا من validators نفسها ستتواجد أيضًا شبكة Ethereum أو على الأرجح تلك المكافآت الصغيرة يتم عرضه على الممثل الأول الذي يقوم بإعادة توجيه الرسالة إلى الشبكة (يمكن دفع المكافأة بشكل تافه إلى منشئ المعاملة). 5.5.2. Ethereum إلى Polkadot. الحصول على المعاملات لتكون تستخدم إعادة التوجيه من Ethereum إلى Polkadot المفهوم البسيط للسجلات. عندما يرغب عقد Ethereum في إرسال معاملة إلى سلسلة معينة من Polkadot، إنها تحتاج ببساطة إلى إبرام "عقد انفصال" خاص. سيتطلب عقد الاختراق أي دفعة قد تكون تكون مطلوبة وإصدار تعليمات التسجيل بحيث يمكن إثبات وجودها من خلال إثبات Merkle والتأكيد على أن رأس الكتلة المقابلة صالح و الكنسي. ومن بين الشرطين الأخيرين، ربما تكون الصلاحية هي الأكثر وضوحا لإثبات. من حيث المبدأ، فإن الشرط الوحيد هولكل عقدة Polkadot تحتاج إلى الإثبات (أي العقد validator المعينة) لتشغيل نسخة متزامنة بالكامل من عقدة Ethereum القياسية. لسوء الحظ، هذا في حد ذاته تبعية ثقيلة إلى حد ما. أكثر ستكون الطريقة خفيفة الوزن هي استخدام دليل بسيط على أن تم تقييم الرأس بشكل صحيح من خلال توفير فقط يلزم تنفيذ جزء من محاولة حالة Ethereum بشكل صحيح المعاملات في الكتلة والتحقق من صحة السجلات (الواردة في إيصال الكتلة). مثل هذه "الشبيهة بـ SPV"6 قد تتطلب البراهين قدرًا كبيرًا من المعلومات؛ بشكل ملائم، لن تكون هناك حاجة إليها عادةً الكل: نظام السندات داخل Polkadot سيسمح بالارتباط أطراف ثالثة لتقديم رؤوس مع خطر فقدانها يجب أن يقدم طرف ثالث آخر (مثل "الصياد"، انظر 6.2.3) دليلاً على أن الرأس غير صالح (على وجه التحديد أن جذر الحالة أو جذور الاستلام كانوا محتالين). على شبكة إثبات العمل (PoW) غير النهائية مثل Ethereum، فإن من المستحيل إثبات الشرعية بشكل قاطع. ولمعالجة ذلك، يجب على التطبيقات التي تحاول الاعتماد على أي نوع من السبب المعتمد على السلسلة انتظر عددًا من "التأكيدات"، أو حتى تصل المعاملة التابعة إلى مرحلة ما. عمق خاص داخل السلسلة. على Ethereum، هذا يتراوح العمق من كتلة واحدة للمعاملات الأقل قيمة مع عدم وجود مشكلات معروفة في الشبكة إلى 1200 كتلة كما كان القضية أثناء إصدار Frontier الأولي للتبادلات. على شبكة "Homestead" المستقرة، يقع هذا الرقم عند 120 قطعة لمعظم البورصات، ومن المحتمل أن نتقبلها معلمة مماثلة. هكذا نحن يمكن تخيل لدينا Polkadot-الجانب Ethereumواجهة تحتوي على بعض الوظائف البسيطة: لتكون قادرًا على ذلك قبول رأس جديد من شبكة Ethereum والتحقق من صحة إثبات العمل، لتتمكن من قبول بعض الأدلة على أن تم إصدار سجل معين بواسطة عقد الاختراق من الجانب Ethereum لرأس ذو عمق كافٍ (وإلى الأمام الرسالة المقابلة داخل Polkadot) وأخيرًا لتكون قادرة على قبول البراهين التي سبق قبولها ولكن يحتوي الرأس الذي لم يتم تفعيله بعد على جذر إيصال غير صالح. للحصول فعليًا على بيانات الرأس Ethereum نفسها (و أي أدلة SPV أو تفنيد الصلاحية/القانونية) إلى شبكة Polkadot، تحفيز لإعادة التوجيه يشير 6SPV إلى التحقق المبسط من الدفع في Bitcoin ويصف طريقة للعملاء للتحقق من المعاملات مع الاحتفاظ فقط نسخة من جميع رؤوس الكتل لأطول سلسلة إثبات العمل (PoW).بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 9 هناك حاجة إلى البيانات. يمكن أن يكون هذا بسيطًا مثل الدفع (ممولة من الرسوم المحصلة من جهة Ethereum) المدفوعة لأي شخص قادر على إعادة توجيه كتلة مفيدة رأسها صالح. وسيُطلب من المدققين الاحتفاظ بالمعلومات المتعلقة بالآلاف القليلة الأخيرة من الكتل من أجل تكون قادرًا على إدارة الانقسامات، إما من خلال بعض الوسائل الجوهرية للبروتوكول أو من خلال عقد يتم الاحتفاظ به على سلسلة التتابع. 5.6. Polkadot و Bitcoin. Bitcoin التشغيل البيني يمثل تحديًا مثيرًا للاهتمام لـ Polkadot: ما يسمى ومن شأن "الربط المتبادل" أن يشكل جزءاً مفيداً من البنية الأساسية ليكون على جانب كلا الشبكتين. ومع ذلك، بسبب قيود Bitcoin، مع توفير مثل هذا الربط بشكل آمن مشروع غير تافه. تسليم المعاملة من يمكن من حيث المبدأ إجراء Bitcoin إلى Polkadot بعملية مشابهة لتلك الخاصة بـ Ethereum؛ "عنوان الانفصال" يمكن التحكم فيه بطريقة ما بواسطة Polkadot validators تلقي tokens المنقولة (والبيانات المرسلة بجانبها). يمكن تقديم أدلة SPV عن طريق oracles و، جنبًا إلى جنب مع فترة التأكيد، والمكافأة الممنوحة مقابل ذلك تحديد الكتل غير القانونية التي تنطوي على المعاملة لقد تم "الإنفاق المزدوج". أي tokens مملوكة بعد ذلك في سيتم بعد ذلك، من حيث المبدأ، التحكم في "عنوان الاختراق" بواسطة نفس validator لتوزيعه لاحقًا. لكن المشكلة تكمن في كيفية التحكم بشكل آمن في الودائع من خلال مجموعة دوارة validator. على عكس Ethereum والتي يمكنها اتخاذ قرارات تعسفية بناء على ذلك بناء على مجموعات من التوقيعات، Bitcoin هو إلى حد كبير أكثر محدودية، حيث يقبل معظم العملاء فقط المعاملات متعددة التوقيع بحد أقصى 3 أطراف. وتوسيع هذا العدد إلى 36، أو في الواقع الآلاف كما هو مطلوب في نهاية المطاف، أمر مستحيل بموجب البروتوكول الحالي. أحد الخيارات هو تغيير بروتوكول Bitcoin للتمكين مثل هذه الوظيفة، ولكن ما يسمى بـ "الهارد فورك" في Bitcoin من الصعب ترتيب العالم بناءً على المحاولات الأخيرة. أحد الاحتمالات هو استخدام توقيعات العتبة، مخططات التشفير للسماح لجمهور محدد الهوية المفتاح ليتم التحكم فيه بشكل فعال من خلال "أجزاء" سرية متعددة، يجب استخدام بعضها أو جميعها لإنشاء توقيع صالح. لسوء الحظ، عتبة التوقيعات متوافقة مع Bitcoin's ECDSA باهظة الثمن من الناحية الحسابية إنشاء والتعقيد متعدد الحدود. مخططات أخرى من هذا القبيل توفر توقيعات شنور تكاليف أقل بكثير، إلا أن الجدول الزمني الذي يمكن تقديمهم فيه إلى Bitcoin البروتوكول غير مؤكد. منذ الأمن النهائي للودائع تقع على عاتق عدد من validators المستعبدين، هناك خيار آخر هو تقليل حاملي المفاتيح متعددي التوقيعات إلى عدد كبير فقط مجموعة فرعية مستعبدة من إجمالي validators مثل تلك العتبة تصبح التوقيعات ممكنة (أو، في أسوأ الأحوال، موطن Bitcoin الأصلي التوقيع المتعدد ممكن). وهذا بالطبع يقلل من المبلغ الإجمالي للسندات التي يمكن خصمها كتعويضات في حالة تصرف validator بشكل غير قانوني، ولكن هذا هو تدهور رشيق، ببساطة وضع حد أعلى ل مقدار الأموال التي يمكن تشغيلها بشكل آمن بين شبكتان (أو في الواقع، على نسبة الخسائر في حالة حدوث هجوم من validators تنجح). على هذا النحو، نعتقد أنه ليس من غير الواقعي وضع Bitcoin قابلية التشغيل البيني "سلسلة مظلات افتراضية" آمنة بشكل معقول بين الشبكتين، على الرغم من أنه جهد كبير بجدول زمني غير مؤكد، ومن المحتمل جدًا مما يتطلب تعاون الجهات المعنية في ذلك شبكة.
Протокол в деталях
Протокол можно условно разбить на три части: механизм консенсуса, интерфейс парачейна. и маршрутизация межцепочных транзакций. 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.
البروتوكول بالتفصيل
يمكن تقسيم البروتوكول تقريبًا إلى ثلاثة الأجزاء: آلية التوافق، واجهة الباراشين وتوجيه المعاملات بين السلاسل. 6.1. سلسلة التتابع العملية. ال سلسلة التتابع سوف من المحتمل أن تكون سلسلة مشابهة إلى حد كبير لـ Ethereum من حيث أنها يعتمد على الحالة مع عنوان تعيين الحالة للحساب المعلومات، وبشكل رئيسي الأرصدة و(لمنع الإعادة) أ عداد المعاملات. إن وضع الحسابات هنا يحقق غرضًا واحدًا: توفير المحاسبة التي تمتلكها الهوية ما هو حجم الحصة في النظام.7 ومع ذلك، ستكون هناك اختلافات ملحوظة: • لا يمكن نشر العقود من خلال المعاملات. بناءً على الرغبة في تجنب وظائف التطبيق على سلسلة الترحيل، فلن يحدث ذلك دعم النشر العام للعقود. • حساب استخدام الموارد ("الغاز") لا يتم احتسابه؛ منذ الوظائف الوحيدة المتاحة للاستخدام العام سيتم إصلاح الأساس المنطقي وراء حساب الغاز لم يعد يحمل. وعلى هذا النحو، سيتم تطبيق رسوم ثابتة جميع الحالات، مما يسمح بمزيد من الأداء من أي تنفيذ التعليمات البرمجية الديناميكية التي قد يلزم القيام بها وتنسيق معاملة أبسط. • يتم دعم وظيفة خاصة للعقود المدرجة التي تسمح بالتنفيذ التلقائي ومخرجات رسائل الشبكة. في حالة أن سلسلة التتابع تحتوي على جهاز افتراضي ويكون كذلك استنادًا إلى EVM، سيكون لها عدد من التعديلات لضمان أقصى قدر من البساطة. من المحتمل لديك عدد من العقود المضمنة (على غرار تلك الموجودة في العناوين 1-4 في Ethereum) للسماح بالنظام الأساسي المحدد الواجبات التي يجب إدارتها بما في ذلك عقد الإجماع، أ validator العقد وعقد الباراشين. إذا لم يكن EVM، فإن الواجهة الخلفية WebAssembly [2] (wasm) هي البديل الأكثر احتمالاً؛ في هذه الحالة عموما سيكون الهيكل مماثلا، ولكن لن تكون هناك حاجة لكون العقود المضمنة مع Wasm هدفًا قابلاً للتطبيق للغات الأغراض العامة بدلا من اللغات غير الناضجة ولغات محدودة لـ EVM. الانحرافات المحتملة الأخرى عن بروتوكول Ethereum الحالي ممكنة تمامًا، على سبيل المثال تبسيط البروتوكول تنسيق إيصال المعاملة الذي يسمح بالتنفيذ المتوازي للمعاملات غير المتعارضة داخل نفس الكتلة، كما هو مقترح لسلسلة تغييرات Serenity. من الممكن، على الرغم من أنه من غير المحتمل، أن يكون مثل الصفاء يتم نشر السلسلة "النقية" كسلسلة ترحيل، مما يسمح بـ عقد خاص لإدارة أشياء مثل staking token أرصدة بدلا من جعل ذلك جزءا أساسيا من بروتوكول السلسلة. في الوقت الحاضر، نشعر أنه من غير المرجح أن يحدث هذا سيوفر تبسيطًا رائعًا للبروتوكول بشكل كافٍ يستحق التعقيد الإضافي وعدم اليقين الذي ينطوي عليه الأمر في تطويره. 7 كوسيلة لتمثيل المبلغ الذي يكون حامل معين مسؤولاً عن الأمن العام للنظام، فإن حسابات الحصص هذه ستكون كذلك حتما ترميز بعض القيمة الاقتصادية. ومع ذلك، ينبغي أن يكون مفهوما أنه نظرا لعدم وجود نية لاستخدام هذه القيم في بأي طريقة بغرض التبادل بسلع وخدمات في العالم الحقيقي، تجدر الإشارة وفقًا لذلك إلى أنه لا يمكن تشبيه tokens بـ العملة وعلى هذا النحو تحتفظ سلسلة الترحيل بفلسفتها العدمية فيما يتعلق بالتطبيقات.بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 10 هناك عدد من الأجزاء الصغيرة من الوظائف المطلوبة لإدارة آلية الإجماع، ومجموعة validator، وآلية التحقق من الصحة، والمظلات. هذه يمكن تنفيذها معًا بموجب بروتوكول متجانس. ومع ذلك، ولأسباب تتعلق بالنموذجية، فإننا نصفها بأنها "عقود" لسلسلة الترحيل. ينبغي لهذا يجب أن تؤخذ على أنها أشياء (بمعنى برمجة موجهة للكائنات) تتم إدارتها بواسطة آلية الإجماع الخاصة بسلسلة الترحيل، ولكن ليس ذلك بالضرورة يتم تعريفها كبرامج في أكواد التشغيل التي تشبه EVM، ولا حتى أنها يمكن معالجتها بشكل فردي من خلال نظام الحساب. 6.2. عقد التوقيع المساحي. يحافظ هذا العقد على مجموعة validator. يدير: • ما هي الحسابات حاليًا validators؛ • والتي هي متاحة لتصبح validators باختصار إشعار؛ • الحسابات التي وضعت حصة الترشيح لها أ validator؛ • خصائص كل منها بما في ذلك staking الحجم ومعدلات الدفع المقبولة والعناوين وهويات (الجلسة) قصيرة المدى. يسمح للحساب بتسجيل الرغبة في أن يصبح المستعبدين validator (مع متطلباته)، للترشيح لبعض الهوية، وللمستعبدين الموجودين مسبقًا validators لتسجيل رغبتهم في الخروج من هذه الحالة. إنه أيضًا يتضمن الآلية نفسها لآلية التحقق من الصحة وتحديد المعايير الأساسية. 6.2.1. الحصة-token السيولة. ومن المرغوب فيه عموما أن الحصول على أكبر قدر ممكن من إجمالي staking tokens وتشارك ضمن عمليات صيانة الشبكة منذ ذلك الحين وهذا يربط بشكل مباشر أمان الشبكة بـ "القيمة السوقية" الإجمالية لـ staking token. هذا يمكن بسهولة سيتم تحفيزك من خلال تضخيم العملة وتسليم العائدات لأولئك الذين يشاركون باسم validators. ومع ذلك، فإن القيام بذلك يمثل مشكلة: إذا كان token مقفل في عقد التوقيع المساحي تحت عقوبة التخفيض، فكيف يمكن أن يظل جزء كبير كافيًا السائل من أجل السماح باكتشاف الأسعار؟ إحدى الإجابات على ذلك هي السماح بعقد مشتق مباشر، وتأمين tokens القابلة للاستبدال على token المرهونة الأساسية. ومن الصعب ترتيب ذلك بطريقة خالية من الثقة. علاوة على ذلك، لا يمكن معاملة هذه المشتقات token على قدم المساواة لنفس السبب الذي يجعل سندات حكومات منطقة اليورو المختلفة غير قابلة للاستبدال: هناك هي فرصة لفشل الأصول الأساسية وتصبح لا قيمة لها. مع حكومات منطقة اليورو، يمكن أن يكون هناك default. مع validator-s tokens، يجوز validator التصرف بشكل ضار ويعاقب. تمشيًا مع مبادئنا، اخترنا الحل الأبسط: ألا يتم الرهان على جميع token. وهذا يعني ذلك ستبقى نسبة معينة (ربما 20%) من tokens سائلة بالقوة. وعلى الرغم من أن هذا غير مثالي من منظور أمني، فمن غير المرجح أن يحدث فرقًا جوهريًا أمن الشبكة؛ وسيظل من الممكن تقديم 80% من التعويضات الممكنة نتيجة لمصادرة السندات مقارنة بـ "الحالة المثالية" بنسبة 100% staking. يمكن استهداف النسبة بين tokens المرهونة والسائلة بكل بساطة من خلال آلية المزاد العكسي. بشكل أساسي، أصحاب token مهتمون بأن يكونوا validator سينشر كل منهم عرضًا لعقد staking ينص على ذلك الحد الأدنى لمعدل الدفع الذي سيطلبون الحصول عليه جزء. في بداية كل جلسة (ستكون الجلسات يحدث بانتظام، ربما مرة واحدة في الساعة). سيتم ملء الخانات validator وفقًا لكل مرشح محتمل حصة validator ومعدل العائد. خوارزمية واحدة محتملة لأن هذا سيكون بمثابة قبول أولئك الذين لديهم أقل العروض تمثل حصة لا تزيد عن إجمالي الحصة المستهدفة مقسومًا على عدد الفتحات وما لا يقل عن الحد الأدنى لنصف هذا المبلغ. إذا لم يكن من الممكن ملء الفتحات، يمكن تخفيض الحد الأدنى بشكل متكرر بعامل ما من أجل الإرضاء. 6.2.2. ترشيح. من الممكن الترشيح دون ثقة منها staking tokens إلى validator نشط، مما يمنحهم مسؤولية واجبات validators. أعمال الترشيح من خلال نظام التصويت بالموافقة. يستطيع كل مرشح محتمل نشر تعليمات لعقد staking التعبير عن هوية واحدة أو أكثر validator تحت من المسؤولية وهم على استعداد لتكليف سنداتهم. في كل جلسة، يتم توزيع سندات المرشحين على أن تكون ممثلة بواحد أو أكثر من validators. تعمل خوارزمية التشتيت على تحسين مجموعة من validators من الإجمالي المكافئ السندات. تصبح سندات الترشيح تحت المسؤولية الفعلية لـ validator أوكسب الفائدة أو المعاناة أ تخفيف العقوبة وفقا لذلك. 6.2.3. مصادرة/حرق السندات. يؤدي سلوك validator المعين إلى تخفيض عقابي لسنداتهم. إذا يتم تخفيض السند إلى أقل من الحد الأدنى المسموح به، و انتهت الجلسة قبل الأوان وبدأت جلسة أخرى. تتضمن القائمة غير الشاملة لسوء السلوك الذي يعاقب عليه validator ما يلي: • أن تكون جزءًا من مجموعة غير قادرة على تقديم الدعم الإجماع على صحة كتلة المظلة؛ • التوقيع الفعال على صلاحية التوقيع كتلة المظلة • عدم القدرة على توريد حمولات الخروج سابقاً تم التصويت عليه حسب المتاح؛ • عدم النشاط أثناء عملية الإجماع. • التحقق من صحة كتل سلسلة الترحيل على الشوكات المتنافسة. تهدد بعض حالات سوء السلوك سلامة الشبكة (مثل التوقيع على كتل سلسلة غير صالحة والتحقق من صحة جوانب متعددة من الشوكة) وبالتالي تؤدي إلى نفي فعال من خلال التخفيض الكلي للسند. في حالات أخرى أقل خطورة (مثل عدم النشاط في الإجماع العملية) أو الحالات التي لا يمكن فيها تخصيص اللوم بدقة (كونك جزءًا من مجموعة غير فعالة)، جزء صغير يجوز بدلاً من ذلك تغريم السند. وفي الحالة الأخيرة هذا يعمل بشكل جيد مع زبد المجموعة الفرعية للتأكد من أن البرامج الضارة تعاني العقد من خسارة أكبر بكثير من العقد الخيرية المتضررة بشكل جانبي. في بعض الحالات (على سبيل المثال، التحقق من صحة الشوكة المتعددة وغير الصالح توقيع الكتلة الفرعية) لا يستطيع validators اكتشاف سوء سلوك بعضهم البعض بسهولة منذ التحقق المستمر ستكون مهمة كل كتلة باراشين مهمة شاقة للغاية. هنا من الضروري حشد دعم الأطراف الخارجية عملية التحقق للتحقق من سوء السلوك والإبلاغ عنه. يحصل الطرفان على مكافأة مقابل الإبلاغ عن مثل هذا النشاط؛ مصطلحهم "الصيادون" ينبع من عدم الاحتمال من مثل هذه المكافأة. وبما أن هذه الحالات عادة ما تكون خطيرة للغاية، فإننا نتصور أنه يمكن بسهولة دفع أي مكافآت من السند المصادر. بشكل عام نحن نفضل تحقيق التوازن في الحرق (أي التخفيض إلى لا شيء) مع إعادة التخصيص، بدلاً من محاولة إعادة التخصيص بالجملة. وهذا له تأثير
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 11 زيادة القيمة الإجمالية لـ token، وتعويض الشبكة بشكل عام إلى حد ما وليس على وجه التحديد الطرف المشارك في الاكتشاف. هذا هو في المقام الأول بمثابة السلامة الآلية: يمكن أن تؤدي الكميات الكبيرة المعنية إلى تحفيز السلوك المتطرف والحاد إذا كانت جميعها منح لهدف واحد. بشكل عام، من المهم أن تكون المكافأة كبيرة بما يكفي لجعل عملية التحقق جديرة بالاهتمام بالنسبة للشبكة، ولكن ليست كبيرة بحيث تعوض تكاليف مواجهة مشكلة ما. مجرم "على المستوى الصناعي" ممول بشكل جيد وجيد التنظيم هجوم قرصنة على بعض الأشخاص غير المحظوظين validator لإجبارهم على سوء السلوك. بهذه الطريقة، يجب أن يكون المبلغ المطالب به بشكل عام لا أكبر من الرابطة المباشرة للمخطئ validator، لئلا أ ينشأ الحافز الضار من سوء التصرف والإبلاغ عن المكافأة. ويمكن مكافحة هذا إما بشكل صريح من خلال الحد الأدنى من متطلبات السندات المباشرة لكونها validator أو ضمنيًا من خلال تثقيف المرشحين بأن validator الذين لديهم سندات قليلة مودعة ليس لديهم حافز كبير أن تتصرف بشكل جيد. 6.3. سجل الباراشين. يتم تعريف كل مظلة في هذا التسجيل. إنها بنية بسيطة نسبيًا تشبه قاعدة البيانات وتحتوي على معلومات ثابتة وديناميكية كل سلسلة. تتضمن المعلومات الثابتة فهرس السلسلة (ملف بسيط عدد صحيح)، إلى جانب هوية بروتوكول التحقق من الصحة، أ وسائل التمييز بين الفئات المختلفة Parachain بحيث يمكن أن تكون خوارزمية التحقق الصحيحة يتم تشغيله بواسطة validators المخصص لتقديم مرشح صالح. سيركز إثبات المفهوم الأولي على الوضع خوارزميات التحقق الجديدة في العملاء أنفسهم، مما يتطلب بشكل فعال شوكة صلبة للبروتوكول في كل مرة تمت إضافة فئة إضافية من السلسلة. في نهاية المطاف، على أية حال، قد يكون من الممكن تحديد خوارزمية التحقق من الصحة في طريقة صارمة وفعالة بما يكفي للعملاء قادرة على العمل بفعالية مع المظلات الجديدة دون شوكة صلبة. أحد السبل الممكنة لذلك هو التحديد خوارزمية التحقق من صحة Parachain في راسخة، لغة مجمعة محليًا ومحايدة للنظام الأساسي مثل WebAssembly. من الضروري إجراء بحث إضافي لتحديد إذا كان هذا ممكنا حقا، ولكن إذا كان الأمر كذلك، فإنه يمكن أن يحقق معها الميزة الهائلة المتمثلة في استبعاد الشوكات الصلبة من أجل الخير. تتضمن المعلومات الديناميكية جوانب من نظام توجيه المعاملات التي يجب أن تحظى باتفاقية عالمية كقائمة انتظار دخول المظلة (الموصوفة في القسم 6.6). السجل قادر على إضافة المظلات فقط من خلال التصويت في الاستفتاء الكامل؛ يمكن إدارة هذا داخليًا ولكن من المرجح أن يتم وضعها في الخارج عقد الاستفتاء من أجل تسهيل إعادة الاستخدام بموجب المزيد من مكونات الحوكمة العامة. المعلمات ل متطلبات التصويت (على سبيل المثال، أي نصاب قانوني مطلوب، الأغلبية مطلوب) لتسجيل سلاسل إضافية وغيرها، سيتم تحديد ترقيات النظام الأقل رسمية في ملف "master الدستور" ولكن من المرجح أن يتبعوا دستورًا تقليديًا إلى حد ما المسار، على الأقل في البداية. الصياغة الدقيقة خارج نطاق العمل الحالي، ولكن على سبيل المثال. أغلبية الثلثين لتمرير أكثر من ثلث إجمالي النظام قد يكون التصويت على الحصة بشكل إيجابي نقطة انطلاق معقولة. وتشمل العمليات الإضافية تعليق وإزالة المظلات. ونأمل أن التعليق أبدا يحدث ذلك، إلا أنه مصمم ليكون أقل ضمانًا هناك بعض المشاكل المستعصية في نظام التحقق من صحة سلسلة الباراتشين. المثال الأكثر وضوحا حيث قد يكون ذلك ما يلزم هو وجود اختلاف حاسم بالإجماع بين التطبيقات التي تؤدي إلى عدم قدرة validators على الاتفاق عليها صلاحية أو كتل. سيتم تشجيع المصادقين على استخدامها تطبيقات العميل المتعددة حتى يتمكنوا من ذلك لاكتشاف مثل هذه المشكلة قبل مصادرة السندات. وبما أن التعليق هو إجراء طارئ، فإنه سيكون كذلك تحت رعاية الديناميكية validator- التصويت بالأحرى من الاستفتاء. إعادة التثبيت ستكون ممكنة على حد سواء من validators أو الاستفتاء. إن إزالة المظلات تمامًا لن تأتي إلا بعد الاستفتاء والذي سيكون مطلوبا أ فترة سماح كبيرة للسماح بالانتقال المنظم إلى إما سلسلة مستقلة أو أن تصبح جزءًا من سلسلة أخرى نظام الإجماع. من المحتمل أن تكون فترة السماح من ترتيب الأشهر ومن المرجح أن يتم تحديده على أساس كل سلسلة في سجل الباراشين من أجل أن تكون مختلفة يمكن أن تتمتع سلاسل المظلات بفترات سماح مختلفة وفقًا لـ حاجتهم. 6.4. ختم كتل التتابع. يشير الختم، في جوهره، إلى عملية تحديد المعايير القانونية؛ وهذا هو، البيانات الأساسية تحويل الذييرسم الأصل إلى شيء فريد وذو معنى بشكل أساسي. تحت سلسلة PoW، الختم هو بشكل فعال مرادف للتعدين. في حالتنا، يتضمن جمع البيانات الموقعة من validators حول صحة وتوافر وقانونية ملف كتلة سلسلة تتابع معينة وكتل المظلة ذلك إنه يمثل. إن آليات خوارزمية الإجماع BFT الأساسية خارج نطاق العمل الحالي. سوف نقوم بذلك بدلاً من ذلك وصفها باستخدام بدائية والتي تفترض أ آلة الدولة التي تخلق الإجماع. في النهاية نتوقع للاستلهام من عدد من الإجماع الواعد BFT الخوارزميات في القلب؛ Tangaora [9] (أ BFT متغير من الطوافة [16])، النعناع [11] وعسل الغريرBFT [14]. سيتعين على الخوارزمية التوصل إلى اتفاق بشأن سلاسل مظلات متعددة بالتوازي، وبالتالي تختلف عن المعتاد blockchain آليات الإجماع. نحن نفترض ذلك مرة واحدة وبعد التوصل إلى الإجماع، أصبحنا قادرين على تسجيل الإجماع في دليل قاطع يمكن أن يقدمه أي من المشاركين إليها. ونحن نفترض أيضا أن سوء السلوك ضمن البروتوكول يمكن عموما تخفيضها إلى صغيرة مجموعة تحتوي على مشاركين يسيئون التصرف لتقليلها 8. الأضرار الجانبية عند تطبيق العقوبة يتم وضع الدليل، الذي يأخذ شكل بياناتنا الموقعة، في رأس كتلة سلسلة التتابع معًا مع بعض المجالات الأخرى، ليس أقلها جذر Statetrie لسلسلة الترحيل وجذر محاولة المعاملة. ال الختم عملية يأخذ مكان تحت أ واحد توليد الإجماع آلية معالجة على حد سواء ال كتلة سلسلة التتابع وكتل المظلات التي تصنعها جزء من محتوى التتابع: لا يتم "ارتكاب" المظلات بشكل منفصل من قبل مجموعاتها الفرعية ثم يتم تجميعها في وقت لاحق. يؤدي هذا إلى عملية أكثر تعقيدًا لسلسلة الترحيل، ولكنه يسمح لنا بإكمال إجماع النظام بأكمله في مرحلة واحدة، مما يقلل من زمن الوصول ويسمح لمتطلبات توافر البيانات المعقدة للغاية والتي مفيدة لعملية التوجيه أدناه. 8إن مخططات الإجماع القائمة على إثبات الحصة (PoS) BFT مثل Tendermint BFT وSlasher الأصلي تفي بهذه التأكيدات.
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 12 قد تكون حالة آلة الإجماع الخاصة بكل مشارك يمكن تصميمه على شكل جدول بسيط (ثنائي الأبعاد). كل مشارك (validator) لديه مجموعة من المعلومات في النموذج من البيانات الموقعة ("الأصوات") من المشاركين الآخرين، فيما يتعلق بكل مرشح كتلة سلسلة المظلات وكذلك مرشح كتلة سلسلة التتابع. مجموعة المعلومات مكونة من قطعتين من البيانات: التوفر: هل هذا validator لديك الخروج معلومات ما بعد المعاملة من هذه الكتلة لذلك هل هم قادرون على التحقق بشكل صحيح من صحة مرشحي الباراشين في الكتلة التالية؟ يمكنهم التصويت إما 1 (معروف) أو 0 (غير معروف بعد). مرة واحدة التصويت 1، وهم ملتزمون بالتصويت بالمثل بقية هذه العملية. الأصوات في وقت لاحق التي لا تفعل ذلك احترام هذا هو سبب للعقاب. الصلاحية: هل الكتلة المظلية صالحة وهي كلها البيانات المرجعية خارجيًا (على سبيل المثال. المعاملات) متاح؟ هذا ينطبق فقط على validator المعينين لسلسلة الباراشين التي يصوتون عليها. يمكنهم التصويت إما بـ 1 (صالح)، أو -1 (غير صالح) أو 0 (لم يعرف بعد). بمجرد أن يصوتوا بغير الصفر، فإنهم ملتزمون بالتصويت بهذه الطريقة لبقية هذه العملية. الأصوات اللاحقة التي لا تحترم هذا هي أسباب للعقاب. يجب على جميع validators تقديم الأصوات؛ ويجوز إعادة تقديم الأصوات، المؤهلة بموجب القواعد المذكورة أعلاه. تطور يمكن صياغة الإجماع على أنه خوارزميات إجماع قياسية متعددة BFT على كل سلسلة باراشين تحدث بالتوازي. نظرًا لأنه من المحتمل أن يتم إحباطها نسبيًا أقلية صغيرة من الجهات الفاعلة الخبيثة تتركز فيها مجموعة باراشين واحدة، يوجد إجماع عام على ذلك إنشاء مساندة، مما يحد من السيناريو الأسوأ طريق مسدود إلى واحد أو أكثر من كتل المظلة الفارغة (و جولة عقابية للمسؤولين). القواعد الأساسية لصحة الكتل الفردية (التي تسمح بوصول إجمالي مجموعة validators ككل الإجماع على أن يصبح المرشح الفريد من نوعه ليتم الرجوع إليها من التتابع الكنسي): • يجب أن يكون تصويت ثلثي validators على الأقل إيجابيًا وعدم تصويت أي منهم سلبيًا؛ • يجب أن يحصل أكثر من ثلث validator على تصويت إيجابي على توفر معلومات قائمة انتظار الخروج. إذا كان هناك صوت إيجابي واحد على الأقل وصوت سلبي واحد على الأقل بشأن الصلاحية، يتم إنشاء حالة استثنائية ويجب على مجموعة 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 العادية، فهي لن يقوم بالتبديل بين المظلات بل سيفعل ذلك قم بتشكيل مجموعة واحدة للتأكيد على توفر جميع البيانات المهمة بين السلاسل. وهذا له ميزة تخفيف التكافؤ بين المشاركين والسلاسل. في الأساس، يمكن للسلاسل Grow (مع مجموعة السلسلة الأصلية validator)، بينما يمكن للمشاركين، وعلى وجه التحديد أولئك الذين يشاركون في اختبار توافر البيانات، أن يظلوا على الأقل خطيًا فرعيًا وربما ثابت. 6.5.4. تفضيلات المنسق. جانب واحد مهم من هذا النظام هو التأكد من وجود اختيار صحي لل يقوم المجمعون بإنشاء الكتل في أي سلسلة معينة. إذا أ سيطر المنسق الفردي على المظلة ثم بعض الهجمات تصبح أكثر جدوى نظرا لاحتمال عدم وجود سيكون توافر البيانات الخارجية أقل وضوحًا. أحد الخيارات هو وزن كتل المظلات بشكل اصطناعي آلية شبه عشوائية من أجل تفضيل مجموعة واسعة من المجمعات. في الحالة الأولى، سوف نطلب كجزء من آلية الإجماع التي يفضلها validator تم تحديد مرشحي كتلة المظلة على أنهم "أثقل". وبالمثل، يجب علينا تحفيز validators لمحاولة القيام بذلك يقترحون الكتلة الأثقل التي يمكنهم العثور عليها، وقد تكون هذه هي الكتلة يتم ذلك من خلال جعل جزء من مكافأتهم يتناسب مع وزن مرشحهم. لضمان حصول المحصلين على عادلة معقولة فرصة اختيار مرشحهم على أنه الفائز المرشح بالإجماع، فإننا نحدد الوزن المحدد لـ أ يتم تحديد مرشح كتلة المظلة على وظيفة عشوائية متصلة بكل أداة تجميع. على سبيل المثال، أخذ قياس مسافة XOR بين عنوان المُجمِّع وبعض الأرقام العشوائية الزائفة الآمنة تشفيرًا يتم تحديدها بالقرب من نقطة الكتلة التي يتم إنشاؤها ("التذكرة الفائزة" الافتراضية). وهذا يعطي كل منهما بشكل فعال المُجمِّع (أو، بشكل أكثر تحديدًا، عنوان كل مُجمِّع) أ فرصة عشوائية لفوز كتلة مرشحيهم جميع الآخرين. للتخفيف من هجوم سيبيل الذي يقوم به مُجمِّع واحد "ينقب" عن عنوان قريب من التذكرة الفائزة، وبالتالي مفضلًا لكل كتلة، سنضيف بعض القصور الذاتي إلى عنوان المجمّع. قد يكون هذا بسيطًا مثل طلبهم للحصول على مبلغ أساسي من الأموال في العنوان. أكثر سيكون النهج الأنيق هو وزن القرب من التذكرة الفائزة بمبلغ الأموال المتوقفة في العنوان المعني. في حين لم يتم بعد النمذجة، فمن الممكن تماما أن هذه الآلية تمكن حتى جدا أصحاب المصلحة الصغار للمساهمة كمجمع. 6.5.5. كتل الوزن الزائد. إذا تم اختراق مجموعة validator، فيمكنهم إنشاء واقتراح كتلة بالرغم من ذلك صالحة، وتستغرق قدرا هائلا من الوقت للتنفيذ و التحقق من صحة. هذه مشكلة نظرًا لأن مجموعة validator يمكنها ذلك تشكيل كتلة بشكل معقول والتي تستغرق وقتًا طويلاً جدًا التنفيذ ما لم تكن بعض المعلومات المعينة معروفة بالفعل مما يسمح بالاختصار، على سبيل المثال. التخصيم كبير رئيس الوزراء. إذا كان أحد المتعاونين يعرف هذه المعلومات، إذن سيكون لديهم ميزة واضحة في الحصول على ميزة خاصة بهم تم قبول المرشحين طالما كان الآخرون مشغولين بمعالجة الكتلة القديمة. نحن نسمي هذه الكتل الوزن الزائد. الحماية ضد validator التي تقوم بإرسال هذه الكتل والتحقق من صحتها تقع إلى حد كبير تحت نفس المظهر كما في كتل غير صالحة، ولكن مع تحذير إضافي: منذ ذلك الحين الوقت المستغرق لتنفيذ الكتلة (وبالتالي حالتها الوزن الزائد) أمر شخصي، النتيجة النهائية للتصويت على سوف ينقسم سوء السلوك إلى ثلاثة معسكرات أساسية. واحد الاحتمال هو أن الكتلة بالتأكيد ليست زائدة الوزن - وفي هذه الحالة يعلن أكثر من الثلثين أنهم قادرون على ذلك تنفيذ الكتلة ضمن حد معين (على سبيل المثال، 50% من إجمالي الوقت المسموح به بين الكتل). آخر هو أن الكتلة هي دزيادة الوزن بالتأكيد - سيكون هذا إذا كان أكثر من يعلن الثلثان أنهم لا يستطيعون تنفيذ الكتلة ضمن الحد المذكور. هناك احتمال أخير وهو متساوٍ إلى حد ما انقسام في الرأي بين 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 قد وافق صراحة على هذا المنصب. الوحيد القيود التي نضعها على نموذجنا هي تلك المظلات يجب توفيرها وتعبئتها كجزء من الكتلة الشاملة الخاصة بها معالجة الإخراج، والمشاركات التي هي نتيجة تنفيذ الكتلة. تم تنظيم هذه المنشورات على هيئة عدة قوائم انتظار FIFO؛ ال يُعرف عدد القوائم بقاعدة التوجيه وقد يكون كذلك حوالي 16. والجدير بالذكر أن هذا الرقم يمثل الكمية من المظلات التي يمكننا دعمها دون الحاجة إلى اللجوء إليها التوجيه متعدد المراحل. في البداية، Polkadot سيدعم هذا نوع من التوجيه المباشر، ولكننا سنحدد واحدًا ممكنًا عملية توجيه متعددة المراحل ("التوجيه الفائق") كوسيلة من التوسع إلى ما هو أبعد من المجموعة الأولية من المظلات. نحن نفترض ذلك الكل المشاركين أعرف ال مجموعات فرعية للكتلتين التاليتين n، n + 1. باختصار، يتبع نظام التوجيه هذه المراحل: • CollatorS: اتصل بأعضاء V alidators[n][S] • المتعاونون: لكل مجموعة فرعية: تأكد من ذلك عضو واحد على الأقل من V alidators[n][s] على اتصال • المقارنات: لكل مجموعة فرعية: نفترض الخروج [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 [ن] [S] • CollatorS: ضمان بيانات المعاملات الخارجية b.ext أصبح متاحًا للمجمعين وvalidators الآخرين • المقارنات: ل لكل منهما مجموعة فرعية الصورة: أرسل الخروج معلومات الخروج [ن] [S] [ق] = (b.header، b.receipt، b.egress[s]) ل ال تلقي المجموعة الفرعية أعضاء من التالي كتلة أدوات تعديل V[n + 1][s] • V alidatorV: قم بتوصيل جميع أعضاء المجموعة نفسها مسبقًا للكتلة التالية: Let N = Chain[n + 1][V ]; الاتصال جميع validators v بحيث تكون السلسلة[n + 1][v] = N • الإضافة الخامسة : جمع كافة إدخال البيانات لهذا الغرض كتلة: ل لكل منهما مجموعة فرعية الصورة: استرداد egress[n −1][s][Chain[n][V ]]، احصل عليه من validators v الأخرى بحيث Chain[n][v] = Chain[n][V ]. من المحتمل أن يتم المرور عبر validators أخرى تم اختيارها عشوائيًا لإثبات المحاولة. • الإضافة الخامسة : قبول البراهين المرشحة لهذا إثبات الكتلة [سلسلة [ن] [V ]]. صلاحية كتلة التصويت • الإضافة الخامسة : قبول بيانات خروج المرشح ل الكتلة التالية: بالنسبة لكل مجموعة فرعية، اقبل الخروج [ن] [ق] [ن]. توفر مخرج كتلة التصويت؛ إعادة النشر بين المهتمين validators v هكذا السلسلة[n + 1][v] = السلسلة[n + 1][V ]. • المصادقة الخامسة: حتى يتم الإجماع حيث: الخروج [ن] [من] [إلى] هو قائمة انتظار الخروج الحالية معلومات للمشاركات التي تنتقل من Parachain "من"، إلى المظلة "إلى" في الكتلة رقم "ن". CollatorS عبارة عن أداة تجميع لـ parachain S. V alidators[n][s] هي مجموعة validators لـ parachain 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 مجموعات) غير تافهة للدخول وسهلة
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 15 لإثبات. لذلك يُسمح للمجمعين الجدد (ربما من الآلاف القليلة الأخيرة من الكتل) بإصدار تحديات توافر البيانات الخارجية لسلسلة معينة كتلة إلى validators لسندات صغيرة. يجب على المصادقين الاتصال بأولئك الذين ينتمون إلى المجموعة الفرعية validator التي أدلت بشهادتها على ما يبدو، وإما الحصول على البيانات وإعادتها إلى المتعاون أو تصعيد الأمر الأمر من خلال الشهادة على عدم التوفر (الرفض المباشر لتقديم البيانات يعتبر جريمة تستلزم مصادرة السندات، وبالتالي فإن سوء التصرف validator من المرجح أن يكون مجرد قم بإسقاط الاتصال) والاتصال بـ validators الإضافيين لإجراء نفس الاختبار. وفي الحالة الأخيرة، سند المجمع يتم إرجاعها. بمجرد اكتمال النصاب القانوني المكون من validator الذين يمكنهم تقديم شهادات عدم التوفر هذه، يتم إطلاق سراحهم، تتم معاقبة المجموعة الفرعية التي تسيء التصرف، ويتم إرجاع الحظر. 6.6.2. توجيه المشاركات. يتضمن كل رأس باراشين خروج-جذر-جذر؛ هذا هو جذر المحاولة التي تحتوي على ملف صناديق قاعدة التوجيه، كل حاوية عبارة عن قائمة متسلسلة من مراكز الخروج. قد يتم توفير أدلة ميركل عبر Parachain validators لإثبات أن Parachain معينة تحتوي الكتلة على قائمة انتظار خروج معينة لسلسلة Parachain لوجهة معينة. في بداية تجهيز كتلة المظلة لكل منها قائمة انتظار الخروج الخاصة بـ Parachain الأخرى المرتبطة بالكتلة المذكورة هي تم دمجها في قائمة انتظار الدخول الخاصة بالكتلة الخاصة بنا. نحن نفترض قوية، ربما CSPR9، ترتيب الكتلة الفرعية لتحقيق عملية حتمية لا تقدم أي محاباة بين أي الاقتران كتلة المظلة. يقوم Collators بحساب قائمة الانتظار الجديدة وتصريف طوابير الخروج حسب المظلة المنطق. تتم كتابة محتويات قائمة انتظار الدخول بشكل صريح في كتلة المظلة. وهذا له غرضين رئيسيين: أولاً، هذا يعني أنه يمكن مزامنة المظلات بشكل موثوق بمعزل عن المظلات الأخرى. ثانيا، إنه يبسط لوجستيات البيانات في حالة الدخول بالكامل لا يمكن معالجة قائمة الانتظار في كتلة واحدة؛ validators والمجمعون قادرون على معالجة الكتل التالية دون الحاجة إلى مصدر بيانات قائمة الانتظار بشكل خاص. إذا كانت قائمة انتظار دخول الباراشين أعلى من العتبة المبلغ في نهاية معالجة الكتلة، ثم يتم وضع علامة عليه مشبعة على سلسلة التتابع ولا يجوز إرسال رسائل أخرى تسليمه إليها حتى يتم تطهيرها. البراهين ميركل هي تستخدم لإثبات دقة عملية المجمع في دليل كتلة المظلة. 6.6.3. نقد. عيب بسيط يتعلق بهذا الأساسي الآلية هي هجوم ما بعد القنبلة. هذا هو المكان الذي كل شيء ترسل سلاسل المظلات أكبر عدد ممكن من المشاركات إلى باراشين معين. في حين أن هذا يربط الهدف قائمة انتظار الدخول مرة واحدة، ولا يحدث أي ضرر أكثر من ذلك هجوم DoS القياسي للمعاملات. تعمل بشكل طبيعي، مع مجموعة من متزامنة بشكل جيد و أدوات تجميع غير ضارة وvalidators، لسلاسل N parachains، إجمالي N × M validators وL لكل مظلة، نحن يمكن تقسيم إجمالي مسارات البيانات لكل كتلة إلى: المدقق: M −1+L+L: M −1 للـ validators الأخرى في مجموعة المظلة، L لكل مُجمِّع يوفر كتلة باراشين مرشحة وL ثاني لكل مُجمِّع من الكتلة التالية التي تتطلب حمولات الخروج من الكتلة السابقة. (الأخير هو في الواقع أشبه بأسوأ الحالات العملية لأنه من المحتمل أن يشاركها المجمعون البيانات.) Collator: M +kN: M للاتصال بكل ذي صلة كتلة المظلة validator، كيلو نيوتن لبذر حمولات الخروج إلى مجموعة فرعية من كل مجموعة المظلة validator لـ الكتلة التالية (وربما بعض المجمّعات المفضلة). على هذا النحو، تنمو طرق مسار البيانات لكل عقدة بشكل خطي مع التعقيد العام للنظام. بينما هذا معقول، مع توسع النظام إلى مئات أو آلاف المظلات، قد يكون هناك بعض الكمون في الاتصالات استيعابها في مقابل معدل نمو أقل تعقيدا. في هذه الحالة، يمكن استخدام خوارزمية توجيه متعددة المراحل من أجل تقليل عدد المسارات اللحظية على حساب إدخال مخازن التخزين المؤقتة وزمن الوصول. 6.6.4. توجيه المكعب الفائق. توجيه المكعب الفائق عبارة عن آلية يمكن إنشاؤها في الغالب كامتداد لـ آلية التوجيه الأساسية الموضحة أعلاه. في الأساس، بدلاً من زيادة اتصال العقدة بعدد المظلات وعقد المجموعة الفرعية، فإننا ننمو فقط باستخدام لوغاريتم المظلات. قد تنتقل المشاركات بين العديد من طوابير المظلات في طريقهم إلى التسليم النهائي. التوجيه في حد ذاته أمر حتمي وبسيط. نبدأ بها الحد من عدد الصناديق في طوابير الدخول/الخروج؛ بدلاً من أن تكون العدد الإجمالي للمظلات، فهي هيقاعدة التوجيه (ب). سيتم تثبيت هذا كرقم من التغييرات في المظلات، مع رفع أس التوجيه (e) بدلاً من ذلك. وفي ظل هذا النموذج، حجم رسالتنا ينمو مع O(be)، مع بقاء المسارات ثابتة والكمون (أو عدد الكتل المطلوبة للتسليم) مع يا (ه). نموذج التوجيه الخاص بنا هو عبارة عن مكعب زائد ذو أبعاد e، مع وجود كل جانب من جوانب المكعب ب مواقع محتملة. في كل كتلة، نقوم بتوجيه الرسائل على طول محور واحد. نحن قم بتبديل المحور بطريقة دائرية، وبالتالي ضمان وقت تسليم الكتل الإلكترونية في أسوأ الحالات. كجزء من تجهيز الباراشين، متجهة إلى الخارج يتم توجيه الرسائل الموجودة في قائمة انتظار الدخول على الفور إلى حاوية قائمة انتظار الخروج المناسبة، نظرًا لـ رقم الكتلة الحالي (وبالتالي بُعد التوجيه). هذا تتطلب العملية نقل بيانات إضافية لكل قفزة على طريق التسليم، ولكن هذه مشكلة في حد ذاتها والتي يمكن تخفيفها باستخدام بعض الوسائل البديلة تسليم حمولة البيانات بما في ذلك مرجع فقط، بدلاً من الحمولة الكاملة للمنشور في مرحلة ما بعد المحاولة. مثال على توجيه المكعب الفائق لنظام ما مع 4 سلاسل، b = 2 و e = 2 يمكن أن تكون: المرحلة 0، في كل رسالة M: • sub0: إذا كان Mdest ∈{2, 3} ثم أرسل إلى(2) وإلا احتفظ به • sub1: إذا كان Mdest ∈{2, 3} ثم أرسل إلى(3) وإلا احتفظ به • sub2: إذا كان Mdest ∈{0, 1} ثم أرسل إلى(0) وإلا احتفظ به • sub3: إذا كان Mdest ∈{0, 1} ثم أرسل إلى(1) وإلا احتفظ به المرحلة 1، في كل رسالة م: • sub0: إذا كان Mdest ∈{1, 3} ثم أرسل إلى(1) وإلا احتفظ به • sub1: إذا كان Mdest ∈{0, 2} ثم أرسل إلى(0) وإلا احتفظ به • sub2: إذا كان Mdest ∈{1, 3} ثم أرسل إلى(3) وإلا احتفظ به • sub3: إذا كان Mdest ∈{0, 2} ثم أرسل إلى(2) وإلا احتفظ به من السهل رؤية البعدين هنا باعتبارهما البعد الأول قطعتين من فهرس الوجهة؛ للكتلة الأولى، ويتم استخدام البت ذو الترتيب الأعلى وحده. صفقات الكتلة الثانية مع البت ذو الترتيب المنخفض. بمجرد حدوث كلاهما (بشكل تعسفي الطلب) ثم سيتم توجيه المنشور. 9. آمن بشكل عشوائي زائف
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 16 6.6.5. تعظيم الصدفة. تعديل واحد من الأساسي سيشهد الاقتراح إجماليًا ثابتًا قدره c2 -c validators، مع c−1 validators في كل مجموعة فرعية. كل كتلة، بدلا من هناك إعادة تقسيم غير منظمة لـ validators بين المظلات، بدلاً من ذلك لكل مجموعة فرعية من المظلات، سيتم تعيين كل validator إلى فريد ومختلف المجموعة الفرعية المظلية على الكتلة التالية. هذا من شأنه يؤدي إلى الثابت الذي بين أي كتلتين، لأي اثنين من أزواج المظلة، يوجد اثنان من validators لقد تبادلنا مسؤوليات الباراشين. في حين لا يمكن استخدام هذا للحصول على ضمانات مطلقة بشأن التوفر (سوف ينقطع اتصال validator واحد أحيانًا، حتى لو كان خيرية)، ومع ذلك يمكنها تحسين الحالة العامة. وهذا النهج لا يخلو من التعقيدات. إن إضافة المظلة ستتطلب أيضًا إعادة التنظيم من المجموعة validator. علاوة على ذلك، فإن عدد validators، مرتبط بمربع عدد المظلات، سيبدأ في البداية صغيرًا جدًا وينمو في النهاية بعيدًا سريع جدًا، وأصبح لا يمكن الدفاع عنه بعد حوالي 50 مظلة. ولا تعتبر أي من هذه المشاكل أساسية. في الحالة الأولى، إعادة تنظيم مجموعات validator أمر لا بد منه القيام به بانتظام على أي حال. فيما يتعلق بحجم validator المحددة، عندما تكون صغيرة جدًا، قد يتم تعيين عدة validators إلى نفس المظلة، مع تطبيق عامل عدد صحيح على الإجمالي الإجمالي validators. آلية التوجيه متعددة المراحل مثل Hypercube Routing، التي تمت مناقشتها في 6.6.4 ستكون كذلك تخفيف متطلبات عدد كبير من validators عندما يكون هناك عدد كبير من السلاسل. 6.7. التحقق من صحة الباراشين. الغرض الرئيسي لـ validator هو أن يشهد، كممثل جيد الارتباط، أن باراشين الكتلة صالحة، بما في ذلك على سبيل المثال لا الحصر، أي انتقال للحالة، وأي معاملات خارجية متضمنة، وتنفيذ أي مشاركات انتظار في قائمة انتظار الدخول والحالة النهائية من صف الخروج. العملية نفسها بسيطة إلى حد ما. بمجرد إغلاق validator للكتلة السابقة، يصبحون أحرارًا لبدء العمل على توفير كتلة المظلة المرشحة مرشح للجولة القادمة من الإجماع. في البداية، يجد validator مرشحًا لكتلة باراشين من خلال مُجمِّع باراشين (الموصوف لاحقًا) أو واحد من validators المشتركة. بيانات المرشح كتلة Parachain يتضمن رأس الكتلة، ورأس الكتلة السابقة، تم تضمين أي بيانات إدخال خارجية (بالنسبة لـ Ethereum وBitcoin، ستتم الإشارة إلى هذه البيانات على أنها معاملات، ولكن من حيث المبدأ قد تتضمن هياكل بيانات عشوائية لأغراض عشوائية)، وبيانات قائمة انتظار الخروج والبيانات الداخلية لإثبات صحة انتقال الحالة (لـ Ethereum سيكون هذا هو عقد محاولة الحالة/التخزين المختلفة المطلوبة لتنفيذ كل معاملة). تُظهر الأدلة التجريبية مجموعة البيانات الكاملة هذه لكتلة Ethereum حديثة أن تكون على الأكثر بضع مئات من الكي بايت. في الوقت نفسه، إذا لم يتم ذلك بعد، فسيكون validator محاولة استرجاع المعلومات المتعلقة بانتقال الكتلة السابقة، مبدئيًا من الكتلة السابقة validators والإصدارات الأحدث من جميع validators الموقعة على توافر البيانات. بمجرد أن يتلقى validator كتلة المرشح هذه، ثم يقومون بالتحقق من صحتها محليًا. تم تضمين عملية التحقق من الصحة ضمن وحدة validator الخاصة بفئة الباراشين، أ وحدة برمجية حساسة للإجماع والتي يجب كتابتها لأي تنفيذ لـ Polkadot (على الرغم من أنه من حيث المبدأ يمكن للمكتبة التي تحتوي على C ABI تمكين مكتبة واحدة من ذلك أن تكون مشتركة بين التطبيقات مع المناسب انخفاض في السلامة يأتي من وجود تطبيق "مرجعي" واحد فقط). تأخذ العملية رأس الكتلة السابقة وتتحقق من هويتها من خلال سلسلة الترحيل المتفق عليها مؤخرًا الكتلة التي يجب تسجيل hash بها. بمجرد التأكد من صحة الرأس الأصلي، يتم استخدام سلسلة الباراشين المحددة يمكن استدعاء وظيفة التحقق من صحة الفصل. هذه وظيفة واحدة تقبل عددًا من حقول البيانات (تقريبًا تلك المقدمة سابقًا) وإرجاع قيمة منطقية بسيطة إعلان صلاحية الكتلة. ستقوم معظم وظائف التحقق هذه أولاً بالتحقق من حقول الرأس التي يمكن استخلاصها مباشرة من الكتلة الأصلية (على سبيل المثال الأصل hash، الرقم). متابعة هذا، وسوف يقومون بملء أي هياكل البيانات الداخلية كما ضرورية لمعالجة المعاملات و/أو المشاركات. بالنسبة لسلسلة تشبه Ethereum، فإن هذا يصل إلى ملء ملف حاول قاعدة البيانات مع العقد التي ستكون مطلوبة لـ التنفيذ الكامل للمعاملات. قد يكون هناك أنواع أخرى من السلسلة أخرى صآليات تعويضية. بمجرد الانتهاء من ذلك، ستكون منشورات الدخول والمعاملات الخارجية (أو ما تمثله البيانات الخارجية). سنت ومتوازنة وفقا لمواصفات السلسلة. (أ قد يكون الافتراضي المعقول هو المطالبة بجميع مشاركات الدخول تتم معالجتها قبل خدمة المعاملات الخارجية، ولكن هذا يجب أن يقرره منطق سلسلة المفاتيح.) من خلال هذا التشريع، سيتم إنشاء سلسلة من نقاط الخروج تم إنشاؤها وسيتم التحقق من تطابقها بالفعل مرشح المجمع. وأخيرا، المأهولة بالسكان بشكل صحيح سيتم فحص الرأس مقابل رأس المرشح. مع كتلة مرشح تم التحقق من صحتها بالكامل، validator يمكنه بعد ذلك التصويت لصالح hash لرأسه وإرسال كافة معلومات التحقق المطلوبة إلى المشاركين في validators في مجموعته الفرعية. 6.7.1. كولاتور باراشين. مُجمعو Parachain هم مشغلون غير مقيدين يقومون بمعظم مهام عمال المناجم على شبكات blockchain الحالية. فهي محددة إلى باراشين معين. لكي تعمل يجب عليهم الحفاظ على كل من سلسلة التتابع والمزامنة الكاملة المظلة. سيعتمد المعنى الدقيق لعبارة "متزامن بالكامل" على فئة سلسلة Parachain، على الرغم من أنه سيتضمن دائمًا الحالة الحالية لقائمة انتظار دخول سلسلة Parachain. في حالة Ethereum، يتضمن الأمر أيضًا الصيانة على الأقل قاعدة بيانات Merkle-tree للكتل القليلة الأخيرة، ولكن ربما تشمل أيضًا العديد من هياكل البيانات الأخرى بما في ذلك Bloom مرشحات لوجود الحساب والمعلومات العائلية والتسجيل المخرجات وجداول البحث العكسي لرقم الكتلة. بالإضافة إلى الحفاظ على تزامن السلسلتين، فإنه يجب أيضًا "البحث" عن المعاملات عن طريق الاحتفاظ بقائمة انتظار المعاملات وقبول المعاملات التي تم التحقق من صحتها بشكل صحيح من الشبكة العامة. مع قائمة الانتظار والسلسلة، هو عليه قادر على إنشاء كتل مرشحة جديدة لـ validators المختارة في كل كتلة (التي تعرف هويتها منذ مزامنة سلسلة التتابع) وإرسالها مع المعلومات المساعدة المختلفة مثل إثبات الصلاحية، عبر شبكة الأقران. ولمشكلتها، فإنها تقوم بجمع كافة الرسوم المتعلقة بالمعاملات التي تتضمنها. وتدور اقتصاديات مختلفة حول هذا الأمر الترتيب. في سوق تنافسية للغاية حيث هناك هو فائض من المجمعين، فمن الممكن أن الصفقة تتم مشاركة الرسوم مع سلسلة Parachain validators للتحفيز إدراج كتلة مجمعة معينة. بصورة مماثلة،
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 17 قد يقوم بعض المجمعين برفع الرسوم المطلوبة التي تحتاجها ليتم دفعها من أجل جعل الكتلة أكثر جاذبية ل validators. وفي هذه الحالة، يجب أن يتشكل سوق طبيعي مع المعاملات التي تدفع رسومًا أعلى تتخطى قائمة الانتظار وإدراجها بشكل أسرع في السلسلة. 6.8. الشبكات. التواصل على blockchains التقليدية مثل Ethereum وBitcoin لها متطلبات بسيطة إلى حد ما. يتم بث جميع المعاملات والكتل في ثرثرة بسيطة غير موجهة. التزامن أكثر مشاركة، على وجه الخصوص مع Ethereum ولكن في الواقع تم تضمين هذا المنطق في استراتيجية النظير بدلاً من البروتوكول نفسه الذي يتم حله حول عدد قليل من أنواع رسائل الطلب والإجابة. بينما أحرز Ethereum تقدمًا في عروض البروتوكول الحالية باستخدام بروتوكول devp2p، والذي سمح للكثيرين يتم مضاعفة البروتوكولات الفرعية عبر اتصال نظير واحد وبالتالي يكون لها نفس تراكب النظير الذي يدعم العديد من البروتوكولات الفرعية بروتوكولات p2p في وقت واحد، الجزء Ethereum من لا يزال البروتوكول بسيطًا نسبيًا ولا يزال بروتوكول p2p بروتوكول لفترة من الوقت لا يزال غير مكتمل مع المهم وظائف مفقودة مثل دعم جودة الخدمة. للأسف، هناك رغبة في إنشاء بروتوكول "ويب 3" أكثر انتشارًا إلى حد كبير فشل، والمشاريع الوحيدة التي تستخدمه هي تلك صراحة تم تمويله من عملية البيع الجماعي Ethereum. تعتبر متطلبات Polkadot أكثر أهمية. بدلاً من ذلك شبكة موحدة تمامًا، Polkadot لديه عدة أنواع من المشاركين لكل منهم متطلبات مختلفة فيما يتعلق بتركيبة أقرانهم والعديد من الشبكات "الطرق" التي يميل المشاركون إلى التحدث عنها بيانات معينة. وهذا يعني تراكب شبكة أكثر تنظيماً إلى حد كبير - وبروتوكول يدعم ذلك - من المرجح أن يكون ضروريا. علاوة على ذلك، قد تكون قابلية التوسعة لتسهيل الإضافات المستقبلية مثل الأنواع الجديدة من "السلسلة". تتطلب نفسها بنية تراكب جديدة. في حين مناقشة متعمقة لكيفية التواصل قد يبدو البروتوكول خارج نطاق هذه الوثيقة، إلا أن تحليل بعض المتطلبات معقول. نستطيع قم بتقسيم المشاركين في شبكتنا تقريبًا إلى مجموعتين (سلسلة التتابع، المظلات) كل من ثلاث مجموعات فرعية. نستطيع أذكر أيضًا أن كل من المشاركين في الباراشين هم فقط مهتمون بالتحدث فيما بينهم بدلاً من المشاركون في المظلات الأخرى: • المشاركون في سلسلة التتابع: • المصادقون: P، مقسمة إلى مجموعات فرعية P[s] لكل منها المظلة • الجهات الضامنة للتوفر: أ (قد يتم تمثيلها بواسطة جهات المصادقة في الشكل الأساسي للبروتوكول) • عملاء سلسلة الترحيل: م (ملاحظة أعضاء كل مجموعة المظلة سوف تميل أيضًا إلى أن تكون أعضاء M) • المشاركون في الباراشين: • مُجمّعات المظلات: C[0], C[1], . . . • صيادو المظلات: F[0], F[1], . . . • عملاء Parachain: S[0], S[1], . . . • عملاء المظلة الخفيفة: L[0]، L[1]، . . . بشكل عام، نقوم بتسمية فئات معينة من الاتصالات تميل إلى أن تتم بين أعضاء هذه المجموعات: • ف | أ <-> ف | ج: ال كامل مجموعة من validators/الضامنون يجب يكون على اتصال جيد ل تحقيق الإجماع. • P[s] <-> C[s] | P[s]: كل validator كعضو في مجموعة باراشين معينة سوف يميل إلى النميمة مع غيرهم من الأعضاء وكذلك المتعاونين من تلك المظلة لاكتشاف ومشاركة مرشحي الكتلة. • أ <-> P[s] | ج | ج: كل ضامن للتوافر سوف تحتاج إلى جمع سلسلة عبر سلسلة حساسة للإجماع البيانات من validators المخصصة لها؛ المجامع قد يؤدي أيضًا إلى تحسين فرصة التوصل إلى توافق في الآراء بشأنها قم بالحظر عن طريق الإعلان عنه أمام الجهات الضامنة للتوافر. بمجرد حصولهم عليها، سيتم صرف البيانات إلى ضامنون آخرون لتسهيل التوصل إلى توافق في الآراء. • P[s] <-> A | P[s']: المظلة validators سوف تحتاج إلى جمع بيانات إدخال إضافية من المجموعة السابقة من validators أو الجهات الضامنة للتوفر. • F[s] <-> P: عند الإبلاغ، يجوز للصيادين أن يضعوا مكانهم مطالبة مع أي مشارك. • م <-> م | ف | ج: يقوم عملاء سلسلة الترحيل العامة بتوزيع البيانات من validators والجهات الضامنة. • S[s] <-> S[s] | ص[ق] | ج: يقوم عملاء Parachain بتوزيع البيانات من validator/الضامنين. • L[s] <-> L[s] | S[s]: عملاء ضوء المظلة صرف البيانات من العملاء الكاملين. لضمان آلية نقل فعالة، "مسطحة" شبكة التراكب - مثل devp2p الخاص بـ Ethereum - حيث كل منها العقدة لا (بشكل غير تعسفي) تفرق بين صلاحيتها من غير المرجح أن يكون الأقران مناسبين. قابلة للتوسعة بشكل معقول من المحتمل أن تحتاج آلية اختيار الأقران واكتشافهم ليتم تضمينها في البروتوكول وكذلك العدوانية التخطيط للمستقبل لضمان النوع المناسب من الأقران هي "بالصدفة" conneCT في الوقت المناسب. ستكون الإستراتيجية الدقيقة لتكوين الأقران مختلفة لكل فئة من المشاركين: من أجل توسيع نطاقها بشكل صحيح متعددة السلاسل، سوف تحتاج المجمعات إما إلى أن تكون بشكل مستمر إعادة الاتصال بـ validators المنتخب وفقًا لذلك، أو سوف بحاجة إلى اتفاقيات مستمرة مع مجموعة فرعية من validators للتأكد من عدم فصلها خلال الغالبية العظمى من الوقت بحيث تكون غير مجدية لذلك validator. ومن الطبيعي أيضًا أن يحاول المُجمِّعون الحفاظ على واحدة أو اتصالات أكثر استقرارًا في ضامن التوفر تم تعيينها لضمان النشر السريع لتوافقها الحساس data. يهدف ضامنو التوفر في الغالب إلى الحفاظ على اتصال مستقر ببعضها البعض وبـ validators (للإجماع وبيانات الباراشين الحاسمة للإجماع التي يشهدون)، وكذلك لبعض المتعاونين (للباراشين البيانات) وبعض الصيادين والعملاء الكاملين (للتفريق المعلومات). سوف يميل المدققون إلى البحث عن validators أخرى، وخاصة تلك الموجودة في نفس المجموعة الفرعية وأي منها المقارنات التي يمكنها تزويدهم بمرشحات كتلة المظلات. الصيادين، فضلا عن سلسلة التتابع العامة والمظلة سيهدف العملاء عمومًا إلى إبقاء الاتصال مفتوحًا لـ validator أو الضامن، ولكن هناك الكثير من العقد الأخرى المشابهة لأنفسهم غير ذلك. سيهدف عملاء Parachain Light بالمثل إلى أن يكونوا متصلين بالعميل الكامل لـ Parachain، إن لم يكن فقط عملاء ضوء المظلة الآخرين. 6.8.1. مشكلة عنف الأقران. في مقترح البروتوكول الأساسي، تتغير كل مجموعة من هذه المجموعات الفرعية باستمرار بشكل عشوائي مع كل كتلة حيث تم تعيين validators للتحقق يتم اختيار التحولات المظلية بشكل عشوائي. هذا يمكن تكون مشكلة يجب أن تحتاج إليها العقد المتباينة (غير النظيرة). تمرير البيانات بين بعضها البعض. يجب على المرء إما الاعتماد على شبكة نظير موزعة إلى حد ما ومتصلة بشكل جيد
بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 18 تأكد من أن مسافة القفزة (وبالتالي زمن الوصول في أسوأ الحالات) تنمو فقط مع لوغاريتم حجم الشبكة (قد يساعد البروتوكول المشابه لـ Kademlia [13] هنا)، أو لا بد من ذلك تقديم أوقات حظر أطول للسماح بإجراء مفاوضات الاتصال اللازمة للحفاظ على مجموعة نظير يعكس احتياجات الاتصال الحالية للعقدة. لا يعد أي من هذين الحلين رائعًا: أوقات الحظر الطويلة قد يؤدي فرضها على الشبكة إلى جعلها عديمة الفائدة تطبيقات وسلاسل معينة. حتى عادلة تماما والشبكة المتصلة ستؤدي إلى هدر كبير من عرض النطاق الترددي لأنه يتوسع بسبب وجود العقد غير المهتمة لإعادة توجيه البيانات غير المفيدة لهم. وفي حين أن كلا الاتجاهين قد يشكلان جزءاً من الحل، سيكون التحسين المعقول للمساعدة في تقليل زمن الوصول يكون لتقييد تقلبات هذه المظلات validator مجموعات، إما إعادة تعيين العضوية فقط بين سلسلة من الكتل (على سبيل المثال، في مجموعات مكونة من 15 شخصًا، والتي في 4 ثوانٍ وقت الحظر يعني تغيير الاتصالات مرة واحدة فقط في كل مرة دقيقة) أو عن طريق تناوب العضوية بطريقة تدريجية، على سبيل المثال. يتغير بواسطة عضو واحد في كل مرة (على سبيل المثال، إذا كان هناك تم تخصيص 15 validators لكل مظلة، ففي المتوسط ستكون دقيقة كاملة بين فريدة تمامًا مجموعات). من خلال الحد من مقدار تقلب الأقران، والتأكد من إجراء اتصالات مفيدة مع الأقران بشكل جيد التقدم من خلال القدرة على التنبؤ الجزئي للباراشين مجموعات، يمكننا المساعدة في ضمان احتفاظ كل عقدة بشكل دائم اختيار الصدفة من أقرانهم. 6.8.2. المسار إلى بروتوكول الشبكة الفعال. من المحتمل أن ستركز جهود التطوير الأكثر فعالية ومعقولة على استخدام بروتوكول موجود مسبقًا بدلاً من التدوير منطقتنا. توجد العديد من البروتوكولات الأساسية من نظير إلى نظير يجوز لنا استخدام أو تعزيز ما يتضمنه Ethereum من أدوات تطوير devp2p [22]، libp2p الخاص بـ IPFS [1] وGNUnet الخاص بـ GNU [4]. مراجعة كاملة لهذه البروتوكولات وأهميتها لبناء أ شبكة نظيرة معيارية تدعم ضمانات هيكلية معينة وتوجيه ديناميكي نظير وبروتوكولات فرعية قابلة للتوسيع يتجاوز نطاق هذه الوثيقة بكثير ولكنه سيكون بمثابة خطوة مهمة في تنفيذ Polkadot. 7. الجوانب العملية للبروتوكول 7.1. دفع المعاملات Interchain. بينما عظيم يتم اكتساب قدر من الحرية والبساطة من خلال إسقاط الحاجة إلى إطار شامل لمحاسبة الموارد الحسابية مثل غاز Ethereum، وهذا يثير سؤالًا مهمًا: بدون غاز، كيف يمكن لسلسلة واحدة أن تعمل تجنب Parachain آخر من إجبارها على القيام بالحساب؟ بينما يمكننا الاعتماد على قائمة انتظار الدخول بعد المعاملة المخازن المؤقتة لمنع إحدى السلاسل من إرسال بريد عشوائي إلى أخرى بيانات المعاملات، لا توجد آلية مكافئة يوفرها البروتوكول لمنع إرسال البريد العشوائي أثناء معالجة المعاملات. هذه مشكلة متروكة للمستوى الأعلى. منذ السلاسل لهم الحرية في إرفاق دلالات تعسفية بالوارد بيانات ما بعد المعاملة، يمكننا التأكد من أن الحساب يجب أن يتم دفع ثمنها قبل البدء. وعلى نفس المنوال النموذج الذي يتبناه Ethereum الصفاء، يمكننا أن نتخيله عقد "اقتحام" ضمن سلسلة Parachain يسمح بـ validator لضمان الدفع مقابل توفير حجم معين من موارد المعالجة. ويمكن قياس هذه الموارد بشيء مثل الغاز، ولكن يمكن أيضًا أن يكون نموذجًا جديدًا تمامًا مثل وقت التنفيذ الشخصي أو نموذج الرسوم الثابتة الذي يشبه Bitcoin. هذا في حد ذاته ليس مفيدًا جدًا لأننا لا نستطيع أن نفترض بسهولة أن المتصل خارج السلسلة متاح لهم مهما كانت آلية القيمة التي يتم التعرف عليها من خلال الاقتحام العقد. ومع ذلك، يمكننا أن نتخيل عقد "اختراق" ثانوي في سلسلة المصدر. سيشكل العقدان معًا جسرًا، يعترف كل منهما بالآخر توفير معادلة القيمة. (التكديس-tokens، متاح لـ يمكن استخدام كل منها لتسوية ميزان المدفوعات.) إن الاتصال بسلسلة أخرى من هذا القبيل يعني التوكيل من خلال هذا الجسر الذي من شأنه أن يوفر وسائل التفاوض على نقل القيمة بين السلاسل من أجل ادفع مقابل موارد الحساب المطلوبة في سلسلة Parachain الوجهة. 7.2. إضافية سلاسل. بينما ال إضافة من أ تعتبر عملية الباراشين عملية رخيصة نسبيًا، وليست مجانية. المزيد من المظلات يعني عددًا أقل من validators لكل مظلة وفي النهاية، عدد أكبر من validators لكل منها علامة انخفاض متوسط السندات. في حين يتم تخفيف مسألة تكلفة الإكراه الأصغر لمهاجمة سلسلة المظلة الصيادين، مجموعة validator المتنامية تجبر بشكل أساسي على أ درجة أعلى من الكمون بسبب آليات الإجماع الأساسيthod. علاوة على ذلك كل مظلة يجلب معه احتمالية الحزن validators بـ خوارزمية التحقق المرهقة. على هذا النحو، سيكون هناك بعض "السعر" الذي validators و/أو سيقوم مجتمع أصحاب المصلحة بالاستخراج من أجل إضافة مظلة جديدة. هذا السوق للسلاسل سوف ربما نرى إضافة إما: • السلاسل التي من المحتمل أن يكون صافي المساهمة فيها صفرًا (من حيث الحبس أو الحرق staking tokens) التي سيتم جعلها جزءًا (على سبيل المثال، سلاسل الكونسورتيوم، سلاسل دوجي، سلاسل خاصة بالتطبيق)؛ • السلاسل التي تقدم قيمة جوهرية للشبكة من خلال إضافة وظائف معينة صعبة للوصول إلى مكان آخر (على سبيل المثال، السرية، وقابلية التوسع الداخلي، وارتباطات الخدمة). في الأساس، سيحتاج مجتمع أصحاب المصلحة إلى ذلك سيتم تحفيزهم لإضافة سلاسل فرعية - إما ماليًا أو من خلال الرغبة في إضافة سلاسل مميزة إلى التتابع. ومن المتصور أن السلاسل الجديدة المضافة سيكون لها جدا فترة إشعار قصيرة للإزالة، مما يسمح بسلاسل جديدة يتم تجربتها دون أي خطر للمساومة عرض القيمة المتوسطة أو الطويلة الأجل. 8. الاستنتاج لقد حددنا الاتجاه الذي يمكن للمرء أن يتخذه للمؤلف أ بروتوكول متعدد السلاسل قابل للتطوير وغير متجانس مع إمكانية أن يكون متوافقًا مع الإصدارات السابقة لبعض البروتوكولات الموجودة مسبقًا blockchain الشبكات. وبموجب هذا البروتوكول، المشاركين العمل من أجل المصلحة الذاتية المستنيرة لإنشاء نظام شامل يمكن توسيعه بطريقة مجانية بشكل استثنائي ودون تكلفة نموذجية للمستخدمين الحاليين يأتي من تصميم قياسي blockchain. لقد قدمنا مخطط تقريبي للهندسة المعمارية التي ستستغرقها بما في ذلك طبيعة المشاركين وحوافزهم الاقتصادية والعمليات التي يجب أن يشاركوا فيها. لدينا حددت التصميم الأساسي وناقشت نقاط قوته و القيود؛ وفقا لذلك لدينا المزيد من التوجيهات التي قد يخفف هذه القيود ويؤدي إلى مزيد من التقدم نحو حل blockchain قابل للتطوير بالكامل.بولكادوت: رؤية لإطار عمل متعدد السلاسل غير متجانس المسودة 1 19 8.1. المواد المفقودة والأسئلة المفتوحة. يعد تفرع الشبكة دائمًا احتمالًا من خلال التطبيقات المتباينة للبروتوكول. التعافي من مثل هذا لم تتم مناقشة حالة استثنائية. نظرًا لأن الشبكة سيكون لها بالضرورة فترة غير صفرية من الانتهاء، لا ينبغي أن يكون التعافي من تشعب سلسلة الترحيل مشكلة كبيرة، ولكنه سيتطلب دمجًا دقيقًا فيها بروتوكول الإجماع. وقد تم توفير مصادرة السندات والمكافأة على العكس من ذلك لم يتم استكشافها بعمق. في الوقت الحاضر نحن نفترض المكافآت يتم توفيرها على أساس أن الفائز يأخذ كل شيء: وهذا قد لا يكون كذلك تقديم أفضل نموذج تحفيزي للصيادين. ومن شأن عملية الكشف عن الالتزام قصيرة المدة أن تسمح للعديد من الصيادين للمطالبة بالجائزة مع توزيع أكثر عدالة للمكافآت، ومع ذلك، قد تؤدي هذه العملية إلى زمن انتقال إضافي في اكتشاف سوء السلوك. 8.2. شكر وتقدير. الشكر الجزيل لجميع المراجعين الذين ساعدوا في الحصول على هذا بشكل غامض شكل جيد. وعلى وجه الخصوص، بيتر تشابان، بيورن فاغنر، وكين كابلر، وروبرت هابرماير، وفيتاليك بوتيرين، وريتو ترينكلر، وجاك بيترسون. شكرا للجميع الأشخاص الذين ساهموا بالأفكار أو البدايات ولذلك يستحق ماريك كوتيويتز وإيرون بوكانان إشارة خاصة. والشكر للجميع على مساعدتهم على طول الطريق. كل الأخطاء هي بلدي. أجزاء من هذا العمل، بما في ذلك البحث الأولي في تم تمويل خوارزميات الإجماع جزئيًا من قبل البريطانيين الحكومة في إطار برنامج Innovate UK.