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