Bitboost: сопроцессор EVM для основной сети Биткойн
20 декабря 2023 г.Мы наблюдаем тенденцию выпуска активов на основе биткойнов, например, таких протоколов, как Ordinals, BRC-20 и Atomicals. Эти протоколы хранят данные в блокчейне Биткойна и используют индексатор вне цепочки для анализа данных и генерации состояний. Это значительно обогащает активы и экосистему Биткойна.
Однако в настоящее время эти протоколы поддерживают только некоторые базовые функции активов, такие как развертывание, чеканка, передача и обмен с BTC через PSBT (частично подписанные биткойн-транзакции). Пользователи не могут определять дополнительные варианты поведения ресурсов, что ограничивает сценарии применения этих ресурсов. Такие приложения, как свопы, кредитование, стейблкоины и т. д., не могут быть реализованы на существующих протоколах.
Поэтому мы предлагаем обновленный протокол для создания программируемой среды выполнения на базе Биткойна и называем его сопроцессором Биткойн. Он использует Биткойн для упорядочения и хранения транзакций, а для выполнения транзакций используется индексатор со встроенным EVM. В этом сопроцессоре есть собственный токен, который создается посредством PoW (Proof of Work). Собственный токен можно безопасно обменивать с BTC с использованием PSBT, устанавливая экономическую связь между сопроцессором и BTC. Пользователи могут использовать собственный токен в качестве газа для создания и вызова смарт-контрактов в сопроцессоре.
Как это работает
Структура транзакции
Транзакция сопроцессора, исполняемая EVM, состоит из следующих полей. Обратите внимание: если поле Data
пусто, это транзакция передачи токена; когда поле Data
имеет содержимое, это транзакция смарт-контракта.
Nonce
Sig
From
To
Value
Gas
Data
Мы сохраняем его в транзакции Bitcoin в следующем формате.
- Все поля вписываются в свидетельство ввода.
Когда индексатор обнаруживает транзакцию в Биткойне, соответствующую этому формату, он запускает ее выполнение в EVM.
Нет-транзакция
Чтобы создать собственный токен в сопроцессоре, мы определяем транзакцию mint. Это похоже на транзакцию coinbase в Биткойне.
- Первые входные данные вписывают
To
в свой свидетель.
Майнеры могут попробовать разные способы изменить хэш транзакции, пока он не будет отвечать требованиям сложности, например, изменив адрес изменения или добавив вывод OP_RETURN со случайными данными внутри. Как только такая транзакция появится в Биткойне, собственный токен будет отправлен на адрес To
. Мы также введем механизм регулировки сложности, чтобы гарантировать, что собственный токен будет чеканиться с постоянной скоростью с течением времени.
Заблокировать транзакцию
Транзакция блокировки используется для блокировки определенного количества собственных токенов в UTXO, которые позже можно использовать для обмена PSBT с BTC. Структура его транзакции следующая.
- Все необходимые поля вписываются в свидетельство ввода.
- Первый вывод — это целевой UTXO, где будет заблокирован собственный токен.
Эта транзакция вычтет сумму Value
собственного токена из баланса адреса From
и зафиксирует ее в целевом UTXO.
Транзакция обмена
Транзакция обмена использует UTXO из транзакции блокировки для создания PSBT, который продает собственный токен для BTC без доверия. Его структура следующая.
- Первый вход — это UTXO с заблокированным собственным токеном. Его подпись применяется только к первому вводу и первому выводу.
- Покупатель добавит второй ввод, который содержит BTC, которые нужно потратить, и все необходимые поля, вписанные в его свидетельство.
- Первый вывод — это адрес получения BTC от продавца.
При обнаружении такой транзакции собственный токен будет разблокирован из UTXO и добавлен на баланс To
.
Улучшение производительности
Пакетная надпись
Несколько транзакций сопроцессора могут быть включены в одну транзакцию Биткойн, чтобы сэкономить на комиссии за газ. Таким образом, каждая транзакция сопроцессора требует лишь около 1/4 комиссии за газ по сравнению с транзакцией Биткойн, поскольку все ее данные хранятся в свидететеле.
Любая третья сторона может быть пакетным сборщиком, получающим транзакции сопроцессора и вписывающим их в транзакцию Биткойн. Это увеличит скорость окончательности транзакций сопроцессора. Например, вы можете создать Uniswap на Bitboost, а затем поддерживать построитель пакетов для получения всех транзакций, которые взаимодействуют с Uniswap. Таким образом, вы упорядочиваете транзакции Uniswap и обеспечиваете мгновенную завершенность, как секвенсор в сводных отчетах.
Сжатие транзакций
Транзакции сопроцессора можно дополнительно сжимать, как транзакции объединения. Это уменьшит размер транзакции до 12 байт, что составляет примерно 1/10 от исходного размера. Таким образом, в целом комиссия за газ для транзакции Bitboost может составлять всего около 1/40 от транзакции биткойнов.
Заключение
Этот протокол создает среду выполнения EVM на основе Биткойна. Пользователи могут делать в этой среде выполнения все, что угодно, как и в Ethereum, например, передавать собственные токены, выпускать токены ERC-20 или ERC-721, создавать смарт-контракты и т. д. В качестве уровня секвенсора и доступности данных используется Биткойн. Его единственная связь с Биткойном — это децентрализованная торговая пара на основе PSBT между собственным токеном и BTC. Некоторые улучшения могут быть применены, чтобы снизить затраты на газ примерно до 1/40 биткойнов. Весь протокол не требует доверия и имеет тот же уровень безопасности, что и Биткойн.
:::информация Более подробная и часто обновляемая версия также публикуется здесь https://docs.bitboost.org/
:::
Оригинал