Zexe:可验证去中心化隐私算法(简介)

写在前面:这几天抽空研究了一下Zexe系统,一个非常有意思的基于零知识证明的验证线下交易的系统。原文很长,本章先对Zexe做一个简单介绍。

摘要

支持复杂程序的账本系统经常遭受两个条件制约。首先,验证交易需要重新执行它证明的状态转换。其次,交易不仅显示了哪个应用程序具有状态转换,还显示了应用程序的内部状态。

Zexe是一个基于账本的系统,用户可以在其中执行离线计算,然后产生交易,并证明这些计算的正确性,是否能满足两个主要属性。首先,事务隐藏了有关脱机计算的所有信息。其次,无论什么样的离线计算,任何人都可以在恒定时间内验证交易。

Zexe的核心是基于新的原生加密结构的去中心化专用计算(DPC)方案。使用了大量在密码证明领域的高效工具,包括简洁的零知识证明和递归证明组合。总体而言,无论什么样的线下计算,Zexe中的交易都是968字节,并且生成它们所需的时间不到一分钟,而时间会随着离线计算而增长而增加。

文档演示了如何使用Zexe来实现基于隐私保护的应用程序:用户定义的可替代资产和易于监管的私有稳定币的去中心化交易。

1.介绍

分布式账簿是一种机制,可在整个分布式系统中维护数据,同时确保即使当事方受损时,每一方对数据的看法也相同。 分布式账本可以提供所有记录在系统中的“事件”的无可争辩的历史,包括使多方以最小的信任度进行协作的机制(任何一方都可以通过审核历史记录来确保系统的完整性)。近期,由于分布式账本在加密货币(点对点支付系统)中的使用以及作为新型金融系统,治理和数据共享基础的潜力,使得大家对分布式账簿的兴趣激增。 在这项工作中,我们研究了分类帐的两个限制,一个关于隐私,另一个关于可伸缩性。

隐私问题。 分布式账簿的主要优点也是它们的主要缺点:任何人都可以阅读所有事件的历史记录。这严重限制了分布式账簿的直接应用。

例如,在基于账簿的支付系统中,每笔付款交易都会显示付款的发送者,接收者和金额。这不仅揭示了使用该系统的个人和企业的私人财务细节,但也违反了可替代性,即货币的基本经济属性。在以太坊等智能合约系统中,这种缺乏隐私的情况变得更加严重,在该系统中,交易不仅包含付款明细,而且还包含对特定应用程序的功能调用。在这些系统中,每个应用程序的内部状态都是公开的,与之关联的函数调用的历史也是如此。

这个问题促使先前的工作找到了在账本上实现有意义的隐私保证的方法。例如,Zerocash协议 提供了隐私保护付款,而Hawk则启用了具有数据隐私的常规状态转换,也就是说,应用程序的数据对第三方隐藏了。

但是,所有先前的工作仅限于隐藏状态转换的输入和输出,而不是隐藏正在执行的转换功能。即,先有工作实现了数据隐私,但还没有实现功能隐私。在具有单个过渡功能的系统中,这不是问题。但是,在具有多个过渡功能的系统中,这种泄漏是有问题的。例如,以太坊目前支持数千个单独的ERC-20“代币”合约,每个合约代表以太坊分类账中的不同货币。即使这些合同各自单独采用了Zerocash之类的协议来隐藏有关代币支付的详细信息,相应的交易仍会显示正在交换哪个代币。此外,此信息的泄漏将大大减少这些付款的匿名性。

重复执行问题。 前述系统(以及许多其他系统)中的公共可审核性是通过直接验证状态转换来实现的。这产生了两个问题。首先,验证交易涉及重新执行相关的计算,因此,为了阻止拒绝服务攻击,即用户发送花费很长时间进行验证的交易,当前系统引入了诸如gas之类的机制,以使用户为更长的计算支付更多费用。其次,即使采用这种机制,验证昂贵的交易也可能根本就没有经济上的利润,这就是所谓的“验证者困境” 。这些问题导致了比特币分叉和以太坊攻击。

总而言之,迫切需要一种在不损害(数据或功能的)隐私性或不依赖于不必要的重新执行的情况下,将分布式账本用于丰富应用程序的技术。如下文第1.2节所述,现有技术仅部分满足了这一需求。

1.1 我们的目标

Zexe,是一个账本系统,使用户能够执行脱机计算并产生可公开验证的交易,以证明这些脱机执行的正确性。 Zexe同时提供了两个主要的安全属性。

•隐私:交易不会显示有关脱机计算的任何信息,除了已消耗的输入和已创建的输出的数量。一个用户无法将同一用户的多个交易链接在一起或涉及相关计算,也不能基于其选择性地审查交易在此类信息上。

•简洁性:可以及时验证事务,而与验证其正确性的脱机计算的成本无关。由于所有交易的验证费用都一样低,因此没有“验证者的困境”,也不需要诸如gas之类的机制。

Zexe还提供了丰富的功能,因为Zexe中的脱机计算可用于实现同时在同一份账本系统上运行的多个应用程序(例如令牌,选举,市场)的状态转换。参与应用程序的用户不必彼此信任甚至不用知道对方。 Zexe通过公开具有以下属性的简单但功能强大的共享执行环境来支持此功能。

•可扩展性:用户可以执行自己选择的任意功能,而无需征求任何人的许可。
•隔离:恶意用户的功能不能干扰诚实用户的计算和数据。
•进程间通信:功能可以相互交换数据。

DPC方案。 Zexe的技术核心是一种针对我们引入的新密码原函数的协议,即去中心化私有计算(DPC),一种在账本上执行计算的新方法。 DPC非正式地支持一种简单但具有表现力的编程模型,在该模型中,数据单元(我们称为记录)在其中包含脚本(任意程序),这些脚本确定在什么条件下可以首先创建然后消费它们。指示这些程序如何交互的规则可以看作是“纳米内核”,它提供了构建应用程序的共享执行环境。从技术角度来看,DPC可以看作是将Zerocash 扩展到上述编程模型,同时仍然提供强大的隐私保证,不仅在单个应用程序内(这是一个直接的扩展),而且可以跨多个共存应用程序(这个新想法需要我们稍后讨论)。 DPC的安全性保证是通过理想的功能实现的,而我们的协议可证明该功能可以实现。

应用程序。 我们演示了如何使用DPC方案来实现主流应用程序的隐私保护:私有用户定义资产,私有DEX和私有稳定币。我们的隐私保护尤其可以防止当前DEX设计的漏洞。

高效实施技术。 我们通过利用零知识简明密码证明(即zkSNARK)和递归证明组成(证明其他证明有效性的证明)方面的最新进展,设计出一套技术来实现DPC协议的有效实施。
总体而言,Zexe中的交易具有两个输入记录和两个输出记录,都为968字节,无论哪种离线计算方式,都可以在数十毫秒内完成验证;生成这些交易所花费的时间不到一分钟,而离线计算所花费的时间也越来越多(不可避免地如此)。该实现是通过Rust库的集合,

f15.jpeg

以模块化的方式实现的,其中顶层是libzexe。我们的实现还支持具有任意数量m个输入记录和n个输出记录的交易;在这种情况下,交易大小为32m + 32n + 840字节(交易存储每个输入记录的序列号和每个输出记录的commitment)。

委托交易。虽然验证简洁的密码证明很便宜,但产生它们却很昂贵。随着离线计算的增长,产生其正确性的加密证明的(时间和空间)成本也随之增长,这对于用户而言是无法接受的。
为了解决此问题,我们进一步研发了可委托的DPC。用户向不信任的矿工传达有关所需交易的详细信息,然后矿工进行交易,最后用户通过廉价的计算(并以不违反交易的可区分性的方式)对交易进行授权。此功能与设计的实际部署特别相关,因为它可以支持较弱的设备,例如手机或硬件通证(hardware token)。
实际上,可委托的DPC协议还扩展到支持阈值交易,可以用来提高操作安全性,还可以支持盲交易,它可以用来支持彩票等应用场景,以及类似小额支付的场景。
所有这些扩展也是我们的Rust库libzexe的一部分。

成本观点。 Zexe提供了可容忍的效率,但绝不是轻量级的结构。毕竟,我们已经设定了一个宏伟的目标:数据模型/功能的私密性和简洁性,以提供丰富的功能,并建立一种能应对所有强劲对手的安全模型。

鉴于上述雄心勃勃的目标,我们认为我们已经实现了出色的交易规模(小于一千字节)和交易验证时间(数十毫秒)。
毫无疑问,我们系统中的主要成本是生成包含在交易中的加密证明的成本。我们设法将这一成本保持在大约一分钟,再加上随着离线计算而增长的成本。对于上述应用,这些额外费用可以忽略不计。因此,我们的系统以合理的成本支持当今具有现实意义的应用程序(例如,私有DEX)。

1.2 相关工作

**避免低级的重复执行。 ** TrueBit [TR17], Plasma [PB17], and Arbitrum [KGC+18] 不因让用户在没有任何加密证明的情况下报告其计算结果,来避免低级的重复执行,而应采用激励机制,使其他人可以挑战报告的结果。 用户和挑战者通过智能合约作为裁判,参与所谓的裁判游戏,该游戏有效地确定了两者中的哪一个在“讲真话”。 相反,在这项工作中,无论出于何种经济动机,都可以通过加密技术确保计算的正确性。 因此,我们保护所有有效对手,而不仅仅是所有理性和有效对手。 另外,与我们的DPC方案不同,上述工作并未提供强大隐私的正式保证(挑战者必须能够重复执行计算并获取结果,特别是必须知道其潜在的私有输入)。

私人支付。 Zerocash[BCG+14]以早期实现为基础,展示了如何使用分布式分类帐来实现具有强大隐私保证的支付系统。 用户对付款细节进行加密并证明其有效性,而无需透露付款细节是什么。 经过一些修改的Zerocash协议现已以多种货币在商业上部署,包括Zcash 。 但是,在Zerocash中,不支持脚本编写,即调用小程序来规定资金如何被支配。 更重要的是,在Zerocash中,不支持复杂的财务逻辑,不支持对任意状态转换进行编程,例如在以太坊等智能合约系统中。

付款以外的隐私。 Hawk [KMS+16]结合了Zerocash的想法和用于多方计算的评估证明者的概念,使各方可以进行离线计算,然后通过加密证明报告其结果。 Hawk获得的隐私保证称为交易隐私,它保护计算中使用的私人输入(直接来自证明的零知识属性),但不保护进行计算的信息。就是说,我们认为Hawk是对我们工作的补充:我们系统中的用户特别是拥有半信任的经理,该经理管理多方计算并生成有关其输出的交易。这项工作中提供的隐私保证将隐藏离线进行的计算。 Zether 是一个系统,它使公开的智能合约能够在零知识中推理同构承诺,尤其是使它们能够以隐藏交易金额的方式进行交易。除了一个小的匿名集,它不会隐藏交易参与方的身份。

MPC与分类帐。 几本著作[ADMM14b,ADMM14a,KMB15,KB16,BKM17]已应用分类帐来获取安全的多方协议,这些协议具有很难通过其他方式实现的安全性,例如公平性。 这些方法是我们工作的补充,因为任何希望通过这些协议之一共同计算特定功能的各方都可以在我们的DPC方案“下”运行该协议,以使第三方不会学到任何有关此类信息的信息。 多方计算正在发生。

**Hardware enclaves. **Ekiden 是一个基于分类帐的系统,使用诸如Intel Software Guard Extensions 之类的硬件区域来实现智能合约的各种完整性和隐私性目标。 除了分类帐,还有几个系统通过利用硬件隔离区来探索分布式系统中的隐私目标。 例如,M2R ,VC3 和Opaque。 所有这些工作都能够有效地支持丰富而复杂的计算。 在这项工作中,我们不使用硬件区域,而是完全依靠加密技术。 这意味着,一方面,我们的性能开销更为严重,另一方面,我们可以防御更多种类的对手(所有强劲的对手)。

资料来源:
Zexe: Enabling Decentralized Private Computation

参考文献
[ADMM14a] MarcinAndrychowicz,StefanDziembowski,DanielMalinowski,andLukaszMazurek.Fairtwo-party computations via Bitcoin deposits. In Proceedings of the BITCOIN workshop at the 18th International Conference on Financial Cryptography and Data Security, FC ’14, pages 105–121, 2014.

[ADMM14b] MarcinAndrychowicz,StefanDziembowski,DanielMalinowski,andLukaszMazurek.Securemultiparty computations on Bitcoin. In Proceedings of the 35th IEEE Symposium on Security and Privacy, SP ’14, pages 443–458, 2014.

[BCG+ 14]
Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer, and Madars Virza. Zerocash: Decentralized anonymous payments from Bitcoin. In Proceedings of the 2014 IEEE Symposium on Security and Privacy, SP ’14, pages 459–474, 2014. Full version available at http://eprint.iacr.org/2014/349.

[BKM17]
Iddo Bentov, Ranjit Kumaresan, and Andrew Miller. Instantaneous decentralized poker. In Proceedings of the 23rd Annual International Conference on the Theory and Application of Cryptology and Information Security, ASIACRYPT ’17, pages 410–440, 2017.

[TR17]
Jason Teutsch and Christian Reiwießner. A scalable verification solution for blockchains. https:
//people.cs.uchicago.edu/~teutsch/papers/truebit.pdf, 2017.

[PB17]
Joseph Poon and Vitalik Buterin. Plasma: Scalable autonomous smart contracts. https://plasma.io/, 2017.

[KB16]
Ranjit Kumaresan and Iddo Bentov. Amortizing secure computation with penalties. In Proceedings of the 23rd ACM Conference on Computer and Communications Security, CCS ’16, pages 418–429, 2016.

[KGC+18]
Harry A. Kalodner, Steven Goldfeder, Xiaoqi Chen, S. Matthew Weinberg, and Edward W. Felten. Arbitrum: Scalable, private smart contracts. In Proceedings of the 27th USENIX Security Symposium, Security ’18, pages 1353–1370, 2018.

[KMB15]
Ranjit Kumaresan, Tal Moran, and Iddo Bentov. How to use Bitcoin to play decentralized poker. In Proceedings of the 22nd ACM Conference on Computer and Communications Security, CCS ’15, pages 195–206, 2015.

[KMS+ 16]
Ahmed E. Kosba, Andrew Miller, Elaine Shi, Zikai Wen, and Charalampos Papamanthou. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In Proceedings of the 2016 IEEE Symposium on Security and Privacy, SP ’16, pages 839–858, 2016.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容