Обновленный обзор Polkadot

Natali
Polkadot Network Russia
5 min readJun 7, 2020

Исследователи и разработчики трудятся над улучшением, обновлением и усовершенствованием проекта Polkadot с тех пор, как он был впервые предложен Gavin Wood в 2016 году. Новая работа “Обзор Polkadot и его конструктивные особенности”(“Overview of Polkadot and its Design Considerations”) дополняет первоначальный whitepaper, предоставляя обновленный, более углубленный обзор протокола.

Polkadot впервые появился в 2016 году, когда Gavin Wood опубликовал whitepaper, описывающий техническую основу проекта.

Он отметил, что технология блокчейн имеет многообещающие перспективы. Но, в то же время, существуют проблемы, которые способствуют ограничению ее реального применения. Polkadot стремится решить эти проблемы и создать масштабируемую блокчейн архитектуру (которая может расти вместе с увеличивающимся спросом на неё), где различные блокчейны с уникальным функционалом могут взаимодействовать друг с другом на основе системы с общей безопасностью, закладывая основы для интернета следующего поколения.

Новый документ “Обзор Polkadot и его конструктивные особенности” дополняет whitepaper, представляя обновленный, более углубленный обзор компонентов субпротоколов Polkadot. Некоторые моменты изложены ниже.

Основа

Polkadot — это масштабируемый гетерогенный блокчейн. Это означает, что он состоит из основного блокчейна, называемого релейная цепь(Relay chain), который взаимодействует с параллельными шардированными цепочками, известными как парачейны. Эти парачейны можно рассматривать в качестве клиентов релейной цепи, целью которой является обеспечение безопасности и координации.

Управление

Polkadot имеет сложную систему управления, в которой все владельцы DOT (нативный токен Polkadot) имеют право голоса. Предложения могут быть выдвинуты либо владельцем DOT, либо Советом. В обоих случаях предложение должно быть согласовано на референдуме на основе проголосовавшего стейка.

Все владельцы DOT могут подать заявку для рассмотрения в Совете. Совет состоит из 23 членов с фиксированным сроком полномочий в один месяц. Роль Совета заключается лишь в том, чтобы представлять пассивных участников сети, важные предложения и, в исключительных случаях, отменять бесспорно опасные или злонамеренные предложения.

Предложения Совета имеют преимущество только в том, что требуют меньшего количества голосов “за” для принятия на референдуме по сравнению с публичным предложением. Предложения совета должны быть поддержаны строгим большинством членов Совета и без наложения вето. Опасные или злонамеренные предложения могут быть отменены только при единогласном голосовании.

Технический комитет (состоящий из команд, которые внедрили протокол в Polkadot) существует с единственной целью обнаружения ошибок в коде и ускоренного отслеживания аварийных обновлений или изменений в цепочке. Команды могут быть добавлены или удалены большинством голосов Совета.

Использование Сокровищницы контролируется всеми владельцами DOT с помощью референдумов. Сокровищница пополняется средствами, направляя часть вознаграждений валидаторов, а также часть комиссий за транзакции и слешинга (штраф, уплаченный валидатором, который действует злонамеренно или некорректно). Эти средства используются для оплаты бесперебойного функционирования системы и всей экосистемы (маркетинг, публичные мероприятия и информационно-пропагандистская деятельность).

Nominated Proof of Stake

Система Nominated proof of stake (NPoS) — это некая адаптация системы proof of stake (PoS), в которой неограниченное число владельцев токенов может поддерживать большое, но ограниченное число валидаторов (в генезисе ожидается порядка сотни). Выбранные валидаторы отвечают за запуск релейной цепи.

Это позволяет иметь валидаторы с огромным количеством стейка, гораздо большим, чем у любого отдельного пользователя. Поскольку номинанты получают не только часть наград валидаторов, но и “разделяют” возможный слешинг,они получают экономический стимул выбирать валидаторов с хорошей репутацией.

Таким образом, NPoS не только гораздо более эффективен, чем proof of work (PoW), но и значительно более безопасен и децентрализован, чем PoS-схемы без делегирования стейка, где только несколько китов (владельцев большого количества токенов) могут когда-либо стать валидаторами.

Более подробное описание системы NPoS вы можете найти в статьях Validator election in nominated proof-of-stake и How Nominated Proof-of-Stake will work in Polkadot.

Создание блоков и консенсус

Валидаторы, выбранные с помощью NPoS, отвечают за прием, валидацию и повторную публикацию блоков в релейной цепи с использованием гибридного протокола консенсуса, который состоит из протокола финализации aka finality gadget (GRANDPA) и механизма создания блоков (BABE).

Эта комбинация дает 1) вероятностную финализацию BABE согласно правилу выбора цепочки, где через определенный промежуток времени блок будет финализирован с вероятностью, близкой к единице, и 2) доказуемую и детерминированную финализацию GRANDPA, где финализированные блоки остаются окончательными навсегда.

Объединение этих механизмов позволяет избежать возможности непреднамеренного форка (опасность вероятностной финализации) и позволяет быстро финализировать блоки, поскольку более медленный механизм финализации завершает блоки отдельно, не рискуя замедлить обработку транзакций или приостановить работу.

Валидность и доступность

Коллаторы парачейнов создают proof of validity (PoV) блок и отправляют его валидаторам парачейна, которые подписывают его заголовок. В блок релейной цепи добавляется заголовок с достаточным количеством подписей.

После создания парачейн блока парачейн блоб (PoV блок и набор исходящих сообщений) должен быть доступен в течение некоторого периода времени, чтобы все валидаторы могли убедиться в его валидности. Чтобы валидаторы могли совместно гарантировать доступность, используется система erasure coding. Она распределяет PoV блок по всем валидаторам.

Polkadot имеет три уровня проверки валидности.

Во-первых, когда PoV блок проверяется валидаторами парачейна, они подписывают и распределяют коды стирания (erasure codes) парачейн блоба каждому валидатору.

Во-вторых, ожидается, что ноды, выступающие в качестве рыбаков (которые могли бы функционировать как коллаторы), будут сообщать о невалидных блоках.

В-третьих, несколько случайно выбранных валидаторов проверяют валидность. Если возникает серьезная проблема и блок не становится доступным для них, они могут восстановить PoV блок с достаточным количеством фрагментов кода стирания, которые были распределены на первом уровне.

Если валидаторы обнаружат сообщения о невалидности, предоставленные другими валидаторами, блоб может быть восстановлен из распределенных фрагментов кода стирания. Если появится определенное количество сообщений о невалидности и сообщений о том, что валидаторы не имеют фрагмента кода стирания, блок релейной цепи не будет финализирован.

Если в релейной цепи будет обнаружен невалидный парачейн блок, то его валидаторы будут подвержены слешингу. Получается, что стоимость создания невалидного блока в Polkadot выше, чем суммарный стейк в отдельно взятом парачейне.

Если все парачейн блоки, на которые ссылается блок релейной цепи, имеют достаточное количество сообщений о валидности и нет никаких проблем, то этот блок может быть финализирован GRANDPA.

Система кроссчейн передачи сообщений

Система кроссчейн передачи сообщений (Cross-Chain Message Passing (XCMP) позволяет передавать сообщения между различными парачейнами быстро, надежно и безопасно. Одна из главных целей XCMP заключается в том, чтобы обеспечить согласованную историю сообщений, переданных между парачейнами.

Она состоит из двух частей:

• Согласованная история: Метаданные парачейн блока включаются в релейную цепь и впоследствии используются для аутентификации сообщений принимающим парачейном.

• Надежная доставка: Сообщения, соответствующие этим метаданным, должны быть доставлены от отправителя к получателю.

Порядок сообщений определяется с помощью простого механизма очереди, основанного на дереве Меркла.

Более подробную информацию о XCMP вы можете найти в статье Polkadot’s Messaging Scheme.

Оригинальная статья

Для получения более подробной информации об этих и других компонентах дизайна и субпротоколах загрузите полную статью здесь.

Будьте в курсе событий

Чтобы узнавать о последних изменениях в проекте Polkadot, следите за блогом и исследованиями Web3 Foundation.

Присоединяйтесь к обсуждению в Telegram и Riot, или подписывайтесь на новостную рассылку Polkadot. Узнайте больше о Polkadot, изучив Polkadot Lightpaper и Polkadot Wiki. Собираетесь стать валидатором Polkadot? Присоединяйтесь к Polkadot’s validator lounge в Riot.

Если хотите поддержать автора, номинируйте DOT валидатору

https://polkadot-cc1.subscan.io/waiting/16PVNBGgWd6PzkzERZcjqWdXnKYBX6YSWNKY7svMYzG5XuEo

Не знаете как, присоединяйтесь к Telegram(Ru): t.me/PolkadotRu и мы вам расскажем.

Чтобы получить доступ к исходной статье, посетите официальный английский блог Polkadot.

--

--