Атака "подвійні витрати", від якої не може захиститися навіть Людина-павук? Botanix створює захисну мережу за допомогою павутиння.

Оригінальна назва: Як Botanix захищає від подвійних витрат

Оригінальний автор: botanixlabs

Оригінальне джерело:

Переклад: Дейзі, Mars Finance

Як Botanix запобігає атакам подвоєння витрат

Однією з основних проблем, з якими стикаються сайдчейни Bitcoin, є підтримка балансу притоків і відтоків між ончейном і мережею Bitcoin. Цей принцип застосовується як до операцій депозиту (якірний депозит), так і до операцій зняття (зняття якоря). Без ефективного управління система швидко потрапить у небаланс активів через транзакції з подвійними витратами та конфліктні вхідні дані. Botanix елегантно вирішує цю проблему за допомогою Spiderchain, федеративного ланцюга з доказом частки, розробленого спеціально для Bitcoin на основі обертової архітектури гаманця з мультипідписом.

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

У цьому контексті що означає "мультипідпис"?

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

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

Таким чином, "мультипідпис" тут - це не просто спільний гаманець - це основа мінімізованого до довіри дизайну Botanix і міст між Bitcoin і його сайдчейном. Цей механізм не тільки запобігає можливості одностороннього зняття BTC, але й забезпечує процес депозиту та зняття якоря за допомогою ротації групи підписантів, які можна перевірити. Здавалося б, прості і навіть банальні функції в інших ланцюгах відіграють життєво важливу роль в екосистемі Bitcoin.

"Розбір механізму "конфліктного вводу"

Основний принцип цього механізму полягає в тому, що вхідні дані, згенеровані попередньою транзакцією anchor fetch, були витрачені в поточній транзакції. Згідно з моделлю UTXO Bitcoin, як тільки UTXO включено у вхідні дані підтвердженої транзакції, його не можна використовувати знову. Botanix використовує цю функцію, беручи витрачені дані з попереднього peg fetch як вхідні дані для нової транзакції з прив'язкою до вибірки, і будь-яка спроба транслювати дублікат прив'язаного вибірки буде відхилена з порушенням правила подвійних витрат Bitcoin.

Якщо координатор або користувач намагається повторно використати той самий UTXO для закріплення виведення, згенерована транзакція міститиме "конфліктуючі входи" (тобто дві транзакції намагаються витратити один і той самий UTXO), внаслідок чого вона буде недійсною. Іншими словами, витрачений мультипідписаний UTXO не може бути повторно використаний, система виявить конфлікт і відхилить повторну транзакцію.

Конкретний приклад:

Скажімо, TXn — це остання транзакція Bitcoin, яка була прив'язана, і її вихід містить невитрачену зміну UTXO Un (для поповнення наступного гаманця з мультипідписом). Коли відбудеться наступне винесення якоря, координатор Botanix побудує транзакцію TXn₊₁ з Un як одним із входів. На даний момент Un був поглинений TXn₊₁. Якщо будь-яка зі сторін (незалежно від того, зловмисна вона чи ні) спробує ретранслювати копію TXn₊₁ або створити іншу транзакцію, яка коштує Un, мережа визнає, що Un було витрачено першим TXn₊₁ і розглядатиме наступні копії як подвійні витрати. Ці повторювані транзакції не тільки не можуть бути упаковані в ланцюжок, але вони навіть не можуть бути надійно поширені між вузлами, оскільки механізм консенсусу Bitcoin забороняє вторинні витрати тих самих 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 завжди заблокований на мультипідписній адресі біткоїнів і не покидає мережу біткоїнів.

Місько синтетичний BTC на EVM

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

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

Припинення закладання (виведення)

Знищення в EVM

Користувачі ініціюють виведення прив'язаних активів, відправляючи транзакцію для знищення синтетичного BTC у Spiderchain EVM. Ця транзакція EVM зніме (знищить) з балансу користувача вказану суму (включаючи витрати на газ EVM).

Будівництво біткойн-транзакцій

Вартість спаленого синтетичного BTC має бути розблокована в ланцюжку Bitcoin. Після того, як координатор (який також виступає в ролі валідатора EVM і має доступ до цих даних) виявляє подію спалювання, всі незавершені запити на виведення коштів агрегуються призначеним координатором лідера циклу в наступному циклі Bitcoin. Згідно з правилами дизайну Spiderchain, UTXO, який буде витрачено, вибирається з пулу – використовуючи стратегію (LIFO) «останній прийшов – першим пішов», щоб визначити пріоритет останнім депонованим UTXO, таким чином захищаючи ранні депозити від потенційних зловмисних захоплень.

Конструкція угоди

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

Підпис за порогом та трансляція

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

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

Для забезпечення надійного середовища та підтримки стійкості механізму Botanix одночасно використовує просту надійність біткойна та сучасні можливості систем. Ця змішана схема посилює безпеку шляхом поєднання простого і складного.

З одного боку, цей механізм лише потребує дотримання найосновніших правил UTXO/витрат біткоїна: "UTXO, як тільки він витрачений, більше не може бути використаний повторно". Це фундаментальний принцип консенсусу біткоїна, тому механізм конфліктних входів по суті лише базується на існуючих правилах біткоїна. Щойно координатор включить UTXO з попередньої угоди в кожній новій угоді на закріплення, вузли біткоїна автоматично відмовлять у будь-яких повторних або копійованих угодах.

З іншого боку, якщо координатор поводиться зловмисно (наприклад, підписує другу конфліктну транзакцію для порушення мультипідпису), протокол PoS Botanix і пункт про скорочення штрафують його. Цей механізм є ефективним для стримування потенційно зловмисних дій. По суті, стратегія «конфліктних входів» безпосередньо використовує саму модель UTXO для забезпечення єдиності отримання якоря - пов'язуючи вхід кожного якірного вибірки з виходом попередньої транзакції, Botanix гарантує, що лише перша дійсна транзакція буде успішною, а будь-які дублікати транзакцій, природно, відхиляються мережею Bitcoin, оскільки вони є подвійними витратами. Цей дизайн розумно захищає від випадкових дублікатів транзакцій і зловмисних атак повторного відтворення, а його безпека гарантується як правилами консенсусу Bitcoin, так і внутрішнім механізмом скорочення Botanix.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити