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