Гибридная доступность данных: принудительные выводы BitVM на BOB

Продвинутый2/10/2025, 12:39:52 PM
BOB создает гибридное решение, которое позволяет пользователям выводить активы через транзакции Bitcoin без использования Ethereum. Он использует Ethereum для доступности данных и Bitcoin для устойчивости к цензуре. Пользователи сохраняют данные вывода в Bitcoin Taproot outputs и завершают транзакции двухфазным процессом фиксации/раскрытия.

Пользователям Bitcoin должно быть достаточно BTC на Bitcoin, чтобы выполнить вывод их BTC из BOB обратно в Bitcoin. Мы работаем над гибридным решением: по умолчанию переходить на Ethereum в качестве DA, позволяя пользователям принудительно включать транзакции на BOB через специальную транзакцию на Bitcoin. Мы с нетерпением ждем возможности поделиться нашей работой в этом блоге.

tl;dr

  • Уровень 2 должен иметь ту же устойчивость к цензуре, что и уровень 1, на котором они основаны
  • На BOB пользователи уже могут принудительно вывести свои активы с BOB на Ethereum через транзакцию Ethereum
  • Для своего моста BitVM BOB работает над интеграцией Bitcoin как способа для пользователей обеспечивать транзакции на BOB
  • Пользователи Bitcoin смогут вывести свои BTC из BOB без необходимости отправлять транзакцию в BOB

Одно из основных свойств L2s заключается в том, что их состояние должно развиваться даже когда секвенсор отключен. L2s достигают этого, читая и записывая свое состояние из слоя доступности данных (DA), который может быть обновлен независимо от того, находится ли L2 в сети. Таким образом, пользователи могут принудительно включать свои транзакции, даже если сиквенсор находится в автономном режиме, или сиквенсор не принимает их транзакции непосредственно.

Для моста BitVM BOB это представляет собой интересную проблему. В настоящее время BOB использует блобы Ethereum EIP-4844 как свой уровень DA. Пользователи на Ethereum могут легко инициировать выводы обратно в Bitcoin через мост BitVM. Однако для этого требуется, чтобы у пользователей был ETH на Ethereum.

Этого недостаточно для нас: пользователи Bitcoin должны иметь только BTC на Bitcoin, чтобы осуществить вывод своих BTC из BOB обратно в Bitcoin. Мы работаем над гибридным решением: с использованием Ethereum в качестве DA по умолчанию, позволяя пользователям принудительно включать транзакции на BOB через специальную транзакцию на Bitcoin. Мы с радостью поделимся нашими продвижениями в этом блоге.

Фоновая информация о DA и производных

Процесс происхождениеэто довольно важно для L2: вся состояние L2 BOB должно быть построено из L1 и слоя DA. Это позволяет L2 наслаждаться той же самой устойчивостью к цензуре, что и слой DA, в нашем случае Ethereum.

Упрощенныйв rollups (конкретно в цепочках OP Stack) у нас есть два типа данных на уровне L1:

  • Операции по депозитусделаны ​​к контракту "OptimismPortal". Это транзакции, которые совершают пользователи на Ethereum обычно для депонирования своих активов в BOB. Эти депозитные транзакции также могут быть использованы для выполнения других транзакций на BOB.
  • Партии, представленные секвенсором (или op-batcher, чтобы быть более точным) из транзакций L2. В них включены все транзакции, совершенные пользователями напрямую на BOB, и в конечном итоге они возвращаются в блобы Ethereum.

Биткоин как DA Layer

Если мы хотим, чтобы биткоин был в качестве DA-уровня, почему бы полностью не перейти к использованию биткоина исключительно в качестве DA-уровня? Ответ в основномстоимостьБиткоин имеет очень мало доступного хранилища (примерно 4 МБ примерно каждые 10 минут), и, таким образом, стоимость хранения высока.

Однако в нашем случае BOB все еще может использовать Ethereum в качестве своего «основного» слоя DA, где он размещает всю свою транзакционную информацию, но добавляет Bitcoin в качестве высокоцензурного запасного слоя, если Ethereum DA недоступен. По сути, Ethereum становится оптимистичным слоем DA, а Bitcoin становится дорогим, но устойчивым в крайнем случае.

Гибридный производственный трубопровод

Базовым решением является добавление биткойна в BOB как части конвейера производных, таким образом, чтобы BOB (и, в частности, «оп-узел») обрабатывал входы в этом порядке:

  1. Транзакции с принудительным выводом Bitcoin (новые, добавленные специально для BOB)
  2. Депозиты Ethereum на контракт OptimismPortal (стандарт OP Stack) BOB
  3. Пакеты Ethereum от op-batcher (стандарт OP Stack)

Давайте рассмотрим возможное решение для кодирования транзакций вывода Bitcoin в вынужденные транзакции BOB. Обратите внимание, что это все еще находится в стадии исследований, поэтому возможны изменения.

Транзакции принудительного вывода биткоинов

Для создания вынужденной транзакции вывода нам понадобятся три части:

  1. Создайте транзакцию принудительного вывода на Bitcoin.
  2. Сохраните транзакцию принудительного вывода на Биткойне в пределах размеров Биткойна.
  3. Обработка стоимости газа для принудительной транзакции по выводу на Bitcoin.

1. Создайте транзакцию принудительного вывода

Стек OPтранзакция депозитаимеет следующую структуру:

  • sourceHash: хеш-источник, уникально идентифицирующий происхождение депозита.
  • адрес от: Адрес учетной записи отправителя.
  • address to: Адрес учетной записи получателя или пустой (нулевой) адрес, если внесенная транзакция является созданием контракта.
  • uint256 mint: Значение ETH для выпуска на L2.
  • uint256 значение: ETH-значение, отправляемое на счет получателя.
  • uint64 газ: Предел газа для транзакции L2.
  • bool isSystemTx: Если значение true, транзакция не взаимодействует с пулом газа блока L2.
  • байтовые данные: calldata.

Принудительная транзакция вывода требует включения закодированной транзакции вывода в поле данных транзакции депозита. Это делается путем создания транзакции на BOB, которая инициирует вывод с BOB на Bitcoin и будет работать точно так же, как если бы транзакция была отправлена с Ethereum.

Мы можем затем сохранить (сжатую) версию транзакции принудительного вывода на Bitcoin, которая включает в себя все вышеперечисленные данные.

2. Сохраните транзакцию принудительного вывода на Биткоин

Поскольку объем данных для принудительной транзакции вывода больше, чем обычно должен храниться в выходных данных OP_RETURN, мы скорее всего будем использовать Taprootвывод для хранения данных.

Хотя легко определить транзакцию депозита (которая может включать вывод) на Ethereum, поскольку она отправляется на контракт OptimismPortal BOB, но не так легко определить транзакцию принудительного вывода на Bitcoin.

Сериализация данных: Транзакция принудительного вывода сериализуется с использованием скриптов Taproot в структуре «конверта». Они являются noops в сети Bitcoin и используются, например, для Ordinals. Мы настраиваем структуру под наши нужды.

Unset
OP_FALSE OP_IF
OP_PUSH "боб"
OP_1
OP_PUSH «транзакция»
OP_0
OP_PUSH $WITHDRAWAL_TRANSACTION_DATA
OP_ENDIF
Схема двухфазного подтверждения/раскрытия:
Как и с порядковыми числительными, пользователи должны будут отправить две транзакции на биткоин:

  • Commit Transaction: Создает Taproot-выход, закрепляющий скрипт с содержимым надписи. В этой транзакции данные еще не раскрываются, и нам понадобится вторая транзакция для полных узлов BOB и синхронизаторов, чтобы включить транзакцию вывода.
  • Раскрыть транзакцию: тратит вывод из транзакции фиксации, раскрывая надпись на цепочке, то есть раскрывая пользовательскую транзакцию вывода для включения в BOB.

3. Обработка затрат на газ для транзакции вынужденного вывода

Это самая открытая проблема на данный момент, с двумя вариантами, которые в настоящее время находятся на рассмотрении:

  • Установите газ на 0 для транзакции принудительного вывода на Bitcoin и вычитайте расходы на газ из баланса ETH пользователя на BOB. Таким образом, только пользователи, у которых есть ETH на BOB, могут принудительно выводить средства. Однако это не является хорошим вариантом, так как для принудительного вывода пользователи должны иметь ETH на BOB, то есть пользователи, у которых есть BTC на Bitcoin, не могут принудительно выводить средства.
  • Газ оплачивается пользователями в BTC на Bitcoin. Сети BOB потребуется иметь адрес на Bitcoin, который может получать BTC и эффективно обменивать полученные пользователем BTC на ETH на BOB для оплаты части расходов на газ плюс затраты на выполнение. Этот вариант вероятен при использованииШлюз BOBи устанавливая адрес EVM BOB DAO в качестве получателя BTC.

Мы также экспериментируем с большим количеством идей, поэтому следите за обновлениями!

Собираем все вместе

Любой может определить состояние BOB, просто проверив данные о Bitcoin и Ethereum:

  1. Прочитайте все транзакции вывода из Bitcoin. Они закодированы как две транзакции для каждого вывода, т.е. одна транзакция commit и одна транзакция reveal. Это дополнение, которое мы вносим в стек OP и где мы улучшаем процесс производства.
  2. Прочитайте все транзакции, совершенные с контрактом OptimismPortal BOB на Ethereum. Это уже является частью стандартного процесса вывода стека OP.
  3. Читайте все транзакции, сделанные непосредственно на BOB и интегрированные как часть пакетов на Ethereum. Важно, что полные узлы не читают непосредственно из последователя, чтобы получать подтвержденные транзакции, а читают из блобов Ethereum. Это уже является частью стандартного конвейера вывода стека OP.

Технические проблемы

Согласованность данных: Важно обеспечить согласованность данных между цепями Ethereum и Bitcoin, однако простое наличие данных транзакции на обеих цепях не гарантирует их действительности. Транзакции должны представлять собой действительные переходы состояний в соответствии с функцией перехода состояний роллапа, чтобы считаться законными. Для решения этой проблемы требуется внедрение логики валидации внутри op-узла (или других реализаций уровня консенсуса), которая сначала проверяет, приводит ли транзакция к действительному изменению состояния, прежде чем принимать ее.

Доказательства мошенничества и достоверность: Система доказательства мошенничества как для BitVM, так и для Ethereum, должна быть улучшена для обработки данных с обеих цепочек, что может сделать разрешение споров более сложным. Для решения этой проблемы необходимо точно учитывать возможные транзакции с биткоином и эфиром в рамках моста BitVM и расчетов BOB на Ethereum.

Увеличение хранения: Кроме того, узлы BOB в сети сталкиваются с увеличенными требованиями к хранению и пропускной способности, поскольку им необходимо обрабатывать и хранить данные из Bitcoin и Ethereum. Однако мы можем смягчить это, требуя, чтобы транзакции BOB, совершенные в Bitcoin, должны быть включены в блобы Ethereum с ссылкой на последние блоки Bitcoin. Таким образом, узлам нужно синхронизировать только недавние блоки Bitcoin.

Следующие шаги

Мы с нетерпением ждем возможности продвигать границы гибридных роллапов, объединяя безопасность биткойна с инновациями Ethereum. В данной конкретной проблеме нас интересует сочетание устойчивости биткойна к цензуре транзакций с BOB rollup стеком. Мы будем обновлять этот блог с более подробной информацией по мере наших успехов.

Отказ от ответственности:

  1. Эта статья взята из [ BOB]. Все авторские права принадлежат оригинальному автору [Dominik Harz]. Если есть возражения по поводу этой перепечатки, пожалуйста, свяжитесь со Gate Learnкоманда, и они незамедлительно разберутся с этим.
  2. Отказ от ответственности: Мнения и взгляды, выраженные в этой статье, являются исключительно мнениями автора и не являются инвестиционными советами.
  3. Команда Gate Learn перевела статью на другие языки. Копирование, распространение или плагиат переведенных статей запрещено, если не указано иное.
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย

Гибридная доступность данных: принудительные выводы BitVM на BOB

Продвинутый2/10/2025, 12:39:52 PM
BOB создает гибридное решение, которое позволяет пользователям выводить активы через транзакции Bitcoin без использования Ethereum. Он использует Ethereum для доступности данных и Bitcoin для устойчивости к цензуре. Пользователи сохраняют данные вывода в Bitcoin Taproot outputs и завершают транзакции двухфазным процессом фиксации/раскрытия.

Пользователям Bitcoin должно быть достаточно BTC на Bitcoin, чтобы выполнить вывод их BTC из BOB обратно в Bitcoin. Мы работаем над гибридным решением: по умолчанию переходить на Ethereum в качестве DA, позволяя пользователям принудительно включать транзакции на BOB через специальную транзакцию на Bitcoin. Мы с нетерпением ждем возможности поделиться нашей работой в этом блоге.

tl;dr

  • Уровень 2 должен иметь ту же устойчивость к цензуре, что и уровень 1, на котором они основаны
  • На BOB пользователи уже могут принудительно вывести свои активы с BOB на Ethereum через транзакцию Ethereum
  • Для своего моста BitVM BOB работает над интеграцией Bitcoin как способа для пользователей обеспечивать транзакции на BOB
  • Пользователи Bitcoin смогут вывести свои BTC из BOB без необходимости отправлять транзакцию в BOB

Одно из основных свойств L2s заключается в том, что их состояние должно развиваться даже когда секвенсор отключен. L2s достигают этого, читая и записывая свое состояние из слоя доступности данных (DA), который может быть обновлен независимо от того, находится ли L2 в сети. Таким образом, пользователи могут принудительно включать свои транзакции, даже если сиквенсор находится в автономном режиме, или сиквенсор не принимает их транзакции непосредственно.

Для моста BitVM BOB это представляет собой интересную проблему. В настоящее время BOB использует блобы Ethereum EIP-4844 как свой уровень DA. Пользователи на Ethereum могут легко инициировать выводы обратно в Bitcoin через мост BitVM. Однако для этого требуется, чтобы у пользователей был ETH на Ethereum.

Этого недостаточно для нас: пользователи Bitcoin должны иметь только BTC на Bitcoin, чтобы осуществить вывод своих BTC из BOB обратно в Bitcoin. Мы работаем над гибридным решением: с использованием Ethereum в качестве DA по умолчанию, позволяя пользователям принудительно включать транзакции на BOB через специальную транзакцию на Bitcoin. Мы с радостью поделимся нашими продвижениями в этом блоге.

Фоновая информация о DA и производных

Процесс происхождениеэто довольно важно для L2: вся состояние L2 BOB должно быть построено из L1 и слоя DA. Это позволяет L2 наслаждаться той же самой устойчивостью к цензуре, что и слой DA, в нашем случае Ethereum.

Упрощенныйв rollups (конкретно в цепочках OP Stack) у нас есть два типа данных на уровне L1:

  • Операции по депозитусделаны ​​к контракту "OptimismPortal". Это транзакции, которые совершают пользователи на Ethereum обычно для депонирования своих активов в BOB. Эти депозитные транзакции также могут быть использованы для выполнения других транзакций на BOB.
  • Партии, представленные секвенсором (или op-batcher, чтобы быть более точным) из транзакций L2. В них включены все транзакции, совершенные пользователями напрямую на BOB, и в конечном итоге они возвращаются в блобы Ethereum.

Биткоин как DA Layer

Если мы хотим, чтобы биткоин был в качестве DA-уровня, почему бы полностью не перейти к использованию биткоина исключительно в качестве DA-уровня? Ответ в основномстоимостьБиткоин имеет очень мало доступного хранилища (примерно 4 МБ примерно каждые 10 минут), и, таким образом, стоимость хранения высока.

Однако в нашем случае BOB все еще может использовать Ethereum в качестве своего «основного» слоя DA, где он размещает всю свою транзакционную информацию, но добавляет Bitcoin в качестве высокоцензурного запасного слоя, если Ethereum DA недоступен. По сути, Ethereum становится оптимистичным слоем DA, а Bitcoin становится дорогим, но устойчивым в крайнем случае.

Гибридный производственный трубопровод

Базовым решением является добавление биткойна в BOB как части конвейера производных, таким образом, чтобы BOB (и, в частности, «оп-узел») обрабатывал входы в этом порядке:

  1. Транзакции с принудительным выводом Bitcoin (новые, добавленные специально для BOB)
  2. Депозиты Ethereum на контракт OptimismPortal (стандарт OP Stack) BOB
  3. Пакеты Ethereum от op-batcher (стандарт OP Stack)

Давайте рассмотрим возможное решение для кодирования транзакций вывода Bitcoin в вынужденные транзакции BOB. Обратите внимание, что это все еще находится в стадии исследований, поэтому возможны изменения.

Транзакции принудительного вывода биткоинов

Для создания вынужденной транзакции вывода нам понадобятся три части:

  1. Создайте транзакцию принудительного вывода на Bitcoin.
  2. Сохраните транзакцию принудительного вывода на Биткойне в пределах размеров Биткойна.
  3. Обработка стоимости газа для принудительной транзакции по выводу на Bitcoin.

1. Создайте транзакцию принудительного вывода

Стек OPтранзакция депозитаимеет следующую структуру:

  • sourceHash: хеш-источник, уникально идентифицирующий происхождение депозита.
  • адрес от: Адрес учетной записи отправителя.
  • address to: Адрес учетной записи получателя или пустой (нулевой) адрес, если внесенная транзакция является созданием контракта.
  • uint256 mint: Значение ETH для выпуска на L2.
  • uint256 значение: ETH-значение, отправляемое на счет получателя.
  • uint64 газ: Предел газа для транзакции L2.
  • bool isSystemTx: Если значение true, транзакция не взаимодействует с пулом газа блока L2.
  • байтовые данные: calldata.

Принудительная транзакция вывода требует включения закодированной транзакции вывода в поле данных транзакции депозита. Это делается путем создания транзакции на BOB, которая инициирует вывод с BOB на Bitcoin и будет работать точно так же, как если бы транзакция была отправлена с Ethereum.

Мы можем затем сохранить (сжатую) версию транзакции принудительного вывода на Bitcoin, которая включает в себя все вышеперечисленные данные.

2. Сохраните транзакцию принудительного вывода на Биткоин

Поскольку объем данных для принудительной транзакции вывода больше, чем обычно должен храниться в выходных данных OP_RETURN, мы скорее всего будем использовать Taprootвывод для хранения данных.

Хотя легко определить транзакцию депозита (которая может включать вывод) на Ethereum, поскольку она отправляется на контракт OptimismPortal BOB, но не так легко определить транзакцию принудительного вывода на Bitcoin.

Сериализация данных: Транзакция принудительного вывода сериализуется с использованием скриптов Taproot в структуре «конверта». Они являются noops в сети Bitcoin и используются, например, для Ordinals. Мы настраиваем структуру под наши нужды.

Unset
OP_FALSE OP_IF
OP_PUSH "боб"
OP_1
OP_PUSH «транзакция»
OP_0
OP_PUSH $WITHDRAWAL_TRANSACTION_DATA
OP_ENDIF
Схема двухфазного подтверждения/раскрытия:
Как и с порядковыми числительными, пользователи должны будут отправить две транзакции на биткоин:

  • Commit Transaction: Создает Taproot-выход, закрепляющий скрипт с содержимым надписи. В этой транзакции данные еще не раскрываются, и нам понадобится вторая транзакция для полных узлов BOB и синхронизаторов, чтобы включить транзакцию вывода.
  • Раскрыть транзакцию: тратит вывод из транзакции фиксации, раскрывая надпись на цепочке, то есть раскрывая пользовательскую транзакцию вывода для включения в BOB.

3. Обработка затрат на газ для транзакции вынужденного вывода

Это самая открытая проблема на данный момент, с двумя вариантами, которые в настоящее время находятся на рассмотрении:

  • Установите газ на 0 для транзакции принудительного вывода на Bitcoin и вычитайте расходы на газ из баланса ETH пользователя на BOB. Таким образом, только пользователи, у которых есть ETH на BOB, могут принудительно выводить средства. Однако это не является хорошим вариантом, так как для принудительного вывода пользователи должны иметь ETH на BOB, то есть пользователи, у которых есть BTC на Bitcoin, не могут принудительно выводить средства.
  • Газ оплачивается пользователями в BTC на Bitcoin. Сети BOB потребуется иметь адрес на Bitcoin, который может получать BTC и эффективно обменивать полученные пользователем BTC на ETH на BOB для оплаты части расходов на газ плюс затраты на выполнение. Этот вариант вероятен при использованииШлюз BOBи устанавливая адрес EVM BOB DAO в качестве получателя BTC.

Мы также экспериментируем с большим количеством идей, поэтому следите за обновлениями!

Собираем все вместе

Любой может определить состояние BOB, просто проверив данные о Bitcoin и Ethereum:

  1. Прочитайте все транзакции вывода из Bitcoin. Они закодированы как две транзакции для каждого вывода, т.е. одна транзакция commit и одна транзакция reveal. Это дополнение, которое мы вносим в стек OP и где мы улучшаем процесс производства.
  2. Прочитайте все транзакции, совершенные с контрактом OptimismPortal BOB на Ethereum. Это уже является частью стандартного процесса вывода стека OP.
  3. Читайте все транзакции, сделанные непосредственно на BOB и интегрированные как часть пакетов на Ethereum. Важно, что полные узлы не читают непосредственно из последователя, чтобы получать подтвержденные транзакции, а читают из блобов Ethereum. Это уже является частью стандартного конвейера вывода стека OP.

Технические проблемы

Согласованность данных: Важно обеспечить согласованность данных между цепями Ethereum и Bitcoin, однако простое наличие данных транзакции на обеих цепях не гарантирует их действительности. Транзакции должны представлять собой действительные переходы состояний в соответствии с функцией перехода состояний роллапа, чтобы считаться законными. Для решения этой проблемы требуется внедрение логики валидации внутри op-узла (или других реализаций уровня консенсуса), которая сначала проверяет, приводит ли транзакция к действительному изменению состояния, прежде чем принимать ее.

Доказательства мошенничества и достоверность: Система доказательства мошенничества как для BitVM, так и для Ethereum, должна быть улучшена для обработки данных с обеих цепочек, что может сделать разрешение споров более сложным. Для решения этой проблемы необходимо точно учитывать возможные транзакции с биткоином и эфиром в рамках моста BitVM и расчетов BOB на Ethereum.

Увеличение хранения: Кроме того, узлы BOB в сети сталкиваются с увеличенными требованиями к хранению и пропускной способности, поскольку им необходимо обрабатывать и хранить данные из Bitcoin и Ethereum. Однако мы можем смягчить это, требуя, чтобы транзакции BOB, совершенные в Bitcoin, должны быть включены в блобы Ethereum с ссылкой на последние блоки Bitcoin. Таким образом, узлам нужно синхронизировать только недавние блоки Bitcoin.

Следующие шаги

Мы с нетерпением ждем возможности продвигать границы гибридных роллапов, объединяя безопасность биткойна с инновациями Ethereum. В данной конкретной проблеме нас интересует сочетание устойчивости биткойна к цензуре транзакций с BOB rollup стеком. Мы будем обновлять этот блог с более подробной информацией по мере наших успехов.

Отказ от ответственности:

  1. Эта статья взята из [ BOB]. Все авторские права принадлежат оригинальному автору [Dominik Harz]. Если есть возражения по поводу этой перепечатки, пожалуйста, свяжитесь со Gate Learnкоманда, и они незамедлительно разберутся с этим.
  2. Отказ от ответственности: Мнения и взгляды, выраженные в этой статье, являются исключительно мнениями автора и не являются инвестиционными советами.
  3. Команда Gate Learn перевела статью на другие языки. Копирование, распространение или плагиат переведенных статей запрещено, если не указано иное.
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย
เริ่มตอนนี้
สมัครและรับรางวัล
$100