The AERGO Merkle Bridge-Explained. Hunyoung Park

merklbridge

Merkle Bridge — это новый дизайн для взаимодействия между блокчейнами / боковыми цепями, который прост, децентрализован, безопасен и экономически эффективен. Он будет использоваться для обеспечения межсетевого соединения и связи между активами на платформе Aergo.

Перевод статьи Hunyoung Park и Pierre-Alain Ouvrard

Aergo разрабатывается как широкая платформа для разработчиков, разработчиков децентрализованных приложений (dApp), системных интеграторов, провайдеров телекоммуникационных услуг / хостинга, предприятий и малых и средних предприятий, чтобы объединить мощную семантику технологии блокчейна с безсерверными облачными вычислениями на новом предприятии с открытым исходным кодом. ИТ-платформа, которая проста в использовании для всех заинтересованных сторон.

Aergo может стать продуктивной платформой для разработчиков dApp и системных архитекторов для создания децентрализованных приложений и протоколов в их собственной выделенной цепочке. Aergo впервые в истории  предлагает исключительную производительность и экономическую эффективность, выполняя умные контракты, написанные на Lua / SQL, обработку данных с использованием сверхбыстрого механизма баз данных и кодирование приложений с использованием модели изоморфного программирования.

Aergo также может предоставить программную инфраструктуру — невероятно простое для внедрения ИТ-решение, которое организации могут использовать для обмена данными и функциональными возможностями с третьими сторонами контролируемым образом — в качестве равных партнеров. Все виды организаций, включая финтех, государственные или корпоративные компании, могут автоматизировать ключевые аспекты своих внешних бизнес-процессов интегрированным и последовательным образом, одновременно укрепляя безопасность. Организация, создающая сценарий использования с другими объектами, может управлять своей собственной выделенной частной цепью и сотрудничать с третьими сторонами, управляющими их собственными частными цепями, при расчете обменов или обменов информацией с помощью нашей общедоступной цепочки блоков.

Технически, Aergo как платформа обеспечивает исключительную полезность для взаимодействия между блокчейнами или боковыми цепями в процессах, как описано выше. Такая совместимость влечет за собой две вещи. Во-первых, проверка подлинности состояний между различными цепями: это решается нашим Aergo StateTrie, выпущенным в октябре 2018 года.

В этой статье можно подробнее ознакомиться с Aergo StateTrie.

Во-вторых, и, что более актуально, это упрощает передачу и связь между блоками, как это предусмотрено мостом Aergo Merkle. В этом посте описывается, как это делает Merkle Bridge, и что это такое.

 

Технический контекст

 

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

  1. Токен выдается на блокчейне А
  2. Сделан запрос на передачу токена в блокчейн B
  3. Токен на блокчейне А заблокирован
  4. Копия токена производится в блокчейне B в соотношении 1: 1 к сумме, заблокированной в блокчейне A
  5. Заблокированный токен в блокчейне A можно разблокировать только в том случае, если его копия была удалена в блокчейне B

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

Примером реализации является контракт Cosmos Peggy.sol, который валидаторы Cosmos используют для передачи активов в другие цепочки блоков через Cosmos Hub. Другим примером является мост сети POA, который передает токены между Ethereum и цепочкой POA. Передача событий депозита для передачи токенов хорошо работает для подключения различных типов блокчейнов, включая блокчейны на основе UTXO, такие как биткойн, блокчейны с учетными записями на основе состояния Merkelized, например Ethereum, и блокчейны на основе учетных записей без состояния Merkelized, например EOS.

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

Этот компромисс может быть улучшен двумя способами:

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

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

В Aergo мы соединяем коммерческие цепочки Merkelized State с общедоступной публичной сетью Aergo, поэтому мы искали более эффективный способ соединения двух цепочек блоков; используя доказательства state Merkle вместо событий.

Merkelized State Trie

Чтобы управлять Merkle Bridge между двумя блокчейнами, их состояние должно быть Merkelized в структуре данных, такой как Aergo StateTrie (модифицированное Sparse Merkle Tree) или модифицированное Patricia Tree Ethereum. Aergo StateTrie была выпущена в октябре 2018 года и представлена ​​в предыдущей статье.

Одной из причин использования модифицированного Sparse Merkle Tree (StateTrie) в Aergo является эффективность и размер доказательств Merkle, которые лучше, чем у дерева Patricia tree- для проверки доказательств требуется меньше газа, и мы можем допустить меньшие размеры транзакций. Тем не менее, мы также разработаем мост Эфириум-Аерго Меркле, используя как Ethereum Patricia tree, так и доказательства Aergo StateTrie Merkle.

Аутентификация состояния блокчейна обеспечивает согласованную безопасность и позволяет легким клиентским кошелькам безопасно взаимодействовать с блокчейном. Это ключ к функциональной совместимости цепочки блоков, поскольку он позволяет проверять любое состояние цепочки блоков в приложении (контракте) на другой цепочке блоков. В настоящее время Merkle Bridge поддерживает только токенов и трансферы Aergo, но исследуются и другие приложения, такие как проверка данных Oracle и вызовы функций между блокчейнами.

Дизайн Merkle Bridge

Боковые цепочки Proof of Authority часто используют привязку своего состояния к публичной цепочке, чтобы обеспечить источник проверяемой правды. Merkle Bridge использует эти привязанные корни состояний, чтобы пользователи могли отправлять доказательства состояния боковой цепи.

Преимущества включают следующее:

  • Просто : операторам моста нужно только опубликовать и подписать окончательный статус root, который, по их мнению, действителен, запустив полный узел
  • Гибко децентрализованно, безопасно: корни состояний могут быть подписаны многими другими валидаторами в течение периода привязки, что делает его более децентрализованным и безопасным
  • Эластично: передача токенов не может быть произвольно подвергнута цензуре без изменения корня состояния боковой цепи
  • Рентабельно: микротрансферы могут быть сделаны, а весь депонированный баланс может быть эмитирован / разблокирован, подтверждение Merkle дешевле, чем проверка подписи

Это похоже на Plasma?

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

Как это работает?

Доказательство реализации концепции Merkle Bridge между двумя блокчейнами Aergo можно найти в этом хранилище. Операторы моста Они запускают полный узел для каждой цепочки блоков, которую они соединяют. Через регулярные интервалы (возможно, каждые 10 минут) они получают последний завершенный корень состояния и регистрируют его на противоположном блокчейне в переменных состояния Root и Height контракта моста. 511

Передача активов

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

512 513

Кошелек пользователя прочтет новый корень привязанного состояния (Root, Height) в блокчейне назначения и запросит у Merkle подтверждение включения его заблокированного баланса для этого корня состояния в полный узел. Заблокированный баланс пользователя регистрируется в сопоставлении состояния Locks, где ключи являются ссылками учетной записи для токена. Ссылка на учетную запись — это объединение адреса пользователя и адреса токена.

514

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

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

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

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

Подробнее о проверке доказательства Merkle в контракте Merkle Bridge описано в  этой статье.

Заключение

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

Могут быть разработаны другие идеи, чтобы сделать привязку более безопасной и децентрализованной, например, привязанные валидаторы, специальный период для отмены привязки корня состояния. Привязка недопустимого корневого состояния требует, чтобы 2/3 валидаторов были повреждены. Этими валидаторами могут быть производители блочного POA, а также некоторые официальные юридические лица, связанные лица.

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

hunyoungpark1

Hunyoung Park

Член правления фонда AERGO и технический директор Blocko Inc.


Опубликовано

в

от

Метки:

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *