Що таке Zeeka?
Простіше кажучи, Zeeka (ℤ) — це криптовалюта, яка має на меті забезпечити легкий і масштабований блокчейн шляхом широкого використання технології захисту від нульових знань.
Щоб отримати детальну технічну інформацію, прочитайте офіційний документ Zeeka! Також ми активно розвиваємо проект Zeeka. Слідкуйте за нами на GitHub!
Докази з нульовим знанням? 🤔
Протокол нульового знання — це критографічний метод, за допомогою якого хтось може довести, що знає відповідь на проблему, фактично її не розкриваючи. Дуже хороший приклад інтерактивного підтвердження нульового знання наведено нижче:
-Припустимо, у Аліси зав’язані очі, а в руках у неї дві кульки. Боб, який бачить кулі, стверджує, що кулі різного кольору. Аліса не довіряє Бобу. Як Боб може переконати Алісу в тому, що кульки мають різні кольори (задача), не відкриваючи Алісі очей (розкриття відповіді)?
Ось що робить Аліса:
-Вона спочатку ховає яйця за спину.
-Вона перемішує кульки з імовірністю 50%.
-Вона показує кульки Бобу і запитує його: — я перемішала кульки?
Якщо кульки дійсно різного кольору, Боб дав би Алісі правильну відповідь. Якщо він не може розрізнити їхні кольори, він все одно може дати Алісі випадкову відповідь, і його відповідь все ще може бути правильною. Але ймовірність дати правильну відповідь становить 50%.
Аліса повторює процедуру 20 разів. Якщо кульки мають однакові кольори, ймовірність того, що Боб дасть правильну відповідь усі 20 разів, становить (1/2)²⁰ (приблизно 0,000001%). Імовірність настільки мала, що Аліса може зробити висновок, що Боб дійсно здатний розрізнити кулі, що веде до висновку, що вони дійсно мають різні кольори.
Що ти намагаєшся довести? 😐
Припустімо, що існує нова платіжна система, яка складається з дерева меркла, у якому кожен аркуш представляє рахунок (відкритий ключ і баланс). Ми визначаємо стан системи як корінь цього дерева.
Ми хочемо довести, що відбувся великий набір транзакцій, змінивши стан системи з А на Б (проблема), не показуючи транзакції (відповідь).
Ось приголомшливий факт:
Доказ, який ви надаєте, має постійний розмір, незалежно від того, наскільки великою є відповідь. Наприклад, відповіддю можуть бути мільйони транзакцій, але вам не потрібно показувати їх, щоб відбувся перехід стану. Доказу постійного розміру достатньо, щоб переконати всіх, що перехід стану дійсний! 🤯
Еммм, Ethereum вже має це з zkRollups? 🙄
Ви нас дістали! Є велика різниця. У zkRollups є централізований оператор, який постійно публікує докази Zero-Knowledge в основному ланцюжку, і якщо оператор припинить це робити (тобто стане недоступним), ланцюжок повернеться до попереднього стану, з якого інший оператор здатний будувати далі. Це величезна складність.
Блокчейни, такі як Ethereum/Bitcoin, забезпечують доступність даних історії ланцюга, а не стан SNARK. Вузли та валідатори Zeeka реалізовані таким чином, щоб приймати лише розгалуження, які розкривають стан ланцюга їхнього останнього блоку, тобто вони перевірятимуть, чи хеш наданого стану призводить до хешу стану, поданого в останньому блоці. Цей механізм гарантує, що стислий стан останнього блоку завжди доступний. Довший субланцюг, стан підказки якого недоступний, нічого не вартий і не приймається мережею. Це значною мірою усуває згадані складності та створює простір для творчості.
Гаразд, як ви збираєтеся працювати зі смарт-контрактами? 😉
Еквівалентом смарт-контракту в блокчейні Zeeka є нульовий контракт. Контракти в блокчейні Zeeka не написані для конкретної віртуальної машини (як EVM), а написані в R1CS (який є будівельним блоком схем zkSNARK).
У цій схемі програміст завантажує ключі перевірки свого контракту R1CS (який може складатися з кількох схем) у блокчейн, і люди можуть легко викликати ці схеми та переходити з одного стану в інший за допомогою однієї невеликої транзакції (яка може бути стисненою версія тисяч транзакцій).
Як я можу бути частиною цього? ❤️
Слідкуйте за нами на GitHub! Робіть внесок у проект, створюючи код або просуваючи його. 💸 Також вітаються інвестиції. Підтримуйте зв’язок зі мною в Telegram : @keyvankambakhsh