Федеративні сайдчейни – це оригінальна реалізація сайдчейну Біткоїна

Федеративні сайдчейни – це оригінальна реалізація сайдчейну Біткоїна

Федеративні сайдчейни використовують керування ключами для забезпечення безпеки та надання функціональних можливостей за межами основної мережі Біткоїна.

Федеративні сайдчейни наразі є єдиним розгорнутим типом сайдчейну Біткоїна. Ідея використання федеративної прив’язки та консенсусної системи була фактично додатком до оригінального технічного документа щодо сайдчейнів. Не було конкретного проєкту для будь-якого типу двосторонньої прив’язки за участю майнерів, тому федеративну прив’язку було описано як спосіб приведення в дію сайдчейну прямо зараз і переходу до двосторонньої перевіреної прив’язки за допомогою доказів простої перевірки платежів (SPV). Подібне відбувається у софтчейні, коли було конкретно розроблено щось, що є безпечним та придатним до розгортання. Було також зазначено, що з точки зору стимулів, для дуже невеликих систем може бути небезпечно використовувати прив’язку на основі майнерів, оскільки вони можуть красти в дуже невеликої групи людей, не досягаючи консенсусу від ширшої системи Біткоїна щодо того, що з цим робити. Федерації можуть бути корисними для невеликих систем, де група користувачів недостатньо велика, щоб перешкоджати майнерам красти монети.

Загальна ідея полягає в ефективному використанні блокчейну, де обрана група довірених сторін зберігає біткоїни, прив’язані до системи, за допомогою мультипідпису, і створює блоки в сайдчейні, підписуючи їх криптографічними ключами замість використання доказу роботи (proof-of-work). Вся модель безпеки ґрунтується на наявності достатньо великого набору окремих учасників у групі чи федерації, які сильно розподілені географічно та загальновідомі.

Федерації використовують порогову кількість учасників як для зберігання біткоїнів в основній мережі, так і для підписання блоків, тобто мультипідпис «5 із 7». Це робиться замість того, щоб вимагати підписання усіма сімома учасниками, з метою збалансувати два основні ризики такої системи: крадіжку та втрату. Федерація в сукупності може викрасти всі кошти, заблоковані у федеративному сайдчейні, якщо всі вирішать співпрацювати для цього; ось чому вся модель безпеки базується на багатьох різних суб’єктах у багатьох різних правових юрисдикціях.

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

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

Вони обидві одночасно повинні бути достатньо високими, щоб зробити обидва найгірші випадки малоймовірними.

Крім цих основних властивостей, існує великий ступінь свободи в тому, як можна реалізувати федеративний сайдчейн, як з точки зору того, як спроєктувати сам сайдчейн, так і щодо того, як здійснювати управління ключами, призначеними для підписання блоків, та прикріпляти ключі, призначені для зберігання.

Liquid

Liquid був першим федеративним сайдчейном, розгорнутим у Біткоїні, розробленим для приватних транзакцій між біржами для торгівлі та випуску інших активів, таких як стейблкойни або токени акцій. Його кодова база майже повністю побудована на основі самого Біткоїна. Однією з ключових функціональних можливостей мережі Liquid стала реалізація Confidential Transactions (укр. «конфіденційні операції»), функції, яка використовує криптографічні докази діапазону, щоб приховати суми, що надсилаються в транзакціях, але при цьому за певних припущень забезпечити гарантію, що не витрачаються гроші, яких не існує. Liquid також реалізував Confidential Assets (укр. «конфіденційні активи») розширення Confidential Transactions. Confidential Assets приховує, який токен витрачається на додаток до суми.

Ці дві функції в поєднанні забезпечують ефективне вирішення одного з великих недоліків, можливих у федеративному сайдчейні: цензури. Порогова більшість (у нашій вищенаведеній гіпотетичній федерації «5 із 7») може погодитися цензурувати конкретні транзакції чи UTXO, якщо у них усіх є для цього підстави, наприклад підозрювана чи підтверджена незаконна діяльність. У такому випадку вони навіть матимуть раціональний стимул зробити це, щоб не дати урядам приводу переслідувати всю систему. Confidential Transactions/Assets можуть забезпечити достатньо високий рівень конфіденційності, що навіть якщо федерація має підстави цензурувати певні типи транзакцій, їй буде дуже важко вибрати їх для цього.

Транзакція прив’язки на Liquid є відносно простим двоетапним процесом. Користувач, який бажає під'єднатися, бере мультисиг-адресу (адресу з мультипідписом) федерації, а потім «налаштовує» кожен відкритий ключ, задіяний у ній, використовуючи «оплату за контракт» з адресою Liquid, яку вони контролюють, для створення нових відкритих ключів. Члени федерації можуть отримати відповідні закриті ключі, коли дізнаються про використану адресу Liquid. Поки ця інформація не буде розкрита, ніхто, навіть федерація, не знає, що транзакція на цю налаштовану адресу є прив’язкою Liquid. Потім користувачі транслюють транзакцію на мейнчейн і чекають 100 підтверджень. Після того, як підтвердження буде накопичено, користувачі можуть відправити транзакцію в мережі Liquid, щоб надіслати свої монети собі. Для цієї транзакції використовується спеціальний вхід, який містить адресу Liquid, за допомогою якої вони налаштували ключі федерації, підпис, який доводить, що вони контролюють її, і доказ Merkle, який показує, що трансакція прив’язки до мейнчейну має щонайменше 100 підтверджень.

Процес виведення набагато простіший. Користувач створює транзакцію, яка спалює біткоїни на Liquid за допомогою OP_RETURN, містить адресу для надсилання в основній мережі та спеціальний доказ з нульовим розголошенням від одного з членів федерації (якого саме, приховано). Коли члени федерації побачать таку транзакцію з дійсним доказом членства, вони підпишуть операцію зі зняття коштів в основній мережі. Такий доказ запроваджено для запобігання шахрайським або недійсним зняттям коштів і дозволяє будь-якому члену федерації, який надає доказ, застосувати «білий список» або обмеження на відключення. Будь-хто може вільно прив’язувати біткоїн до мережі Liquid, але для виведення потрібні взаємовідносини з членом федерації.

Що стосується керування ключами та безпеки обробки, Blockstream розробив апаратні модулі безпеки (HSM) для обробки ключів і виконання операцій підписання. Ці пристрої захищають ключі, які використовуються для підписання блоків і входів/виходів, захищаючи їх від несанкціонованого втручання або вилучення ключів.

Щоб забезпечити певні засоби відновлення у разі втрати ключів несправними пристроями, а також для захисту від вилучення ключів із зловмисною метою, резервні копії ключа кожного учасника зберігаються в зашифрованому вигляді таким чином, що вимагає від цього учасника та Blockstream співпраці, щоб розшифрувати ключ для завантаження в новий HSM. Жодна сторона не може розшифрувати резервну копію самостійно.

Останньою лінією захисту від втрати ключа є ключі екстреного виведення. Кожна адреса, на яку федерація надсилає монети для прив’язки, пропонує два шляхи витратити кошти: необхідну порогову величину федерації та після приблизно місячного таймлоку (хоча тривалість часу блокування може бути змінена) необхідної порогової кількості екстрених ключів. Це другий набір ключів, який може підтримувати федерація, інша сторона або їх поєднання, щоб забезпечити можливість відновлення монет у разі втрати забагато ключів федерації. Федерації регулярно переміщують у мейнчейні монети, які знаходяться на їхньому зберіганні, до закінчення терміну таймлоку, тож поки федерація не перестала діяти, цей екстрений шлях ніколи не можна застосувати. Наразі Blockstream підтримує географічно розподілені ключі відновлення.

Нарешті, є функція під назвою «Динамічні федерації». Це дозволяє переважній більшості членів федерації оновлювати членство, додавати або видаляти учасників. Це робиться через програмне оновлення програмного забезпечення для підписання після прийняття рішення про те, яких нових учасників додати, чи про видалення поточних, а потім через місячний період сигналізування. Якщо протягом одного місяця чотири п’ятих блоків сигналізували про зміну федерації, мережа «розгалужується», щоб розпізнати нову федерацію як підписувача блоків. Тоді мережа починає використовувати нові адреси прив’язки з новою федерацією, але при цьому розпізнає старі ще протягом місяця, щоб гарантувати, що жодна прив’язка не стане недійсною під час зміни федерації. Також не дозволяється видаляти стільки членів федерації, що їх не вистачить для підписання операції з виведення коштів зі старих адрес. Усі ці аспекти оновлень федерацій є частиною консенсусних правил і забезпечуються/підтверджуються HSM.

Rootstock (RSK)

Rootstock – це федеративний сайдчейн із багатьма конструктивними відмінностями від Liquid. По-перше, це, по суті, точно скопійований клон Ethereum з точки зору функціональності. Він повністю підтримує Solidity, мову сценаріїв, яку використовує Ethereum, тому будь-який контракт, розгорнутий на Ethereum, легко переноситься на Rootstock. Обґрунтування цього, очевидно, полягає в тому, що Ethereum має великий попит і може забезпечити функціональність, на яку не здатний Біткоїн. Очевидно, що існує багато недоліків і ризиків для архітектури Ethereum, але не можна заперечувати, що на неї є попит.

Ще одна велика відмінність з точки зору архітектури полягає в тому, що робить федерація – вона колективно керує мультипідписом, який зберігає кошти в мейнчейні, але федерація за звичайних обставин не бере участі в карбуванні блоків. Це робиться майнерами Біткоїна за допомогою об’єднаного майнінгу, що дозволяє їм майнити Біткоїн та Rootstock одночасно. Хоча це не забезпечує суттєвої різниці в безпеці для Біткоїна, прив’язаного до ланцюга Rootstock, це забезпечує певну різницю для інших активів, випущених у сайдчейні. Федерація завжди може вкрасти Біткоїн у мейнчейні, якщо буде достатньо змовників, але оскільки майнери фактично майнять сайдчейн, він може зберігатися і дозволити іншим активам продовжувати бути предметом транзакцій. Якщо ці інші активи мають достатню цінність, навіть якщо вони не забезпечені справжніми біткоїнами, токен Rootstock BTC все одно повинен мати достатній ринковий попит, щоб сплачувати комісії за використання інших активів, щоб стимулювати майнерів продовжувати майнінг.

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

Процес прив’язки дуже простий: надішліть біткоїн на адресу прив’язки RSK, а потім дочекайтеся достатньої кількості підтверджень. Після накопичення достатньої кількості підтверджень смарт-контракт Solidity на сайдчейні розпізнає транзакцію та зарахує її на обліковий запис на сайдчейні, який контролюється тим самим ключем, до якого було прив’язано UTXO, до якого ви прив’язались. Виведення також контролюється смарт-контрактом, який зв’язуватиметься з HSM федерації, які підпишуть транзакцію зняття коштів з мейнчейну в той час, який вказаний у контракті.

Коли Roostock було запущено вперше, все, що було потрібно для виведення, це більшість HSM федерації, які підписали транзакцію після того, як це було вказано смарт-контрактом на сайдчейні. У 2020 році вони запровадили новий механізм прив’язки під назвою POWPeg. Це оновлення дозволило HSM фактично перевіряти докази SPV від майнерів. Тепер HSM відмовляються підписувати транзакції виведення, якщо більшість із поточного набору майнерів RSK не будують транзакції з ініціації виведення. Модель безпеки в кінцевому підсумку зводиться до того, що HSM залишаються в безпеці, але якщо більшість із них не буде зламано та ключі не будуть вилучені, вони не здійснять підписання без достатнього доказу роботи, що підтверджує виведення.

На завершення

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

Федеративні системи, можливо, не є «таким, що не потребує довіри» сайдчейном, якого багато-хто хотів би, але вони все одно є дуже корисними системами – особливо в будь-якому контексті, де єдиний спосіб задовольнити ринковий попит – довірити арбітраж щодо чогось одному зберігачу. Федерації одразу стають стандартним покращенням, розподіляючи ризик, пов'язаний із контрагентом, між багатоскладовими гравцями.

Це гостьова публікація Шинобі, ведучого подкастів про Біткоїн. Висловлені погляди є його власними й не обов’язково збігаються з точкою зору BTC Inc. або Bitcoin Magazine.

Foundation Devices планує створити iPhone у сфері апаратного забезпечення Біткоїна Foundation Devices планує створити iPhone у сфері апаратного забезпечення Біткоїна Співзасновник і генеральний директор Foundation Devices Зак Герберт прагне створити Біткоїн-продукти, які будуть такими ж елегантними та зручними у використанні, як пристрої Apple, але при цьому захищатимуть конфіденційність користувачів та будуть створені на відкритому коді. Френк Корва 16 липня 2024
Біткоїн як рівень нотаріального засвідчення політичних угод Біткоїн як рівень нотаріального засвідчення політичних угод Оцінка потенційної ролі Біткоїна в геополітиці та міжнародній дипломатії в гіпербіткоїнізованому світі. Мікеле Уберті 14 липня 2024
Біткоїн-вузол для кожного Біткоїн-вузол для кожного Чому самостійна обробка вашого біткоїна замість делегування цього третій стороні має вирішальне значення для безпеки самої системи Біткоїна. Оуен Кемейс 13 липня 2024