DeFi на біткоіні
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Іноді блокчейн біткоіна критикують за досить слабо розвинену мову написання логіки транзакцій. Не дивуйтесь, вона там є, і досить давно, проте набір можливостей, рівно як і зручність імплементації залишає бажати кращого. Не в останню чергу завдяки цьому факту з’явився проект RSK (Rootstock).
Що таке RSK
Якщо коротко — смарт-контракти на біткоіні. Якщо Ви думали на якому блокчейні запускати свій DeFi, то варто розглянути і такий варіант. До того моменту, як у основній мережі біткоіна не відбудеться прийняття taproot, буде складно імплементувати логіку транзакцій відмінну від примітивної. А поки можна скористатись цим протоколом другого рівня, прив’язаним до біткоіна.
Який зв’язок RSK та Ethereum
RSK — імплементація сумісної з Ethereum VM. Це означає що, з мінімальними модифікаціями, можна смарт-контракт, який працює на Ethereum, запустити поверх біткоіна.
В реальності це виглядає так: є source code якогось solidity контракту, і є код міграцій для запуску цього контракту на блокчейні Ethereum, тоді просто замінивши адресу ноди Ethereum, на адресу ноди RSK і, відповідно, замінивши акаунти з коштами можна пробувати проводити міграції. JSONRPC ноди RSK відповідає такому у ethereum-go. Що цікаво, референсна імплементація ноди RSK написана на JAVA (tm).
Який зв’язок RSK та Біткоіна
RSK — сайдчейн біткоіна, один з перших, що був імплемнтований. Ця характеристика означає, що RSK прив’язаний до біткоіна у тому сенсі, що RSK використовує BTC, як засіб оплати у відношенні 1 до 1.
Що таке сайдчейн
Сайдчейн — це реалізація блокчейну, що є комплиментарною з блокчейном біткоіна, і може бути безпосередньо прив’язана до ноього. Посилання на whitepaper.
Важливо зауважити, що прив’язка двобічна, тобто кошти з сайдчейну також переносяться в основну мережу.
Цікава властивість сайдчейнів у тому, що крах сайдчейна ніяк не відобразиться на основному блокчейні.
Як реалізовано міст між біткоіном і RSK
Для того щоб у RSK з’явились біткоіни, потрібно туди їх переказати, так як це сайдчейн, достатньо просто відправити кошти (BTC) на адресу, яку можна отримати з контракта федерації RSK. Цей контракт один з попередньо встановлених у RSK і він гарантує, що кошти переведені у RSK у пропорції 1:1 з’являться на балансі адреси, яку можна згенерувати з приватного ключа адреси біткоіна. Тобто адреса в мережі RSK буде відрізнятись на вигляд, але приватний ключ буде тим же (в силу того, що використовується одна і та ж еліптична крива через libsecp256k1). Інша цікава характеристика контракту федерації RSK у тому, що члени федерації гарантують виконання цього контракту в дві сторони за допомогою hardware security modules, які в собі містять логіку консенсусу федерації. І загалом це дозволяє проводити транзакції у зворотній бік, і виводити кошти з RSK у мережу біткоіна.
Ще один попередньо встановлений контракт — REMASC. Він розподіляє винагороду за блоки між майнерами мережі і членами федерації, адже в RSK винагорода за блок — це лише спалений газ за виконання транзакцій.
Як забезпечується цілісність даних
Логічним буде питання, а як ця мережа гарантує, що ніхто не порушив консенсус? І, як не дивно, забезпечено все proof-of-work алгоритмом, щоправда не зовсім стандартним. RSK використовує mergemining для забезпечення цілісності мережі. Це такий майнінг, при якому майнінг пули біткоіна валідують ще й блоки RSK, і, для впевненості, включають інформацію про блоки RSK у блокчейн біткоіна. До речі блоки в RSK майняться приблизно за 30 секунд, і тому в блокчейні біткоіна відмічаються не всі блоки, а лише з певною періодичністю. Ще одним фактором, який на це впливає, є підтримка майнінг пулом мерджмайнінга. Якщо вірити інформації на офіційному сайті проекту, приблизно 40% майнінг пулів підтримують даний проект. (якби це було 40% хешрейта біткоіна, то RSK блокчейн синхронізувався би в двох з п’ти блоків біткоіна, або раз на 50 блоків RSK, в середньому).
Які контракти розгорнуті на RSK
Досить часто код DeFi використовує сторонні контракти для свого функціонування. У мережі RSK для цього впроваджений RSK Infrastructure Framework. Це набір контрактів, що виконують досить звичні функції, на кшталт сервісу імен, чи оракулів. Якщо потрібне щось специфічне, і його solidity-код доступний у відкритому доступі, то його можна просто розгорнути і використовувати.
Посилання на документацію проекту.
PS: вперед за новими cryptokitties (чи NFT, як їх зараз називають)
2 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів