Ziesha's logo, similar to letter Z Ziesha Network


Что такое Ziesha?

Простыми словами, Ziesha (ℤ) — это криптовалюта, целью которой является обеспечение легкого и масштабируемого блокчейна за счет широкого использования технологии доказательства с нулевым разглашением (Zero-Knowledge proof).

Для технических подробностей прочитайте Ziesha Whitepaper! Также мы активно развиваем проект Ziesha. Подписывайтесь на наш GitHub!

Перейти на GitHub @ziesha-network

Доказательства с нулевым разглашением? Что это? 🤔

Протокол с нулевым разглашением — это криптографический метод, с помощью которого кто-то может доказать, что знает ответ на задачу не раскрывая самого доказательства. Очень хороший пример интерактивного доказательства с нулевым разглашением приведен ниже:

- Предположим, что у Алисы завязаны глаза и у нее в руках два шара. Боб, который видит шары, утверждает что они разного цвета. Алиса не доверяет Бобу. Как Боб может убедить Алису, что шары разного цвета (The задача), при условии что Алиса не открывает глаза (Выявление ответа)?

Вот что делает Алиса:

Если бы шарики действительно были разного цвета, Боб дал бы Алисе правильный ответ. Если он не может различить их цвета, он все равно может дать Алисе случайный ответ, и его ответ все еще может быть правильным. Но шанс дать правильный ответ составляет 50%.

Алиса повторяет процедуру 20 раз. Если шары одного цвета, шансы, что Боб даст правильный ответ все 20 раз, составляют (1/2)^20 (около 0,000001%). Вероятность настолько мала, что Алиса может сделать вывод, что Боб действительно способен различать шары, что приводит к заключению, что они действительно разного цвета.

Что ты пытаешься доказать? 😐

Предположим, существует новая платежная система, состоящая из дерева Меркла в котором каждый лист представляет учетную запись (Публичный ключ и баланс).Мы определяем состояние системы как корень дерева Меркла.

Мы хотим доказать, что произошел большой набор транзакций, изменив состояние системы с A на B (The задача), не показывая транзакции (ответ).

А теперь сногсшибательный факт:

Доказательство, которое вы предоставляете, имеет постоянный размер, вне зависимости от величины ответа Например, ответом могут быть миллионы транзакций, но вам не нужно их показывать, чтобы произошел переход состояния. Доказательства постоянного размера достаточно, чтобы убедить всех, что переход состояния действителен! 🤯

У Эфириума же есть такое с zkRollups? 🙄

Вы поймали нас! Но, слушайте, есть большая разница. В zkRollups есть централизованный оператор, постоянно публикующий Zero-Knowledge proofs на основной цепочке, и в случае, если оператор перестанет это делать (т.е. станет недоступен), цепочка откатится в предыдущее состояние, на которое сможет опереться другой оператор. Это огромная сложность.

Блокчейны, такие как Ethereum/Bitcoin, обеспечивают доступность данных истории цепочки, а не состояние SNARK. Ноды и валидаторы Ziesha реализованы таким образом, что принимают только форки, которые раскрывают состояние цепочки их последнего блока, а это означает, что они будут проверять, приводит ли хэш предоставленного состояния к хэшу состояния, отправленному в последнем блоке. Этот механизм гарантирует, что сжатое состояние последнего блока всегда доступно. Более длинная подцепочка, состояние вершины которой недоступно, ничего не стоит и не принимается сетью. Это значительно устраняет упомянутые сложности, а также создает пространство для творчества.

Ладно, как ты собираешься обращаться со смарт-контрактами? 😉

Эквивалентом смарт-контракта в блокчейне Ziesha является Zero Contract(нулевой контракт). Контракты в блокчейне Ziesha написаны не для конкретной виртуальной машины (например, EVM), а написаны в R1CS (который является строительным блоком цепей zkSNARK).

В этой схеме программист загружает ключи проверки своего контракта R1CS (который может состоять из нескольких цепей) в блокчейн, и люди могут легко вызывать эти схемы и переходить из одного состояния в другое с помощью одной небольшой транзакции (которая может быть сжатой версией тысяч транзакций).

Подписывайтесь на наш GitHub! Внесите свой вклад в проект, написав код или продвигая его. 💸