Bitcoin Magazine: В чем сложности роллапа?

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

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

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

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

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

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

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

Подходящий Rollup

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

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

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

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

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

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

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

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

Дилемма

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

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

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

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

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

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