Я прочитал эту статью: https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b
Однако мне не понятна функция, подобная zksnarkverify
которой уже реализована в Ethereum Solidity
? Или нам нужно реализовать это самостоятельно?
Есть ли API или библиотека для использования zk-SNARK
алгоритмов? Такие как:
генератор открытых ключей G(program C, secret lambda) -> (prover public key, verifier public key)
,
или
доказывающий алгоритмP(prover public key, public x, secret w) -> proof
или
алгоритм проверки V(verifier public key, public x, proof) -> true
?
где программа C(public x, secret w)
С.
Единственное, что есть в солидности, это предварительно скомпилированные контракты для операций с эллиптическими кривыми.
Для реализации проверьте Существует ли децентрализованный zk-SNARK (краткий неинтерактивный аргумент знаний с нулевым знанием)?
verifier algorithm
по цепочке с помощью Solidity
. Как это сделать по ZoKrates
? Согласно его ссылке на Github : «Это помогает вам создавать офчейн-программы и связывать их с блокчейном Ethereum».
эт