📢 Gate.io Пост Тег Вызов: #MyFavoriteToken# Опубликуйте и ВЫИГРАЙТЕ $100!
Есть любимый токен, о котором вы волнуетесь? Будь то технические инновации, поддержка сообщества, или рыночный потенциал, присоединяйтесь к событию #MyFavoriteToken# и поделитесь с нами своими идеями!
💡 Как принять участие:
Bitcoin Magazine: В чем сложности Rollup?
Источник: Bitcoin Magazine; Подборка: Пять Бат, Золотые Финансы
Роллапы в последнее время стали центром внимания в контексте масштабирования Биткойна и стали первым действительно вне блокчейна решением, которое оттягивает внимание от Сети Lighting и привлекает более широкий интерес. Роллапы представляют собой второй уровень вне блокчейна, который не ограничивается ограничениями и ограничениями Сети Lighting и обеспечивает непрерывное движение средств от отправителя к получателю, при условии, что конечный пользователь распределяет (или «заимствует») средства заранее или узлы маршрутизации имеют баланс канала для облегчения передачи средств.
Эти системы изначально работали на платформе Ethereum и других Тьюринг завершенных системах, но в последнее время основное внимание переключилось на их портирование на основанные на UTXO блокчейны (например, BTC). В данной статье не предполагается обсуждение текущей ситуации с реализацией на BTC, а скорее обсуждение функциональности идеализированного Rollup, которую люди давно преследуют, зависящей от функциональности, которую BTC в настоящее время не поддерживает, а именно, возможности прямой проверки Доказательств с нулевым разглашением (ZKP) на BTC.
Базовая архитектура Roll выглядит следующим образом: каждый счет (UTXO в BTC) хранит балансы всех пользователей в Rollup. Этот UTXO содержит обязательство, которое представляет собой корень Merkle-дерева и содержит текущие балансы всех счетов в Rollup. Все эти счета авторизованы открытыми ключами/закрытыми ключами, поэтому для вывода средств вне блокчейна пользователи все еще должны подписывать некоторые данные с помощью секретного ключа. Эта часть структуры позволяет пользователям выйти в любое время без разрешения, просто предоставив доказательство транзакции, что их счет является частью Merkle-дерева. Они могут односторонне выйти из Rollup без разрешения оператора.
Операторы Rollup должны включать ZKP в транзакцию, чтобы обновить баланс счета в блокчейне в процессе завершения вне блокчейна транзакции merkle root, если нет этого ZKP, транзакция будет недействительной и не может быть включена в блокчейн. Это доказательство позволяет людям проверить, получили ли все изменения баланса счета вне блокчейна должное согласие владельца счета, а также, что оператор не злоупотребляет обновлением баланса для кражи средств пользователя или нечестно перераспределяет их другим пользователям.
Вопрос заключается в том, как пользователи могут поместить свои ветви в дерево, чтобы иметь возможность без разрешения выйти из него в любое время, если только корень Merkle-дерева опубликован в блокчейне, и пользователи могут его просматривать и получать к нему доступ?
Подходящий Rollup
В подходящем Rollup каждый раз, когда подтверждается новая вне блокчейна транзакция и изменяется состояние счет Rollup, информация непосредственно помещается в блокчейн. Не вся дерево, это было бы слишком абсурдно, а только информация, необходимая для воссоздания дерева. В простой реализации весь существующий счет в Rollup будет содержать сводку баланса, и счет будет добавляться только в обновлении транзакций Rollup.
В более продвинутой реализации используется разница в балансе. Это, по существу, сводка того, какие счета увеличились или уменьшились во время обновления. Это позволяет каждому обновлению Rollup содержать только изменения баланса счета, которые произошли. Затем пользователь может просто просканировать цепочку и "вычислить" текущее состояние баланса счета с начала Rollup, что позволяет им восстановить текущее состояние баланса Мерклевого дерева.
Это позволяет сэкономить большие затраты и пространство Блок (тем самым экономя средства), позволяя пользователям обеспечить доступ к информации, необходимой для одностороннего выхода, при этом. Правила rollup требуют включения этих данных в официальный rollup, предоставляемый пользователям с использованием Блокчейна, то есть транзакции без резюме или различий в счетах считаются недействительными.
Срок действия
Еще один способ решить проблему доступности данных для извлечения пользователей - размещение данных в другом месте, отличном от цепочки Блоков. Это вводит тонкую проблему, rollup все еще должен обязательно гарантировать доступность данных в другом месте. Традиционно для этой цели использовались другие блокчейны, специально разработанные в качестве уровня доступности данных для систем типа rollup.
Это создает такую же серьезную проблему с безопасностью. Когда данные напрямую публикуются на Блокчейн Биткойн, Соглашение может гарантировать их абсолютную правильность. Однако, когда они публикуются во внешней системе, лучшее, что она может сделать, это проверить доказательство SPV, то есть то, что данные были опубликованы в другой системе.
Для этого требуется доказательство того, что данные находятся в другом блокчейне, и в конечном итоге это проблема машины Oracle. Блокчейн BTC не может полностью проверить что-либо, кроме того, что происходит в его собственном блокчейне, лучшее, что он может сделать, это проверить ZKP. Однако ZKP не может проверить, был ли блок, содержащий данные роллап, действительно опубликован после его создания. Он не может проверить, действительно ли внешняя информация открыта для всех.
Это открыло дверь для атаки задержки данных, то есть создание обязательств по опубликованию данных и их использование для продвижения rollup, но фактически данные недоступны. Это приводит к невозможности изъятия средств пользователями. Единственным истинным решением является полная зависимость от ценности и структуры стимулов систем, отличных от BTC.
Застенчивость и нерешительность
Это создает для rollup дилемму. Когда речь идет о проблеме доступности данных, существует фактически бинарный выбор между публикацией данных на блокчейне BTC или в другом месте. Этот выбор имеет серьезное влияние на безопасность и суверенитет rollup, а также на его масштабируемость.
С одной стороны, использование Биткойн Блокчейн в качестве слоя доступности данных устанавливает жесткий предел масштабируемости для роллапа. Блоки ограничены по месту, что устанавливает предел для количества роллапов, которые могут существовать одновременно, а также общего количества транзакций, которые могут обрабатываться вне блокчейна. При обновлении роллапа требуется блоковое пространство, пропорциональное количеству счетов, где произошли изменения баланса с момента последнего обновления. Теория информации позволяет сжимать данные только до определенной степени, и на этом нет больше потенциала для расширения.
С другой стороны, использование различных уровней для обеспечения доступности данных устранит жесткий верхний предел расширяемости, но также повлечет за собой новые вопросы безопасности и суверенитета. В случае использования Rollup для обеспечения доступности данных с использованием BTC, если данные, которые пользователь хочет извлечь, не были автоматически опубликованы в блокчейне, состояние Rollup не сможет измениться. При использовании Validiums эта гарантия полностью зависит от способности используемой внешней системы сопротивляться мошенничеству и скрытию данных.
Сейчас любой Блок-производитель на системе доступности внешних данных может захватить средства пользователей BTCRollup, производя Блоки, а не фактически транслируя их.
Итак, если мы действительно реализуем идеальную реализацию Rollup на BTC и действительно реализуем односторонние снятия пользователей, каково это будет?