BitVM, RGB Protocol і Taproot Assets: як реалізують смарт-контракти в біткоїні
Біткоїн позиціонується як найбільш захищений блокчейн на ринку. Використання енергоємного алгоритму досягнення консенсусу Proof-of-Work, відсутність соціальних центрів впливу та високі витрати на підтримку безпеки забезпечують децентралізацію мережі, стійкість до атак і форків.
Водночас, поки навколо блокчейнів на кшталт Ethereum або Solana виростають цілі екосистеми з різноманітними додатками і платформами, біткоїн через свої технічні особливості залишається просто платіжною мережею. Дослідження з розширення її можливостей почалися не так давно і у 2023 році можуть запропонувати лише компромісні рішення.
У цій статті Incrypted розібрав, із чим пов’язані обмеження біткоїна, а також розглянув проєкти, спрямовані на їхнє усунення.
Обмеження біткоїна
1936 року британський учений Алан Тюрінг представив концепцію абстрактного обчислювального пристрою для виконання математичних алгоритмів. Він отримав назву машина Тюрінга.
Залежно від того, які операції може виконувати обчислювач, за Тюрінгом він класифікується як:
- повний — теоретично здатний на будь-які розрахунки, тобто може розв’язати будь-яку математичну задачу за наявності достатньої кількості ресурсів і часу;
- неповний — адаптований під конкретні обчислення і має логічні обмеження.
Ethereum Virtual Machine (EVM) — це повна за Тюрінгом машина, на якій можна проводити будь-які розрахунки. Ethereum розробляли як децентралізований комп’ютер із підтримкою високорівневих мов програмування, тому на базі EVM порівняно легко створювати додатки та надбудови, побудовані на смарт-контрактах.
Своєю чергою, біткоїн проєктувався як платіжна мережа з конкретним набором функцій. Мова програмування Script, яка використовується в блокчейні, є неповною за Тюрінгом і в ній відсутні деякі логічні блоки, необхідні для проведення комплексних обчислень. Програмне забезпечення біткоїна націлене в основному на визначення умов витрачання UTXO і практично не підтримує інші типи операцій.
Обмежена логіка виконання реалізована цілеспрямовано. Вона дає змогу захистити код від помилок і експлойтів, а також знизити споживання ресурсів, необхідних для проведення обчислень. Але це також означає, що мережу дуже складно адаптувати під вирішення будь-яких інших завдань, окрім передання вираженої в біткоїні цінності через систему UTXO.
Смарт-контракти на біткоїні
Визначення смарт-контракту було введено програмістом Ніком Сабо на початку 1990-х років. За Сабо, смарт-контракт — це набір зобов’язань, виражений у цифровій формі, включно з протоколами, у межах яких сторони виконують ці зобов’язання.
Строго кажучи, мережа біткоїна підтримує смарт-контракти. Навіть з обмеженнями Script у користувачів є можливість встановити певні умови для витрачання виходів, що працюють за принципом «якщо-то». Ось деякі типи біткоїн-транзакцій, доступні на даний момент:
- P2PKH (Pay-to-Public-Key-Hash) — стандартна біткоїн-транзакція;
- P2TR (Pay-to-Taproot) — транзакція з використанням скриптів, впроваджених оновленням Taproot;
- Time-Locked transaction — дає змогу встановити, через який час (кількість блоків) транзакція буде фіналізована;
- Multi-Signature Script (Multisig) — надає можливість налаштувати, скільки підписів і яких саме адрес потрібно для здійснення переказу.
Незважаючи на те, що формально ці транзакції можна вважати смарт-контрактами, вони далекі від звичного розуміння цього терміна, використовуваного, наприклад, в Ethereum.
Так, відповідно до стандарту ERC-20 смарт-контракт для створення нового токена, серед іншого, має містити його найменування, тікер, обсяг, адресу власника, а також правила дроблення і передачі між гаманцями. Жоден із наведених вище типів біткоїн-транзакцій просто не дає змоги внести ці дані, тому, використовуючи Script, неможливо запустити токен, не кажучи вже про більш складні типи смарт-контрактів.
Еволюція мережі та розширення можливостей
Незважаючи на обмеження біткоїн залишається захищеною і децентралізованою мережею, яка могла б дати технічну базу для найбезпечніших і найстійкіших до цензури сервісів і активів в індустрії.
З цієї причини розробники вже багато років намагаються обійти обмеження Script і реалізувати повноту обчислень за Тюрінгом (і смарт-контракти), використовуючи ресурси блокчейна. Одними з перших проєктів у цьому напрямку стали Colored Coins і Omni Layer.
Перший «розфарбовував» біткоїни, використовуючи спеціальні гаманці на кшталт Coinprism. Суть зводиться до того, що в метадані транзакції додають спеціальний «маркер», який дає змогу відрізнити окремо взятий BTC від інших. Така «кольорова» монета, по суті, ставала токеном, і могла виконувати встановлену функцію, наприклад, надавати доступ до товарів або активів.
Що стосується Omni Layer, то цей протокол дав змогу компанії RealCoin (пізніше Tether) випустити перші токени з прив’язкою до долара ще до появи Ethereum та інших мереж з підтримкою смарт-контрактів. Розробники використовували біткоїн як базовий рівень, «надбудовуючи» над ним платформу з ширшими можливостями.
Однак зв’язок між Omni Layer і біткоїном досить простий: коли ви надсилаєте активи в протокол, він записує інформацію про ваш переказ у метадані біткоїн-транзакції, гарантуючи його незмінність. При цьому майнери не можуть перевірити транзакції з Omni Layer — їхню верифікацію забезпечує сам протокол.
Ще одним великим кроком у розвитку біткоїна стала поява 2016 року Lightning Network (LN). Рішення дає змогу користувачам відкривати прямі канали для переказів поза основною мережею, записуючи в блокчейн тільки результат обмінів. По суті, мережа переносить обробку потоку транзакцій на вузли LN, істотно здешевлюючи перекази і збільшуючи їхню швидкість.
І хоча сама по собі Lightning Network не розширила можливості програмування біткоїна, вона стала своєрідною «мережею в мережі» з успадкованою безпекою, але дешевшим зберіганням і передачею даних. Це важливий аспект для розвитку смарт-контрактів, оскільки:
- знімає обмежувальний фактор у вигляді повільної фіналізації блоків і низької пропускної здатності біткоїна;
- дає змогу запускати в рамках LN потужні вузли, на базі яких можна створювати складні надбудови з розширеним функціоналом.
Як ми побачимо далі, деякі проєкти на кшталт Taproot Assets і RGB дають змогу розгорнути свої рішення в LN, щоб заощадити на комісії та уникнути затримок під час реалізації функціоналу смарт-контрактів на біткоїні.
Рішення на базі Ordinals: BRC-20 і Inscriptions
У січні 2023 року було презентовано протокол Ordinals, що дає змогу привласнювати порядкові номери окремо взятим сатоші та відстежувати їх. Пронумеровані сатоші потім використовують як «токени» зберігання інформації, прописаної в метаданих. По суті, Ordinals розвивають ідею «маркування» платіжних одиниць біткоїна, представлену в Colored Coins.
Сатоші – найменша неподільна одиниця виміру біткоїна, названа на честь його творця – Сатоші Накамото.
SAT – це одна стомільйонна частина біткоїна. 1 SAT = 0,00000001 BTC, а 1 BTC = 100 000 000 SAT.
На базі цього протоколу у 2023 році з’явилося два рішення — Inscryptions і BRC-20.
Inscriptions (або Artifacts) — більше відомі як «NFT на біткоїні». Це пронумеровані через Ordinals сатоші, у метадані яких записані зображення та інші медіафайли.
BRC-20 — протокол для запуску взаємозамінних токенів у мережі біткоїна. Працює за тим самим принципом, що й Inscriptions, тобто зберігає інформацію про випуск і переведення токенів у метаданих нумерованих сатоші.
Обидві технології стали можливими завдяки оновленню Taproot, реалізованому в мережі біткоїна 2021 року. Taproot націлене на оптимізацію зберігання даних, виконання скриптів і підвищення конфіденційності користувачів. Апдейт також підняв ліміт пам’яті для метаданих.
Реалізація Taproot заклала основу для більшості інших «надбудов» для біткоїна, тому рекомендуємо детально ознайомитися з цим оновленням.
Рішення на базі Ordinals не знімають обмеження Script і архітектури UTXO, а намагаються перетворити простір для зберігання метаданих на «шар виконання», використовуючи нумеровані сатоші як своєрідні «блоки в блоках».
Основним недоліком BRC-20 і Inscriptions залишається необхідність використання альтернативної інфраструктури. Стандартний біткоїн-гаманець не розпізнає інформацію, записану в метадані окремих сатоші, тому є ризик випадково витратити дорогий «NFT», наприклад, на оплату комісій.
Крім того, потенціал використання метаданих біткоїна обмежений об’ємом блокового простору. BRC-20 набули поширення тільки в якості мем-токенів без будь-якого призначення просто тому, що більш складний функціонал неможливо прописати в метаданих. Не кажучи вже про те, що поки не вдалося реалізувати взаємодію активів на базі Ordinals з іншими стандартами і мережами.
BitVM, RGB Protocol і Taproot Assets
І до, і після Ordinals існували проєкти, націлені на створення «надбудови», яка могла б успадкувати основні переваги біткоїна, але підтримувати повні обчислення за Тюрінгом або принаймні складніші смарт-контракти. Більшість із них побудовані на базі оновлення Taproot і рішення Lightning Network, але використовують можливості цих проєктів по-різному.
RGB Protocol
RGB (really good bitcoin) — це набір протоколів для запуску смарт-контрактів із успадкованою безпекою біткоїна. Проєкт презентований 2016 року як орієнтоване на LN рішення зі створення токенів у мережі біткоїна, але з часом еволюціонував у повноцінне середовище для смарт-контрактів.
RGB успадкував від біткоїна захист права власності на смарт-контракт. Щоб отримати доступ до управління кодом, користувач повинен володіти закритим ключем біткоїн-транзакції, через яку ініціювали розгортання контракту. Усі інші взаємодії, включно з обміном і перевіркою даних, проводяться безпосередньо між сторонами поза мережею. Блокчейн не задіюється для зберігання даних і проведення розрахунків.
Сам протокол RGB працює як спрямований ациклічний граф (DAG). Запущений у DAG смарт-контракт зберігається на вузлах сторін, які обмінюються інформацією через прямі канали зв’язку — за замовчуванням Lightning Network.
Крім того, платформа розділяє власника смарт-контракту і агента, який його обслуговує, тому створення, зміна, виконання і перевірка коду проводяться з використанням так званої «схеми» (Scheme). Схема — це набір стандартних «шаблонів» для смарт-контрактів, за допомогою яких повністю автоматизується їх обслуговування.
Простіше кажучи, власник може ініціювати будь-яку зміну в коді контракту RGB, але вона вноситься за Схемою, без втручання третьої сторони. Ні протокол, ні фактичний розробник не мають доступу до контракту після його розгортання. Повністю автономне середовище, управління яким захищене біткоїн-ключем.
Команда проєкту стверджує, що такий підхід дає змогу убезпечити смарт-контракти від зламу та експлойтів через неякісний код.
Це повністю відрізняється від звичних блокчейн-платформ на кшталт Ethereum. Проте RGB підтримує NFT, взаємозамінні токени і складніші типи контрактів.
Однак у RGB є серйозні недоліки:
- по-перше, можливості розробників обмежені — по суті, вони можуть тільки комбінувати різні патерни схеми, заповнюючи їх даними конкретного активу;
- по-друге, RGB не гарантує публічність і доступність інформації, як це робить основна мережа.
У деяких випадках це є плюсом, оскільки забезпечується конфіденційність. Водночас, ситуація нівелює одну з основних переваг децентралізованої мережі, адже сторони мають довіряти одна одній.
Taproot Assets
Taproot Assets (раніше Taro) — це протокол для запуску токенів у мережі біткойн, що використовує UTXO Taproot і пов’язані з ним рішення Tapscript і taptweak для зберігання інформації про обсяг і баланси активу в даних біткойн-транзакції.
Якщо ви знайомі з концепцією Ordinals, описаною в попередньому розділі, то зрозуміти буде простіше. Так, токени BRC-20 зберігають інформацію про пропозицію в метаданих пронумерованих сатоші, а Taproot Assets записують цю інформацію в Taproot-вихід транзакції у вигляді так званого «розрідженого дерева Меркла».
Фактично Taproot Assets вбудовує в біткоїн-транзакцію дерево Меркла, що доводить баланс конкретного користувача і загальну пропозицію токена. Це дерево, своєю чергою, відображає дані з Universe — репозиторію, в якому зберігається повна історія активу і який обслуговується емітентом токена.
Завдяки такій архітектурі у користувача є два варіанти доказу балансу — офчейн-дані з Universe або розріджене дерево Меркла, розміщене в UTXO.
Працює це так:
- творець токена проводить P2TR-транзакцію з використанням протоколу Taproot Assets;
- в UTXO цієї транзакції (по суті, генезис) зберігається інформація про актив у вигляді дерева Меркла;
- щоб перевести токен, власник Taproot-ключа повинен змінити інформацію про баланси в дереві Меркла так, щоб загальна пропозиція активу не змінювалась;
- така зміна вноситься новою Taproot-транзакцією, але водночас для кожного переведення токена не потрібна окрема ончейн-транзакція. У межах протоколу власник може опрацювати одразу «пакет» переказів, а потім опублікувати новий стан балансів, як це роблять роллапи або Lightning Network.
Докладніше про архітектуру Taproot Assets і взаємодію користувачів з токенами можна дізнатися в технічній документації.
Іншою важливою перевагою Taproot Assets є повна сумісність з Lightning Network, що розширює можливості для масштабованості та зниження вартості транзакцій.
Taproot Assets створює окремий шар для реєстрації операцій з кастомними токенами, який багато в чому спирається на офчейн-дані, але публікує стан балансів в основній мережі. Це рішення гнучкіше, масштабованіше і комплексніше порівняно з BRC-20, але й складніше для недосвідченого користувача.
BitVM
Це найновіший проект, націлений на перетворення біткоїна на повноцінний децентралізований комп’ютер. White paper BitVM представлено 9 жовтня 2023 року, а сама технологія перебуває на стадії тестування і потребує подальшого розвитку.
По суті, BitVM використовує концепцію Optimistic Rollups, щоб винести розрахунки для смарт-контрактів за межі мережі, а потім провести ончейн-перевірку на основі «доказів шахрайства».
У теорії після запису інформації про смарт-контракт у Taproot-транзакцію (у вигляді двійкового коду) обмін даними і розрахунки повинні проводитися безпосередньо між сторонами, щоб не перевантажувати блокчейн. Однак, якщо прувер (сторона, що доводить, власник контракту) передає помилкові дані, верифікатор може ініціювати ончейн-перевірку. На цьому й заснована концепція доказу шахрайства.
Але як провести перевірку операції в мережі, яка просто не підтримує подібні транзакції? BitVM використовує для цього дерево Меркла, за допомогою якого створює логічну схему NAND, записану в Taproot-транзакцію.
Грубо кажучи, це означає, що дерево Меркла в даних транзакції стає NAND-схемою, де кожна «гілка» містить одне з двох можливих значень — 1 або 0. Ончейн-розрахунок проводиться буквально біт за бітом, і вихід попередньої «гілки» стає входом для наступної. При цьому між сторонами смарт-контракту постійно відбувається обмін транзакціями для звірки значень. Якщо версія розрахунків прувера виявиться невірною, верифікатор отримає його активи, заблоковані в Taproot-транзакції.
Докладніше про те, як BitVM дає змогу будувати NAND з використанням Taproot і дерева Меркла, а також як це впливає на розрахунки можна дізнатися тут.
Глава Toniq Labs Боб Боділі зазначив, що для вирішення одного спору може знадобитися кілька сотень транзакцій і потужні канали передачі інформації. В умовах повільного і відносно малопотужного біткоїна такі обчислення можуть сильно перевантажити мережу. До того ж, самі розрахунки вкрай неефективні.
Іншою важливою проблемою залишається двосторонність смарт-контрактів — обмін даними відбувається безпосередньо між верифікатором і прувером без можливості участі третіх сторін. Це унеможливлює створення децентралізованих застосунків і потребує додаткових рішень для побудови багатосторонніх контрактів.
Крім того, навіть якщо такі розрахунки і будуть проводитися, BitVM — це дуже складне і низькорівневе рішення. Щоб створити на базі цього примітиву хоч якісь робочі продукти, знадобляться роки.
Вплив на мережу
Досвід реалізації продуктів на базі Ordinals і сервісів смарт-контрактів показав, що різні рішення по-різному впливають на екосистему біткоїна. Насамперед варто зазначити, що у спільноті існує кілька таборів. Умовно їх можна розділити на:
- консерваторів — вважають, що біткоїн від самого початку задумано як платіжну систему, і він має залишатися саме таким. На їхню думку, всі розширення функціоналу призведуть до ускладнень при використанні BTC як засобу для розрахунків;
- поміркованих новаторів — згодні, що мережа потребує оновлень, але водночас повинна залишатися досить захищеною і зручною для платежів. Закликають комплексно оцінювати кожне рішення з точки зору його цінності та впливу на сам біткоїн;
- новаторів-максималістів — впевнені, що в епоху сучасних блокчейнів біткоїн став неконкурентоспроможним. Заявляють, що без розширення функціоналу і тотальних оновлень мережі падіння активності та домінування Ethereum на ринку — лише питання часу.
Однак активність кожної групи безпосередньо залежить від того, якою мірою нові розробки впливають на сам блокчейн. Так, під час ажіотажу навколо Inscriptions і BRC-20 у травні 2023 року спостерігалися черги в мемпулі та істотне зростання комісій.
Цей стрибок ускладнив використання біткоїна і викликав дискусію всередині спільноти, аж до пропозиції заблокувати стандарт BRC-20 на рівні коду.
З іншого боку, запуск RGB або Taproot Assets не призвів до настільки палких дебатів і високого інтересу з боку користувачів, оскільки:
- з технічного погляду ці рішення складніші та специфічніші, ніж Ordinals;
- їхній дизайн вимагає менш інтенсивного використання мережі та дає змогу винести розрахунки в Lightning Network.
Потенційно найсильніший вплив на блокчейн може мати BitVM. По суті, рішення ще не запущене і перебуває на стадії тестування, але багато експертів зазначають, що навіть якщо повні обчислення за Тюрінгом і вдасться реалізувати, то для цього знадобиться велика кількість дискового простору і потужностей. При обмеженій пропускній здатності біткоїна реалізація BitVM може коштувати дорого і призвести до перевантажень мережі.
Основна проблема в тому, що на момент написання концепція використання BitVM і формат його взаємодії з мережею біткоїна не вироблені. Просто тому, що ще не протестовані базові можливості рішення і немає інструментів для розробників. Сама технологія перебуває на стадії зародження і тільки її розвиток покаже, чи потребує блокчейн адаптації та оновлення.
Також не можна виключати вплив наступного булрана. Зростання ринку може знову привернути увагу до BRC-20 і Inscriptions, що на тлі зростаючого попиту на біткоїни спровокує затримки в обробці транзакцій і зростання комісій. І в цьому випадку вартість розробок на базі BitVM (та інших протоколів, що не підтримують LN) може стати невиправдано високою.