Магія RGB: контракти на Біткоїні

Магія RGB: контракти на Біткоїні

RGB – це метод перевірки прав власності на базі Біткоїна, який дозволяє зберегти властивості Біткоїна.

Термін «смарт-контракти» з'явився задовго до винаходу блокчейну та самого Біткоїна. Перша згадка про нього міститься у статті 1994 року Ніка Сабо, який визначив смарт-контракти як «комп'ютеризований протокол транзакцій, який виконує умови контракту». У той час як за цим визначенням Біткоїн завдяки своїй мові програмування підтримував смарт-контракти з першого блоку, цей термін був популяризований лише пізніше прихильниками Ethereum, які спотворили вихідне визначення як «код, який надмірно виконується всіма вузлами в глобальній узгодженій мережі».

Джерело зображення: mashable.com
Джерело зображення: mashable.com

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

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

Насправді в цьому немає нічого нового. Це той самий механізм, який використовувався для передачі власності до того, як публічні реєстри стали популярними. У Великій Британії, наприклад, до 90-х не було обов'язкової реєстрації власності під час переходу права власності. Це означає, що досі більше ніж 15% земель в Англії та Уельсі не зареєстровані. Якщо ви купуєте незареєстровану власність, замість перевірки в реєстрі, чи є продавець справжнім власником, вам доведеться перевірити безперервний ланцюжок володіння, що нараховує не менше 15 років (досить тривалий період, щоб переконатися, що продавець має достатнє право власності). При цьому ви повинні переконатися, що будь-яку передачу права власності було здійснено правильно і будь-які іпотечні кредити, використані для попередніх угод, були повністю погашені. Перевага цієї моделі в покращеній конфіденційності, і вам не потрібно покладатися на хранителя державного земельного реєстру. З іншого боку це значно ускладнює перевірку права власності продавця для покупця.

Свідоцтво про право власності на незареєстроване нерухоме майно.
Свідоцтво про право власності на незареєстроване нерухоме майно.

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

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

  1. Ви повинні купити багато газет для перевірки. Не дуже практично.
  2. Кожному контракту необхідне місце у газеті. Не дуже масштабовано.
  3. Редактор газети може легко піддавати цензурі або, що ще гірше, імітувати подвійне витрачання, поміщаючи випадковий хеш у ваш слот, змушуючи будь-якого потенційного покупця вашого активу думати, що він уже був проданий раніше, і відмовляючи його від покупки. Не викликає довіри.

З цих причин необхідно знайти найкраще місце для розміщення підтвердження передачі права власності. І що може бути краще, ніж блокчейн Біткоїна, який уже зарекомендував себе як надійний публічний реєстр із сильними стимулами для забезпечення його стійкості до цензури та децентралізації?

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

Таблиця

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

Ця модель для контрактів, які перевіряються на стороні клієнта, та передачі права власності – це саме те, що було реалізовано з протоколом RGB. За допомогою RGB можна створити контракт, який визначає права, призначає їх одному або декільком існуючим біткоїн-UTXO і вказує, як їхнє право власності може бути передано. Контракт може бути створений на основі шаблону – «схеми» – в якому автор контракту тільки регулює параметри і права власності, як це відбувається з традиційними юридичними контрактами. Нині існує два типи схем RGB: одна для випуску взаємозамінних токенів (RGB20) і друга для випуску предметів колекціонування (RGB21), але в майбутньому будь-хто може розробити більше схем без дозволу, не вимагаючи змін на рівні протоколу.

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

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

З точки зору масштабованості RGB також пропонує деякі переваги. Насамперед, більшість даних зберігається поза мережею, оскільки блокчейн використовується лише як рівень зобов'язань, знижуючи комісії, які необхідно платити. Кожен клієнт перевіряє ті перекази, які його цікавлять, а не всю діяльність глобальної мережі. Оскільки для переказу RGB все ж потрібна транзакція Біткоїна, економія на комісіях може здатися мінімальною, але коли йдеться про групування транзакцій, вони можуть швидко стати величезними. Можна переказати всі токени (або, у загальному сенсі, «права»), пов'язані з UTXO, довільній кількості одержувачів з одним зобов'язанням в одній біткоїн-транзакції. Припустимо, ви є постачальником послуг, який здійснює виплати відразу декільком користувачам. З RGB ви можете за одну Біткоїн-транзакцію здійснювати тисячі переказів тисячам користувачів, яким потрібні різні типи активів, що робить граничні витрати на кожну окрему виплату абсолютно незначною.

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

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

Висновок

RGB – це революційна інновація, яка відкриває нові варіанти використання за допомогою нової парадигми, але які інструменти доступні для її використання? Якщо ви хочете поекспериментувати з ядром самої технології, слід безпосередньо випробувати вузол RGB. Якщо ви хочете створювати програми поверх RGB, не заглиблюючись у складність протоколу, ви можете використовувати бібліотеку rgb-lib, яка має простий інтерфейс для розробників. Якщо ви просто хочете спробувати випускати і передавати активи, ви можете погратися з Iris Wallet для Android, код якого також знаходиться у відкритому доступі на GitHub. Якщо ви просто хочете дізнатися більше про RGB, ви можете переглянути цей список ресурсів.

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

Рекордне зростання BTC: що це означає для вашого інвестиційного майбутнього Рекордне зростання BTC: що це означає для вашого інвестиційного майбутнього На які фактори слід звернути увагу зараз, коли біткоїн знову увійшов у бичачий тренд, щоб не приймати емоційні чи неправильні рішення у розпал ринкової лихоманки. Майлз Олівер 24 березня 2024
Вісім причин використовувати апаратний біткоїн-гаманець Вісім причин використовувати апаратний біткоїн-гаманець Захист приватних біткоїн-ключів – непросте завдання, і користувачам доводиться обирати між програмними гаманцями, паперовими гаманцями, апаратними гаманцями та навіть «мозковими гаманцями». Наведемо вісім причин використовувати для зберігання апаратні гаманці. Unchained Capital 24 березня 2024
KYC, Біткоїн та невиправдані надії щодо політики AML KYC, Біткоїн та невиправдані надії щодо політики AML Навіщо створювати перепони та підштовхувати зловмисників до переходу з криптовалюти на готівкові гроші, які важко відстежити, якщо їхні кошти можна відстежити за допомогою ончейн-аналітики? Марія Потеряєва 23 березня 2024