readme indentation fixed

This commit is contained in:
Ivan Ivanitskiy 2019-06-22 23:11:40 +03:00
parent 87d64aeb95
commit 03dc55dd6e

View File

@ -1,18 +1,17 @@
# LAZY SNARK # LAZY SNARK: trustless off-chain zk-proof verification.
### trustless off-chain zk-proof verification ## Abstract
##Abstract
In Ethereum, it is expensive to check zk-proofs on-chain, so we propose to use Fluence to do heavy-lifting off-chain and only go on-chain to challenge incorrect data/proof combination. In Ethereum, it is expensive to check zk-proofs on-chain, so we propose to use Fluence to do heavy-lifting off-chain and only go on-chain to challenge incorrect data/proof combination.
##Why ## Why
Let us say, we need to verify zk-proofs in Ethereum smart contract. The problem is that zk-proof verification is a heavy computational task and thus costs a lot of gas. As a result, checking proofs on-chain is not only expensive, but also takes a lot of space in the block. This may lead to serious problems, e.g. in case of mass exit. Let us say, we need to verify zk-proofs in Ethereum smart contract. The problem is that zk-proof verification is a heavy computational task and thus costs a lot of gas. As a result, checking proofs on-chain is not only expensive, but also takes a lot of space in the block. This may lead to serious problems, e.g. in case of mass exit.
##What ## What
We suggest checking proofs on Fluence instead. This option does not has gas problem, is much cheaper, but is also trustless. We suggest checking proofs on Fluence instead. This option does not has gas problem, is much cheaper, but is also trustless.
......................................................
##How it works ## How it works
The process includes the following entities: The process includes the following entities:
-Ethereum smart contract that stores (data, proof) pairs and implements on-chain proof verification. In case the proof is not correct, the smart contract rewards the user who checked this proof with ether. - Ethereum smart contract that stores (data, proof) pairs and implements on-chain proof verification. In case the proof is not correct, the smart contract rewards the user who checked this proof with ether.
-Operator who uploads (data, proof) pairs to the smart contract. - Operator who uploads (data, proof) pairs to the smart contract.
-Fluence instance that also implements proof verification, but off-chain. It also stores all the check results. - Fluence instance that also implements proof verification, but off-chain. It also stores all the check results.
-Fisherman aka the user of our system. The fisherman wants to find false proofs to check them in a smart contract and get a reward. - Fisherman aka the user of our system. The fisherman wants to find false proofs to check them in a smart contract and get a reward.
Here is the workflow: Here is the workflow:
1. The operator uploads (data, proof) to the smart contract. 1. The operator uploads (data, proof) to the smart contract.