区块链拥有防篡改与去中心化的特征,在存证和电子证据有着一定应用场景。然而,由于性能和隐私等方面的限制,导致企业们无法接受在以太坊等区块链上运行自身业务。比如,KYC、签合同等场景,虽然需要防篡改和存证,但是用户并不希望泄露自身信息。先假设一个金融行业中非常典型的KYC场景,理财或者保险等金融机构,在给客户提供服务之前,往往需要了解用户是否符合特定要求,用户需要给金融机构提供大量的个人信息以证明自身“合格”。签订合同之后,有可能会发生纠纷,比如客户出险,保险公司表示查证发现客户此前提供的信息与现今不一致,保单失效;客户却表示当时提供的就是与现今一样的情况。该场景存在两个痛点:1、隐私。KYC往往是大量条款,机构无须知道用户具体资料,只需要知道用户是否合格即可。若有一个可信的第三方可以帮机构判断并返回结果,用户不须透露隐私。2、存证。双方签署合同之后,出现纠纷时双方可能需要“自证清白”。为了防止任一方篡改合同,同样需要有一个可信的第三方作为“公证人”,持有未被改动的合同。3.强制执行。除存证以外,可信的第三方还可以根据合同和条件,强制履行合约条款。目前的公有链能满足第二个和第三个,却无法满足第一个。以太坊等公链上的智能合约在代码、输入和输出完全公开透明,可是在大多数的商业场景,都无需要使用到这种程度的公开透明。显然,区块链想要真正落地,还需要其他技术手段解决隐私问题。Odaily星球日报最近接触的智能合约平台Origo希望构建一个支持隐私合约+零知识证明区块链网络,满足以上场景。Origo的方案包括Layer1和Layer2。Layer1负责存证和验证执行,Layer2负责执行计算。据创始团队成员张逸嘉介绍,合同双方需要把智能合约涉及到的信息的哈希值放到链上;输入数据的哈希值存到链上后,根据场景主链或双方会将加密数据发给链下执行者;执行者完成计算后将结果和在链下生成的零知识证明,提交给链上验证,以证明自身正确执行了运算以及得到结果。其中哈希上链主要是为了后续常出现合同纠纷,防止数据输入方篡改数据。零知识证明可以理解为“我不告诉泄露任何有效信息的情况下证明某件事”。张逸嘉解释,零知识证明就例如在不告诉其他人密码的时候,通过能够打开门来证明知道密码这件事情。理论上只要是多项式时间能够验证的问题,它就能证明。据公开资料,零知识证明在1985年被首次提出;2010年,Groth实现了首个基于椭圆曲线双线性映射的通用式零知识证明协议;2013年,一个叫做Pinocchio的协议实现了分钟级别证明、毫秒级别验证,证明大小不到300字节,将零知识证明从理论带到了应用。Zcash使用的SNARKs就是基于Pinocchio改进。张逸嘉也表示,零知识证明等密码学方案都是公开的,这样的方案才可被证明有效。Origo团队主要专注于工程上的优化以及制作开发工具,包括生成零知识证明的编译器,原来零知识证明系统需要让程序员自己写电路以及优化电路,Origo编译器可将高级语言转换成密码学电路,优化开发流程。Origo的Layer1目前还在开发当中,计划使用混合共识机制,先通过POW/POS筛选合格节点,然后入围节点采用PBFT快速达成共识。未来也会考虑使用分片等技术提高处理速度。在已有以太坊等成熟公链的基础下,Origo为什么再开发一条链呢?张逸嘉解释,主要是出于两个考虑:1、以太坊不适用于验证零知识证明。目前以太坊上计算资源很有限,没有对零知识证明相关的运算定义合理的gas消耗,如果在以太坊现有设置上做ZKP的验证,需要消耗约半个区块,也就是需要耗费大量的gas。2、以太坊在短期内不支持匿名交易,这意味着双方合同涉及的金额是公开的。目前支持PrivateTransaction的包括达世币、门罗币和Zcash等,其中Zcash用的加密技术也是零知识证明。Origo会在支持匿名交易,优化性能同时支持智能合约。至于Layer2,Origo希望用户能自行选定执行环境,因为是否保护隐私,以及选择怎样的执行环境应该由参与方决定。目前可以选择执行者就是合同参与方,这样可以最大程度保证参与方数据安全。加之公链开发需要一定时间,Origo采取的策略是先输出解决方案,帮助企业用户将联盟链和公链打通,企业用户在公链上存证数据哈希,而数据源可以来自联盟链,企业在链下执行运算。即数据提供者和执行者合一。本质上,这种方案主要起到“电子证据”的作用,要实现绝对隐私,张逸嘉表示,有三种方式可考虑:同态加密、安全多方计算和未被破解的SGX。Odaily星球日报曾报道过的OasisLabs、TRIAS、Taxa等都选择了用可信硬件构建可信执行环境这条技术路径,链下隐私计算网络Enigma、ARPA和Points则选择了安全多方计算的方式。同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。TEE和MPC我们分别在之前的报道中做过介绍。张逸嘉认为,同态加密面临的挑战是性能和多公钥全同态;MPC面临的最大挑战之一是output无法保持隐私,其他挑战包括随节点增长通信复杂度增加且速度变慢,以及对于正确执行的验证;TEE面临的挑战是安全性以及其验证签名只能是证明在指定硬件环境内运算的,不能从数学上证明正确执行,相当于需要完全信任Intel等某一制造商,近期SGX频发的安全问题背景下,Oasis的DawnSong也在Crypto2018上表示将不再依赖于TEE而用纯软件的方式来实现隐私。各种方案都需要考虑与区块链结合时面临的验证问题,张逸嘉表示团队可能会选择MPC+ZKP的方式,同时配合一些经济学的方案做一些简化。我是Odaily星球日报编辑卢晓明,探索真实区块链,爆料、交流请加lohiuming,烦请备注姓名、单位、职务和事由。参考文章:Zcash交易剖析为什么几乎没人使用Zcash的匿名功能?终极隐私货币比较零知识证明的江湖零知识证明:一个略微严肃的科普Zcash协议分析(2).什么是零知识证明完全同态加密隐私保护和数据安全:安全多方计算安全多方计算的关键技术分析
Mina开发团队O(1)Labs拟将零知识证明技术应用于OP Stack欺诈证明:6月29日消息,轻量级区块链协议Mina开发团队O(1)Labs已向Optimism提交提案,建议将旗下基于MIP SzkVM构建的零知识证明技术应用于OP Stack欺诈证明,其中MIPS功能除了除了本地高性能的snarky JS外,还允许使用通用语言编写应用程序。[2023/6/29 22:07:25]
Filecoin:Filecoin网络已成为最大的零知识证明网络:Filecoin发表博客称,目前Filecoin已成为最大的零知识证明(zk-SNARK)网络。据官方数据显示,目前Filecoin网络每日会运行6至7百万次零知识证明,每一个零知识证明中包含了超过1亿个约束电路证明。目前Filecoin网络的可信配置已支持最高128M大小的电路证明,单个证明最大已超过100M,而Zcash最高仅支持2M。此外,目前Filecoin实现了通过SnarkPack将10个零知识证明捆绑至单次证明中,并正在研究零知识证明聚合以实现将数千个零知识证明聚合至单次证明中。硬件支持方面,Filecoin将零知识证明中高度可并行化的部分交由GPU完成,将CPU和内存释放出来进行较为复杂的计算,进一步提高了零知识证明的效率。[2021/7/14 0:51:01]
以太坊基金会更新支持的研发项目,涉及零知识证明的项目数量最多:4月27日消息,以太坊基金会公开了正在支持的研发团队的项目和领域,其中涉及“应用零知识证明”的团队和技术最多,近14个项目。
除了零知识证明之外,以太坊基金会还支持了关于ETH2研究、以太坊基金会官网、Ewasm、形式化验证、Geth客户端、Javascript团队、Remix、无状态客户端、Solidity等领域。[2021/4/27 21:03:39]
StarkWare零知识证明验证程序ethSTARK已通过PeckShield安全审计:8月11日消息,区块链安全公司PeckShield官方宣布,StarkWare公司零知识证明验证程序ethSTARK已通过其全面安全审计服务。
ethSTARK是一个以太坊基金会支持的,由StarkWare公司开发的零知识证明(ZKP,Zero Knowledge Proof) 验证程序,它实现了比现有ZKP算法更快的验证速度,进一步提升了StarkWare在零知识证明领域的技术影响力。[2020/8/11]
StarkWare已开源零知识证明代码ethSTARK:零知识证明研发机构StarkWare已在GitHub开源ethSTARK。StarkWare称,2018年我们获得以太坊基金会的资助去探索对STARK友好的哈希函数以及开源ZKP代码。ethSTARK代码的证明速度将比现有的任何ZKP代码快20倍。
注:2018年7月份,StarkWare获得了以太坊基金会提供的400万美元资助,将研发对STARK友好的哈希函数和技术,并为生态系统提供开源代码。STARK将允许区块链在兼备隐私和后量子安全的情况下进行大规模扩展(例如分片)。(Github)[2020/7/27]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。