Bitcoin Magazine: В чем заключается проблема Rollup?

robot
Генерация тезисов в процессе

Источник: Bitcoin Magazine; Подборка: Пять Бат, Золотые Финансы

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

Эти системы изначально работали на платформе Ethereum и других завершенных Тьюринг-полных системах, но в последнее время акцент сместился на их портирование на блокчейны, основанные на UTXO (например, BTC). В этой статье не планируется обсуждать текущее состояние реализации на BTC, а скорее обсудить функциональность идеального Rollup, которая зависит от возможности прямой проверки Доказательства с нулевым разглашением (ZKP) на BTC, что в настоящее время не поддерживается.

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

Оператор Rollup должен включить в транзакцию ZKP, чтобы обновить корень merkle баланса счета в блокчейне при выполнении вне блокчейна транзакции. Без этого ZKP транзакция будет недействительна и ее нельзя включить в блокчейн. Это доказательство позволяет людям проверить, получило ли все изменения счета вне блокчейна должное согласие владельца счета, и не имеет ли оператор злонамеренно обновил баланс, чтобы украсть средства пользователей или недобросовестно перераспределить их другим пользователям.

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

Подходящий Rollup

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

В более продвинутой реализации используйте разницу в балансе счета. Это в основном краткое изложение того, какие счета увеличили или уменьшили средства в процессе обновления. Это позволяет каждому обновлению Rollup содержать только изменения баланса счета, которые произошли. Затем пользователи могут просто просканировать цепочку и «вычислить» с начала Rollup текущее состояние баланса счета, что позволяет им восстановить текущее состояние баланса через дерево Меркля.

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

Срок действия

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

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

Это требует доказательства того, что данные существуют в другой цепи, и в конечном итоге это проблема Машина Oracle. Блокчейн BTC не может полностью подтвердить что-либо, происходящее вне его собственного блока, лучшее, что он может сделать, это подтвердить ZKP. Однако ZKP не может подтвердить, что данные rollup в блоке были действительно обнародованы после их генерации. Он не может проверить, действительно ли внешняя информация доступна всем.

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

Противоречивая ситуация

Это ставит Rollup перед дилеммой. Когда речь идет о вопросе доступности данных, существует двоякое решение: либо публикация данных на блокчейне BTC, либо в другом месте. Этот выбор имеет серьезное влияние на безопасность, суверенитет и масштабируемость Rollup.

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

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

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

Итак, если мы действительно реализуем идеальную реализацию Rollup на BTC и действительно достигнем одностороннего вывода пользователей, каким это будет?

Посмотреть Оригинал
  • Награда
  • комментарий
  • Поделиться
комментарий
Нет комментариев