From 1edf7314c2b1d4868e4a190ad85b3e1c3a517853 Mon Sep 17 00:00:00 2001 From: Drygin Alexander Date: Sun, 23 Jun 2019 13:09:54 +0300 Subject: [PATCH 01/17] add verifier layout --- backend_fluence/src/proof_manager.rs | 96 ++++++++-------------------- 1 file changed, 28 insertions(+), 68 deletions(-) diff --git a/backend_fluence/src/proof_manager.rs b/backend_fluence/src/proof_manager.rs index e31e310..761180a 100644 --- a/backend_fluence/src/proof_manager.rs +++ b/backend_fluence/src/proof_manager.rs @@ -28,35 +28,50 @@ impl ProofManager { result = 0 } - /* - let tt = "99999"; + //////////////// vk + + let vk_byte = " + vk.alpha = 0x2c2cb1812fb05d4f31791c66ff995d756b73162f3bb016a5c114befe5cd7903e, 0x0abc1f8a5d49cb2dbda15b5a8b7cd81bec0a581e7c2e16f79446af2d2f5340c0 + vk.beta = [0x071644533641f7e3acb8606328c591853b2bc27253f29bc11d008a67996fc07f, 0x26ca2720c073a085d8452aef541aac280879971c09b199a6e0f21bf36745e1d8], [0x0b17104896ed701b6d52279992c1f20d558bc0de8284087645633bf3ca1a0c98, 0x2c10eb5b6c0ca42ede8cdcf60642c6dca040abe9abb8294948f4aa0be59a0d42] + vk.gamma = [0x0afbadec2ecafdd62278c7021095660f5786f445c040e628e4ed1a410454b582, 0x038aa6f04ee254a97e2b75ea1f30e36785b6cde4dfd3a2371e058ce089b9ad51], [0x077720bb216fb0051c5e153c1bd9aa36a678173b9c13e8d3a83cb5a75ca36948, 0x1f9b58e9abde296abc3c3bab8fb0be2a4f497d8e5d9d463997d316e9cc558a7d] + vk.delta = [0x16526b9b519fa544d3f9ce35a5f4afa7aac0aa4dd54421c4864b3fe8d2415f41, 0x24e24f35699cca59416a7f43c0e93e148b2353440978994df8f81603a46f8839], [0x299f9f09280310aedf63055c5ce76feb16557ed7ff11ba35adad718102b5651a, 0x0c4a2fc4db77ef6c19511b2ffb369981cebbffcb5337a671e1ad678b460ac5e9] + vk.gammaABC.len() = 6 + vk.gammaABC[0] = 0x2f910078bf5092a7ea9d3ce750b7b5399b101509adb8017a6e12fa1a4c638d5b, 0x0b76454d4300571c8d86714b4e5ef095688b51080e674425e8e5edb201f64128 + vk.gammaABC[1] = 0x2922a307d415f70c8df6f14b664c46df12a89cd3a89cf7960663907bf9483b68, 0x1bc30a719ddc0099f557cca61a0687766e6275fc98b185baa77735b93bf2a0ef + vk.gammaABC[2] = 0x0201dc8c8faa3dc5b8eec85f029d2482bf11a6b46d5f8e4d9f17d41ac3e4c9c1, 0x0a1d62c1142c92dff75b53d5a572fd7a013708118acf10f718c61fb6226160f5 + vk.gammaABC[3] = 0x02276f5896610ec573cd6cdc6e47c69e756362d2b1b1c51c5ab90ac838d1a898, 0x13fa6cc7987f4f3118f6ee3ab85dcd708df17050636d487914077348e0af05b1 + vk.gammaABC[4] = 0x0778ae3718fd7f48564bc33b60ec4f39a238e97cb4cc0bbd4ff37119942ff7d4, 0x0282e96481744ee21524d802b3e524bf0596bb37bb63e5ed37c77fc1a5c8e89d + vk.gammaABC[5] = 0x1ce40e230695bdab7d2ff7ebcf6e6fedb68d1a320238fc98845b151ae4ee3b54, 0x0feac76664d37b57a4ea5a774252bb82355294e55635a8aeb7a1327405d27128"; let mut c = Cursor::new(Vec::new()); - // Write into the "file" and seek to the beginning - c.write_all(tt.as_bytes()).unwrap(); + c.write_all(vk_byte.as_bytes()).unwrap(); c.seek(SeekFrom::Start(0)).unwrap(); - - + let vk = VerifyingKey::::read(&mut c)?; - let pvk = { + let pvk = prepare_verifying_key(&vk); - } + //////////////// proof - let proof = { + let proof_byte = "proof[:]"; - } + let mut c2 = Cursor::new(Vec::new()); - let pub_input = { + c2.write_all(proof_byte.as_bytes()).unwrap(); + c2.seek(SeekFrom::Start(0)).unwrap(); - } + let proof = Proof::::read(&mut c2); + + /////////////// pub_input + + let pub_input = result_bool = verify_proof( &pvk, &proof, &[Fr::one()] - ).unwrap();*/ + ).unwrap(); // update proof status self.proofs.insert(proof_id, result); @@ -68,61 +83,6 @@ impl ProofManager { serde_json::to_value(response).map_err(Into::into) } - /*pub fn read( - mut reader: R - ) -> io::Result - { - let mut g1_repr = ::Uncompressed::empty(); - let mut g2_repr = ::Uncompressed::empty(); - - reader.read_exact(g1_repr.as_mut())?; - let alpha_g1 = g1_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; - - reader.read_exact(g1_repr.as_mut())?; - let beta_g1 = g1_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; - - reader.read_exact(g2_repr.as_mut())?; - let beta_g2 = g2_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; - - reader.read_exact(g2_repr.as_mut())?; - let gamma_g2 = g2_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; - - reader.read_exact(g1_repr.as_mut())?; - let delta_g1 = g1_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; - - reader.read_exact(g2_repr.as_mut())?; - let delta_g2 = g2_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; - - let ic_len = reader.read_u32::()? as usize; - - let mut ic = vec![]; - - for _ in 0..ic_len { - reader.read_exact(g1_repr.as_mut())?; - let g1 = g1_repr - .into_affine() - .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e)) - .and_then(|e| if e.is_zero() { - Err(io::Error::new(io::ErrorKind::InvalidData, "point at infinity")) - } else { - Ok(e) - })?; - - ic.push(g1); - } - - Ok(VerifyingKey { - alpha_g1: alpha_g1, - beta_g1: beta_g1, - beta_g2: beta_g2, - gamma_g2: gamma_g2, - delta_g1: delta_g1, - delta_g2: delta_g2, - ic: ic - }) - }*/ - - pub fn check(&self, proof_id: u64) -> AppResult { let status = self.proof_status(proof_id)?; let response = Response::Check { verified: status }; From b018412439eda86d002e0fc64f53dbae23ff791e Mon Sep 17 00:00:00 2001 From: Drygin Alexander Date: Sun, 23 Jun 2019 13:23:19 +0300 Subject: [PATCH 02/17] add readme to zk back --- backend_zk/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 backend_zk/README.md diff --git a/backend_zk/README.md b/backend_zk/README.md new file mode 100644 index 0000000..7316972 --- /dev/null +++ b/backend_zk/README.md @@ -0,0 +1,12 @@ +# Usage +0. [install](https://zokrates.github.io/gettingstarted.html) ZoKrates + +1. compile ```zokrates compile -i root.code``` + +2. perform the setup phase ```zokrates setup``` + +3. execute the program ```zokrates compute-witness -a 0 0 0 5 5 0 0 0 263561599766550617289250058199814760685 65303172752238645975888084098459749904 121528245299328017710050549170605934178 329200266467600403224363203181133000487``` + +4. generate a proof of computation ```zokrates generate-proof``` + +5. export a solidity verifier ```zokrates export-verifier``` From 4133293dd4f9b9ef77870cc76b3dac7ab5ff7349 Mon Sep 17 00:00:00 2001 From: Drygin Alexander Date: Sun, 23 Jun 2019 13:42:16 +0300 Subject: [PATCH 03/17] add zk readme --- backend_zk/README.md | 2 ++ backend_zk/{ => generated}/out | Bin backend_zk/{ => generated}/out.code | 0 backend_zk/{ => generated}/proof.json | 0 backend_zk/{ => generated}/proving.key | Bin backend_zk/{ => generated}/verification.key | 0 backend_zk/{ => generated}/verifier.sol | 0 backend_zk/{ => generated}/witness | 0 8 files changed, 2 insertions(+) rename backend_zk/{ => generated}/out (100%) rename backend_zk/{ => generated}/out.code (100%) rename backend_zk/{ => generated}/proof.json (100%) rename backend_zk/{ => generated}/proving.key (100%) rename backend_zk/{ => generated}/verification.key (100%) rename backend_zk/{ => generated}/verifier.sol (100%) rename backend_zk/{ => generated}/witness (100%) diff --git a/backend_zk/README.md b/backend_zk/README.md index 7316972..1231b3e 100644 --- a/backend_zk/README.md +++ b/backend_zk/README.md @@ -10,3 +10,5 @@ 4. generate a proof of computation ```zokrates generate-proof``` 5. export a solidity verifier ```zokrates export-verifier``` + +* Generated folder contains already generated files. \ No newline at end of file diff --git a/backend_zk/out b/backend_zk/generated/out similarity index 100% rename from backend_zk/out rename to backend_zk/generated/out diff --git a/backend_zk/out.code b/backend_zk/generated/out.code similarity index 100% rename from backend_zk/out.code rename to backend_zk/generated/out.code diff --git a/backend_zk/proof.json b/backend_zk/generated/proof.json similarity index 100% rename from backend_zk/proof.json rename to backend_zk/generated/proof.json diff --git a/backend_zk/proving.key b/backend_zk/generated/proving.key similarity index 100% rename from backend_zk/proving.key rename to backend_zk/generated/proving.key diff --git a/backend_zk/verification.key b/backend_zk/generated/verification.key similarity index 100% rename from backend_zk/verification.key rename to backend_zk/generated/verification.key diff --git a/backend_zk/verifier.sol b/backend_zk/generated/verifier.sol similarity index 100% rename from backend_zk/verifier.sol rename to backend_zk/generated/verifier.sol diff --git a/backend_zk/witness b/backend_zk/generated/witness similarity index 100% rename from backend_zk/witness rename to backend_zk/generated/witness From 74d7d3946d7cf8f649de4dc783f071fcb53c578e Mon Sep 17 00:00:00 2001 From: Drygin Alexander Date: Sun, 23 Jun 2019 14:16:21 +0300 Subject: [PATCH 04/17] add readme to fluence back --- backend_fluence/README.md | 7 +++++++ backend_fluence/src/proof_manager.rs | 13 ++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 backend_fluence/README.md diff --git a/backend_fluence/README.md b/backend_fluence/README.md new file mode 100644 index 0000000..ed2c5e7 --- /dev/null +++ b/backend_fluence/README.md @@ -0,0 +1,7 @@ +# Usage +0. [install](https://github.com/fluencelabs/tutorials/tree/master/dice-game#developing-the-backend-app) needed dependencies for Fluence + +1. compiling Rust to WebAssembly, in directory backend_fluence/src +```cargo +nightly build --target wasm32-unknown-unknown --release``` + +2. [publishing](https://fluence.network/docs/book/quickstart/publish.html) to Fluence network \ No newline at end of file diff --git a/backend_fluence/src/proof_manager.rs b/backend_fluence/src/proof_manager.rs index 761180a..a5b5068 100644 --- a/backend_fluence/src/proof_manager.rs +++ b/backend_fluence/src/proof_manager.rs @@ -54,7 +54,10 @@ impl ProofManager { //////////////// proof - let proof_byte = "proof[:]"; + let proof_byte = " + a: [0x12d0dbcfc1da3ea29bc017288fceea3929401f4f12dbd0bba73781420d31aa2d, 0x2811c1eaa63f4a804951bd7f994cbb6bea9df64591793b8392400e8756d1bca7], + b: [[0x04c33f68e1bd55be0928b086c647debcdf7aa0e3c3efc6a8efbc2596a77a0e67, 0x17e7392e0e3ec2b5701e675e6e0569330d03ffffe476fc8d63cfeaa0ba1c8a97], [0x2fc402693a54cd1b176abeed209674f2f12ced1496c6ce27ba8cf16903daa4cc, 0x2c47efba3f4f260da643bb6427d08b551bb3446537d6ac4857d611be2355a446]], + c: [0x04d40f14694092d0f70890a20492b2b68e7eaabdcee744e519678d687c9c3ed0, 0x28de140e393154b0e70b3ef12806af963a4a33b45c24e7864391093b6028fa2b]"; let mut c2 = Cursor::new(Vec::new()); @@ -65,12 +68,16 @@ impl ProofManager { /////////////// pub_input - let pub_input = + let pub_input = "inputs: [0x00000000000000000000000000000000c6481e22c5ff4164af680b8cfaa5e8ed, \ + 0x000000000000000000000000000000003120eeff89c4f307c4a6faaae059ce10, \ + 0x000000000000000000000000000000005b6d7d198c48c17c9540d29275a04662, \ + 0x00000000000000000000000000000000f7a9aa434629a33c84eec3e16e196f27, \ + 0x0000000000000000000000000000000000000000000000000000000000000001]"; result_bool = verify_proof( &pvk, &proof, - &[Fr::one()] + pub_input ).unwrap(); // update proof status From 0fd901c072ec6d49c431722f0476c8cc0d8f6338 Mon Sep 17 00:00:00 2001 From: Drygin Alexander Date: Sun, 23 Jun 2019 14:19:14 +0300 Subject: [PATCH 05/17] delete tests --- backend_fluence/src/tests.rs | 130 ----------------------------------- 1 file changed, 130 deletions(-) delete mode 100644 backend_fluence/src/tests.rs diff --git a/backend_fluence/src/tests.rs b/backend_fluence/src/tests.rs deleted file mode 100644 index 397b6ef..0000000 --- a/backend_fluence/src/tests.rs +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 2018 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -use crate::request_response::{Request, Response}; -use crate::main; - -// TODO: add more tests - -#[test] -fn correct_bets() { - let response = Response::Join { player_id: 0 }; - assert_eq!( - main(create_join_request()), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Join { player_id: 1 }; - assert_eq!( - main(create_join_request()), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Bet { - outcome: 6, - player_balance: 85, - }; - assert_eq!( - main(create_bet_json(0, 1, 15)), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Bet { - outcome: 4, - player_balance: 85, - }; - assert_eq!( - main(create_bet_json(1, 1, 15)), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Bet { - outcome: 6, - player_balance: 510, - }; - assert_eq!( - main(create_bet_json(0, 6, 85)), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Bet { - outcome: 2, - player_balance: 0, - }; - assert_eq!( - main(create_bet_json(1, 1, 85)), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::GetBalance { - player_balance: 510, - }; - assert_eq!( - main(create_get_balance_json(0)), - serde_json::to_string(&response).unwrap() - ); -} - -#[test] -fn incorrect_bets() { - let response = Response::Join { player_id: 0 }; - assert_eq!( - main(create_join_request()), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Error { - message: "Incorrect placement, please choose number from 1 to 6".to_string(), - }; - assert_eq!( - main(create_bet_json(0, 7, 15)), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Error { - message: "Player with id 1 wasn\'t found".to_string(), - }; - assert_eq!( - main(create_bet_json(1, 1, 0)), - serde_json::to_string(&response).unwrap() - ); - - let response = Response::Error { - message: "Player hasn\'t enough money: player\'s current balance is 100 while the bet is 4294967295".to_string() - }; - assert_eq!( - main(create_bet_json(0, 6, std::u32::MAX)), - serde_json::to_string(&response).unwrap() - ); -} - -fn create_join_request() -> String { - let request = Request::Join; - serde_json::to_value(request).unwrap().to_string() -} - -fn create_bet_json(player_id: u64, placement: u8, bet_amount: u32) -> String { - let request = Request::Bet { - player_id, - placement, - bet_amount, - }; - serde_json::to_value(request).unwrap().to_string() -} - -fn create_get_balance_json(player_id: u64) -> String { - let request = Request::GetBalance { player_id }; - serde_json::to_value(request).unwrap().to_string() -} From c4da270b1d76a19d862116fc9abc068ab3bc901f Mon Sep 17 00:00:00 2001 From: Evgeny Marchenko Date: Sun, 23 Jun 2019 14:59:32 +0300 Subject: [PATCH 06/17] test --- truffle/contracts/VerifierProxy.sol | 9 ++++---- truffle/test/test.js | 35 +++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 truffle/test/test.js diff --git a/truffle/contracts/VerifierProxy.sol b/truffle/contracts/VerifierProxy.sol index 1de53ff..8b368f7 100644 --- a/truffle/contracts/VerifierProxy.sol +++ b/truffle/contracts/VerifierProxy.sol @@ -15,9 +15,10 @@ contract VerifierProxy is IVerifier { // Truffle gives `UnimplementedFeatureError: Encoding struct from calldata is not yet supported.` // that's why function is public and uses memory location modifier function isValid(Data memory data, Proof memory proof) public returns (bool) { - bytes memory payload = abi.encodeWithSelector(verifier.verifyTx.selector, proof, data); - (bool success, bytes memory r) = address(verifier).call(payload); - require(success); - return abi.decode(r, (bool)); + // bytes memory payload = abi.encodeWithSelector(verifier.verifyTx.selector, proof, data); + // (bool success, bytes memory r) = address(verifier).call(payload); + // require(success); + // return abi.decode(r, (bool)); + return verifier.verifyTx(proof.a, proof.b, proof.c, data.input); } } \ No newline at end of file diff --git a/truffle/test/test.js b/truffle/test/test.js new file mode 100644 index 0000000..cc093d3 --- /dev/null +++ b/truffle/test/test.js @@ -0,0 +1,35 @@ +const Lazy = artifacts.require('./Lazy.sol'); +const Verifier = artifacts.require('./Verifier.sol'); + + +contract("Testing Lazy", accounts => { + + it("should deploy with 2 tasks", async () => { + let instance = await Lazy.deployed(); + let tasksNum = await instance.tasksNum.call(); + assert.equal(tasksNum.valueOf(), 2); + }); + it("should verify correct proof", async () => { + let instance = await Lazy.deployed(); + console.log("let's try to verify"); + let tasksNum = await instance.challenge.call(1); + console.log("should be ok"); + }); + +}); + + +contract("Testing Verifier", accounts => { +const a = ["0x12d0dbcfc1da3ea29bc017288fceea3929401f4f12dbd0bba73781420d31aa2d","0x2811c1eaa63f4a804951bd7f994cbb6bea9df64591793b8392400e8756d1bca7"]; +const b = [["0x04c33f68e1bd55be0928b086c647debcdf7aa0e3c3efc6a8efbc2596a77a0e67","0x17e7392e0e3ec2b5701e675e6e0569330d03ffffe476fc8d63cfeaa0ba1c8a97"],["0x2fc402693a54cd1b176abeed209674f2f12ced1496c6ce27ba8cf16903daa4cc","0x2c47efba3f4f260da643bb6427d08b551bb3446537d6ac4857d611be2355a446"]]; +const c = ["0x04d40f14694092d0f70890a20492b2b68e7eaabdcee744e519678d687c9c3ed0","0x28de140e393154b0e70b3ef12806af963a4a33b45c24e7864391093b6028fa2b"]; +const input = ["0x00000000000000000000000000000000c6481e22c5ff4164af680b8cfaa5e8ed","0x000000000000000000000000000000003120eeff89c4f307c4a6faaae059ce10","0x000000000000000000000000000000005b6d7d198c48c17c9540d29275a04662","0x00000000000000000000000000000000f7a9aa434629a33c84eec3e16e196f27","0x0000000000000000000000000000000000000000000000000000000000000001"] + + it("should process proofs", async () => { + let instance = await Verifier.deployed(); + let result = await instance.verifyTx.call(a,b,c,input); + console.log("verfifier thinks that result is " + result) + // assert.equal(result.valueOf(), false); + }); + +}); \ No newline at end of file From d62711c27c2e4b0b00e05f4b2774764414850738 Mon Sep 17 00:00:00 2001 From: Evgeny Marchenko Date: Sun, 23 Jun 2019 15:00:23 +0300 Subject: [PATCH 07/17] readme --- README.md | 10 +++++----- frontend/README.md | 10 ++++------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 8c2ca71..d371194 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,17 @@ We suggest checking proofs on Fluence instead. This option does not has gas prob ## How it works 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 challenged this proof with ether. -- Ethereum project Operator who uploads (data, proof) pairs to the smart contract. +- Proof Supplier (e.g. Ethereum project operator) who uploads (data, proof) pairs to the smart contract. - Fluence back end that implements off-chain proof verification. It also stores proof verification results. -- Ethereum project user. The user checks if Operator provides valid proofs and challenges invalid ones using smart contract to get a reward. +- Proof Consumer (e.g. Ethereum project user). Consumer checks if Supplier provides valid proofs and challenges invalid ones using smart contract to get a reward. - Arweave front-end. The user performs all the actions via the front end. -Here is the workflow: +Here is an example of workflow: 1. The operator uploads (data, proof) to the smart contract. -2. The user takes (data, proof) from the smart contract and uploads it to the back end (Fluence). +2. The user takes (data, proof) from the smart contract and sends it to the back end (Fluence). 3. The back end checkes the proof. 4. a) If the proof is correct, it is stored by the back end with TRUE flag. Other users can see it an will not check this proof again. - b) If the proof is false, the user checks the same proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. + b) If the proof is false, the user challenges that proof in the smart contract. The proof is invalid and thus the user will get the reward. To better understand the workflow, please review the scheme. diff --git a/frontend/README.md b/frontend/README.md index 0dc4a9c..b47808d 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,8 +1,6 @@ # Usage + 0. set the `appId` (Fluence) and `lazyAddress` (Eth contract) in `index.js` - -1. run ```npm i``` - -2. run ```npm run build``` - -3. run ```npm run start``` \ No newline at end of file +1. run `npm i` +2. run `npm run build` +3. run `npm run start` \ No newline at end of file From 2c9d625863bb53dcbffae3e43cb6a2ca71d38d88 Mon Sep 17 00:00:00 2001 From: Evgeny Marchenko Date: Sun, 23 Jun 2019 15:06:32 +0300 Subject: [PATCH 08/17] fix typo --- truffle/contracts/Lazy.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/truffle/contracts/Lazy.sol b/truffle/contracts/Lazy.sol index 174f6e0..4826976 100644 --- a/truffle/contracts/Lazy.sol +++ b/truffle/contracts/Lazy.sol @@ -36,7 +36,7 @@ contract Lazy is Structs { function submit(Data calldata data, Proof calldata proof) external payable { require(msg.value == stake); - Task memory task = Task(data, proof, msg.sender, uint96(now), Status.UNCHECKED); + Task memory task = Task(data, proof, msg.sender, now, Status.UNCHECKED); uint index = tasks.push(task); emit Submitted(msg.sender, index, task); From 0a4dbd1cdc51ca1269975123c187acdfb914a0eb Mon Sep 17 00:00:00 2001 From: Ivan Ivanitskiy Date: Sun, 23 Jun 2019 15:55:52 +0300 Subject: [PATCH 09/17] little fixes in scheme and readme --- README.md | 26 +++++++++++++++----------- Scheme.png | Bin 110614 -> 110900 bytes 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 8c2ca71..a07755e 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,30 @@ # LAZY SNARK: trustless off-chain zk-proof verification. ## 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 proofs. Our project should help exisiting Ethereum projects that rely on zkp to achieve privacy, scalability and other nice qualities. +In Ethereum, it is expensive to check zero-knowledge proofs on-chain. So, we propose to use Fluence to do heavy-lifting off-chain and only go on-chain to challenge incorrect proofs. Our project should help exisiting Ethereum projects that rely on zk-proofs to achieve privacy, scalability, and security. ## Why Let us say, there is a project that needs 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 expensive, and is susceptible to network congestion. ## What -We suggest checking proofs on Fluence instead. This option does not has gas problem, is much cheaper, and is trustless. - +We suggest checking proofs on Fluence instead. This option does not has gas problem. Thus, it is much cheaper. Also, it won't consume all the gas in the block. Besides, it is trustless and the results of the checks are public. ## How it works 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 challenged this proof with ether. -- Ethereum project Operator who uploads (data, proof) pairs to the smart contract. +- 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 challenges the invalid proof with ether. +- Proof supplier who uploads (data, proof) pairs to the smart contract. The proof supplier stakes ether to the smart contract. In case the proof supplier provides an invalid proof, the proof supplier is punished: a part of the stake is given to the one who chellenged the proof as a reward. - Fluence back end that implements off-chain proof verification. It also stores proof verification results. -- Ethereum project user. The user checks if Operator provides valid proofs and challenges invalid ones using smart contract to get a reward. -- Arweave front-end. The user performs all the actions via the front end. +- Ethereum project user aka proof consumer. The user checks whether the proof supplier has provided valid proofs and challenges invalid ones using smart contract to get a reward. +- Arweave front end. The user performs all the actions via the front end. Also, proof results from the Fluence back end are displayed in the front end. Here is the workflow: -1. The operator uploads (data, proof) to the smart contract. -2. The user takes (data, proof) from the smart contract and uploads it to the back end (Fluence). +1. The proof supplier uploads (data, proof) to the smart contract. +2. The user takes (data, proof) from the smart contract and sends it to the back end. 3. The back end checkes the proof. -4. a) If the proof is correct, it is stored by the back end with TRUE flag. Other users can see it an will not check this proof again. - b) If the proof is false, the user checks the same proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. +4. a) If the proof is valid, it is stored by the back end with TRUE flag. Other users can see it in the front end and will not check this proof again. + b) If the proof is invalid, it is stored by the back end with FALSE flag. The user challenges this proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. To better understand the workflow, please review the scheme. ![Image](Scheme.png "Scheme") + +## Benefits + +юзкейсы + diff --git a/Scheme.png b/Scheme.png index cbaeb936a6a592bbbe4caf89638062a86dc643c2..035d9c76fa646108ec3d2088e01149940fd8411d 100644 GIT binary patch literal 110900 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≶PWlD)s1LR!PD(vRPOh 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 literal 110614 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 ^w{14CEtVU`j)nk~p<$7e21~saSe^xbk(%~%jj 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 z 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 BDct}7 From 7b5c741b879f80a7d8b69bcbcb3c5bb733952a3f Mon Sep 17 00:00:00 2001 From: Ivan Ivanitskiy Date: Sun, 23 Jun 2019 16:00:02 +0300 Subject: [PATCH 10/17] indent fix --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a07755e..9878779 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ Here is the workflow: 1. The proof supplier uploads (data, proof) to the smart contract. 2. The user takes (data, proof) from the smart contract and sends it to the back end. 3. The back end checkes the proof. -4. a) If the proof is valid, it is stored by the back end with TRUE flag. Other users can see it in the front end and will not check this proof again. - b) If the proof is invalid, it is stored by the back end with FALSE flag. The user challenges this proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. +4. a. If the proof is valid, it is stored by the back end with TRUE flag. Other users can see it in the front end and will not check this proof again. +4. b. If the proof is invalid, it is stored by the back end with FALSE flag. The user challenges this proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. To better understand the workflow, please review the scheme. From 810d8b3e79ca6ef8092b47e0f005c0c45a2c21c1 Mon Sep 17 00:00:00 2001 From: Ivan Ivanitskiy Date: Sun, 23 Jun 2019 16:01:44 +0300 Subject: [PATCH 11/17] indent fix --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9878779..daef9b4 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,9 @@ Here is the workflow: 1. The proof supplier uploads (data, proof) to the smart contract. 2. The user takes (data, proof) from the smart contract and sends it to the back end. 3. The back end checkes the proof. -4. a. If the proof is valid, it is stored by the back end with TRUE flag. Other users can see it in the front end and will not check this proof again. -4. b. If the proof is invalid, it is stored by the back end with FALSE flag. The user challenges this proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. +4. +- a. If the proof is valid, it is stored by the back end with TRUE flag. Other users can see it in the front end and will not check this proof again. +- b. If the proof is invalid, it is stored by the back end with FALSE flag. The user challenges this proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. To better understand the workflow, please review the scheme. From a2d2712f5aa08c95a7dd40d3e3f8866377d4145f Mon Sep 17 00:00:00 2001 From: Drygin Alexander Date: Sun, 23 Jun 2019 16:02:11 +0300 Subject: [PATCH 12/17] comment bellman verify --- backend_fluence/src/proof_manager.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend_fluence/src/proof_manager.rs b/backend_fluence/src/proof_manager.rs index a5b5068..5582d88 100644 --- a/backend_fluence/src/proof_manager.rs +++ b/backend_fluence/src/proof_manager.rs @@ -28,6 +28,7 @@ impl ProofManager { result = 0 } + /* //////////////// vk let vk_byte = " @@ -79,6 +80,7 @@ impl ProofManager { &proof, pub_input ).unwrap(); + */ // update proof status self.proofs.insert(proof_id, result); From e3c694f7765c776120903978635970fc2ccb60c0 Mon Sep 17 00:00:00 2001 From: Evgeny Marchenko Date: Sun, 23 Jun 2019 16:15:25 +0300 Subject: [PATCH 13/17] fix assert bug --- truffle/contracts/VerifierProxy.sol | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/truffle/contracts/VerifierProxy.sol b/truffle/contracts/VerifierProxy.sol index 8b368f7..c051676 100644 --- a/truffle/contracts/VerifierProxy.sol +++ b/truffle/contracts/VerifierProxy.sol @@ -15,10 +15,9 @@ contract VerifierProxy is IVerifier { // Truffle gives `UnimplementedFeatureError: Encoding struct from calldata is not yet supported.` // that's why function is public and uses memory location modifier function isValid(Data memory data, Proof memory proof) public returns (bool) { - // bytes memory payload = abi.encodeWithSelector(verifier.verifyTx.selector, proof, data); - // (bool success, bytes memory r) = address(verifier).call(payload); - // require(success); - // return abi.decode(r, (bool)); - return verifier.verifyTx(proof.a, proof.b, proof.c, data.input); + bytes memory payload = abi.encodeWithSelector(verifier.verifyTx.selector, proof.a, proof.b, proof.c, data.input); + (bool success, bytes memory r) = address(verifier).call(payload); + return success && abi.decode(r, (bool)); + // return verifier.verifyTx(proof.a, proof.b, proof.c, data.input); } } \ No newline at end of file From 97c5d00f8222b0595b583f2df766d164c6b1e319 Mon Sep 17 00:00:00 2001 From: Evgeny Marchenko Date: Sun, 23 Jun 2019 16:20:20 +0300 Subject: [PATCH 14/17] more tests --- truffle/test/test.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/truffle/test/test.js b/truffle/test/test.js index cc093d3..266eda7 100644 --- a/truffle/test/test.js +++ b/truffle/test/test.js @@ -9,11 +9,14 @@ contract("Testing Lazy", accounts => { let tasksNum = await instance.tasksNum.call(); assert.equal(tasksNum.valueOf(), 2); }); - it("should verify correct proof", async () => { + + it("should detect incorrect proof", async () => { let instance = await Lazy.deployed(); - console.log("let's try to verify"); - let tasksNum = await instance.challenge.call(1); - console.log("should be ok"); + let task = await instance.tasks(0); + assert.equal(task.status, 0); + await instance.challenge(0); + task = await instance.tasks(0); + assert.equal(task.status, 2); }); }); From d08470b87df2f7b7e4d2eb2c2a52a7a49422b990 Mon Sep 17 00:00:00 2001 From: Ivan Ivanitskiy Date: Sun, 23 Jun 2019 16:21:02 +0300 Subject: [PATCH 15/17] benefits descrubed --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index daef9b4..1225364 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Here is the workflow: 1. The proof supplier uploads (data, proof) to the smart contract. 2. The user takes (data, proof) from the smart contract and sends it to the back end. 3. The back end checkes the proof. -4. +4. The following actions depend on the result of the check: - a. If the proof is valid, it is stored by the back end with TRUE flag. Other users can see it in the front end and will not check this proof again. - b. If the proof is invalid, it is stored by the back end with FALSE flag. The user challenges this proof in the smart contract. In that case the user is sure that the proof is FALSE and thus the user will get the reward. @@ -26,6 +26,12 @@ To better understand the workflow, please review the scheme. ![Image](Scheme.png "Scheme") ## Benefits +LAZY SNARK provides the following benefits compared to checking zk-proofs on-chain: +- It doesn't require much gas. In case of e.g. mass exit the zk-proofs verifications will take all the gas in the block. LAZY SNARK won't. +- It is ~10 times cheaper than verifying zk-proofs in Ethereum smart contract. Checking zk-proof on-chain costs ~$1 (gasprice and ETH price on June 23, 2019). Checking them in Fluence costs ~$0.01. Since we still need to put data and proofs on-chain, the whole system operation will cost 10 times less than checking the proofs on-chain. +LAZY SNARK provides the following benefits compared to checking zk-proofs locally: +- It is trustless unlike checking zk-proofs locally. All the proof check results are available on Fluence via Arweave front end. +- The results are public, so everyone will be able to see which proofs are valid and which proof suppliers are honest. +- The results are public, so the users who seek for invalid proofs won't check the proofs that has already been checked. -юзкейсы - +## Use cases From 59eda18c37d1d6bb2c163483eb1b41b8ab6c981c Mon Sep 17 00:00:00 2001 From: Ivan Ivanitskiy Date: Sun, 23 Jun 2019 16:22:27 +0300 Subject: [PATCH 16/17] benefits indentation fixed --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1225364..30258a8 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ To better understand the workflow, please review the scheme. LAZY SNARK provides the following benefits compared to checking zk-proofs on-chain: - It doesn't require much gas. In case of e.g. mass exit the zk-proofs verifications will take all the gas in the block. LAZY SNARK won't. - It is ~10 times cheaper than verifying zk-proofs in Ethereum smart contract. Checking zk-proof on-chain costs ~$1 (gasprice and ETH price on June 23, 2019). Checking them in Fluence costs ~$0.01. Since we still need to put data and proofs on-chain, the whole system operation will cost 10 times less than checking the proofs on-chain. + LAZY SNARK provides the following benefits compared to checking zk-proofs locally: - It is trustless unlike checking zk-proofs locally. All the proof check results are available on Fluence via Arweave front end. - The results are public, so everyone will be able to see which proofs are valid and which proof suppliers are honest. From 8cba965dff4397622c1ea0a3984d089c4dfe5184 Mon Sep 17 00:00:00 2001 From: Ivan Ivanitskiy Date: Sun, 23 Jun 2019 16:37:15 +0300 Subject: [PATCH 17/17] use cases added --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 30258a8..f0a2faa 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # LAZY SNARK: trustless off-chain zk-proof verification. ## Abstract -In Ethereum, it is expensive to check zero-knowledge proofs on-chain. So, we propose to use Fluence to do heavy-lifting off-chain and only go on-chain to challenge incorrect proofs. Our project should help exisiting Ethereum projects that rely on zk-proofs to achieve privacy, scalability, and security. +In Ethereum, it is expensive to check zero-knowledge proofs on-chain. So, we propose to use Fluence to do heavy-lifting off-chain and only go on-chain to challenge incorrect proofs. Our project should help exisiting Ethereum projects that rely on zk-proofs to achieve privacy, scalability, and trustlessness. ## Why Let us say, there is a project that needs 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 expensive, and is susceptible to network congestion. ## What @@ -26,7 +26,7 @@ To better understand the workflow, please review the scheme. ![Image](Scheme.png "Scheme") ## Benefits -LAZY SNARK provides the following benefits compared to checking zk-proofs on-chain: +LAZY SNARK (not to be confused with Lady Stark) provides the following benefits compared to checking zk-proofs on-chain: - It doesn't require much gas. In case of e.g. mass exit the zk-proofs verifications will take all the gas in the block. LAZY SNARK won't. - It is ~10 times cheaper than verifying zk-proofs in Ethereum smart contract. Checking zk-proof on-chain costs ~$1 (gasprice and ETH price on June 23, 2019). Checking them in Fluence costs ~$0.01. Since we still need to put data and proofs on-chain, the whole system operation will cost 10 times less than checking the proofs on-chain. @@ -36,3 +36,12 @@ LAZY SNARK provides the following benefits compared to checking zk-proofs locall - The results are public, so the users who seek for invalid proofs won't check the proofs that has already been checked. ## Use cases +LAZY SNARK can be used in the following cases (and not only in these): +- Plasma implementations that require zk-proofs. +- Mixers. +- Private money like ZkDai. +- Games. +- Many other systems that use zk-proofs. For now, they are mostly limited to money-like systems, hence the examples above. However, it is only the matter of imagination what other use cases need zk-proofs, scalability, and trustlessness. + +## Build instructions +To be provided :) \ No newline at end of file