Роллапы в последнее время стали фокусом масштабирования BTC, став первым действительно заметным элементом, который украл шоу у Сети Lighting и привлек более широкое внимание. Роллапы предназначены стать вторым уровнем вне блокчейна, который не ограничен или ограничен ограничениями Сети Lighting и основной ликвидностью, то есть конечным пользователям нужно заранее выделить (или «заимствовать») средства, чтобы получить деньги, или промежуточным узлам нужен баланс канала, чтобы обеспечить непрерывное движение платежной суммы от отправителя к получателю.
Эти системы изначально работали на Ethereum и других завершенных системах Тьюринга, но в последнее время акцент переключился на их адаптацию для блокчейна на основе UTXO (например, BTC). В этой статье не будет обсуждаться текущая реализация на BTC, а будет рассмотрена функциональность идеализированного Rollup, на которую давно стремятся люди, и которая зависит от возможности прямой проверки Доказательства с нулевым разглашением (ZKP) на BTC, что в настоящее время не поддерживается.
Основная структура Roll выглядит следующим образом: отдельный счет (в BTC - UTXO) содержит балансы всех пользователей в Rollup. Этот UTXO содержит обязательство, представленное в виде корня Merkle-дерева, содержащего текущие балансы всех счетов в Rollup. Все эти счета авторизованы открытым/закрытым ключом, поэтому для осуществления операций вне блокчейна пользователи по-прежнему должны подписывать определенное содержимое с помощью секретного ключа. Эта часть структуры позволяет пользователям выходить в любое время без разрешения, просто предоставив доказательство того, что их счет является частью дерева Merkle, и они могут односторонне выйти из Rollup без разрешения оператора.
Оператор Rollup должен включить в транзакцию ZKP для обновления корневого хеша баланса счета в блокчейне в процессе завершения вне блокчейна транзакции. Без этого ZKP транзакция будет недействительной и не может быть включена в блокчейн. Это доказательство позволяет людям проверить, было ли все изменения в балансе счета вне блокчейна соответствующим образом авторизовано владельцем счета и не содержит злонамеренных обновлений баланса для кражи средств пользователей или нечестного перераспределения их другим пользователям.
Проблема заключается в том, что если только корень дерева Меркла опубликован в блокчейне, и пользователи могут его просматривать и получать к нему доступ, то как они могут разместить свои ветви в дереве, чтобы иметь возможность выходить из него в любое время без разрешения?
Подходящий Rollup
В подходящей Rollup каждый раз, когда подтверждается новая транзакция вне блокчейна и изменяется состояние счета Rollup, информация непосредственно помещается в блокчейн. Не вся дерево, это слишком абсурдно, а только информация, необходимая для восстановления дерева. В простой реализации все существующие счета Rollup будут содержать суммарные балансы, и счета будут добавляться только в обновленных транзакциях Rollup.
В более продвинутой реализации используется разница в балансе. Это в основном краткое изложение того, какие счета увеличились или уменьшились во время процесса обновления. Это позволяет каждому обновлению Rollup содержать только изменения в остатке счета. Затем пользователь может просто просканировать цепочку и «вычислить» текущее состояние остатка счета из начала Rollup, что позволяет им восстановить текущий баланс в виде дерева Меркла.
Это позволяет сэкономить большие затраты и Блок-пространство (тем самым экономя средства), при этом позволяя пользователям обеспечить доступ к информации, необходимой для одностороннего выхода. Правила rollup требуют включения этих данных в официальный rollup, предоставляемый пользователям через Блокчейн, поэтому транзакции без резюме счета или разницы счета считаются недействительными.
Срок действия
Еще один способ решения проблемы доступности данных для пользователей, связанной с их извлечением - это размещение данных вне Блокчейна. Это вводит тонкие вопросы, поскольку rollup все еще должен обеспечивать доступность данных в другом месте. Традиционно, для этой цели используются другие блокчейны, специально разработанные в качестве слоя доступности данных для систем, таких как rollup.
Это создало трудности с обеспечением безопасности. Когда данные напрямую публикуются в BTCБлокчейн, правила Соглашение могут гарантировать их абсолютную правильность. Однако, когда они публикуются во внешней системе, лучшее, что они могут сделать, это проверить SPV доказательство, то есть, что данные уже опубликованы в другой системе.
Для этого требуется подтверждение того, что данные находятся в блокчейне, что в конечном итоге является вопросом Машины Oracle. Блокчейн BTC не может полностью проверить что-либо, кроме того, что происходит в его собственном блокчейне. Лучшее, что он может сделать, это проверить ZKP. Однако ZKP не может проверить, был ли блок, содержащий данные rollup, действительно широко распространен после его создания. Он не может проверить, действительно ли внешняя информация доступна всем.
Это открыло дверь для атаки задержки данных, то есть создание обязательства по публикации данных и их использование для продвижения rollup, но фактически данные недоступны. Это приводит к невозможности извлечения средств пользователем. Единственным истинным решением является полная зависимость от ценности и структуры стимулов систем, не связанных с BTC.
В замешательстве
Это создает дилемму для rollup. Когда речь идет о проблеме доступности данных, фактически существует двоичный выбор между публикацией данных на блокчейне BTC или в другом месте. Этот выбор имеет серьезное влияние на безопасность и суверенитет rollup, а также на его масштабируемость.
С одной стороны, использование BTC в качестве слоя доступности данных для rollup устанавливает жёсткий верхний предел масштабируемости. Блокчейн ограниченный, что устанавливает предел для количества rollup, которые могут существовать одновременно, и общего количества транзакций, которые могут быть обработаны вне блокчейна. Каждое обновление rollup требует блокчейн пространство, пропорциональное количеству счетов, у которых изменился баланс с момента последнего обновления. В информационной теории данные могут быть сжаты только до определённой степени, и на этом этапе нет больше потенциала для масштабирования.
С другой стороны, использование разных слоев для обеспечения доступности данных устраняет жесткий предел масштабируемости, но также возникают новые вопросы безопасности и суверенитета. В Rollup, который использует BTC для обеспечения доступности данных, если данные, которые пользователь хочет извлечь, не были автоматически опубликованы на блокчейне, состояние Rollup не может измениться. С использованием Validiums это зависит только от способности внешней системы противостоять мошенничеству и скрытию данных.
Теперь любой Блок-продюсер на внешней системе доступности данных может завладеть средствами пользователей BTCRollup, создав Блок вместо того, чтобы фактически транслировать его, делая данные доступными.
Итак, если мы действительно реализуем идеальную реализацию Rollup на BTC, действительно реализуем односторонний вывод пользователей, каково это будет?
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Bitcoin Magazine: Какие проблемы стоят перед Rollup?
Источник: Bitcoin Magazine; Перевод: Ву Жу, Золотые Финансы
Роллапы в последнее время стали фокусом масштабирования BTC, став первым действительно заметным элементом, который украл шоу у Сети Lighting и привлек более широкое внимание. Роллапы предназначены стать вторым уровнем вне блокчейна, который не ограничен или ограничен ограничениями Сети Lighting и основной ликвидностью, то есть конечным пользователям нужно заранее выделить (или «заимствовать») средства, чтобы получить деньги, или промежуточным узлам нужен баланс канала, чтобы обеспечить непрерывное движение платежной суммы от отправителя к получателю.
Эти системы изначально работали на Ethereum и других завершенных системах Тьюринга, но в последнее время акцент переключился на их адаптацию для блокчейна на основе UTXO (например, BTC). В этой статье не будет обсуждаться текущая реализация на BTC, а будет рассмотрена функциональность идеализированного Rollup, на которую давно стремятся люди, и которая зависит от возможности прямой проверки Доказательства с нулевым разглашением (ZKP) на BTC, что в настоящее время не поддерживается.
Основная структура Roll выглядит следующим образом: отдельный счет (в BTC - UTXO) содержит балансы всех пользователей в Rollup. Этот UTXO содержит обязательство, представленное в виде корня Merkle-дерева, содержащего текущие балансы всех счетов в Rollup. Все эти счета авторизованы открытым/закрытым ключом, поэтому для осуществления операций вне блокчейна пользователи по-прежнему должны подписывать определенное содержимое с помощью секретного ключа. Эта часть структуры позволяет пользователям выходить в любое время без разрешения, просто предоставив доказательство того, что их счет является частью дерева Merkle, и они могут односторонне выйти из Rollup без разрешения оператора.
Оператор Rollup должен включить в транзакцию ZKP для обновления корневого хеша баланса счета в блокчейне в процессе завершения вне блокчейна транзакции. Без этого ZKP транзакция будет недействительной и не может быть включена в блокчейн. Это доказательство позволяет людям проверить, было ли все изменения в балансе счета вне блокчейна соответствующим образом авторизовано владельцем счета и не содержит злонамеренных обновлений баланса для кражи средств пользователей или нечестного перераспределения их другим пользователям.
Проблема заключается в том, что если только корень дерева Меркла опубликован в блокчейне, и пользователи могут его просматривать и получать к нему доступ, то как они могут разместить свои ветви в дереве, чтобы иметь возможность выходить из него в любое время без разрешения?
Подходящий Rollup
В подходящей Rollup каждый раз, когда подтверждается новая транзакция вне блокчейна и изменяется состояние счета Rollup, информация непосредственно помещается в блокчейн. Не вся дерево, это слишком абсурдно, а только информация, необходимая для восстановления дерева. В простой реализации все существующие счета Rollup будут содержать суммарные балансы, и счета будут добавляться только в обновленных транзакциях Rollup.
В более продвинутой реализации используется разница в балансе. Это в основном краткое изложение того, какие счета увеличились или уменьшились во время процесса обновления. Это позволяет каждому обновлению Rollup содержать только изменения в остатке счета. Затем пользователь может просто просканировать цепочку и «вычислить» текущее состояние остатка счета из начала Rollup, что позволяет им восстановить текущий баланс в виде дерева Меркла.
Это позволяет сэкономить большие затраты и Блок-пространство (тем самым экономя средства), при этом позволяя пользователям обеспечить доступ к информации, необходимой для одностороннего выхода. Правила rollup требуют включения этих данных в официальный rollup, предоставляемый пользователям через Блокчейн, поэтому транзакции без резюме счета или разницы счета считаются недействительными.
Срок действия
Еще один способ решения проблемы доступности данных для пользователей, связанной с их извлечением - это размещение данных вне Блокчейна. Это вводит тонкие вопросы, поскольку rollup все еще должен обеспечивать доступность данных в другом месте. Традиционно, для этой цели используются другие блокчейны, специально разработанные в качестве слоя доступности данных для систем, таких как rollup.
Это создало трудности с обеспечением безопасности. Когда данные напрямую публикуются в BTCБлокчейн, правила Соглашение могут гарантировать их абсолютную правильность. Однако, когда они публикуются во внешней системе, лучшее, что они могут сделать, это проверить SPV доказательство, то есть, что данные уже опубликованы в другой системе.
Для этого требуется подтверждение того, что данные находятся в блокчейне, что в конечном итоге является вопросом Машины Oracle. Блокчейн BTC не может полностью проверить что-либо, кроме того, что происходит в его собственном блокчейне. Лучшее, что он может сделать, это проверить ZKP. Однако ZKP не может проверить, был ли блок, содержащий данные rollup, действительно широко распространен после его создания. Он не может проверить, действительно ли внешняя информация доступна всем.
Это открыло дверь для атаки задержки данных, то есть создание обязательства по публикации данных и их использование для продвижения rollup, но фактически данные недоступны. Это приводит к невозможности извлечения средств пользователем. Единственным истинным решением является полная зависимость от ценности и структуры стимулов систем, не связанных с BTC.
В замешательстве
Это создает дилемму для rollup. Когда речь идет о проблеме доступности данных, фактически существует двоичный выбор между публикацией данных на блокчейне BTC или в другом месте. Этот выбор имеет серьезное влияние на безопасность и суверенитет rollup, а также на его масштабируемость.
С одной стороны, использование BTC в качестве слоя доступности данных для rollup устанавливает жёсткий верхний предел масштабируемости. Блокчейн ограниченный, что устанавливает предел для количества rollup, которые могут существовать одновременно, и общего количества транзакций, которые могут быть обработаны вне блокчейна. Каждое обновление rollup требует блокчейн пространство, пропорциональное количеству счетов, у которых изменился баланс с момента последнего обновления. В информационной теории данные могут быть сжаты только до определённой степени, и на этом этапе нет больше потенциала для масштабирования.
С другой стороны, использование разных слоев для обеспечения доступности данных устраняет жесткий предел масштабируемости, но также возникают новые вопросы безопасности и суверенитета. В Rollup, который использует BTC для обеспечения доступности данных, если данные, которые пользователь хочет извлечь, не были автоматически опубликованы на блокчейне, состояние Rollup не может измениться. С использованием Validiums это зависит только от способности внешней системы противостоять мошенничеству и скрытию данных.
Теперь любой Блок-продюсер на внешней системе доступности данных может завладеть средствами пользователей BTCRollup, создав Блок вместо того, чтобы фактически транслировать его, делая данные доступными.
Итак, если мы действительно реализуем идеальную реализацию Rollup на BTC, действительно реализуем односторонний вывод пользователей, каково это будет?