5 июня 2023

Парачейны (parachains) Polkadot

Перевод 

Это вольный перевод: wiki.polkadot.network/docs/learn-parachains

Определение парачейна

Парачейн — структура данных, специфичная для конкретного приложения, которая является глобально согласованной и может быть проверена валидаторами релейной цепи

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

Один парачейн

Благодаря своей параллельной природе, они могут распараллелить обработку транзакций и достичь масштабируемости протокола Polkadot. Они наследуют безопасность всей сети и могут общаться с другими парачейнами через формат XCM (Cross-Consensus Message Format).

Парачейны обслуживаются сетевым администратором, известным как коллатор

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

Стимулирование узла-коллатора — (важная) деталь реализации парачайна. От них не требуется быть зачисленными в цепочку Relay Chain или владеть собственным токеном, если это не предусмотрено реализацией (конкретного) парачейна.

Переходы состояний

Как и другие блокчейны, парачейны являются детерминированными машинами состояний. 

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

Каждый парачейн имеет своё собственное состояние, а релейная цепь связывает все эти состояния в одно состояние, т.е. состояние состояний

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

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

Состояние парачайна хранится в дереве Меркла. Деревья Меркла обладают удобным свойством: если некоторые значения внутри дерева изменяются, это отражается в корне Меркла (в данном случае, в корне состояния). Можно проверить изменение, посмотрев только на новые значения и пути, которые затрагиваются в дереве.

Polkadot Host требует, чтобы переходы состояний, выполняемые на парасейнах, были указаны как исполняемый Wasm

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

Ключевым ограничением в отношении логики парачайна является то, что она должна быть проверяема валидаторами релейной цепи. 

Верификация чаще всего принимает форму пакетного доказательства перехода состояния, известного как блок Proof-of-Verification (PoV), который передается на проверку валидаторам с одного или нескольких коллаторов парачайна.

Почему парачейны?

Парачейны — решение двух фундаментальных проблем блокчейн:

  1. Масштабируемость: наличие одного блокчейна для многих целей затрудняет его масштабирование, поскольку будущие реализации и обновления, скорее всего, будут давать преимущества одним целям и недостатки другим. И наоборот, наличие различных блокчейнов позволит им реализовывать функции, не затрагивая другие цепи. 
  2. Гибкость (Универсальность): Разумно утверждать, что блокчейн будет либо действительно хорош в решении одной проблемы, либо не очень хорош в попытках решить множество проблем. Блокчейн, специализирующийся на решении конкретной проблемы, имеет больше рычагов влияния на себя и своих пользователей. Парачейны — специально созданные блокчейны, которые являются узкоспециализированными и могут использовать преимущества друг друга посредством сотрудничества.

Совместная безопасность

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

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

Понятие общей безопасности отличается от межцепочечных протоколов, построенных на архитектуре мостов. 

В мостовых протоколах каждая цепочка считается суверенной и должна поддерживать свой собственный набор валидаторов и экономическую безопасность. 

Одним из вопросов, вызывающих беспокойство в этих протоколах, является вопрос масштабируемости безопасности. 

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

Основной недостаток этой идеи заключается в том, что монеты с более низкой рыночной стоимостью будут иметь меньшую экономическую безопасность и будут легче подвергаться атакам. 

Реальный пример атаки 51% произошёл недавно (атака на Ethereum Classic 10 января 2019 года), в ходе которой неизвестный злоумышленник дважды потратил 219 500 ETC (~1,1 млн долларов США). За этим последовали еще две 51%-ные атаки на ETC.

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

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

Модель PoW против модели Parachain

Давайте сравним стандартную суверенную модель безопасности, существующую в современных цепочках proof-of-work (PoW), с моделью общей безопасности Polkadot. 

Цепочки, обеспеченные своими моделями безопасности, такие как Bitcoin, Zcash и их производные, должны создавать свою независимую сеть майнеров и поддерживать конкурентоспособную долю честного хэширования

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

Это означает, что небольшие сети, которые не могут поддерживать безопасный объём хэш-мощностей в своих сетях, потенциально могут быть атакованы крупным картелем майнеров по простой прихоти перенаправить хэш-мощности от Биткоина к новой, менее безопасной цепи. 

Атаки на 51% сегодня вполне жизнеспособны: об атаках сообщалось на Ethereum Classic (см. выше), Verge, Bitcoin Gold и другие криптовалюты.

На Polkadot такого несоответствия между безопасностью цепочки не будет. Когда парачейн подключается к Polkadot, валидаторы релейной цепи становятся защитниками переходов состояния этого парачейна. У парачайна будет только накладные расходы на запуск нескольких узлов-коллаторов, чтобы держать валидаторов в курсе последних переходов состояния и доказательств / свидетельств. Затем валидаторы будут проверять их для парачейнов, к которым они приписаны. Таким образом, новые парачейны мгновенно получают преимущества от общей безопасности Polkadot, даже если они только что запущены.

Экономика парачейнов

Парачейны могут иметь свою экономику с помощью собственных токенов. Такие схемы, как Proof-of-Stake, обычно используются для выбора набора валидаторов для проверки и финализации; от парачейнов не потребуется делать ни того, ни другого. 

Однако, поскольку Polkadot не слишком требователен к тому, что может реализовать парачейн, парачейн может по своему усмотрению реализовать токен стейкинга, но это, как правило, не обязательно.

Коллаторы могут быть стимулированы через инфляцию собственного токена parachain. Могут существовать и другие способы стимулирования узлов-коллаторов, не связанные с раздуванием собственного токена parachain.

Плата за транзакции в нативном токене parachain также может быть выбором реализации parachain. 

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

Парачейны не обязаны иметь свой токен. Если они это сделают, то экономическое обоснование своего токена будет зависеть от парачайна, а не от Polkadot. [Прим. Menaskop: в скором времени мы, думаю, убедимся, что это и будет влиять на итоговую безопасность]. 

Парачейн-хабы

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

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

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

Из-за необходимой задержки при отправке межцепочечных сообщений некоторые парачейны планируют стать центрами для целой отрасли

Например, парачейн-проект Acala планирует стать центром для децентрализованных финансовых приложений (DeFi). 

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

Одним из примеров этого являются флэш-кредиты, которые заимствуют средства для выполнения некоторой логики на цепочке при условии, что кредит будет погашен в конце транзакции.

Проблема кроссчейн-задержки означает, что свойство композитивности ослабевает среди парачейнов по сравнению с одним блокчейном. 

Эта проблема характерна для всех блокчейнов с шардированием, включая Polkadot, Eth2.0 и другие. Решением этой проблемы является внедрение парачейн-хабов, которые сохраняют более сильное свойство композитивности одного блока.

Приобретение слота парачейна

Polkadot поддерживает ограниченное количество парачейнов, в настоящее время их около 100. Поскольку количество слотов ограничено, существует несколько способов их распределения:

  1. Гранты;
  2. Аукционы;
  3. Треды (паратреды). 

Системные парачейны выделяются управлением сети Polkadot и являются частью протокола сети, например, мостами к другим сетям или цепям. Они обычно не имеют экономической модели и помогают убрать транзакции из релейной цепи, позволяя более эффективно обрабатывать парачейны.

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

Parathreads имеют тот же API, что и parachain, но планируются к выполнению на основе оплаты по мере необходимости с аукционом для каждого блока.

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

Системные парачейны — парачейны, которые используют ядра исполнения, выделенные руководством сети. Эти цепочки удаляют транзакции из релейной цепочки, позволяя валидаторам сети выделять ресурсы для валидации парачейнов. 

Системная цепочка — это Polkadot, использующий свою технологию масштабирования для размещения самого себя.

Случаи использования парачейнов

Обратите внимание, что нам ещё предстоит увидеть истинный потенциал парачейнов и то, что они собой представляют, но ниже перечислены несколько примеров.

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

Высокочастотные цепочки: эти цепи могут вычислять много транзакций за короткое время, принимая определённые компромиссы или делая оптимизацию.

Конфиденциальные цепочки: эти цепочки не передают никакой информации в открытый доступ благодаря новой криптографии.

Цепочки смарт-контрактов: эти цепочки могут иметь дополнительную логику, реализованную посредством развёртывания кода, известного как смарт-контракты.

Парачейн-хост

Polkadot включает в себя блокчейн, называемый релейной (по сути — ретрансляционной) цепочкой. 

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

Все пути через DAG заканчиваются на блоке Genesis. Блокчейн представляет собой дерево, поскольку каждый блок может иметь только одного родителя.

Сеть блокчейна состоит из узлов, которые имеют представление о многих развилках цепи и должны решить, какой развилке следовать. Для построения парачейн-хоста нам необходимо ответить на две категории вопросов, решаемых двумя различными компонентами:

  1. Какова функция перехода состояния блокчейна? Этим занимается Runtime, который определяет логику перехода состояний цепочки. Логика Runtime подразделяется на:
    1. То, как модули инкапсулируют определённое поведение протокола и состоят из:
      1. Хранилища; 
      2. Маршрутов, которые вызываются точками входа и другими модулями при инициализации или закрытии блока. Маршруты могут изменять хранилище модуля.
      3. Точкой входа, которая определяет, как новая информация вводится в модуль, и может ограничивать источник, из которого они вызываются (пользователь, root, parachain).
    2. API предоставляет средства для поведения на стороне узла для извлечения значимой информации из состояния одного форка.
  2. Зная о различных форках блокчейна, какое поведение должен принимать узел? Какую информацию узел должен извлекать из состояния форков и как эту информацию использовать? Этим занимается поведение на стороне узла, которое определяет все действия, предпринимаемые узлом с учетом его представления о блокчейне. Поведение на стороне узла можно разделить на две категории:
    1. Сетевое поведение, относящееся к тому, как информация распространяется между узлами, но не к тому, как эта информация используется впоследствии.
    2. Основное поведение, относящееся к внутренней работе, которую выполняет конкретный узел. Такое поведение заботится о том, что информация распространяется и принимается, но не о том, как это достигается.

Эти две категории часто взаимодействуют, но они могут быть в значительной степени абстрагированы друг от друга. Поведение на стороне узла разбивается на различные подсистемы, которые выполняют определённую категорию работы. Подсистемы могут взаимодействовать друг с другом через Overseer, который предотвращает условия гонки.

Ресурсы

Соучредитель Polkadot Роб Хабермайер определил парачейн в 2017 году как «более простую форму блокчейна, который присоединяется к безопасности, обеспечиваемой релейной цепочкой, а не обеспечивает свою собственную. Релейная цепочка обеспечивает безопасность прикреплённых парачейнов, но также даёт гарантию безопасной передачи сообщений между ними».

Примечание Menaskop

Всё описанное не освобождает нас от проблем PoS-семейства. Вот они:

  1. Трилогия о PoS: часть первая;
  2. Трилогия о PoS: часть вторая;
  3. Трилогия о PoS: часть третья;
  4. Блокчейн vs. DLT;
  5. О (D/L)PoS-семействе

На этом всё и 

До!

Обсудить в Discord!

Menaskop
  • Зарегистрирован: 22 мая 2012 г.
  • Локация:London/United Kingdom
  • Сайт:penroseisparty.com