Роллапы в последнее время стали фокусом масштабирования 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 текущее состояние баланса счета, что позволяет им восстановить текущий баланс Мерклового дерева.
Это позволяет сэкономить большие затраты и Блок пространство (тем самым экономя средства), при этом по-прежнему позволяет пользователям гарантировать доступ к информации, необходимой для одностороннего выхода. Правила 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; Компиляция: Wu Zhu, Jinse Finance
Роллапы в последнее время стали фокусом масштабирования 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 текущее состояние баланса счета, что позволяет им восстановить текущий баланс Мерклового дерева.
Это позволяет сэкономить большие затраты и Блок пространство (тем самым экономя средства), при этом по-прежнему позволяет пользователям гарантировать доступ к информации, необходимой для одностороннего выхода. Правила 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 и действительно реализуем односторонние снятия пользователей, что это будет означать?