Атака "двойные расходы", от которой даже Человек-паук не может защититься? Botanix создает защитную сеть из паутины.

Исходное название: Как Botanix защищается от двойных расходов

Автор оригинала: botanixlabs

Исходный текст:

Перевод: Дейзи, Mars Finance

Как Botanix предотвращает атаки двойного расходования

Одной из основных проблем, с которыми сталкиваются боковые цепи Биткойна, является поддержание баланса притока и оттока средств между цепочкой и сетью Биткойна. Этот принцип применим как к депозитам (привязанные к вкладам) транзакциям, так и к выводам (привязанные к снятию) транзакциям. При отсутствии эффективного управления система быстро окажется в состоянии дисбаланса активов из-за появления двойных расходов и конфликтующих входов. Botanix элегантно решает эту проблему с помощью Spiderchain — это цепочка совместного доказательства доли, основанная на архитектуре многофакторного кошелька с ротацией, специально разработанная для Биткойна.

Такая схема естественным образом приводит к двум типам транзакций: якорный депозит и якорный вывод. Привязанные депозиты работают путем отправки BTC на текущий кошелек с мультиподписью во время чеканки соответствующего актива-представительства BTC на Botanix. Для вывода с привязкой, после того как пользователь сожжет активы представления BTC на Botanix, Spiderchain вернет реальные BTC с мультиподписью UTXO в качестве входа. На Botanix такие транзакции с биткоином проверяются текущей мультиподписью координатора Spiderchain. Еще один ключевой дизайн заключается в том, что Botanix привязывает каждую транзакцию к предыдущей и встраивает все «конфликтующие» входные данные, гарантируя, что любая попытка повторения или воспроизведения автоматически отклоняется механизмом консенсуса Биткойна.

Что означает "мультиподпись" в этом контексте?

Здесь ключевым моментом является "многоподпись" (multisig). Большинство пользователей web3, вероятно, знакомы с этим термином — он обычно относится к возможности нескольких пользователей совместно подписывать транзакцию кошелька. Но в контексте Botanix "многоподпись" (сокращение от multi-signature) конкретно относится к тем биткойн-адресам, для выполнения транзакции которых требуется совместное одобрение нескольких сторон (обычно с использованием модели n-of-k ключей).

Каждый цикл Spiderchain от Botanix создает новый кошелек Bitcoin с мультиподписью «3-for-2+» (в будущем планируется настроить до режима 12/16, который по-прежнему будет поддерживать соотношение более 2/3), который совместно контролируется узлами-координаторами. Это означает, что любая транзакция, инициированная с этого адреса (например, вывод якоря), должна быть подписана не менее чем 67% указанных координаторов. Эти кошельки с мультиподписью обновляются с каждым блоком биткоина, создавая цепную структуру, в которой размещаются депозиты и снятие BTC.

Таким образом, здесь "мультиподпись" является не только совместным кошельком — она также является основой минималистичного дизайна доверия Botanix и мостом между биткойном и его сайдчейнами. Эта механика предотвращает возможность одностороннего вывода BTC и обеспечивает безопасность процесса привязки и доступа благодаря ротации группы проверяемых подписантов. Функция, которая кажется простой и даже обыденной на других цепочках, играет жизненно важную роль в экосистеме биткойна.

Анализ механизма "входа конфликта"

Основной принцип этого механизма заключается в следующем: предыдущая привязка использует входы, созданные на бирже, которые были потрачены в текущей транзакции. Согласно модели UTXO в биткойне, как только какой-либо UTXO включен в подтвержденный вход транзакции, он больше не может быть использован. Botanix использует эту особенность — использует потраченные выходы предыдущей привязки в качестве входов для новой привязки, любая попытка транслировать повторяющиеся привязки будет нарушать правило двойного расходования биткойнов и будет отклонена.

Если координатор или пользователь попытается повторно использовать один и тот же UTXO для анкерного вывода, создаваемая транзакция будет содержать "конфликтующий ввод" (то есть две транзакции пытаются потратить один и тот же UTXO), что сделает её недействительной. Другими словами, уже использованные многоподписные UTXO не могут быть повторно использованы, система обнаружит конфликт и отклонит повторную транзакцию.

Конкретные примеры:

Допустим, TXn — это последняя транзакция Bitcoin, которая была зафиксирована, и на ее выходе содержится неизрасходованная мелочь UTXO Un (для пополнения следующего кошелька с мультиподписью). Когда произойдет следующий вывод якоря, координатор Botanix построит транзакцию TXn₊₁ с Un в качестве одного из входов. К этому моменту Ун был поглощен TXn₊₁. Если одна из сторон (злонамеренная или нет) попытается ретранслировать копию TXn₊₁ или создать другую транзакцию, которая будет стоить Un, сеть распознает, что Un были потрачены первым TXn₊₁, и будет рассматривать последующие копии как двойное расходование. Мало того, что эти дубликаты транзакций не могут быть упакованы в блокчейне, они даже не могут быть надежно распространены между узлами, потому что механизм консенсуса Биткойна запрещает вторичное расходование одного и того же UTXO. По сути, конструкция использования потраченного UTXO в качестве входных данных делает все транзакции извлечения якоря естественным образом антивоспроизведенными и механически обеспечивает принцип однократного использования.

Механизм аналогичен цепи транзакций Биткойна: каждая новая транзакция явно использует выход предыдущей транзакции. Полностью идентичные транзакции не могут быть повторно подтверждены, любые попытки повторного использования одинакового входа для новой транзакции будут считаться недействительными. Проще говоря, Spiderchain с помощью модели UTXO принуждает к уникальности каждого извлечения при якорении.

Демонстрация логики торговой цепочки:

Предыдущий многоподписной UTXO (M1) → [Торговля с привязкой] → адрес пользователя (сумма) + новый многоподписной UTXO (M2)

В следующем блоке M2 становится "предыдущим анкерным извлечением UTXO", которое расходуется следующей анкерной извлекающей транзакцией.

Любая повторная транзакция по извлечению привязки, если она пытается снова потратить M2, потерпит неудачу, поскольку M2 уже потрачено.

С помощью этого дизайна две привязанные транзакции не могут потратить один и тот же выход биткойна — потому что каждая транзакция должна включать в себя последний выход в качестве ввода. Узлы биткойна автоматически отклоняют любые попытки двойной траты этого ввода, и любые случайные или злонамеренные повторные транзакции будут немедленно недействительны.

Предотвращение неожиданных или злонамеренных атак повторного воспроизведения

Механизм конфликтующего ввода предназначен для предотвращения как случайных, так и преднамеренных повторных выносов якоря. Неожиданно пользователь или узел не может создать две идентичные транзакции вывода средств, потому что вторая попытка будет конфликтовать с уже потраченными данными. С злонамеренной точки зрения, координатор или внешний злоумышленник не может подделать вторую транзакцию по выводу якорей на те же средства. Если злоумышленник попытается совершить двойное расходование, он должен создать еще одну транзакцию Bitcoin, которая будет стоить ту же сумму UTXO; Однако, поскольку UTXO уже был использован предыдущей юридически привязанной транзакцией на вынос, любая вторичная транзакция с использованием тех же входных данных будет считаться дважды потраченной и недействительной.

Более того, механизм управления Botanix налагает штрафы на любого координатора, который пытается подписать или транслировать транзакцию на вынос, связанную с конфликтом. В правилах системы прямо указана «ненадлежащая мультиподпись в Spiderchain, включая подписание неправильного якоря для вывода транзакций или участие в двойном расходовании» как незаконная операция, которая может конфисковать залог. Поскольку код кроссчейн-моста конструирует полную транзакцию (вход, выход, сумму) с помощью консенсусного детерминизма в цепочке, оператор не может вмешиваться во входной контент без разрешения. Таким образом, если координатор намеренно подписывает транзакцию, которая конфликтует с другими транзакциями (например, пытается осуществить двойное расходование), то узел рискует столкнуться с сокращением своего обеспечения.

Таким образом, Botanix опирается как на механизм консенсуса Биткойна (автоматически отклоняющий транзакции с двойным расходом), так и на собственные правила майнинга и конфискации, что обеспечивает двойную защиту уникальности ограничений на вывод средств.

Пошаговый анализ рабочего процесса

После глубокого понимания принципов механизма давайте поэтапно разберем фактический процесс работы. Несмотря на множество технических этапов, с макроперспективы общая логика оказывается удивительно ясной:

Привязанный депозит (вклад)

Сгенерировать адрес шлюза

Протокол Botanix генерирует уникальный адрес "шлюза" Taproot, сочетая союзный открытый ключ FROST с адресом пользователя в Ethereum.

Перевести BTC на многофункциональный адрес

Пользователь переводит BTC на этот адрес шлюза. Фактические средства поступают в мультиподписной кошелек альянса Spiderchain, контролируемый координатором. Исходный BTC всегда заблокирован в мультиподписном адресе Bitcoin и на самом деле не покидает сеть Bitcoin.

Создание синтетического BTC на EVM

После того как депозитная транзакция получит достаточное количество подтверждений, Sidecar (или пользователь через мостовой контракт) создает доказательство, содержащее Merkle, и вызывает контракт чеканки Botanix на Spiderchain EVM. Эта EVM-транзакция уничтожает "доказательство" о депозите, привязанном к цепи, и инициирует событие чеканки, после чего система немедленно чеканит эквивалентный синтетический BTC на EVM-аккаунт пользователя (за вычетом комиссии за биткойн и EVM gas).

Конечный результат: пользователи на Botanix EVM владеют синтетической BTC, поддерживаемой 1:1 BTC, заблокированной многофункциональным кошельком Spiderchain. Израсходованные BTC будут появляться как новые UTXO в UTXO наборе многофункционального кошелька. Узлы верификации Botanix отслеживают состояние в цепочке с помощью собственных экземпляров биткойнов, соответствующим образом обновляют набор UTXO и проверяют доказательства, обеспечивая, чтобы каждое пополнение инициировало выпуск токена EVM только один раз.

Вывод, привязанный к активу (вывод средств)

Уничтожить на EVM

Пользователь инициирует вывод, уничтожая синтетический BTC, отправляя транзакцию в Spiderchain EVM. Эта транзакция EVM вычтет (уничтожит) указанную сумму из баланса пользователя (включая комиссию за газ EVM).

Создание биткойн-транзакции

Синтетическая стоимость BTC, которая была уничтожена, должна быть разблокирована на блокчейне биткойна. Координатор (который также может получать эти данные как узел проверки EVM) после обнаружения события уничтожения собирает все ожидающие запросы на вывод от назначенного лидера цикла в следующем цикле биткойна. В соответствии с правилами проектирования Spiderchain выбирается UTXO для расходования из фонда — используется стратегия "последний пришел, первый вышел" (LIFO), при этом предпочтение отдается самым недавно внесенным UTXO, чтобы защитить ранние депозиты от потенциального злонамеренного захвата.

Структура сделки

Координатор продолжает отбор UTXO, пока общая стоимость не покроет сумму вывода плюс комиссию майнера биткойнов. Затем создается исходная транзакция биткойнов: входы — выбранные UTXO, выходы включают (a) адрес пользователя для биткойнов (для получения суммы вывода), (b) сдача выводится на новый адрес мультиподписей Spiderchain (чтобы оставить оставшиеся средства в системе).

Подписка по порогу и трансляция

После завершения построения сделки, члены альянса используют ключевые фрагменты FROST для совместной подписи. Когда достигается порог подписи ≥t-of-n, полная подпись биткойн-транзакции передается в сеть биткойнов. В этот момент сжигание BTC на Spiderchain официально конвертируется в затраты биткойнов на цепочке, и пользователи в конечном итоге получают BTC за вычетом общих сборов (сумма сжигания EVM минус комиссия сети биткойнов).

Механизм обеспечения консенсуса и конфискации

Чтобы обеспечить доверенную среду и поддерживать устойчивость механизма, Botanix одновременно использует простую надежность биткойна и современные возможности систем. Эта гибридная схема усиливает безопасность за счет сочетания простоты и сложности.

С одной стороны, этот механизм требует соблюдения лишь основных правил UTXO/расхода биткойна: "UTXO, как только он был потрачен, не может быть использован повторно". Это фундаментальный принцип биткойн-консенсуса, поэтому механизм конфликтных входов по сути просто опирается на существующие правила биткойна. Пока координатор включает UTXO предыдущей транзакции в каждую новую транзакцию якоря, узлы биткойна автоматически отклоняют любые повторные или дублирующие транзакции.

С другой стороны, если координатор ведет себя злонамеренно (например, подписывает вторую конфликтующую транзакцию, чтобы нарушить мультиподпись), протокол Botanix PoS и оговорка о слэшинге наложат на него штраф. Этот механизм эффективен в пресечении потенциально вредоносных действий. По сути, стратегия «конфликтующих входов» напрямую использует саму модель UTXO для обеспечения единства якорной выборки — связывая входные данные каждой якорной выборки с выходом предыдущей транзакции, Botanix гарантирует, что только первая действительная транзакция будет успешной, а любые повторяющиеся транзакции, естественно, будут отклонены сетью Биткойн, потому что они представляют собой двойную трату. Этот дизайн умело защищает от случайных дубликатов транзакций и вредоносных атак повторного воспроизведения, а его безопасность гарантируется как правилами консенсуса Биткойна, так и внутренним механизмом слэшинга Botanix.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить