You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As an example, let's start with a tree with [0101,'a'], [0111,'b']. assuming hash is concatenation, and we want to proof 1111, create_proof gives:
MerkleProof {
entry_response: EntryResponse {
entry: vec![Node::Str("1111".to_string())],
matching_entry: None,
siblings: vec![Node::Str("0101,a,1,0111,b,1".to_string())],
},
root: Node::Str("0101,a,1,0111,b,1".to_string()),
membership: false,
}
Now verify_proof, would use zero node to produce a root Node::Str("0101,a,1,0111,b,1,0".to_string()), so verify_proof returns false.
My understanding is we should expect true, since the MerkleProof says membership is false
The text was updated successfully, but these errors were encountered:
in smt, to prove non-membership of a key without matching_entry, should I expect the verify function to return false or true?
zk-kit.rust/crates/smt/src/smt.rs
Line 363 in 8d63b9f
As an example, let's start with a tree with [0101,'a'], [0111,'b']. assuming hash is concatenation, and we want to proof 1111, create_proof gives:
MerkleProof {
entry_response: EntryResponse {
entry: vec![Node::Str("1111".to_string())],
matching_entry: None,
siblings: vec![Node::Str("0101,a,1,0111,b,1".to_string())],
},
root: Node::Str("0101,a,1,0111,b,1".to_string()),
membership: false,
}
Now verify_proof, would use zero node to produce a root Node::Str("0101,a,1,0111,b,1,0".to_string()), so verify_proof returns false.
My understanding is we should expect true, since the MerkleProof says membership is false
The text was updated successfully, but these errors were encountered: