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

Исследователи и разработчики трудятся над улучшением, обновлением и усовершенствованием проекта 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, отвечают за прием, валидацию и повторную публикацию блоков в релейной цепи с использованием гибридного протокола консенсуса, который состоит из протокола финализации (GRANDPA) и механизма создания блоков (BABE).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Мы предусмотрели множество способов для более широкого круга коммьюнити Polkadot быть в курсе того, что происходит.

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

Данная статья является переводом на русский язык официальной статьи с веб-сайта Polkadot, ранее опубликованный Natali.

Original published in June 3, 2020, "An Updated Overview of Polkadot"

Мы также рекомендуем ознакомиться c lightpaper Polkadot на русском языке.

Присоединяйтесь в Telegram чат "Subsocial на русском", общайтесь и получайте самые свежие новости о SubSocial

0
3sPM3K…WueaD7Post author

Polkadot Russian Community (Полкадот Россия и страны СНГ)

0 comments

Polkadot Russian Community (Полкадот Россия и страны СНГ)