Використання Taproot та FROST для покращення конфіденційності Біткоїна

Використання Taproot та FROST для покращення конфіденційності Біткоїна

У Малайзії група розробників працює над об’єднанням FROST і Taproot для створення федеративних монетних дворів із протоколом Fedimint.

«Гей, я щойно отримав запрошення на цей хакатон у Малайзії», сказав Еван Лін, відриваючи мене від ноутбука у робочому просторі Taipei Hackerspace. «Звучить чудово», відповів я. «Чи можу я приєднатися?»

Тижнями я не міг знайти собі місця. Лін розривав моє уявлення про конфіденційність біткоїнів. «Це приватна подія, а не типовий хакатон. Принаймні я можу запитати».

Через один рейс, два тижні, а також шість хвилин витрачених на розв’язання логістичних питань через голосові повідомлення ми гуляли вулицями Куала-Лумпура у Малайзії, всіяними дуріанами, разом із Ллойдом Фурньє, розмірковуючи про спільне пристрасне бажання забезпечити конфіденційність біткоїнів. Тепер ми були командою. Ми вирішили оновити Fedimint, використовуючи наполовину відшліфовану криптографію та кілька надряпаних нотаток, а потім продемонструвати його на першій в історії малазійській зустрічі BitDevs через п’ять днів.

За кілька місяців до цього Фурньє приєднався до Ніка Ферроу для розробки FROST, нової передової криптосистеми, яка використовує переваги Taproot. Будучи джерелом кадрових ресурсів для Біткоїна, Фурньє також тісно співпрацював з Ліном, який є співавтором Bitcoin Dev Kit (BDK). Ми з ним провели останні кілька тижнів, покращуючи конфіденційність PayJoin під люмінесцентним освітленням у досвітню пору в Тайбеї, Тайвань, тож між нами встановилася довіра, щоб разом навмання вскочити у проєкт. Запрошення Фурньє було кроком до межі. Щоб продемонструвати світові передову криптографію, нам довелося помістити FROST у застосунок. Fedimint привернув увагу до нової моделі порогового зберігання. Він виявився цілком підходящим.

Самостійне зберігання коштів – нова і страшна концепція для більшості людей. Так багато людей зберігають біткоїни на біржах, передаючи їх на відповідальне зберігання третій стороні та залишаючи відкритими для цензури й непристойного нагляду. Федеративні монетні двори пропонують третій шлях: федерація відомих попечителів забезпечує безпеку фондів спільноти. Отже, як це працює?

Будь-хто може надіслати біткоїни до Fedimint в обмін на токени E-cash. Опікуни спільно зберігають біткоїни спільноти в гаманці з мультипідписом. Токени E-cash – це лише деякі дані: сліпі підписи, які пізніше можна обміняти на певну суму біткоїнів. Це надпотужні банкноти. Надішліть інвойс Lightning і свої токени E-cash для «прив’язки». Ви можете отримати E-cash в текстовому повідомленні, і, щоб ніхто інший не міг їх отримати, федерація перевипустить підписи. Підписи затемнені, тому їх можна використовувати на умовах повної анонімності. Будь-хто може надіслати E-cash на Fedimint, щоб отримати біткоїни.

Щоб розподілити відповідальне зберігання між опікунами, Fedimint використовує наявні біткоїн-адреси з мультипідписом Script. Порогова кількість опікунів входить в систему для переказу коштів. Ці кошти легко помітити в блокчейні, оскільки мультипідпис Script записує кількість підписантів і загальну кількість опікунів у блокчейн, щоб усі могли їх бачити. Попри те, що E-cash анонімна, компанії, які займаються відстежуванням, можуть ідентифікувати вхідні та вихідні прив’язки та кластерні фонди спільноти. Використовуючи останнє оновлення Біткоїна, Taproot, наша команда розв’язала цю проблему конфіденційності, змінивши мультипідпис Script на FROST.

FROST

FROST (Flexible Round Optimized Schnorr Threshold) це потужний новий різновид мультипідпису, який об’єднує частини ключа, наявні в членів федерації, у спільний ключ FROST. Щоб витрачати кошти, що знаходяться під цим ключем, кожен з порогової кількості учасників має створити частину підпису. Потім ці частини об’єднуються, щоб сформувати єдиний підпис, дійсний для спільного ключа FROST. Члени координують свої дії офчейн. Транзакції FROST не відрізняються від звичайних односторонніх транзакцій Taproot, тож припиняють гидке відстежування. Крім того, FROST дає можливість створювати гнучкі федерації, дозволяючи приєднуватися новим опікунам без необхідності при цьому координувати створення нових ключів кожним членом федерації.

Нашим першим кроком було зрозуміти, як федерація досягала консенсусу в кожному раунді підписання. Алгоритм консенсусу Fedimint може терпіти неналежну поведінку до третини федерації та все одно досягати консенсусу. Знадобився цілий день біля класної дошки, щоб декодувати алгоритм консенсусу, і ще один на налаштування початкової генерації ключа FROST.

Підходимо до консенсусу Fedimint (ілюстрація надана авторами)
Підходимо до консенсусу Fedimint (ілюстрація надана авторами)

Ми обманули генерацію ключів, зробивши це все в пам’яті одного довіреного пристрою. Згідно з передовою практикою процедура, що складається з двох раундів, зберігає секретні частини спільного ключа FROST, які будь-коли існували лише на пристрої цієї особи. Увесь секретний ключ ніколи не реконструюється.

Підходимо до консенсусу (підписи)

Перш ніж змінити код гаманця Fedimint, ми випробували транзакцію з прив’язкою і прийшли в замішання. Через обмеження сліпих підписів токени Fedimint E-cash (схожі на вивід CoinJoin) обмежені попередньо встановленими номіналами, щоб кожен переказ токенів E-cash мав встановлену анонімність. Очікування, очікування і ще очікування, Лін засміявся, що ми, мабуть, щось наплутали.

Виявляється, встановлені нами стандартні номінали банкнот вимагали від монетного двору генерувати близько 300 000 підписів, щоб випустити достатню кількість E-cash, щоб покрити суму прив’язки. Є пропозиції виправити це, використовуючи натомість анонімні облікові дані. Ми перезавантажили монетний двір, щоб використовувати значно вищі номінали за замовчуванням, оскільки ми лише проводили тестування. Зрештою, хакатони для хакерів.

На щастя, Bitcoiner Malaysia щойно сформувалася і була готова до своєї першої події. Між собою, ми – чотири хакери, ведучий найбільшого китайського біткоїн-подкасту та вчений, що збирається здобути перший у Малайзії ступінь доктора наук в області Біткоїна, – планували показати наприкінці тижня наш доказ роботи на BitDevs.

Попереду залишилося найважче завдання: федеративні підписи. Щоб створити спільний доступ у FROST, підписанти повинні погодитися на загальну випадковість, так звані одноразові номери. У випадку Fedimint підписанти використовують консенсус для узгодження унікального одноразового номера для кожного члена федерації, який приєднується до сеансу підписання. Потім учасники-підписанти об’єднують частини у повний підпис.

Поки ми створювали нашу практичну демоверсію для мітапу, нам вдалося досягнути частково робочого обміну одноразовими номерами, а також виправити деякі помилки з комісією. Попри нашу наполегливу роботу, час вечері підійшов до того, як наш код спрацював. Ми переступили поріг найглибшої території хакатону, скупчившись навколо телевізора для програмування у три пари рук у готельному номері Ферроу.

Нереальний досвід

Зі склянками води напоготові та увімкненим на повну звуком Unreal Tournament, Фурньє сів за клавіатуру, а ми, вмостившись позаду, жбурляли виправленнями помилок, назвами змінних і командами. Минула 1:30 ночі, і на нас почав накочуватись сон. Ще кілька ударів по клавіатурі й, о, диво, прив’язка спрацювала. Кожен підписант отримуватиме частини підпису від інших і викуповуватиме E-cash анонімних користувачів в обмін на біткоїни. Пролунало «Бездоганна перемога». Ми недовірливо зраділи.

А це ще не кінець. Наступного дня ми запустили код і одразу побачили проблеми. Нам пощастило тільки напередодні. Спрацювало лише один раз із трьох-чотирьох спроб. Ми годинами прочісували код. Після обіду ми все ще хвилювалися, що доведеться ще раз засиджуватися до пізньої ночі. На щастя, нам вдалося виявити проблему: класичну помилку індексації. О 17:00 FROSTimint був готовий до презентації.

Після того, як ми зібралися на BitDevs, учасники обрали для знайомства формат, який самі вони називають «групою підтримки». Фурньє повернув нас до реальності за допомогою технічних нюансів. На інавгураційному мітапі обговорювалося майбутнє та слабкі сторони опікунів. Як обирати опікунів? Чи можуть вони зберігати часткові резерви? І найголовніше, як мій улюблений магазин супу з локшиною може вийти за рамки фіату за допомогою Fedimint?

Це гостьова публікація Дена Гулда та Ніка Ферроу. Гулд – розробник, який працював над TumbleBit, PayJoin і Chaincase App і був спонсорований Human Rights Foundation і Geyser Grants. Ферроу – австралійський Біткоїн-розробник, найбільш відомий своїм платіжним процесором SatSale з відкритим вихідним кодом. Висловлені погляди є їх власними і не обов’язково збігаються з точкою зору BTC Inc. або Bitcoin Magazine.

Після халвінгу біткоїн стане дефіцитнішим ніж золото Після халвінгу біткоїн стане дефіцитнішим ніж золото Нова пропозиція біткоїна вперше перевершить золото після халвінгу у 2024 році. Спенсер Ніколз 15 квітня 2024
Як догми вбивають клітини мозку Як догми вбивають клітини мозку Усі культури потребують певної всеосяжної віри, для підтримки їх як єдиної ідентичності. Але коли цієї віри дотримуються сліпо, це призводить до стагнації та незгод. Шинобі 14 квітня 2024
Bitpac: емуляція DAO на Біткоїні Bitpac: емуляція DAO на Біткоїні Хоча DAO традиційно асоціюються з Ethereum, емуляція більшості функцій DAO можлива у Біткоїні з використанням мультипідпису та голосування з приводу того, які транзакції підписувати. Діллон Хілі 13 квітня 2024