在Vitalik关于SNARKs 二次算法程序:从零到英雄的文章中,他写道
请注意,以上是一种简化;“在现实世界中”,加法、乘法、减法和除法不是用规则数,而是用有限域元素进行的。
我假设块链中使用SNARKs来隐藏和验证事务。然而,块链事务可能涉及非整数数量(发送者正在发送一个小数),那么涉及有限字段中的非整数数字的私有(见证)&公共输入是如何实现的呢?
由于Satoshi是0.00000001 BTC,所以每个发送/接收事务都可能是一个整数值。
块链上是否有其他由zkSNARK屏蔽的东西,并且可以具有非整数值,或者在块链上使用zkSNARK的所有东西都是整数值?
发布于 2023-02-08 11:59:34
如果有必要,这可以通过发送分数的所有n数字(必须是有限长度才能数字表示)和小数点位置的编码(以\log_2(n+1)位表示)来完成。但是,它可能不需要,您可以简单地将事务表示为分数satoshis中最小允许数量的整数倍数。
zk-snarks用于保护加密货币交易,根据我们的比特币设置:
“UTXO (未使用的事务输出)可以具有任意值,其值为satoshis的倍数。”参考是掌握比特币,第五章
https://crypto.stackexchange.com/questions/104115
复制相似问题