风险提示:理性看待区块链,提高风险意识!
Gregory Maxwell:首个成功运行的零知识条件支付(ZKCP)
首页 > 币界资讯 > 区块链知识 2016-02-27 10:26:00

woshou

我很高兴地宣布,比特币网络上已成功运行了首个零知识条件支付(ZKCP)。

零知识条件支付是一种交易协议,它允许买方使用比特币从卖方那购买信息,并且其方式是私密、可扩展和安全的,并且也无需信任任何人:所传达的信息仅仅是支付是否进行了, 买方与卖方之间并不需要彼此信任,也不需要由第三方来进行仲裁。

想象一下电影式的“公文包交换”(一方的公文包装满了现金,另一方则是了装了秘密文件),但不会出现其中一方用报纸进行欺诈,导致双方疯狂追逐的场景。

一个示例应用是 从一家失败的供应商那购买到电子书阅读器的DRM主密钥,因此当供应商的服务器上线时,他们就可以将自己的文件上传到阅读器。这种类型的销售本质上不可逆的,具有潜力跨越多个管辖区,参与方的金融稳定性也是不确定的,这意味着双方要么承担大量的风险,要么作出艰难的决定。而使用零知识条件支付协议,就可以避免显著的交易成本 。

在今天的一笔交易中,我从Sean Bowe那用0.1比特币购买了一个16×16的数独难题的解决方案(Sean Bowe是Zcash团队的一员),作为在巴巴多斯的2016年金融密码学会议的现场演示的一部分。我从加州远程演示了这笔交易。

转让涉及了两笔交易:

  1. 8e5df5f792ac4e98cca87f10aba7947337684a5a0a7333ab897fb9c9d616ba9e
  2. 200554139d1e3fe6e499f6ffb0b6e01e706eb8c897293a7f6a26d25e39623fae

这个零知识条件支付协议背后所有的实施工程工作,是由Sean Bowe,Pieter Wuille,我还有Madars Virza共同完成的。

请参阅现场演示的幻灯片。

背景

我第一次提出ZKCP协议是在2011年,当时是在比特币维基上的一篇文章,以此作为一个例子来说明比特币脚本现有原语的强大性。

零知识证明

我的ZKCP协议需要为任意程序构建一个零知识证明 。 很多种专业的零知识证明存在着:普通的数字签名就是一个例子,机密交易(Confidential Transaction)也是。

用于通用计算的零知识证明是一种加密系统,它可以让一个人运行一个混合了公开与私密输入(input)的任意程序,并证明给他人表示这个特定的程序接受了这些输入,而不会透露任何有关它的操作或私密输入。

如果这看起来像是不可能的魔法,为了科普目的,我想到了一个非常简单,但效率不高的零知识证明系统,它无非是使用了布尔电路逻辑(boolean circuits) 以及密码学哈希,或见Matthew Green的关于零知识证明例子的图文解释。

在2012年,Gennaro、Gentry, Parno和Raykova发表了一篇论文(“二次跨越程序和无需概率可验证明的简洁 NIZKs(非交互式零知识证明)”),其描述了一个特别有效的结构。从那时起,有几个团队在持续推进这项工作,创造编译器并提升性能,以及最关键的,制造出了像libsnark这样的实用工具。该GGPR’12密码需要一个值得信赖的设置,但对于ZKCP应用而言,实际上也就没有真正的限制,因为买家可以执行它。正因为有了这个工作,ZKCP现在可以成为实用的工具。

进阶阅读:

GGPR’12论文

微软可验证计算小组

SCIPR实验室

Libsnark

因为这些高效的零知识证明是尖端技术,它们依赖于新强加密的假设,它们的安全性问题还没有被解决。

ZKCP是怎样工作的

如果你接受了零知识证明系统的存在就是一个黑盒子,那么ZKCP协议的其余部分就是相当简单的了。

买方首先会创建一个程序,它可以决定给定的输入是否就是买家想要购买的数据。这个程序仅会验证这个信息,它不会产生它(买家甚至也不需要有产生这些信息的想法),例如,写一个程序来验证数独解决方案是正确的,它是简单的,但是要写一个数独解算程序则是很难的,因为数独是NP完全难题。这里的买家只需要写出解决方案的验证程序就可以了。

买方执行用于证明系统的可信设置,并将所得设置信息发送给卖方。

卖方选取一个随机加密密钥,并对买家想要购买的信息进行加密。

使用了这个零知识证明系统之后,卖方会证明一个复合语句:

  1. Ex是一个输入的加密,它满足买方的程序。
  2. Y是Ex的解密密钥的sha256哈希。

卖方向买方发送了Ex, Y,证明以及他的密钥。一旦买方的计算机验证了证明,买方会知道他是否掌握了Y的SHA256输入, 那他就可以解密出他要的答案。

所以买家最初想为他的程序购买一个输入,但是现在,他会因为购买到了哈希原像而感到高兴。这也证明,比特币已经提供了一种方式,能够将哈希原像以一种安全的方式进行出售。

买方通过下面这个ScriptPubkey来完成他的支付:



OP_SHA256
OP_EQUAL
OP_IF

OP_ELSE
<block_height+100> OP_CHECKLOCKTIMEVERIFY OP_DROP

OP_ENDIF
OP_CHECKSIG

这笔支付的效果,就是如果卖方提供了Y的哈希原像,并通过他的密钥进行了签名,那他就可以拿到这笔钱。为了避免永久性地占用买方的资金,如果卖方不能在一天内(例如)收集他的支付,则买方可以收回付款。

其结果是,当卖方收集了他的支付,他也就被迫揭示了买家解密答案所需要的信息。如果他没有,买方可以拿回他的资金。

这个ScriptPubkey同样适用于垮链原子交换(cross-chain atomic swap)或者闪电网络支付通道(lightning payment channel)。

Bitcoin Core钱包已在PR#7601中支持了这些交易。这个钱包支持是通过数独ZKCP客户端和可用服务器来完成的 https://github.com/zcash/pay-to-sudoku.

买方的程序可以是任意长并且复杂的,它也不会对比特币的区块链带来额外的负担,唯一的影响就是设置和证明所需的时间会增加,这一切都是发生在比特币外部的。除了买方和卖方之外,没有人会得知买方的程序(也就是说,他们不会知道被售出信息的性质)。

限制与替代方案

这种方法的扩展性远比在区块链上构建智能合约要好,并且更加私密性,它也不会受到比特币智能合约性能和功能的限制影响。

这个方法的主要限制有两个。首先,它是互动的:在没有和卖方进行来回沟通之前,买方无法简单地制造一个广播报价就能让对方接受支付。 第二,该零知识证明系统,虽然应用起来的速度还算不错,但仍然是不够快的。例如,在我们的演示当中,这个零知识证明系统证明了SHA256和数独限制的5种执行,在笔记本上运行大约需要20秒的时间。(证明的验证时间只需要几毫秒)。

一种ZKCP的替代协议是Peter Todd在2014年提出来的“paypub”协议。在paypub协议中,它并没有使用一个零知识证明,买方展示了他们想要去购买的数据的随机子集,当卖方收到付款时,他们会被强制解锁。Paypub避免了零知识证明交易的复杂性,也能允许信息的交易只有人可以进行验证,但在欺诈成本上它还是具有脆弱性,并且应用的场景比较有限。

总的来说,我认为像这样的“无需受信”的智能合约具有很大的价值,我期待着人们会发现它的令人兴奋的应用,并期待这项技术变得越来越实用。

原文:https://bitcoincore.org/en/2016/02/26/zero-knowledge-contingent-payments-announcement/
作者:Gregory Maxwell
编译:洒脱喜
稿源(译):资讯(http://www.8btc.com/zkcp)

上一篇: Classic和BU支持的瘦区块(Thin Blocks)技术:让区块的传输更容易
下一篇: 如何分叉以太坊并变成私链?
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,810.46
37,103.37 USDT
+0.1%
ETH以太坊
¥14,413.37
2,019.50 USDT
0%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,629.54
228.32 USDT
+0.63%
XRP瑞波币
¥4.32
0.60480 USDT
+0.45%
USDC
¥7.14
1.00 USDT
+0.04%
SOLSolana
¥400.45
56.11 USDT
+1.59%
OKBOK币
¥399.37
55.96 USDT
-1.23%
ADA艾达币
¥2.67
0.37480 USDT
-1.32%
DOGE狗狗币
¥0.55330
0.07753 USDT
-1.01%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.481E-5 USDT
-18.15%
Gala
¥0.18
0.025383 USDT
-4.86%
dYdX
¥22.63
3.1984 USDT
-0.73%
比特股
¥0.05
0.006569 USDT
-1.93%
PancakeSwap
¥15.60
2.2054 USDT
-2.16%
Conflux
¥1.08
0.1531 USDT
-2.36%
Filecoin
¥31.55
4.4597 USDT
-0.5%
FTX Token
¥29.65
4.1911 USDT
+15.24%
Yield Guild Games
¥2.56
0.3615 USDT
-0.55%
Shiba Inu
¥0.00
8.15E-6 USDT
-2.16%
比特币
¥262,467.38
37103.37 USDT
+0.1%
比原链
¥0.07
0.010022 USDT
-4.68%
最新快讯
更多
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
NicCarter等比特币倡导者发文:比特币挖矿是清洁能源和平衡电网的关键工具
2023-11-28 18:47:58
下载币界网APP