主页 > imtoken安全码 > 零知识有条件支付:真正做到“一手支付,一手发货”

零知识有条件支付:真正做到“一手支付,一手发货”

imtoken安全码 2023-03-27 06:50:42

安比实验室创始人,以下为正文:

零知识有条件支付:真正做到「一手交钱、一手交货」

比特币核心团队 Greg Maxwell 早在 2011 年就提到了一个非常非常强大的概念:

买比特币给对方打款_火币网怎么买比特币_比特币买汉堡

ZKCP - “零知识有条件支付” 3359EN

简单来说,就是实现一个_完美且公平的_pay for and deliver

火币网怎么买比特币_买比特币给对方打款_比特币买汉堡

在这里敲黑板。 我在上面的句子中使用了三个学术俚语。 想象一个交易场景。 如果双方都担心第三方的存在,谁也不愿意先给对方付款/发货,否则对方会跑路。 单手支付和单手交付意味着支付/交付动作必须是原子的(说白了:要么交易完成,要么交易未完成,双方都没有违约的余地)。

所谓完全公平,就是任何一方都不能占到更多的小便宜。 然而,这个概念并不是格雷格最初的想法。 这是一个老话题。 早在20世纪80年代,许多学者就在研究如何实现完美的公平贸易。 但长期以来人们一致认为,可信赖的第三方是必不可少的。 后来,当比特币诞生时,格雷格敏锐地意识到可以通过使用比特币这个不受信任的第三方来完成。

火币网怎么买比特币_买比特币给对方打款_比特币买汉堡

在 2016 年发表的一篇博文中买比特币给对方打款,Greg 宣布他与 ZCash 团队的 Sean Bowe 和其他人一起展示了如何在比特币(作为不受信任的第三方)的帮助下进行完全公平的交易。 该演示演示了如何完美且公平地交易 16x16 数独解决方案。

接下来,请原谅我用非常晦涩的语言来解释ZKCP的原理。

火币网怎么买比特币_买比特币给对方打款_比特币买汉堡

Greg 的 ZKCP 方案使用了 ZKSARKS 技术。 首先大家需要知道ZKSARKS能做什么。 传说中的 zksnarks 可以提供零知识证明。 你能证明什么? 证明一个已知算法的计算过程是否真的发生过(白话:一段地球上所有人都知道的程序代码是否曾经运行过)。

这个计算过程可以发生在遥远的星球上,程序运行过程中会生成一个证书,可以传回地球进行验证。 如果验证通过,那么我们就可以知道一个已知的程序确实在遥远的星球上运行过,程序的输入是某个未知量。

买比特币给对方打款_火币网怎么买比特币_比特币买汉堡

最难的部分已经完成。 如果您不明白,请不要继续阅读。

假设卖家A和买家B想交易一个数字D,此时买家B需要提前知道D是否是自己想要的。 B会提供一个函数F()来判断D是否满足B的要求。 A得到F后,运行F(D)。 如果返回true,则A继续使用加密函数E()得到密文D'=E(K, D),其中K为A为本次交易生成的新随机数,然后A计算hash( k)=h。

接下来A给B三样东西,第一是key的哈希值H,第二是加密后的数据D',第三是zksnarks生成的计算过程的证明。 计算过程为:F(D)=true; E(K, D)=D', HASH(K)=H .b 最后,构造一个比特币脚本:声明任何人提供H的正面图像(即任何人拥有K)都可以花费所带来的0.1 BTC剧本。 最后A发起交易买比特币给对方打款,提供K,提现; 从 B 的区块链中看到 K,解密 D,得到 D。

回过头来看,比特币脚本提供了一个原子操作(说白了就是:一只手支付钥匙,另一只手交还)。 B不能得到D,从而达到完全公平。