Bitcoin Magazine: В чем заключаются трудности Rollup?

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

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

Rollups в последнее время стали центральной темой для масштабирования BTC, став первым по-настоящему ‘отобравшим’ внимание от Сеть Lighting , в более широком смысле. Rollups призваны стать вторым уровнем вне блокчейна, который не ограничен или не зависит от ключевой Ликвидность Сеть Lighting , то есть конечный пользователь должен иметь заранее выделенные (или ‘заимствованные’) средства, чтобы получить деньги, или промежуточный Узел должен иметь баланс канала, чтобы обеспечить полную передачу средств от отправителя к получателю.

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

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

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

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

Подходящий Rollup

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

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

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

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

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

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

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

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

Замкнутый круг

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

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

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

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

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

BTC0.96%
ETH1.6%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить