笔记整理自Steven Yue大佬
隐藏数据本身,证明数据的关系
旁人看不到真实交易量,但可以验证输入和输出
为了使得交易中不存在负数(非法印钞)
需要进行范围证明
1.确定有限域F
2.构建数学运算电路,逻辑门是从运算门搭建起来的
3.转换为可证明数学运算电路
w又称为witness,只有证明的一方才知道,是真正提交证明的一方的谜底
第四步:非交互简短证明体系
setup:Sp给证明方的参数,Sv给验证方的参数
prove:证明方利用Prove(Sp,x,w)生成pi发给验证方
verify:Verify(Sv, x, pi)输出Yes/No
证明一个数字w取值于0-2^256之间
拆成二进制,证明每一位要么是1要么是0
这个数字是一个正整数,可以被255位二进制数表达。
这255位二进制数的确是二进制数。(只能取值0或者1)
这255位二进制数全部拼在一起可以重新还原输入进来的数字。
证明交易发起者在世界状态中的账户余额
提交某人Merkle路径上的merkle commit,然而计算commit会暴露余额
snark证明余额的哈希值
你怎么知道它是不是真的进行了哈希了呢?怎么证明你真的哈希了呢?