Шардування смарт контрактів з доказом виконання
DOI:
https://doi.org/10.15276/aait.03.2021.6Ключові слова:
доведення виконання, кумулятивне доведення, шардування, смарт контракти, доведення з нульовим розголошеннямАнотація
Останнім часом активно досліджуються децентралізовані мережі на основі технології блокчейн. Особливе місце в цих
дослідженнях займають Смарт Контракти, що широко використовуються в багатьох галузях, таких як децентралізовані
фінанси (DeFi), нерухомість, азартні ігри, виборчі процеси тощо. Тим не менше, можливість їх широкого застосування є
досі не вирішеною проблемою. Це викликано тим, що вони мають обмежену гнучкість та масштабованість. Іншими
словами, Смарт Контракти не можуть обробляти велику кількість викликів у секунду, відсутність прямого доступу до
мережі Інтернет, неможливість роботи з великою кількістю даних тощо. Дана робота присвячена розробці концепції
шардування для децентралізованих програм (DApps) у формі контрактів, написаних на WebAssembly. Пропонується
концепція, яка передбачає, що кожен Контракт виконується набором випадково обраних вузлів, що дозволяє уникнути
змови та запобігти атаці Сивілли. Під час дослідження були розроблені децентралізовані Сховища даних з можливістю
колективного прийняття рішень. Запропонована схема формування Сховищ, яка передбачає, що кожен Контракт
виконується набором випадково вибраних вузлів, що дозволяє уникнути змови та запобігти атаці Сивілли. Такий підхід
дозволив використовувати Сховища як базовий рівень для Смарт Контрактів. Крім того, Сховища можна використовувати
як автономне рішення для децентралізованого зберігання даних. Описано особливості узгодження результатів виконання
Контрактів, що значно розширює можливості Контрактів порівняно з Ethereum Smart Contracts і, зокрема, дозволяє
взаємодіяти Контрактам з Інтернетом. Розроблено концепцію винагороди, яка стимулює всі вузли, які чесно виконують
Контракти, на відміну від інших систем, де винагороду отримує лише блок продюсер. Вона базується на спеціально
розробленому Доказі Виконання (Proof of Execution) – спеціальному алгоритмі, який дозволяє виявляти всі вузли, які чесно
виконують Контракти. Для того, щоб зробити Доказ Виконання більш компактним, розроблено кумулятивне розширення
існуючого алгоритму доведення знання дискретного логарифму з нульовим розголошенням, що дає можливість послідовно
доводити знання динамічно розширюваного набору значень з мінімальною обчислювальною та пам’ятною складністю.
Таким чином, у цій статті досліджується нова концепція шардування Смарт Контрактів, що наділена економічними
важелями. Основними перевагами запропонованого підходу є можливість взаємодії з мережею Інтернет та обробка великих
об’ємів даних. Крім того, розроблено механізм стимулювання вузлів до чесного виконання Смарт Контрактів. А також
пропонується Доказ Виконання, що необхідно для криптографічної міцності зазначеного механізму, та доведена його
корректність. Отримані результати можуть бути використані для реалізації Смарт Контрактів у децентралізованих системах,
зокрема, що працюють на основі технології Blockchain, особливо у випадку вимог до високої пропускної здатності та
продуктивності.