Що таке Mimblewimble?

Що таке Mimblewimble?
Що таке Mimblewimble?

Mimblewimble (MW) - це вид блокчейн-мережі, в якій використовується новий спосіб структурування і зберігання транзакцій. Протокол передбачає зовсім інший підхід до роботи для блокчейнів на Proof of Work (PoW), що також впливає на поліпшення конфіденційності та збільшення масштабованості мережі.
У серії романів про Гаррі Поттера MimbleWimble - це «закляття недорікуватості», що не дозволяє противнику правильно вимовити заклинання. Цим виразом позначена здатність протоколу приховувати дані транзакцій.

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

Mimblewimble був представлений в середині 2016 року. Творцем є людина або група осіб під псевдонімом «Том Елвіс Джедусор». Так в французькому перекладі все тієї ж серії романів звуть головного антагоніста - Лорда Волана-де-Морта.

Таким чином, 19 липня 2016 року в мережі з'явився white paper за авторством Джедусора з описом блокчейна з підвищеною масштабністю, конфіденційністю і взаємозамінністю токенів. 6 жовтня 2016 року математик компанії Blockstream Ендрю Поелстра представив огляд white paper, в якому запропонував вирішення низки проблем безпеки. Через кілька днів псевдонімний автор «Ігнотус Певерелл» опублікував на Github імплементацію Grin.

Спочатку передбачалося, що MimbleWimble може бути інтегрований в кодову базу біткоіна через софтфорк або існувати у вигляді сайдчейна. Але, як пояснив пізніше розробник і співзасновник Bitcoin Core Пітер Велле, це пов'язано з певними складнощами, бо MimbleWimble не підтримує мову скриптів, тому це навряд чи буде здійснене.

Принцип роботи

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

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

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

Розглянемо наступний приклад. Ганна отримує 5 MW монет від своєї мами і 5 від свого батька. Потім вона відправляє ці 10 монет Богдану. Усі транзакції підтверджені, але дані про них не є публічними. Богдану відомо тільки те, що Ганна переслала йому 10 монет, але він не зможе дізнатися, звідки вона їх отримала.

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

Крім того, Mimblewimble використовує функцію під назвою cut-through, завдяки якій зменшується обсяг даних в блоці шляхом видалення зайвої інформації про транзакції. Тому замість запису кожного введення і виведення (від батьків Ганни до неї і від Ганни до Богдана) в блоці буде записана тільки одна пара даних (від батьків Ганни до Богдана).

З технічного боку, цей блокчейн здійснює підтримку мережі і розширює концепцію конфіденційності транзакцій, яка була запропонована на форумі bitcointalk.org в 2013 році. Концепція MimbleWimble використовує той же метод еліптичних кривих при підпису транзакцій, що лежить в основі біткоіна, а також деякі особливості Confidential Transactions і CoinJoin - двох рішень, спрямованих на забезпечення приватності користувачів. Обидва рішення свого часу запропонував розробник Bitcoin Core Грегорі Максвелл. Тому не дивно, що MimbleWimble практично відразу привернув увагу кількох відомих криптографів.

Порівняння Mimblewimble з біткоіном

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

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

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

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

Переваги Mimblewimble:
  • Розмір блокчейна

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

  • Масштабованість

    У загальному підсумку, Mimblewimble може використовуватися в якості рішення у вигляді допоміжного ланцюга, що також описується як сайдчейн, для біткоіна або будь-якого іншого батьківського ланцюжка. Додатково до цього, конструкція MW може забезпечити поліпшену продуктивність платіжних каналів, які використовуються в Lightning Network.

  • Конфіденційність

    Видалення системи сценаріїв біткоіна, в поєднанні з використанням концепції конфіденційності транзакцій, забезпечує високий рівень приватності кожного з користувачів, за рахунок виключення деяких деталей операції.
    Крім того, всі монети засновані на Mimblewimble блокчейнах можуть вважатися взаємозамінними. Взаємозамінність - це властивість, яка робить кожну одиницю монети рівнозначною з будь-якою іншою одиницею (вони невиразні).
    Як пояснює Кетрін Ніколсон, CEO і співзасновник проекту для блокчейн-додатків BlockCypher, «MimbleWimble є приватним спочатку», без кільцевої підписи, як в Monero і без доказів з нульовим розголошенням (zk-SNARK в Zcash), «всі деталі транзакції повністю приховані, немає адрес, які можна знову використовувати або ідентифікувати, всі транзакції зовні виглядають однаково».

Недоліки Mimblewimble:
  • Пропускна здатність транзакцій

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

  • Відсутність квантової стійкості

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

  • Немає підтримки мови написання «сценаріїв»

    MimbleWimble не підтримує мову скриптів. Функціональність протоколу обмежена грошовими операціями. Це означає, що складніше впровадити рішення другого рівня, такі як Lightning Network і атомарні свопи, однак, це можливо, що доведено на прикладі проекту Beam, яка на даний момент підтримує свопи між самою криптовалютою beam і btc, ltc або qtum.

Як розвивається MimbleWimble?

Наразі лише кілька блокчейн-проектів працюють над розробкою Mimblewimble, включаючи команду Litecoin, яка хочуть впровадити технологію в свій продукт, а також два таких проекти як Grin і Beam. У той час як Grin підтримується спільнотою і працює над спрощеним доказом концепції протоколу MW, Beam використовує підхід подібний стартапу. Хоч обидва ці проекти ґрунтуються на Mimblewimble, технічно вони відрізняються один від одного, оскільки у кожного є свій спосіб реалізації структури MW.

Beam і Grin. Відмінності, майнінг і перспективи криптовалют MimbleWimble

Відмінності Beam і Grin
Криптовалюта Grin

Перша і найбільш відома реалізація MimbleWimble під назвою Grin була випущена у 2016 році. Її автор також побажав зберегти анонімність, розробник під псевдонімом Ignotus Peverell (ще один герой творів про Гаррі Поттера), опублікував часткову імплементацію протоколу на мові Rust, а також своє бачення філософії проекту.

У березні 2017 він представив технічне введення в Grin і MimbleWimble, яке і служить сьогодні основним джерелом специфікацій протоколу. У листопаді 2017 відбувся запуск першої тестової мережі криптовалюта, а 15 січня 2019 - запуск основної мережі.

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

Криптовалюта Beam

Ще однією імплементацією протоколу MimbleWimble став проект Beam. Його реалізує однойменний стартап, який очолює підприємець Олександр Зайдельсон.

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

Особливості Beam і Grin

Основна імплементація Grin написана на мові Rust, в той час як кодова база Beam - на мові C ++.

Команда розробників Grin зробила вибір на користь opensource-моделі управління, покладаючись на пожертвування, за рахунок яких і ведеться розробка. Проект не проводив ICO, не вів премайн і не контролюється будь-якою компанією, фондом або приватною особою. Команда Beam ще до запуску основної мережі провела раунд приватного фінансування, а також (за аналогією з Zcash) створила спеціальний фонд, в який перераховується 20% від нагороди за Майнінг.

Монетарна політика Grin побудована на інфляційної моделі, яка передбачає нескінченну емісію монет і постійний розмір нагороди за знайдений блок (60 Grin). Час створення блоку - одна хвилина.

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

Анонімність Beam і Grin

Для підвищення конфіденційності транзакцій протокол MimbleWimble, крім Confidential Transactions, також пропонує схему Dandelion, яку взяли на озброєння обидва проекти. У цій схемі транзакції поширюються в дві фази: фаза анонімності або «ствол» (Stem) і фаза поширення або «пух» (Fluff).

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

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

Майнінг Beam і Grin

Обидва проекти заявляють про свій намір протистояти ASIC-майнінгу, вибравши при цьому різні алгоритми хешування і первісний підхід до майнінгу.

Спочатку в мережі Grin планувалося використовувати Cuckoo Cycle - альтернативний механізм Proof-of-Work, який вважається ASIC-стійким через обмеження затримки пам'яті. Однак в серпні 2018 року розробники заявили про ймовірність того, що ASIC-Майнінг буде доступний для Cuckoo Cycle вже при запуску мережі. Для вирішення цієї проблеми, а також з урахуванням попередніх заяв представників проекту про неминучість ASIC-Майнінг, було запропоновано використовувати на початковому етапі два алгоритму PoW - один дружній по відношенню ASIC (Cuckatoo31 +), інший - стійкий до Майнінг на таких пристроях (Cuckaroo29). Передбачається, що це дозволить збалансувати винагороду за Майнінг між двома алгоритмами.

Пропозиція була прийнята у вересні 2018 - алгоритмом автофокусування став Cuckatoo32 +, який буде поступово збільшувати вимоги до пам'яті. Також розробники планують активно розвивати децентралізоване співтовариство Майнінг на GPU і проводити регулярні хардфоркі.
Команда Beam тим часом віддала перевагу алгоритму Equihash Proof of Work, який був створений для підвищення ефективності Майнінг на звичайних графічних процесорах.

Таким чином, Grin і Beam - це два проекти з відкритим вихідним кодом на основі протоколу MimbleWimble, які, попри зовнішню схожість, мають свої унікальні функціональні можливості і дотримуються різних підходів.

Висновок

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