В предыдущей статье «Экскурсия по планам экологического расширения BTC: куда обращаться за надписями» мы обсудили технические принципы и возможные проблемы безопасности популярной экологии надписей, а также упомянули о возможности использования рекурсивных надписей для реализации смарт-контрактов. Однако из-за ограничений Люка на скрипты Taproot рекурсивная запись, похоже, имеет некоторые препятствия.Так есть ли другие возможности для реализации смарт-контрактов в сети Биткойн?
Робин Линус, соучредитель разработчика блокчейнов ZeroSync, 9 октября 2023 года опубликовал статью под названием «BitVM: вычислить что угодно на биткойнах», в которой он предложил запустить план по внедрению смарт-контрактов в блокчейн биткойнов.
В документе предлагается очень интересная идея использовать Taproot для выполнения практически любых произвольных вычислений и использовать эти вычисления для проверки того, что происходит в цепочке Биткойн. Хитрость заключается в том, чтобы сохранить всю логику вне цепочки и оспорить нечестные результаты в цепочке с помощью нескольких шагов вычислений, когда их утверждают другие.
Другими словами, это значит поместить логику Верификатора в сеть Биткойн, использовать надежную консенсусную безопасность Биткойна, чтобы стать доверенной третьей стороной для любого тьюринг-полного вычислительного уровня, а затем использовать принцип оптимистических объединений для реализации -цепные расчеты. Проверка результатов.
Так как же разместить часть логики Verifier в сети Биткойн? Чтобы повторить «гравировку» из предыдущего раздела, я хотел бы назвать ее технологией «травления» схем в сети Биткойн.
Схема логического вентиля
Внутри вашего компьютера или мобильного телефона электричество выполняет все функции компьютера, доставляя последовательность единиц и нулей. Это достигается с помощью миллионов крошечных компонентов, называемых логическими вентилями. Эти логические элементы являются основными строительными блоками компьютерных чипов.
Каждый логический элемент получает один или два «бита» информации, и каждый бит равен либо 1, либо 0. Затем логический вентиль выполняет простую логическую операцию в соответствии с установленными правилами, например операции «И», «ИЛИ» или «НЕ». Результатом этих операций также является бит: 1 или 0. После завершения операции результат передается следующему логическому элементу.
Эта система, основанная на простых логических операциях, привела к открытию, что даже самые сложные вычисления и функции могут быть выполнены путем объединения большого количества простых логических операций. Эта комбинация и взаимодействие логических вентилей является основой для того, чтобы современные компьютеры и электронные устройства могли выполнять сложные задачи. С помощью этих основных логических операций компьютеры могут выполнять сложные арифметические операции, хранение данных, рендеринг изображений и другие функции.
На рисунке ниже показан особый логический вентиль, называемый «воротом И-НЕ». Он может построить любой тип схемы логического вентиля. Конечно, он не может быть таким же эффективным, как другие специализированные типы вентилей, но это все же можно сделать. Схема логических вентилей BitVM состоит из вентилей И-НЕ.
Как запечатлеть NAND-шлюз на биткойне
Построение вентиля NAND поверх существующих биткойн-скриптов может быть достигнуто путем объединения хэш-блокировки с двумя кодами операций, которые могут быть малоизвестны: OP_BOOLAND и OP_NOT.
Во-первых, хэш-блокировку можно использовать для создания сценария ветвления, который можно потратить одним из двух способов: либо для удовлетворения хеш-блокировки, либо для удовлетворения хэш-блокировки B. Таким образом, путь A помещает в стек 1, а путь B помещает в стек 0.
Выполнив определенную хэш-блокировку, вы можете «разблокировать» бит, который служит одним из входов для вентиля И-НЕ, который мы собираемся построить. Поскольку вы можете удовлетворить требования только одного из путей, этот подход позволяет пользователю отправлять только один бит за раз.
Логика вентиля И-НЕ заключается в получении двух битов на входе и выходе одного бита. Если оба входных бита равны 1, выходной сигнал равен 0; если входные данные представляют собой другие комбинации, выходной сигнал равен 1. Используя два трюка с хэш-блокировкой, вы можете отправить эти два входа и проверить правильность вывода, для чего и нужны OP_BOOLAND и OP_NOT.
Действие OP_BOOLAND противоположно вентилю И-НЕ: если оба входа равны 1, выход равен 1; любая другая комбинация входов дает 0. OP_NOT выводит противоположное входному значению. Таким образом, объединив эти два кода операций, вы можете взять два входных параметра и вычислить обратную сумму в стеке скрипта. Наконец, вы можете использовать OP_EQUALVERIFY и трюк с хэш-блокировкой, чтобы проверить вывод утверждения. Если фактические результаты операции NAND в стеке не соответствуют выводам, заявленным пользователем, сценарий не проходит проверку.
Таким образом, схема вентиля NAND «врезается» в сценарий Биткойна, эффективно вызывая работу виртуального вентиля NAND через сценарий Биткойна.
Как травить крупногабаритные схемы
Хотя идея использования скриптов Taproot для травления схем крута, не говоря уже о сверхкрупных схемах, таких как ПК, даже для реализации любого набора вычислений требуются тысячи схем на вентилях NAND, что в Биткойне ограничено. сложные вычисления в пространстве скриптов Taproot?
BitVM предлагает метод дерева сценариев Taproot (Taproot Tree). Чтобы реализовать сложные вычислительные процессы в биткойн-скриптах, можно строить вычислительные схемы, последовательно соединяя логические элементы. В этой схеме хэш-замки используются для привязки отдельных дверей для достижения последовательного выполнения логических операций. В частности, если сценарий одного вентиля выдает другой выходной результат C1 или C2 на основе другого входного прообраза хэша (значения открытого текста хеша), то следующий вентиль будет использовать соответствующее значение блокировки хэша в качестве входных данных.
Этот метод может реализовать механизм штрафов, то есть, если вы попытаетесь солгать о результате предыдущего шлюза, вы сможете раскрыть только исходное изображение другой хэш-блокировки. Этот механизм можно использовать для интерактивных вычислений между двумя пользователями, где они заранее соглашаются участвовать в конкретной вычислительной задаче, а затем разлагают вычислительный процесс на схемы, состоящие только из вентилей И-НЕ. Им необходимо выбрать соответствующую хеш-блокировку для каждого вентиля в схеме и закодировать ее в дереве сценариев, которое блокирует UTXO.
Затем несколько адресов используются для формирования матрицы адресов Taproot, а затем логическая схема врезается в сценарий Taproot серии транзакций UTXO, соединенных в древовидную структуру с помощью метода Taproot Tree, в конечном итоге образуя «контрактную» логику, которая может решать определенные вычислительные задачи.
Проблема мошенничества
Вызов мошенничества является основой технологии OP (Optimism Rollup) (хотя он еще не реализован~).Идея состоит в том, что перед отправкой пакета транзакций в пакетном режиме претендент запускает вызов мошенничества (залог против ставки) на транзакции, которые считаются неправильными. Контракт Verifier в основной сети определит, совершил ли отправитель зло, на основе изменений в корне состояния после выполнения, а затем распределит активы, заложенные обеими сторонами.
В bitVM дерево сценариев разделено на две схемы. Этого можно добиться, предварительно подписав серию транзакций. Эти заранее подписанные транзакции соединяются через «Вызов->Ответ->Вызов->…». Если одна сторона остановится на какое-то время, другая сторона выиграет соревнование и вернет депозиты обеих сторон.
На изображении выше показана серия предварительно подписанных транзакций:
Вызов: Вики (претендент/проверяющий) выпускает прообраз в пути сценария (эти прообразы известны только претенденту), который используется для оспаривания доказательства;
Ответ: Пол (доказывающий) выполняет соответствующий логический элемент и отправляет средства обратно в исходный сценарий;
Любое противоречивое утверждение можно быстро опровергнуть после нескольких раундов расследования. Если проверяющий перестанет сотрудничать с претендентом вне цепочки, претендент заставит проверяющего сотрудничать в цепочке: каждый раз, когда претендент разблокирует хеш-блокировку, листовой узел Taproot, соответствующий каждому вентилю NAND в UTXO проверяющего, будет иметь только It может быть потрачено только в том случае, если доказывающему известен прообраз, принадлежащий претенденту. Доказывающая сторона может доказать, что данный листовой узел Taproot работает правильно, раскрывая его входы и выходы. Предполагается, что претендент разблокирует исходное изображение хеша, соответствующего Tapleaf, путем его раскрытия.Посредством двоичного поиска претендент может заблокировать ошибку доказывающего после ограниченного раунда (O (logn)) запросов и ответов.
Весь процесс включает в себя несколько раундов взаимодействия для обеспечения правильного расчета контракта. Претендент может продолжать бросать вызов проверяющему до тех пор, пока проверяющий не подтвердит правильный результат для каждого шлюза, или претендент может вывести средства через определенное время в случае, если проверяющий не сможет ответить на запрос. В идеальном мире все операции происходят вне сети, и обе стороны сотрудничают для завершения урегулирования, но если сотрудничество прерывается, обе стороны могут гарантировать правильное разрешение контракта с помощью онлайн-игры-испытания.
Препятствия при посадке и проблемы безопасности
Это предложение предполагает обработку и генерацию чрезвычайно больших объемов данных. Используемое дерево сценариев Taproot может содержать миллиарды конечных узлов, а время обработки связанных предварительно подписанных транзакций может занять как минимум несколько часов для обеспечения точного расчета. Выполнение предустановленных условий разблокировки для каждого адреса Taproot требует комиссии за майнинг, поэтому чем больше комбинаций адресов, тем выше стоимость.
Основным ограничением этой схемы является то, что она работает только для взаимодействия между двумя участниками: один — в качестве доказывающего, удостоверяющего точность ее выполнения, а другой — в качестве проверяющего, оспаривающего утверждения первого. Хотя будущие исследования могут найти способы привлечь больше участников, на данный момент четкого решения не существует.
В сценарии кооперативного расчета все участники должны быть онлайн, что накладывает определенные ограничения на практичность и удобство протокола.
С точки зрения безопасности существуют в основном следующие риски безопасности:
Из-за ограничений по стоимости большой объем вычислительной работы должен выполняться вне сети. Вычисления вне сети имеют некоторые общие риски безопасности централизованных сервисов.
Большой объем данных хранится вне цепочки, а доступность и безопасность данных также являются точками риска, которые необходимо учитывать.
Наличие логических лазеек в самой выгравированной схеме также является фактором риска для безопасности.Из-за нечитаемости схемы необходимо оплатить дополнительные затраты на аудит или формальную проверку.
Metatrust помогал Uniswap в проведении комплексной формальной проверки и имеет очень богатый опыт в аудите цепей ZK и формальной проверке, что может обеспечить гарантию безопасного внедрения экосистемы BitVM.
Решения, описанные в двух предыдущих статьях, являются техническими решениями, которые стали популярными только в этом году. В следующей статье мы представим более старое и «ортодоксальное» решение — обновленную версию Lightning Network — Taproott Assets.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Экскурсия по планам экологической экспансии БТД: BitVM, искусство гравюры
Сценарист: Саймон Ши
Обзор предисловия
В предыдущей статье «Экскурсия по планам экологического расширения BTC: куда обращаться за надписями» мы обсудили технические принципы и возможные проблемы безопасности популярной экологии надписей, а также упомянули о возможности использования рекурсивных надписей для реализации смарт-контрактов. Однако из-за ограничений Люка на скрипты Taproot рекурсивная запись, похоже, имеет некоторые препятствия.Так есть ли другие возможности для реализации смарт-контрактов в сети Биткойн?
Робин Линус, соучредитель разработчика блокчейнов ZeroSync, 9 октября 2023 года опубликовал статью под названием «BitVM: вычислить что угодно на биткойнах», в которой он предложил запустить план по внедрению смарт-контрактов в блокчейн биткойнов.
В документе предлагается очень интересная идея использовать Taproot для выполнения практически любых произвольных вычислений и использовать эти вычисления для проверки того, что происходит в цепочке Биткойн. Хитрость заключается в том, чтобы сохранить всю логику вне цепочки и оспорить нечестные результаты в цепочке с помощью нескольких шагов вычислений, когда их утверждают другие.
Другими словами, это значит поместить логику Верификатора в сеть Биткойн, использовать надежную консенсусную безопасность Биткойна, чтобы стать доверенной третьей стороной для любого тьюринг-полного вычислительного уровня, а затем использовать принцип оптимистических объединений для реализации -цепные расчеты. Проверка результатов.
Так как же разместить часть логики Verifier в сети Биткойн? Чтобы повторить «гравировку» из предыдущего раздела, я хотел бы назвать ее технологией «травления» схем в сети Биткойн.
Схема логического вентиля
Внутри вашего компьютера или мобильного телефона электричество выполняет все функции компьютера, доставляя последовательность единиц и нулей. Это достигается с помощью миллионов крошечных компонентов, называемых логическими вентилями. Эти логические элементы являются основными строительными блоками компьютерных чипов.
Каждый логический элемент получает один или два «бита» информации, и каждый бит равен либо 1, либо 0. Затем логический вентиль выполняет простую логическую операцию в соответствии с установленными правилами, например операции «И», «ИЛИ» или «НЕ». Результатом этих операций также является бит: 1 или 0. После завершения операции результат передается следующему логическому элементу.
Эта система, основанная на простых логических операциях, привела к открытию, что даже самые сложные вычисления и функции могут быть выполнены путем объединения большого количества простых логических операций. Эта комбинация и взаимодействие логических вентилей является основой для того, чтобы современные компьютеры и электронные устройства могли выполнять сложные задачи. С помощью этих основных логических операций компьютеры могут выполнять сложные арифметические операции, хранение данных, рендеринг изображений и другие функции.
На рисунке ниже показан особый логический вентиль, называемый «воротом И-НЕ». Он может построить любой тип схемы логического вентиля. Конечно, он не может быть таким же эффективным, как другие специализированные типы вентилей, но это все же можно сделать. Схема логических вентилей BitVM состоит из вентилей И-НЕ.
Как запечатлеть NAND-шлюз на биткойне
Построение вентиля NAND поверх существующих биткойн-скриптов может быть достигнуто путем объединения хэш-блокировки с двумя кодами операций, которые могут быть малоизвестны: OP_BOOLAND и OP_NOT.
Во-первых, хэш-блокировку можно использовать для создания сценария ветвления, который можно потратить одним из двух способов: либо для удовлетворения хеш-блокировки, либо для удовлетворения хэш-блокировки B. Таким образом, путь A помещает в стек 1, а путь B помещает в стек 0.
Выполнив определенную хэш-блокировку, вы можете «разблокировать» бит, который служит одним из входов для вентиля И-НЕ, который мы собираемся построить. Поскольку вы можете удовлетворить требования только одного из путей, этот подход позволяет пользователю отправлять только один бит за раз.
Логика вентиля И-НЕ заключается в получении двух битов на входе и выходе одного бита. Если оба входных бита равны 1, выходной сигнал равен 0; если входные данные представляют собой другие комбинации, выходной сигнал равен 1. Используя два трюка с хэш-блокировкой, вы можете отправить эти два входа и проверить правильность вывода, для чего и нужны OP_BOOLAND и OP_NOT.
Действие OP_BOOLAND противоположно вентилю И-НЕ: если оба входа равны 1, выход равен 1; любая другая комбинация входов дает 0. OP_NOT выводит противоположное входному значению. Таким образом, объединив эти два кода операций, вы можете взять два входных параметра и вычислить обратную сумму в стеке скрипта. Наконец, вы можете использовать OP_EQUALVERIFY и трюк с хэш-блокировкой, чтобы проверить вывод утверждения. Если фактические результаты операции NAND в стеке не соответствуют выводам, заявленным пользователем, сценарий не проходит проверку.
Таким образом, схема вентиля NAND «врезается» в сценарий Биткойна, эффективно вызывая работу виртуального вентиля NAND через сценарий Биткойна.
Как травить крупногабаритные схемы
Хотя идея использования скриптов Taproot для травления схем крута, не говоря уже о сверхкрупных схемах, таких как ПК, даже для реализации любого набора вычислений требуются тысячи схем на вентилях NAND, что в Биткойне ограничено. сложные вычисления в пространстве скриптов Taproot?
BitVM предлагает метод дерева сценариев Taproot (Taproot Tree). Чтобы реализовать сложные вычислительные процессы в биткойн-скриптах, можно строить вычислительные схемы, последовательно соединяя логические элементы. В этой схеме хэш-замки используются для привязки отдельных дверей для достижения последовательного выполнения логических операций. В частности, если сценарий одного вентиля выдает другой выходной результат C1 или C2 на основе другого входного прообраза хэша (значения открытого текста хеша), то следующий вентиль будет использовать соответствующее значение блокировки хэша в качестве входных данных.
Этот метод может реализовать механизм штрафов, то есть, если вы попытаетесь солгать о результате предыдущего шлюза, вы сможете раскрыть только исходное изображение другой хэш-блокировки. Этот механизм можно использовать для интерактивных вычислений между двумя пользователями, где они заранее соглашаются участвовать в конкретной вычислительной задаче, а затем разлагают вычислительный процесс на схемы, состоящие только из вентилей И-НЕ. Им необходимо выбрать соответствующую хеш-блокировку для каждого вентиля в схеме и закодировать ее в дереве сценариев, которое блокирует UTXO.
Затем несколько адресов используются для формирования матрицы адресов Taproot, а затем логическая схема врезается в сценарий Taproot серии транзакций UTXO, соединенных в древовидную структуру с помощью метода Taproot Tree, в конечном итоге образуя «контрактную» логику, которая может решать определенные вычислительные задачи.
Проблема мошенничества
Вызов мошенничества является основой технологии OP (Optimism Rollup) (хотя он еще не реализован~).Идея состоит в том, что перед отправкой пакета транзакций в пакетном режиме претендент запускает вызов мошенничества (залог против ставки) на транзакции, которые считаются неправильными. Контракт Verifier в основной сети определит, совершил ли отправитель зло, на основе изменений в корне состояния после выполнения, а затем распределит активы, заложенные обеими сторонами.
В bitVM дерево сценариев разделено на две схемы. Этого можно добиться, предварительно подписав серию транзакций. Эти заранее подписанные транзакции соединяются через «Вызов->Ответ->Вызов->…». Если одна сторона остановится на какое-то время, другая сторона выиграет соревнование и вернет депозиты обеих сторон.
На изображении выше показана серия предварительно подписанных транзакций:
Любое противоречивое утверждение можно быстро опровергнуть после нескольких раундов расследования. Если проверяющий перестанет сотрудничать с претендентом вне цепочки, претендент заставит проверяющего сотрудничать в цепочке: каждый раз, когда претендент разблокирует хеш-блокировку, листовой узел Taproot, соответствующий каждому вентилю NAND в UTXO проверяющего, будет иметь только It может быть потрачено только в том случае, если доказывающему известен прообраз, принадлежащий претенденту. Доказывающая сторона может доказать, что данный листовой узел Taproot работает правильно, раскрывая его входы и выходы. Предполагается, что претендент разблокирует исходное изображение хеша, соответствующего Tapleaf, путем его раскрытия.Посредством двоичного поиска претендент может заблокировать ошибку доказывающего после ограниченного раунда (O (logn)) запросов и ответов.
Весь процесс включает в себя несколько раундов взаимодействия для обеспечения правильного расчета контракта. Претендент может продолжать бросать вызов проверяющему до тех пор, пока проверяющий не подтвердит правильный результат для каждого шлюза, или претендент может вывести средства через определенное время в случае, если проверяющий не сможет ответить на запрос. В идеальном мире все операции происходят вне сети, и обе стороны сотрудничают для завершения урегулирования, но если сотрудничество прерывается, обе стороны могут гарантировать правильное разрешение контракта с помощью онлайн-игры-испытания.
Препятствия при посадке и проблемы безопасности
Это предложение предполагает обработку и генерацию чрезвычайно больших объемов данных. Используемое дерево сценариев Taproot может содержать миллиарды конечных узлов, а время обработки связанных предварительно подписанных транзакций может занять как минимум несколько часов для обеспечения точного расчета. Выполнение предустановленных условий разблокировки для каждого адреса Taproot требует комиссии за майнинг, поэтому чем больше комбинаций адресов, тем выше стоимость.
Основным ограничением этой схемы является то, что она работает только для взаимодействия между двумя участниками: один — в качестве доказывающего, удостоверяющего точность ее выполнения, а другой — в качестве проверяющего, оспаривающего утверждения первого. Хотя будущие исследования могут найти способы привлечь больше участников, на данный момент четкого решения не существует.
В сценарии кооперативного расчета все участники должны быть онлайн, что накладывает определенные ограничения на практичность и удобство протокола.
С точки зрения безопасности существуют в основном следующие риски безопасности:
Из-за ограничений по стоимости большой объем вычислительной работы должен выполняться вне сети. Вычисления вне сети имеют некоторые общие риски безопасности централизованных сервисов.
Большой объем данных хранится вне цепочки, а доступность и безопасность данных также являются точками риска, которые необходимо учитывать.
Наличие логических лазеек в самой выгравированной схеме также является фактором риска для безопасности.Из-за нечитаемости схемы необходимо оплатить дополнительные затраты на аудит или формальную проверку.
Metatrust помогал Uniswap в проведении комплексной формальной проверки и имеет очень богатый опыт в аудите цепей ZK и формальной проверке, что может обеспечить гарантию безопасного внедрения экосистемы BitVM.
Решения, описанные в двух предыдущих статьях, являются техническими решениями, которые стали популярными только в этом году. В следующей статье мы представим более старое и «ортодоксальное» решение — обновленную версию Lightning Network — Taproott Assets.