完全同态加密
❶ 区块链中现代密码学
1983年 - David Chaum描述的盲签
1997年 - Adam Back发明的HashCash(工作证明制度的一个例子)
2001年 - Ron Rivest,Adi Shamir和Yael Tauman向加密社区提出了环签名
2004年 - Patrick P. Tsang和Victor K.提出使用环签名系统进行投票和电子现金;
2008年 - 由Satoshi Nakamoto出版的Bitcoin白皮书
2011年 - 比特币系统中的匿名分析,Fergal Reid和Martin Harrigan
2012 - 目的地址比特币匿名(CryptoNote中的一次性地址)。
安全多方计算起源于1982年姚期智的百万富翁问题。后来Oded Goldreich有比较细致系统的论述。
姚氏百万富翁问题是由华裔计算机科学家、图灵奖获得者姚启智教授首先提出的。该问题表述为:两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方知道自己财富的任何信息。该问题有一些实际应用:假设Alice希望向Bob购买一些商品,但她愿意支付的最高金额为x元;Bob希望的最低卖出价为y元。Alice和Bob都非常希望知道x与y哪个大。如果x>y,他们都可以开始讨价还价;如果z<y,他们就不用浪费口舌。但他们都不想告诉对方自己的出价,以免自己在讨价还价中处于不利地位。
该方案用于对两个数进行比较,以确定哪一个较大。Alice知道一个整数i;Bob知道一个整数j, Alice与B0b希望知道究竟i>=j还是j>i,但都不想让对方知道自己的数。为简单起见,假设j与i的范围为[1,100】。Bob有一个公开密钥Eb和私有密钥Db。
安全多方计算(Secure Multi-Party Computation)的研究主要是针对无可信第三方的情况下, 如何安全地计算一个约定函数的问题. 安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。
同态加密(Homomorphic Encryption)是很久以前密码学界就提出来的一个Open Problem。早在1978年,Ron Rivest, Leonard Adleman, 以及Michael L. Dertouzos就以银行为应用背景提出了这个概念[RAD78]。对,你没有看错,Ron Rivest和Leonard Adleman分别就是着名的RSA算法中的R和A。
什么是同态加密?提出第一个构造出全同态加密(Fully Homomorphic Encryption)[Gen09]的Craig Gentry给出的直观定义最好:A way to delegate processing of your data, without giving away access to it.
这是什么意思呢?一般的加密方案关注的都是数据存储安全。即,我要给其他人发个加密的东西,或者要在计算机或者其他服务器上存一个东西,我要对数据进行加密后在发送或者存储。没有密钥的用户,不可能从加密结果中得到有关原始数据的任何信息。只有拥有密钥的用户才能够正确解密,得到原始的内容。我们注意到,这个过程中用户是不能对加密结果做任何操作的,只能进行存储、传输。对加密结果做任何操作,都将会导致错误的解密,甚至解密失败。
同态加密方案最有趣的地方在于,其关注的是数据处理安全。同态加密提供了一种对加密数据进行处理的功能。也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。
有点抽象?我们举个实际生活中的例子。有个叫Alice的用户买到了一大块金子,她想让工人把这块金子打造成一个项链。但是工人在打造的过程中有可能会偷金子啊,毕竟就是一克金子也值很多钱的说… 因此能不能有一种方法,让工人可以对金块进行加工(delegate processing of your data),但是不能得到任何金子(without giving away access to it)?当然有办法啦,Alice可以这么做:Alice将金子锁在一个密闭的盒子里面,这个盒子安装了一个手套。工人可以带着这个手套,对盒子内部的金子进行处理。但是盒子是锁着的,所以工人不仅拿不到金块,连处理过程中掉下的任何金子都拿不到。加工完成后。Alice拿回这个盒子,把锁打开,就得到了金子。
这里面的对应关系是:盒子:加密算法盒子上的锁:用户密钥将金块放在盒子里面并且用锁锁上:将数据用同态加密方案进行加密加工:应用同态特性,在无法取得数据的条件下直接对加密结果进行处理开锁:对结果进行解密,直接得到处理后的结果同态加密哪里能用?这几年不是提了个云计算的概念嘛。同态加密几乎就是为云计算而量身打造的!我们考虑下面的情景:一个用户想要处理一个数据,但是他的计算机计算能力较弱。这个用户可以使用云计算的概念,让云来帮助他进行处理而得到结果。但是如果直接将数据交给云,无法保证安全性啊!于是,他可以使用同态加密,然后让云来对加密数据进行直接处理,并将处理结果返回给他。这样一来:用户向云服务商付款,得到了处理的结果;云服务商挣到了费用,并在不知道用户数据的前提下正确处理了数据;
聚合签名由Boneh等人提出,主要是通过聚合多个签名为一个签名,来提高签名与验证的效率。要对多个用户的数据进行签名,聚合签名能够极大地降低签名计算复杂度。CL就是聚合签名。
零知识证明过程有两个参与方,一方叫证明者,一方叫验证者。证明者掌握着某个秘密,他想让验证者相信他掌握着秘密,但是又不想泄漏这个秘密给验证者。
双方按照一个协议,通过一系列交互,最终验证者会得出一个明确的结论,证明者是或不掌握这个秘密。
对于比特币的例子,一笔转帐交易合法与否,其实只要证明三件事:
发送的钱属于发送交易的人
发送者发送的金额等于接收者收到金额
发送者的钱确实被销毁了
整个证明过程中,矿工其实并不关心具体花掉了多少钱,发送者具体是谁,接受者具体是谁。矿工只关心系统的钱是不是守恒的。
zcash 就是用这个思路实现了隐私交易。
零知识证明的三条性质对应:
(1)完备性。如果证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方。
(2)合理性。没有人能够假冒证明方,使这个证明成功。
(3)零知识性。证明过程执行完之后,验证方只获得了“证明方拥有这个知识”这条信息,而没有获得关于这个知识本身的任何一点信息。
只有环成员,没有管理者,不需要环成员之间的合作,签名者利用自己的私钥和集合中其他成员的公钥就能独立的进行签名,不需要其他人的帮助,集合中的其他成员可能不知道自己被包含在了其中。
环签名可以被用作成一种泄露秘密的方式,例如,可以使用环形签名来提供来自“白宫高级官员”的匿名签名,而不会透露哪个官员签署了该消息。 环签名适用于此应用程序,因为环签名的匿名性不能被撤销,并且因为用于环签名的组可以被即兴创建。
1)密钥生成。为环中每个成员产生一个密钥对(公钥PKi,私钥SKi)
2)签名。签名者用自己的私钥和任意n个环成员的公钥为消息m生成签名a
3)签名验证。签名者根据环签名和消息m,验证签名是否是环中成员所签。如果有效就接收,如果无效就丢弃。
群签名的一般流程
盲数字签名(Blind Signature)简称盲签名——是一种数字签名的方式,在消息内容被签名之前,对于签名者来说消息内容是不可见的。1982年大卫·乔姆首先提出了盲签名的概念。盲签名因为具有盲性这一特点,可以有效保护所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。
类比例子:对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。
所谓盲签名,就是先将隐蔽的文件放进信封里,而除去盲因子的过程就是打开这个信封,当文件在一个信封中时,任何人不能读它。对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。
一般来说,一个好的盲签名应该具有以下的性质:
不可伪造性。除了签名者本人外,任何人都不能以他的名义生成有效的盲签名。这是一条最基本的性质。
不可抵赖性。签名者一旦签署了某个消息,他无法否认自己对消息的签名。
盲性。签名者虽然对某个消息进行了签名,但他不可能得到消息的具体内容。
不可跟踪性。一旦消息的签名公开后,签名者不能确定自己何时签署的这条消息。
满足上面几条性质的盲签名,被认为是安全的。这四条性质既是我们设计盲签名所应遵循的标准,又是我们判断盲签名性能优劣的根据。
另外,方案的可操作性和实现的效率也是我们设计盲签名时必须考虑的重要
因素。一个盲签名的可操作性和实现速度取决于以下几个方面:
1,密钥的长度;
2,盲签名的长度;
3,盲签名的算法和验证算法。
盲签名具体步骤
1,接收者首先将待签数据进行盲变换,把变换后的盲数据发给签名者。
2,经签名者签名后再发给接收者。
3,接收者对签名再作去盲变换,得出的便是签名者对原数据的盲签名。
4,这样便满足了条件①。要满足条件②,必须使签名者事后看到盲签名时不能与盲数据联系起来,这通常是依靠某种协议来实现的。
❷ 同态加密的实现原理是什么在实际中有何应用
同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。其意义在于,真正从根本上解决将数据及其操作委托给第三方时的保密问题,例如对于各种云计算的应用。
这一直是密码学领域的一个重要课题,以往人们只找到一些部分实现这种操作的方法。而2009年9月克雷格·金特里(Craig Gentry)的论文 从数学上提出了“全同态加密”的可行方法,即可以在不解密的条件下对加密数据进行任何可以在明文上进行的运算,使这项技术取得了决定性的突破。人们正在此基础上研究更完善的实用技术,这对信息技术产业具有重大价值。
❸ 全同态加密和部分同态的加密有什么区别
区别:
1、部分同态既能做乘法又能做加法,但是不能同态计算任意的函数;全同态加密可以对密文进行无限次数的任意同态操作,也就是说它可以同态计算任意的函数。
2、部分同态加密能做的事情,全同态加密也能做;但是全同态加密一般计算开销比较大,所以部分同态加密方案够用的时候没必要选用全同态加密;
3、设计出全同态加密的协议是比设计部分同态加密的算法要难的。
同态加密规定
如果有一个加密函数f,把明文A变成密文A’,把明文B变成密文B’,也就是说f(A)=A’,f(B)=B’。另外还有一个解密函数,能够将f加密后的密文解密成加密前的明文。
对于一般的加密函数,如果我们将A’和B’相加,得到C’。我们用对C’进行解密得到的结果一般是毫无意义的乱码。
但是,如果f是个可以进行同态加密的加密函数, 我们对C’使用进行解密得到结果C, 这时候的C = A + B。这样,数据处理权与数据所有权可以分离,这样企业可以防止自身数据泄露的同时,利用云服务的算力。
❹ 未来5年哪些技术将雄霸天下
3月19日-22日,IBM将召开IBM Think 2018大会,这个全球性的盛会将汇集40000多个高科技爱好者,会议主题将涵盖人工智能、数据分析以及物联网等诸多热点话题,旨在“让商业世界更智能”。
在这次活动中,IBM将给出他们对于未来五年的技术发展的预测,并解答有关新技术创新的问题以及这些创新会如何影响我们的生活。这五大技术预测包括Crypto-Anchors、Quantum Computing、Hacking、AI Bias、 AI Microscopes。

1. Crypto-Anchors
造假者人人喊打,而Crypto-Anchors和区块链结合起来能够有效打假。据悉,因经济欺诈全球每年会损失超6000亿美元,而IBM开发的防篡改数字指纹可嵌入产品中并与区块链链接以帮助证明真实性。
例如,Crypto-Anchors可以帮助证明拯救生命的药物是合法的,而不是伪造的。原本的疟疾药片可以涂上一层可食用的磁性墨水,只需简单扫描一下智能手机,医生或患者就可以立即发现该药片是安全和真实的。
除此之外,Crypto-Anchors还可以与特殊的光学设备、人工智能算法相结合,以识别物体的结构和标签,以验证它们是否真的如他们所说的。例如,一瓶1982年的波尔多葡萄酒或者昂贵的金属。
IBM设计了世界上最小的计算机,据了解这款电脑比我们平时见到的盐粒还要小,计算机能力可以达到1990年x86 PC的性能。
Crypto-Anchors的第一批模型可能会在未来18个月内推出,未来五年内,它们将推动各个领域的创新和进步。
2.量子计算
现在量子计算已经备受研究人员的青睐,五年内,量子计算必将成为主流,帮助开发人员解决之前一度被认为无法解决的问题。据IBM表示,量子计算只是将成为所有科学和工程计算的先决条件,大学教育将纳入量子计算的教学,量子算法和经典算法会同时教授。
而这些进步将推动着量子时代的到来,量子计算机将能够模拟更大的分子、化学反应和原子结合,这有助于新型材料的创造、个性化药物的开发以及更高效和可持续能源的发现。
未来,量子计算机不再是神秘的,会被普通大众所接受,未来五年内,业界将实现量子计算机和传统计算机共同解决特定问题的应用。
3.黑客
未来,量子计算机能够快速筛选出所有可能的安全概率,并且解密最强大的加密。目前IBM正在开发一种基于格密码的安全方法,它会将数据隐藏在格的复数代数结构中。
在数学领域,lattice存在很难解决的问题,而这个困难问题对于密码学家来说很有用,它可以用来保护数据,即使是在量子计算机中。
在数学领域,晶格存在很难解决的问题。这个困难对密码学家来说很有用,因为它可以用来保护信息,即使黑客在量子计算方面也是如此。基于格的密码术也是完全同态加密(FHE)的基础,而这可以在不查看敏感数据的情况下在文件上执行计算,从而防止受到攻击。通过FHE,信用报告机构可以在不解密个人数据的情况下分析和生成信用评分,初级保健医生可以在不透露患者身份的情况下共享医疗记录和相关数据。
目前我们的安全措施是严重不足的,未来五年,我们要在安全方面应该有更多的突破。
4. AI偏见
人工智能偏差将在未来五年内爆发。人工智能系统只与我们输入的数据保持一致,如果我们输入具有某些种族,性别或意识形态偏见的数据,那么人工智能偏见就会产生。不幸的是,许多AI系统现在都在接受这些不良数据的培训。IBM研究人员正在考虑如何确保人为偏差不会影响AI。
MIT-IBM Watson AI实验室正在研究使用计算认知建模来构建在决策中应用某些人类价值观和原则的机器,这其中的一个关键原则是避免偏见和歧视。IBM研究人员开发了人工智能算法,通过从之前被认为具有歧视性的数据中学习,减少了训练数据的偏差。IBM科学家还在开发一种无偏差的AI服务,a)补偿数据偏差,b)跟踪训练集中的偏差,或者c)引入偏差。最终用户可以确定每个场景中的可信度和偏差程度。
在未来的五年内,减少人工智能系统的偏差将是人类信任人工智能的关键,而且只有无偏差的人工智能才能生存。
5. AI显微镜
2025年,世界将有一半以上的人口生活在水资源紧张的地区,因此科学家们正在努力收集相关数据以防止这种情况发生。但即使是能够探测到水环境和化学物质的专门传感器,也不会无法预测意想不到的情况。
而检测浮游生物是一种感知水生健康的有效方法,但因为它们的微观大小,研究这些生物是困难的。IBM的研究人员正在建造小型、自主、人工智能的机器人显微镜,可以监测浮游生物,更好地了解浮游生物的行为,以及它们如何应对环境变化,并预测供水威胁。显微镜的芯片可以捕捉浮游生物的影子,从而产生一个健康的数字样本,而不需要聚焦。
在未来5年内,这些显微镜将发展的足够先进,能够在本地和实时分析解释数据。
❺ 隐私计算-密码学-同态加密
近年来,随着大数据与人工智能的盛行,针对个人的个性化的推荐技术的不断发展,人们在享受便利的同时,也深深的感觉到无处不在的监控与监事,比如刚刚浏览了一个网站的商品,当去其他网站访问的时候就会推荐类似的产品;刚刚搜索了某件商品,在很多其他的场景中都会给你推荐。这种体验,谈不上不好,也谈不上多坏,但是如果仔细想想,就感觉自己的网上进行裸奔,个人隐私,一清二楚,毫无隐私可言,细思极恐。
不过随着广大用户对于个人隐私的重视程度不断加强,以及法律法规的不断完善,针对个人隐私的保护提出了更高的要求,什么样的数据可以采集、收集与使用,如何使用都是一个比较敏感的问题。十三届全国人大常委会第三十次会议表决通过了《 中华人民共和国个人信息保护法 》,并与2021年11月1日起施行。确立个人信息保护原则、规范处理活动保障权益、禁止“大数据杀熟”规范自动化决策、严格保护敏感个人信息、赋予个人充分权利等。新规施行后,违法的主体将 最高可处五千万以下或者上一年度营业额百分之五 以下的罚款。
鉴于上述情况,近年来隐私计算技术被不断的提及,源于其有优秀的数据保护作用,使得 “数据不出域、数据可用不可见、数据可算不可见” ,限定了数据的使用场景,防止了数据的泄露,而引起了业界的热捧。
隐私计算技术的演进历程如下图描述,以下是杨强教授在KDD 2021中国区的分享材料:
可以看到,隐私计算技术从1979年就开始了,最开始是安全多方计算、到差分隐私、到TEE, 再到最近火的不能再火的联邦学习 ,一系列的技术应运而生。那为啥现在隐私计算这么火呢。
注:隐私计算技术成熟度曲线
但是这些技术本身的安全加密都是采用共同的方法与策略,下面讲述下隐私计算的加密技术。
本文主要介绍同态加密,
众所周知,优秀的程序员需要 严谨的逻辑思维与具象能力 ,当然在材料的时候,可能需要适当的渲染。但是对于技术的理解,对技术的探索,严谨的逻辑与坚实的推理是非常重要的。所以,对于“数据加密”这个命题,需要进行一番探索。
如此三态合一,即可保障数据的全链路的生命周期安全 。
那么有没有办法解决数据计算的安全问题呢?答案就是 同态加密技术 。保障数据的运行态的安全,那么同态加密技术具体是如何实现,如何应用,并且有哪些限制呢?
什么是同态加密? ,引用Gentry大佬的原话:
同态加密(Homomorphic Encryption, HE),指满足密文同态运算性质的加密算法,即数据经过同态加密之后,对密文进行某些特定的计算,得到的密文计算结果在进行对应的同态解密后的明文等同于对明文数据直接进行相同的计算, 实现数据的“可算不可见” 。同态加密的实现效果如图所示。
举个例子: 国内某家大型的三甲医院,由于历史悠久,并且医术精湛,历史遗留了大量的用户病例数据 。如今思考基于这些病例数据进行建模分析。但是由于数据量特别巨大,医院本身的IT资源有限,计算能力不足。
这个时候,云厂商找了过来。但是对于医院来说,这些数据本身是用户的隐私信息,并且也是医院的核心价值,所以尽管云厂商再三保证数据安全, 但是医院还是不能够放心的将数据上传到云厂商进行计算 。
正当这个事情推进不下去的时候,云厂商从密码行业花大价钱招来某个大牛,大牛提出一个方案,这样吧,我们现在有 这样一门技术,不需要传输明文数据,只需要传输密文就好,而且加密秘钥由医院自己保存,我们基于上传的密文数据做不解密的密态运算( 并计算函数医院提供就好),这样数据不会泄露,云厂商对数据无感知,之后传回密文结果,医院自己解密就好 。医院一听非常高兴,那就这么办吧。
下面将核心流程描述下。
这里,大家可能有个问题,这个f应该是什么样的函数,有什么样的限制条件?HE方案是支持任意的数据处理方法f,还是说只支持满足一定条件的f呢?根据f的限制条件不同,HE方案实际上分为了两类:
Paillier加密算法是Pascal paillier[1]在1999年发明的概率公钥加密算法,该算法 基于复合剩余类的困难问题,是一种满足加法的同态加密算法 ,已经广泛应用在加密信号处理或第三方数据处理领域。
前面我们分析过 同态加密的核心流程 ,大家可以一起回忆一下。核心的函数包括:秘钥生成、明文加密、密文解密,下面我们来一步一步的分析,并且描述下,
秘钥的生成主要有如下的步骤,
下面介绍一个完整的同态运算,m由 组成,介绍下同态加密的是如何使用密文计算的。
❻ 同态加密的同态加密的相关概念
同态加密的思想起源于私密同态,代数同态和算术同态是私密同态的子集。
R 和 S 是域,称加密函数 E:R→S 为:
加法同态,如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成立,
并且不泄漏 x 和 y。
乘法同态,如果存在有效算法 ,E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成立,
并且不泄漏 x 和 y。
混合乘法同态,如果存在有效算法 ,E(x×y)=E(x) y 或者 xy=D(E(x) y)成立,并
且不泄漏 x。
减法同态,如果存在有效算法○- ,E(x-y)=E(x)○- E(y)或者 x-y=D(E(x)○- E(y))成立,
并且不泄漏 x 和 y,则称 E 为减法同态。
除法同态,如果存在有效算法○/ ,E(x/y)=E(x)○/ E(y)或者 x/y=D(E(x)○/ E(y))成立,
并且不泄漏 x 和 y,则称 E 为减法同态。
代数同态,如果 E 既是加法同态又是乘法同态。
算术同态,如果 E 同时为加法同态、减法同态、乘法同态和除法同态。
❼ 中币9 月 16 日上线的 NuCypher(NU)怎么样值不值得投资
从NU技术面来看,还是有一定发展前景的。值得投资一下。
中币是全球领先的数字资产交易平台,中国最早的比特币以太坊交易平台之一。2013年成立至今,中币已为全球超过600万人提供数字资产交易服务,提供金融级别的安全风控系统,平稳运营超过6年。
NuCypher是一个去中心化的密钥管理系统 (KMS) 和基于区块链的代理重加密服务。NuCypher KMS 由 NuCypher token(NU) 提供支持,使开发人员能够通过 NuCypher 网络保护区块链上的信息。这为用户提供了完全同态加密、访问控制和其他复杂形式的数据加密。
此外,通过质押NU币,节点可以获得 NuCypher 质押奖励以保护网络。NuCypher 负责委托访问控制和加密管理系统的大量创新,NuCypher KMS 和 NuCypher Hadoop 在数据管理和安全方面取得了长足的进步。
在本文中,我们将深入研究NuCypher (NU币)技术并探索各种可用的数据加密协议。此外,我们将讨论NuCypher 当前服务中一些最流行的元素,以及开发人员如何利用这些元素。
此外,我们将研究 NuCypher 代币 (NU)、NuCypher 抵押设施和 NuCypher 去中心化自治组织 (DAO) 的角色和职责。
❽ 请大神解答一下什么是同态加密,百度的都看不懂。
同态加密是一种特殊的加密方法,将明文加密之后通过特殊的运算处理得出的结果与把明文经过特殊处理再进行加密的结果是一样的。这项技术可以在加密的数据中进行诸如检索、比较等操作而无需对数据先进行解密,从根本上解决将数据委托给第三方时的保密问题。这种专业术语在网络上都是解释地比较深奥的,没有基础很难看懂,推荐你们去看煊凌科技的官网,上面的区块链专业术语都是解释得比较通俗。如果看不懂的话还可以在网站联系客服,请他们解答。
❾ 零知识证明
https://arxiv.org/abs/1906.07221
零知识简洁的非交互知识论证(zk SNARK)是一种真正巧妙的方法,可以在不透露任何其他信息的情况下证明某件事是真的,然而,为什么它首先是有用的呢?
零知识证明在无数应用中是有利的,包括:
关于私人数据的证明声明:
匿名授权:
匿名付款:
外包计算:
尽管表面上听起来很棒,但底层方法是数学和密码学的“奇迹”,自 1985 年在主要着作“交互式证明系统的知识复杂性中引入以来,已经进行了第四个十年的研究 随后引入了非交互式证明,这在区块链的背景下尤为重要。
在任何零知识证明系统中,都有一个验证人想要说服验证人某些陈述是真实的,而不披露任何其他信息,例如,验证人了解到验证人的银行账户中有X多个,但没有其他信息(即,未披露实际金额)。协议应满足三个属性:
让我们从简单开始,并尝试证明某些东西,而不必担心零知识,非交互性,其形式和适用性。
想象一下,我们有一个长度为 10 数组,我们想向验证者(例如程序)证明所有这些位都设置为 1,即我们知道一个数组,使得每个元素都等于 1。
验证者一次只能检查 (即读取) 一个元素。为了验证语句,可以通过以某种任意顺序读取元素,并检查它是否真正等于1,如果是,则在第一次检查后该语句的置信度为10%,或者如果该位不等于1,则语句完全无效。验证者必须进入下一轮,直到他获得足够的信心。在一些情况下,可以信任证明者并且只需要50% 置信度,在需要95% 置信度的其他情况下,必须检查所有单元。很明显,这种证明协议的缺点是,必须进行与元素数量成比例的检查数量,如果我们考虑数百万个元素的数组,这是不切实际的。
让我们考虑多项式,有一个曲线对应于多项式: 。多项式有一个有利的性质,即如果我们有两个不相等的次数最多为 d 的多项式,它们相交的点不超过 d。 例如,让我们稍微修改原始多项式 。如果我们想找到两个多项式的交点,我们需要将它们等同起来。例如,要找到多项式与x轴相交的位置 (即 ),我们将 等同,并且此类方程的解将是那些共享点: , 和 。
同样,我们可以将多项式的原始版本和修改版本等同起来,以找到它们的交点。所得的多项式为1,且有明显的解 。因此只有一个交点。
对于任意次数为 d 的多项式,任何此类方程的结果始终是另一个次数最多为 d 的多项式,因为没有乘法可以产生更高的次数。 示例: ,简化为 。代数基本定理告诉我们,d 次多项式最多可以有 d 个解。因此,我们可以得出结论,任意点处的任何多项式的求值类似于其唯一身份的表示。让我们在x = 10处评估我们的示例多项式。
事实上,在所有要计算的x选项中,最多只有3个选项在这些多项式中具有相同的计算,而所有其他选项都会不同。这就是为什么如果证明者声称知道一些多项式 (无论其次数有多大),他们可以遵循一个简单的协议来验证语句:
例如,如果我们考虑 x 从 1 到 的整数范围,则评估不同的点数为 。 此后,x 意外“击中”任何 个共享点的概率等于 ,这被认为可以忽略不计。
注意:与无效位检查协议相比,新协议只需要一轮,并且在声明中给出了压倒性的信心(假设 d 充分小于范围的上限,几乎 100%)。
这就是为什么多项式是zk-SNARK的核心,尽管也可能存在其他证明介质。
我们从证明多项式知识的问题开始,然后采用通用方法。 在此过程中,我们将发现多项式的许多其他性质。 到目前为止的讨论集中,关注一个弱的证明概念上,即各方必须相互信任,因为还没有措施来执行协议的规则。 例如,证明者不需要知道多项式,他可以使用任何其他可用的方法来得出正确的结果。 此外,如果验证者的多项式评估的幅度不大,比如说 10,验证者可以猜测一个数字,并且它被接受的概率是不可忽略的。 我们必须解决协议的这种弱点,但首先知道多项式意味着什么? 多项式可以表示为以下形式(其中 n 是多项式的次数):
如果有人说他知道一个 1 次多项式(即 ),那意味着他真正知道的是系数 。 此外,系数可以有任何值,包括 0。让我们说,证明者声称知道3次多项式,使得x = 1和x = 2是所有可能解中的两个。这样的有效多项式之一是 。
代数的基本定理指出,只要多项式是可解的,任何多项式都可以分解为线性多项式 (即代表直线的1次多项式)。因此,我们可以将任何有效多项式表示为其因子的乘积:
同样,如果这些因子中的任何一个为零,则整个方程为零,因此,所有 都是唯一的解。我们的示例可以分解为以下多项式:
x的值是:0,1,2,你可以很容易地在多项式的任一形式上检查这一点。
回到证明者声称他知道根为 1 和 2 的 3 次多项式,这意味着他的多项式具有以下形式:
换句话说,(x − 1) 和 (x − 2) 是所讨论的多项式的余因子。因此,如果证明者想要证明他的多项式确实具有这些根而不公开多项式本身,则他需要证明他的多项式p(x) 是那些协因子 的乘法,称为目标多项式,和一些任意多项式h(x) ,即:
换句话说,p(x) 具有t(x) 的所有根。找到h(x) 的自然方法是通过除法 。如果证明者找不到这样的h(x),这意味着p(x) 没有必要的协因子t(x),在这种情况下,多项式除法将具有余数。在我们的示例中,如果我们将 除以 。我们得到了无余数的结果 。
使用我们的多项式身份检查协议,我们可以比较多项式 和 :
为了将其付诸实践,让我们在示例中执行此协议:
相反,如果证明者使用不同的 ,它没有正确的辅因子,例如 ,那么:
我们将得到 ,余数为 ,即: 。这意味着证明者必须将余数除以 才能评估 。因此,由于验证者对x的随机选择,因此对于余数 被t(x) 整除的概率很低,因此,如果验证者将检查p和h补是整数,这样的证明将被拒绝。但是,该检查要求多项式系数也必须是整数。
现在,我们可以在不学习多项式本身的情况下检查多项式的特定属性,因此这已经为我们提供了某种形式的零知识和简洁。尽管如此,此构造仍存在多个问题:
我们将在以下部分解决所有问题。
在上文中,如果将 和 不是明文给出,而是作为黑匣子给出,那将是理想的选择,因此人们无法篡改协议,但仍然能够计算对这些模糊值。类似于哈希函数,因此在计算时很难返回到原始输入。
这正是同态加密的目的。也就是说,它允许对一个值进行加密,并能够对这种加密应用算术运算。有多种方法可以实现加密的同态特性,我们将简要介绍一种简单的方法。
一般的想法是,我们选择一个基数的自然数g(比如5),然后对一个值进行加密,我们将g乘以该值的幂。例如,如果我们想要加密数字3:
其中125是3的加密。如果要将这个加密的数字乘以2,则将其提高为2的指数:
我们能够将未知值乘以2,并对其进行加密。我们还可以通过乘法添加两个加密值,例如3+2:
同样,我们可以通过除法减去加密的数字,例如5 − 3:
但是,由于基数5是公共的,因此很容易回到秘密数字,将加密的数字除以5,直到结果为1。除法的次数即为明文。
这就是模算法发挥作用的地方。模运算的思想如下:我们声明只选择前n个自然数,即0,1,…,n-1而不是拥有一个无限的数字集。如果任何给定的整数不在这个范围内,我们将其“环绕”。例如,让我们先选择六个数字。为了说明这一点,请考虑一个具有六个相等单位刻度的圆;这是我们的射程。
现在让我们看看数字8将落在哪里。 打个比方,我们可以把它想象成一根绳子,它的长度是八个单位。如果我们把绳子连接到圆圈的开头并开始将绳子缠绕在它周围,旋转一圈后,我们还剩下一部分绳子.因此,如果我们继续这个过程,绳子将在2处结束。
它是模运算的结果。 不管绳子有多长,它总是会停在圆圈的刻度之一处。 因此,模运算将使其保持在一定范围内。 15 个单位的绳索将在 3 处停止,即 6 + 6 + 3(两个完整的圆圈,剩余 3 个单位)。 负数的工作方式相同,唯一的区别是我们将其包装在相反的方向,对于 -8,结果将是 4。
而且,我们可以进行算术运算,结果总是在n个数的范围内。 我们现在将使用符号“mod ”来表示数字的范围。 例如:3 × 5 = 3 (mod 6); 5 + 2 = 1 (mod 6).
此外,最重要的特性是运算顺序无关紧要,例如,我们可以先执行所有运算,然后在每次运算后应用模或应用模。例如: 相当于:2 × 4 = 2 (mod 6); 2 − 1 = 1 (mod 6); 1 × 3 = 3 (mod 6).
那到底为什么有帮助呢?事实证明,如果我们使用模算术,则具有运算结果,回到原始数字是不平凡的,因为许多不同的组合将具有相同的结果: 5 × 4 = 2 (mod 6); 4 × 2 = 2 (mod 6); 2 × 1 = 2 (mod 6).
如果没有模算术,结果的大小为它的解决方案提供了线索。 否则,这条信息会被隐藏,而常见的算术属性会被保留。
如果我们回到同态加密并使用模运算,例如模 7,我们将得到:
和不同的指数会有相同的结果:
这是很难找到指数的地方。 事实上,如果模数足够大,这样做就变得不可行,而现代密码学的很大一部分是基于这个问题的“难度”。该方案的所有同态属性都保留在模领域中:
encryption:
multiplication:
addition:
让我们明确说明加密函数: ,其中 v 是我们要加密的值。
这种同态加密方案存在局限性,尽管我们可以将加密值乘以未加密值,但我们不能将两个加密值乘以 (和除以),也不能对加密值求幂。虽然从第一印象来看是不幸的,但这些属性将成为zk-SNARK的基石。
有了这样的工具,我们现在可以评估一个加密随机值为x的多项式,并相应地修改零知识协议。
让我们看看如何评估多项式 。正如我们以前建立的那样,多项式就是知道它的系数,在这种情况下,它们是: 1,-3,2。因为同态加密不允许对加密值求幂,所以我们必须得到从1到3的x幂的加密值: , , ,这样我们可以对加密多项式求值如下:
作为这些操作的结果,我们在我们未知的某个 x 处对我们的多项式进行了加密。 这是一个非常强大的机制,并且由于同态特性,相同多项式的加密计算在加密空间中总是相同的。我们现在可以更新协议的先前版本,对于d次多项式:
Verifier:
Prover:
Verifier:
由于证明者对s一无所知,因此很难提出不合法但仍匹配的评估。
虽然在这样的协议中,证明者的敏捷性是有限的,但他仍然可以使用任何其他方法来伪造证明,而无需实际使用所提供的 s 幂的加密,例如,如果证明者声称仅使用 2 次幂 和 有一个令人满意的多项式 ,这在当前协议中无法验证。
多项式的知识是其系数 。 我们在协议中“分配”这些系数的方式是通过对秘密值 s 的相应加密幂求幂(即 )。 我们已经在选择 s 的加密幂时限制了证明者,但这种限制并未强制执行,例如,可以使用任何可能的方法来找到满足方程 的任意值 和 并将它们提供给验证者而不是 和 。 例如,对于一些随机 , 和 ,其中 可以从提供的 s 的加密幂计算。 这就是为什么验证者需要证明仅使用 s 的幂的加密来计算 和 而没有别的。
让我们考虑一个1次多项式的基本例子,该多项式具有一个变量和一个系数 ,相应地,s的加密 。我们正在寻找的是确保只有s的加密,即 ,被一些任意系数c同态“乘以”,而不是其他任何东西。所以对于任意的c,结果必须是 形式。
一种方法是要求对另一个移位的加密值与原始值一起执行相同的操作,充当“校验和”的算术模拟,确保结果是原始值的取幂。这是通过引入的指数知识假设Knowledge-of-Exponent Assumption (或KEA) 来实现的,更确切地说:
Alice有一个值a,她希望Bob指数到任何幂,唯一的要求是只有这个a可以指数,没有别的,以确保她:
因为 Bob 无法从元组 中提取 ,因此推测 Bob 可以产生有效响应的唯一方法是通过以下过程:
最终,这样的协议向Alice提供了一个证据,证明Bob确实将a乘以他已知的某个值,并且他不能进行任何其他操作,例如乘法、加法,因为这将消除 移位关系。
在同态加密上下文中,幂运算是加密值的乘法。我们可以在简单的单系数多项式 的情况下应用相同的构造:
这种结构限制证明者仅使用提供的加密 s,因此证明者可以仅将系数 c 分配给验证者提供的多项式。 我们现在可以将这种单项多项式方法缩放为多项多项式,因为每个项的系数分配是单独计算的,然后同态地“相加”在一起。 因此,如果向证明者提供 s 的加密幂以及它们的移位值,他可以评估原始多项式和移位多项式,其中必须进行相同的检查。 特别是对于 d 次多项式:
对于我们之前的示例多项式 ,这将是:
现在我们可以确定,验证程序除了使用验证程序提供的多项式外,没有使用任何其他方法,因为没有其他方法来保持 移位。此外,如果验证者希望确保在验证者的多项式中排除一些s的幂,例如j,他将不提供加密 及其移位 。
与我们一开始的相比,我们现在有了一个健壮的协议。 然而,无论加密如何,零知识属性仍然存在一个明显的缺点:虽然理论上多项式系数 可以有很大范围的值,但实际上它可能非常有限(上例中为 6),这意味着 验证者可以暴力破解有限范围的系数组合,直到结果等于证明者的答案。 例如,如果我们考虑每个系数的 100 个值的范围,则 2 次多项式将总共有 100 万个不同的组合,考虑到蛮力将需要不到 100 万次迭代。 此外,即使在只有一个系数且其值为 1 的情况下,安全协议也应该是安全的。
因为验证器只能从验证器发送的数据中提取关于未知多项式p(x)的知识,所以让我们考虑那些提供的值(证明): 。他们参与以下检查:
gp=gh(多项式p(x)有t(x)的根)
(gp)α=gp′t(s)(使用正确形式的多项式)
问题是我们如何改变证据,使支票仍然有效,但无法提取任何知识?从上一节可以得出一个答案:我们可以用一些随机数δ(δ)来“移位”这些值,例如(gp)δ。现在,为了提取知识,首先需要找到被认为不可行的δ。此外,这种随机化在统计学上与随机性是无法区分的。
为了保持关系,让我们检查验证者的检查。证明者的值之一位于方程式的每一侧。因此,如果我们用相同的 δ “移动” 它们中的每一个,方程必须保持平衡。
具体地,证明者对随机 δ 进行采样,并用g α p(s) δ gh(s) δ 对其证明值求幂,并提供给验证者进行验证:
(gp)δ = gh δ t(s) (gp)δ α = gp′ δ
合并后,我们可以观察到支票仍然有效:
注意: 零知识是多么容易被编织到建筑中,这通常被称为 “免费” 零知识。
到目前为止,我们有一个交互式零知识方案。为什么会这样?由于该证明仅对原始验证者有效,其他任何人(其他验证者)都不能信任同一证明,因为:
因此,为了证明语句(在这种情况下是多项式的知识),需要与每个验证者进行单独的交互。
虽然交互式证明系统有其使用案例,例如,当证明人只想说服一个专用的验证人(称为指定验证人),这样证明就不能再用于向其他人证明同一陈述时,当一个人需要同时(例如,在区块链等分布式系统中)或永久地说服多方时,这是非常有效的。验证方需要始终保持在线,并对每个验证方执行相同的计算。
因此,我们需要的秘密参数是可重用的,公开的,可信的和不可滥用的。
让我们首先考虑在秘密 (t(s),α) 产生后如何保护它们。我们可以像验证者在发送给证明者之前对s的指数进行加密一样对它们进行加密。然而,我们使用的同态加密不支持两个加密值的乘法,这对于验证检查以使t(s) 和h以及p和 α 的加密相乘都是必需的。这就是密码配对的地方。
密码配对(双线性映射)是一种数学构造,用函数 , 给定来自一组数字的两个加密输入(例如, ,允许将它们确定地映射到不同数字输出集中的乘法表示,即, 。
由于源和输出编号集合不同,因此配对的结果不能用作另一个配对操作的输入。我们可以将输出集 (也称为 “目标集”) 视为来自 “不同的宇宙”。因此,我们不能将结果乘以另一个加密值,并通过名称本身建议我们一次只能乘以两个加密值。在某种意义上,它类似于一个散列函数,它将所有可能的输入值映射到一组可能的输出值中的一个元素,并且它不是平凡可逆的。
注意: 乍一看,这种限制只能阻碍依赖的功能,具有讽刺意味的是,在zk-SNARK情况下,它是该方案的安全性所拥有的最重要的属性。
配对函数 的一个基本(技术上不正确)的数学类比是说明有一种方法可以“交换”每个输入的基数和指数,这样基数 在转换过程中会被修改成指数,例如 。 然后将两个“交换的”输入相乘,使得原始 a 和 b 值在相同的指数下相乘,例如:
因此,由于在“交换”期间使用结果 在另一个配对(例如, )中改变了碱基,因此不会产生所需的加密乘法 。配对的核心属性可以用等式表示:
e(ga, gb) = e(gb, ga) = e(gab, g1) = e(g1, gab) = e(g1, ga)b= e(g1, g1) ab= . . .
从技术上讲,配对的结果是目标集不同生成器g下原始值的加密产物,即 。因此,它具有同态加密的特性,例如,我们可以将多对的加密产物添加到一起:
注意:加密配对利用椭圆曲线来实现这些属性,因此从现在起,符号 将表示曲线上的生成器点,该点将被添加到自身 次,而不是我们在前面部分中使用的乘法群生成器。
有了加密配对,我们现在可以设置安全的公共和可重用参数。让我们假设我们信任一个诚实的一方来生成秘密 s 和 α。一旦 α 和具有相应 α 位移的 s 的所有必要幂被加密(gα, gsi , gαsi for i in 0, 1, ..., d),必须删除原始值。
这些参数通常被称为公共参考字符串common reference string或CRS。CRS生成后,任何prover和verifier都可以使用它来执行非交互式零知识证明协议。虽然不重要,但CRS的优化版本将包括对目标多项式target polynomial 的加密评估。
此外,CRS分为两组(对于 中的 ):
由于能够乘以加密值,verifier可以在协议的最后一步检查多项式,让verification key verifier进程从证明者那里接收到加密多项式评估 gp、gh、gp':
虽然可信设置是有效的,但它并不有效,因为 CRS 的多个用户将不得不相信一个删除的 和 ,因为目前没有办法证明这一点。 因此,有必要最小化或消除这种信任。 否则,不诚实的一方将能够在不被发现的情况下制作假证据。
实现这一点的一种方法是由多方使用前面部分中介绍的数学工具生成复合 CRS,这样这些方都不知道秘密。这是一种方法,让我们考虑三个参与者 Alice、Bob 和 Carol,对应的索引为 A、B 和 C,对于 i 在 1、2、...中。 . . , d:
作为这种协议的结果,我们有复合 和 并且没有参与者知道其他参与者的秘密参数,除非他们串通。事实上,为了学习 和 ,必须与其他所有参与者串通一气。因此,即使一个人是诚实的,也无法提供假证明。
注意:此过程可以根据需要对尽可能多的参与者重复。
可能存在的问题是如何验证参与者是否与 CRS 的每个值一致,因为对手可以采样多个不同的 s1、s2、...。 . . 和α1, α2, . . .,并将它们随机用于 s 的不同幂(或提供随机数作为增强的公共参考字符串),从而使 CRS 无效且不可用。
幸运的是,因为我们可以使用配对来乘以加密值,所以我们能够执行一致性检查,从第一个参数开始,并确保每个下一个参数都是从它派生的。参与者发布的每个 CRS 都可以检查如下:
请注意,虽然我们验证每个参与者都与他们的秘密参数一致,但使用先前发布的 CRS 的要求并未对每个下一个参与者强制执行(在我们的示例中为 Bob 和 Carol)。因此,如果对手是链中的最后一个,他可以忽略先前的 CRS 并从头开始构造有效参数,就好像他是链中的第一个,因此是唯一知道秘密 s 和 α 的人。
我们可以通过额外要求除第一个参与者之外的每个参与者加密和发布他的秘密参数来解决这个问题,例如,Bob 还发布:
这允许验证 Bob 的 CRS 是 Alice 参数的适当倍数,因为 i in 1, 2, . . . , d:
同样,Carol必须证明她的CRS是Alice-Bob的CRS的适当倍数。
这是一个强大的CRS设置方案,不完全依赖任何一方。实际上,即使只有一方是诚实的,并且删除并且从不共享其秘密参数,即使所有其他各方都合谋,它也是非常明智的。因此,CRS 设置中不相关的参与者越多,伪造证据的可能性就越小,如果竞争方参与,其可能性就可以忽略不计。该方案允许涉及对设置的易读性有疑问的其他不受信任的各方,因为验证步骤确保他们不会破坏最终的公共参考字符串 (也包括使用弱 α 和s)。
我们现在准备巩固进化的zk-SNARKOP协议。形式上,为简洁起见,我们将使用大括号来表示由其旁边的下标填充的一组元素,例如si i ∈[d] 表示集合s1,s2,...,sd。
已商定目标多项式t(x)和校准仪多项式的d次:
Setup:
❿ 区块链与隐私计算的结合是必然趋势吗
区块链与隐私计算的结合是必然趋势吗?
我们目前对这个问题的思考框架是:如果不与隐私计算技术结合,区块链技术的应用是 否受到限制、无法向前发展;如果不与区块链技术结合,隐私计算技术是否受到限制、无法 向前发展。如果二者对彼此都是刚需,那么它们相结合的趋势就是必然。
以下为我们对这个问题的思考:
1、隐私计算技术的应用是否区块链技术的刚需
区块链技术有巨大的优势,但是如果没有隐私计算技术,区块链技术的应用会大大受到 限制,因为无法解决链上数据的隐私保护问题,这使得大量涉及敏感数据的场景不愿应用区 块链技术,比如金融和医疗领域。
(1)区块链技术的局限性
第一,链上数据公开透明,数据的合规处理和隐私保护能力不足 区块链作为分布式账本系统,数据的公开透明尽管有利于存证、防篡改,但也存在数据 可轻易被复制、泄漏个人隐私的风险。区块链在公有链上要求不同节点对交易和交易状态进 行验证、维护,形成共识,因此每个参与者都能拥有完整的数据备份,所有的交易数据公开 透明。如果知道某个参与者的账户,就很容易获取其每一笔交易记录,从而据此推断其 社会 身份、财产状况等。以消费场景为例,平台之间存在竞争壁垒,用户也希望保留消费隐私, 因此区块链缺乏对用户流水、物流信息、营销情况等与企业、个人隐私相关的数据缺乏保护 能力,往往导致数据拥有方不愿意让数据进入流通环节。在链上系统的交易不再受中心账本的控制,用户通过使用唯一的私钥进行交易,交易过 程被加密且加密前数据很难还原,仅以私钥作为交易凭证使得区块链内的交易变得更加匿名 和不可控。在分布式账本系统上,所有的转账以地址形式进行,一但发生了诈骗或者洗钱等 金融犯罪,即便可以公开查询地址,但对资金追踪的难度极大,且私钥作为交易凭证很难证 明使用者的身份,因此许多企业、个人通过区块链进行洗钱等违法交易,不利于数据的合规 处理和合法共享。
第二,数据处理能力不足,制约技术的进一步落地和商业化拓展 链上计算受限于网络共识的性能,使得链上交易难以具备实时性和高效率,区块链智能 合约的计算能力需要扩展。以最大的加密支付系统比特币为例,每秒钟只能够处理大约 3 到 7 笔交易5 ,且当前产生的交易的有效性受网络传输影响,往往需要等待 10 分钟左右的记账周 期才能让网络上的节点共同知道交易内容。此外,如果链上有两个及以上节点同时竞争到记账权力,则还需要等待下一个记账周期才能确认交易的准确性,最终由区块最长、记账内容 最多的链来完成确认。
完全去中心化的系统与现实中大部分现有体系的兼容性不足,缺乏链上链下协同、多业 务发展的系统和功能,制约区块链技术的进一步落地。在区块链的技术落地过程中,首先, 各行业本身具有成熟的体系,区块链完全去中心化的形式不一定适合所有的领域和行业;其 次,区块链的平台设计和实际运行成本巨大,其所具备的低效率和延迟性的交易缺陷非常明 显,是否能够弥补原系统更换的损失需要经过一定的精算和比较;此外,使用区块链存储数 据需要对原有数据格式进行整理,涉及到政务、司法领域的敏感数据,更需要建立链接线上 和线下数据的可信通道防止数据录入有误,这带来了较高的人力、物力成本。
(2)隐私计算技术对区块链技术的帮助
隐私计算技术保障数据从产生、感知、发布、传播到存储、处理、使用、销毁等全生命 周期过程中的隐私性,弥补区块链技术的隐私保护能力,实现数据的“可用不可见”。通过 引入隐私计算技术,用户的收支信息、住址信息等个人数均以密文的形式呈现,在平台进行 数据共享的过程中,既能防止数据泄露,又能够保障用户个人隐私的安全,有利于进一步打 破数据孤岛效应,推动更大范围内的多方数据协作。隐私计算技术可与区块链技术形成技术组合,提升数据处理能力、扩大可应用范围。隐 私计算技术通过对数据进行规范化处理,能够提升数据处理、数据共享的效率,提升区块链 的数据处理能力。此外,隐私计算技术+区块链技术的技术组合能够应用于缺乏中心化系统、 但又对敏感数据分享有强烈需求的合作领域,扩展区块链技术的应用场景。
区块链技术的应用是否隐私计算技术的刚需
(1)隐私计算技术的局限性
第一,数据共享缺乏安全检验,制约数据流通的可信性
数据共享的整个流程涉及到采集、传输、存储、分析、发布、分账等多个流程,隐私计 算主要是解决全流程的数据“可用不可见”的问题,但是难以保证数据来源可信和计算过程 可信。
从数据来源可信的角度来说,在数据采集的环节,数据内容本身可能不完整,数据的录 入可能会存在失误;在数据传输的环节,数据的传输可能会被其他的客户端攻击,导致数据 在传输的过程中泄漏;在数据的储存环节,储存数据的角色方有可能会篡改数据或者将数据 复制转卖到黑市,这些都不会被隐私计算技术记录。如果无法保证数据共享各方的身份得到 “可信验证”,就有可能导致数据的隐私“名不副实”。从计算过程可信的角度来说,在数 据分析和发布的环节,数据的共享方有可能私自篡改数据的运行结果和发布内容,对最终数 据处理的结果进行造假。因此,一旦信息经过验证并添加到隐私计算的环境中,很难发现数 据是否被篡改、被泄漏,很难防止不同时间点不同节点的数据造假的情况,在涉及到金融、政务、医疗、慈善等关键领域里,如果数据有误则产生的一系列法律问题则难以追究。
第二,业务水平整体层次不齐,制约技术平台的扩展
当前,隐私计算的技术实现路径主要分为三种:多方安全计算、联邦学习、TEE 可信执行 环境。三种技术路径存在各自的应用缺陷和问题,由于行业内不同公司对于技术的掌握能力 和研发能力有限,导致技术平台的实际应用范围有限,可扩展能力不足。
多方安全计算尽管具有复杂高标准的密码学知识,但其计算性能在实际应用的过程中存 在效率低的缺陷。随着应用规模的扩大,采用合适的计算方案保证运算时延与参与方数量呈 现线性变化是目前各技术厂商面临的一大挑战。多方安全计算虽然能保证多方在数据融合计 算时候的隐私安全,但是在数据的访问、控制、传输等环节,仍然需要匹配其他的技术手段 防止数据泄露、篡改。
联邦学习技术目前在业内的应用通常以第三方平台为基础模型,在基础模型之上进行隐 私计算,这样的基础模型本身存在被开发者植入病毒的隐患。此外,联邦学习的机制默认所 有的参与方都是可信方,无法规避某个参与方恶意提供虚假数据甚至病害数据,从而对最终 的训练模型造成不可逆转的危害。由于联邦学习需要各个参与式节点进行计算,因此节点的 计算能力、网络连接状态都将限制联邦学习的通信效率。
TEE 可信执行环境在国内目前核心硬件技术掌握在英特尔、高通、ARM 等少数外国核心供 应商中,如果在关键领域从国外购买,则存在非常高的安全风险和应用风险。第三,数据共享缺乏确权机制,制约数据流通的应用性 隐私计算通过使用多方数据共同计算、产生成果,然而在实际合作的过程中,由于各个 数据共享方业务水平不同、数据质量不一导致在数据处理的每一个环节难以实现合理的确权。
按照常规的利益分配机制,拥有高质量数据、高成果贡献率的数据拥有方理应从中获取更多 的利润,但是隐私计算仅考虑到数据的“可用不可见”,数据共享方难以从最终结果来判断 谁的数据对于成果的贡献最大,造成利益分配的不公平。如果缺乏合理的成果贡献评估机制和利益分配机制,就会难以激励数据所有者和其他数 据持有者进行合作。尤其是在不信任的多方合作的场景下,会更加增加合作的信任成本,使 得多方协作难以达成,制约数据流通的实际应用性。
(2)区块链技术对隐私计算技术的帮助
区块链技术通过数据流通的所有环节、所有参与者进行记录,实现数据共享流程中的权 责分明,提升了数据流通的可信性。在数据传输的环节,区块链记录数据的提供者,确认数 据提供方身份的真实性和有效性,有利于数据确权,为公平可行的利益分配机制提供参考;在数据储存的环节,区块链保证数据的每一次修改都有迹可循,防止数据的恶意篡改。区块 链技术可作为隐私计算技术的底层平台,保证了加密数据本身的真实有效性,提升了隐私计 算平台里数据流通的可信性,拓展隐私计算技术的应用范围。
3. 结论
隐私计算技术和区块链技术的融合是必然的趋势。对于数据资产的流转来讲,没有隐私 计算,不能解决数据本身的安全和隐私保护问题;没有区块链,不能解决数据的确权问题以 及在更大范围内的数据网络协作问题。将区块链和隐私计算二者结合起来,建设大规模数据 流通网络,在目前的实践中成为有所共识的 探索 方向。
区块链与隐私计算的结合会改变什么?
1、形成大规模数据流通网络和数据要素市场
当前,数据流通存在三方面问题:数据拥有方的数据保护和数据确权难以实现;不同来 源数据的整合处理成本过高、缺乏统一标准;数据利益的分配机制不完善。
如前文所述,区块链和隐私计算技术相结合,可以一方面解决隐私保护问题,一方面解 决数据确权和多方协作问题,从而建立大规模的数据流通网络。
在大规模数据流通网络建立的基础上,真正意义上的数据要素市场才能够形成,数据作 为生产要素的价值才能够被充分发掘出来。
2、推动数据资产化的发展
所谓资产,是指由企业过去的交易或事项形成的,由企业拥有或者控制的,预期会给企 业带来经济利益的资源。
数据的资产化就是让数据在市场上发现价值,能够为企业创造新的经济益。
大规模数据流通网络和数据要素市场的形成,将大大推动数据价值的发现、数据资产化 的发展。
从企业一侧来看,企业的生产经营活动当中沉淀下来的数据会成为宝贵的资产。一方面, 对这些数据的分析和运用,将推动企业改善自身的业务;另一方面,与外部机构进行数据的 共享,能够推动数据发挥出更大的价值,企业自身也将从中获取更多收益。这会反过来进一 步推动企业的数字化转型和对数据资产的管理。未来,对数据资产的盘点可能成为企业在资 产负债表、现金流量表、利润表之外的“第四张表”。
数据资产化的发展,也会推动围绕数据价值挖掘形成全新的服务体系。其中包括数据确 权、定价、交易等各个环节。上海 社会 科学院信息研究所副所长丁波涛将未来数据资产服务体系中的机构分成四类:
第一类提供中介服务,包括数据经纪人,还有数据代理。
第二类提供数据评估,由于数据市场信息不对称或信息混乱,需要提供合规评估、数据 质量和数据价格的评估。
第三类提供价格咨询,如提供法律、经济咨询或者是上市辅导等的咨询服务企业。
第四类提供专业技术服务,包括数据开发、数据处理服务、数据交付服等。数据资产化的发展,带来的将是人们认知的提升、生产效率的提高、生产要素的重组、 创新的产生、经济的发展以及全 社会 整体福利的提升。
3、对现有业态的改变
区块链与隐私计算的结合,将提升企业和个人分享数据、利用数据的积极性,进一步推 动打破“数据孤岛”。其对现有业态的改变主要体现在以下几个层面:
第一,这将带来新的数据和 科技 变革。
首先,这将推动数据密态时代的到来。数据密态时代的核心,是数据流通使用方式的巨 大改变,数据将以密态形式在主体间流动和计算,显着降低数据泄露的风险,并在合规前提 下支撑各种形态业务的发展。此前,数据被加密之后只能用来传输或者存储,但是未来数据 在加密状态下可以被计算。这将带来一系列新的问题和挑战,引发许多相关技术领域的连锁 反应。
其二,这将重塑大数据产业。随着数据流通的安全化,以往较为敏感的数据领域逐渐开 放。以政务数据为例,隐私计算使联合政务、企业、银行等多方数据建模和分析成为可能, 进一步释放数据应用价值,创造了多样化的应用机遇。
其三,人工智能产业将获得新一轮的发展。数据、算法和算力是人工智能发展的三要素。近几年来,由于缺乏可用的数据,人工智能的发展遭遇瓶颈。未来,5G 和物联网的发展将使 得万物互联,数据量大幅增长。区块链+隐私计算技术的应用,可以使得人工智能利用海量数 据优化模型,真正迈向“智能化”。其四,这将为区块链产业的发展带来新的机遇。区块链与隐私计算相结合,将拓展联盟 链的节点数量,从而进一步扩大可协同利用的数据资源的范围。
第二,在 科技 变革的基础之上,区块链与隐私计算相结合,将给许多传统产业带来变革。
在政务领域,一方面,可以实现政府不同部门之间的互联互通及数据共享,从而促进政 府不同部门的协同,提高政府的效率以及决策质量,推动智慧城市的建设;另一方面,可以 促进政务数据与民间数据的双向开放。政务数据向 社会 开放,可以为企业或学界所用,释放 更多价值。民间的数据源向政府开放,可以提高政府在决策以及政务流程等方面的效率。
在金融领域,支付、征信、信贷、证券资管等各个领域都会因之发生变化。总体来看, 主要是影响到金融的风控和营销两个方面。区块链与隐私计算技术的结合,可以在符合法律 规定、不泄露各方原始数据的前提下,扩大数据来源,包括利用金融体系外部的互联网数据, 实现多方数据共享,联合建模,从而有效识别信用等级、降低多头信贷、欺诈等风险,也有 助于信贷及保险等金融产品的精准定价;同样,内外部多方数据的共享融合也有助于提高金融机构的反洗钱甄别能力。
在医疗领域,未来在疾病治疗、药物研究、医疗保险等多个领域,区块链与隐私计算都 能助推医疗信息化建设,带来巨大变革。在疾病治疗和药物研究方面,区块链与隐私计算结 合,能够促进更多的医疗数据被联合起来进行分析和研究,从而为许多疾病的治疗带来新的 突破。在医疗保险方面,区块链与隐私计算技术结合,主要是可以使得保险公司可以应用到 更多的数据,改善保险产品的设计、定价、营销,甚至可以促进保险公司对客户的 健康 管理 等。
区块链与隐私计算技术相结合,目前应用的重点领域是政务、金融、医疗领域,但是未来其应用将不仅仅局限于这三个领域,还将在更多领域发挥作用。
第三,数据权利、利益将重新分配。
这可能是区块链与隐私计算技术相结合所带来的最为核心,也是最为深刻的,与每一个人 的切身利益都息息相关的变革。
首先,这涉及到每个产业链不同环节利益的重新分配。
前述在广告营销领域的应用落地为例,此前广告营销的利益分配主要是在广告主与渠 道商之间。但是,未来应用区块链和隐私计算技术,可以在更大范围内进行数据协作,则要 解决广告主、多个渠道方、消费者之间多方数据协作的问题,这其中就涉及到多方之间权责 的划分、利益的重新分配。
其次,这还涉及到企业与个人之间利益的重新分配。
欧盟的 GDPR,美国的 CCPA 等法案中涉及用户的一项重要权益即“portability,(可携 带权)”。即第三方应用不能封锁个人数据,一旦个人有下载的诉求,APP 需要提供便利的 API 利于个人拷贝数据。美国公司已陆续为用户提供 API,如果在这方面功能缺失,个人客户 可以提出诉讼,而公司也将面临巨额的罚款。在中国的《个人信息保护法》当中,也有相关的条款。《个人信息保护法》第四十五条规 定,“个人有权向个人信息处理者查阅、复制其个人信息”、“个人请求查阅、复制其个人信息 的,个人信息处理者应当及时提供。个人请求将个人信息转移至其指定的个人信息处理者, 符合国家网信部门规定条件的,个人信息处理者应当提供转移的途径。”
目前,中国公司的区块链+隐私计算 探索 主要集中在 To B 服务领域,但是区块链是全球 化的商业,如果美国已经出现这样的模式,中国大概率不会完全不受影响。伴随着消费级软硬件技术能力的提升,区块链与隐私计算技术结合,会逐步对个人与机构 之间的数据服务进行变革。对于个人用户而言,将有机会获得自身隐私数据的完全掌控权, 并为数据业务过程中所涉及的数据隐私需求获得更强的技术性保障。目前关于 To C 服务的相关问题,国内业界还在探讨当中。
为什么区块链+隐私计算的应用尚未大规模普及?
第一,区块链+隐私计算的落地应用,主要是在涉及需要多方数据协作的情况,目前实际需求尚未爆发。
从隐私计算技术发展的角度来看,目前隐私计算尚在落地初期,解决的主要是两方之间 的数据协作问题,涉及到多方的场景还不多,因此很多时候还没有体会到对区块链+隐私计算 应用的需要。
从区块链技术发展的角度来看,区块链技术在许多领域的应用目前并非刚需。不少问题 可以应用区块链解决,但是不用区块链技术也能解决,而应用区块链技术解决的成本更高。因此,目前区块链项目的建设主要是政务部门和大型企业较为积极,因为政府和大型企业从 长远发展的角度来考虑,可以做前瞻性的投资建设和技术布局,但是大多数商业机构需要衡 量投入与产出。
区块链技术与隐私计算技术结合,主要是用于处理数据协作问题。从数据治理的角度来 看,目前大多数机构都在处理自身内部的数据治理问题,内部的数据体系梳理好之后,才涉 及到与外部进行数据协作,因此还需要时间。
第二,区块链+隐私计算的落地应用较为复杂,涉及到新商业模式的创造、权责以及利益 的重新分配,因此需要的时间更长。
以在广告营销领域的应用落地为例,目前的大多数应用 都只是落地了隐私计算平台,主要涉及两方数据协作,直接应用隐私计算技术,延续此前商 业应用即可。但是,如果引入区块链技术,则要解决广告主、渠道方、消费者之间多方数据 协作的问题,这其中可能涉及到多方之间权责的划分、利益的重新分配,新商业模式的形成 需要时间进行 探索 。
应用的大规模普及,还需要解决哪些问题?
区块链+隐私计算的应用在大规模铺开之前,还需要具备三方面的条件:
第一,从外部环境来看,需要全 社会 整体的数字化水平的提高。 打个比方,区块链+隐私 计算将来会形成数据流通的高速公路,但是路上要有足够的车。目前全 社会 的数字化正在快 速推进当中,大多数机构都是正在进行自身内部的数据治理,他们需要先处理好自己的数据, 之后才能产生更多的与外部数据进行协作的需求,这还需要时间。
第二,从技术发展来看,技术成熟尚需投入。 区块链+隐私计算技术的应用,实际上是牺 牲了数据流通的效率、提升了安全性,但是数据流通的效率也非常重要,未来需要在效率和 安全这两个方面形成一定的平衡,安全要保障,足够的效率也要满足,这其中涉及到许多技 术的研发、行业标准的制定,技术产品化的发展和完善、技术成本的进一步降低,还需要时 间。
第三,还需要相关法律法规的完善,以及数据交易商业模式的形成。 不过,这一条件与 前两个条件相比,其在目前的重要性相对次之。因为随着需求的爆发、技术的完善,相关的法律法规以及商业模式就会随之形成,这一条件在现阶段并非限制区块链与隐私计算技术落 地应用的最关键因素。
区块链+隐私计算的应用中还蕴藏着哪些趋势?
1、国产化的趋势
区块链+隐私计算的应用,涉及网络安全、数据安全,未来将成为新基建的重要组成部分。这是关乎网络空间主权、国家安全和未来发展利益的重要方面,因此这个领域的国产化是未来趋势。
在区块链+隐私计算技术应用的国产化当中,软件的国产化是相对容易实现的。难点在于 硬件的国产化,其中最难的部分是芯片的国产化。
这一部分的发展,与信创领域的发展相关。信创,即信息技术应用创新产业,其是数据 安全、网络安全的基础,也是新基建的重要组成部分。信创涉及到的行业包括 IT 基础设施:CPU 芯片、服务器、存储、交换机、路由器、各种云和相关服务内容;基础软件:数据库、操 作系统、中间件;应用软件:OA、 ERP、办公软件、政务应用、流版签软件;信息安全:边 界安全产品、终端安全产品等。
在区块链+隐私计算领域,目前已经有企业在尝试产品的国产化。例如,前文提到的,蚂 蚁链自研了密码卡、隐私计算硬件以及自研可信上链芯片,同时还推出了摩斯隐私计算一体 机。创业公司如星云 Clustar、融数联智也在进行相关国产化硬件产品的研发。
2、软硬件技术相结合、更多技术融合发展的趋势
目前,在区块链与隐私计算技术相结合的实践中,也呈现出了软硬件技术相结合、更多 技术融合发展的趋势。这主要是缘于几方面的需求:
第一,是加强数据安全性的需求。
隐私计算主要是解决数据在计算过程中不泄露的问题,区块链主要是解决存证问题,二者结合仅能解决数据安全的一部分问题。数据从产生到计算再到消亡,会涉及采集、传输、 存储、计算、销毁等多个环节,其生命周期可能会有数十年之久,要真正保障数据安全需要 一个更加全方位的、体系化的解决方案,以使得每个环节上都有对应的技术体系保障数据安 全 在数据采集阶段需要精心设计设备可信架构,在网络传输阶段需要合理运用安全协议, 在存储阶段需要兼顾加密与性能,在数据计算阶段需要灵活选择可信执行环境与密态运算。除此以外,计算环境的可信与安全在防御纵深建设上也至关重要。这些安全保障能力的技术 图谱会涉及到可信计算、软硬件供应链安全、隔离技术、网络与存储的透明加密、密钥管理、 可信执行环境等等。这其中每一个技术点都有软硬件结合、多种技术融合发挥的空间。
第二,是提升计算性能的需求。
隐私计算的性能目前还比较低,在计算机单机、单机和单机之间、计算机集群之间这三 个层面上都存在。
在计算机单机上,隐私计算由于运用了密码学技术,计算过程中涉及到很多加密解密的 步骤,这使得计算量以几何级数增加。以全同态算法为例,在通用芯片上密文运算的速度比 明文运算慢了 10 万倍。这意味着,做同样的运算,如果用全同态算法,在 Intel 最新的 Icelake 处理器上,跑出来的效果等同于 Intel 的第一代 8086 处理器,直接回退了数十年。这使得全 同态加密在现实情况下就不具备可用性了。算力问题也是导致全同态算法一直未得到广泛应 用的根本原因。
在单机之间和计算机集群之间,会涉及到单机之间和集群之间的通信效率问题。一方面, 主流的隐私计算技术无论是联邦学习还是多方安全计算,都有通信问题。密文膨胀、传输次 数膨胀,会导致单机之间网络传输效率成为隐私计算的瓶颈之一。另一方面,由于大多数隐 私计算的场景都是跨多方的,多方要通过公网进行通信,公网的带宽与时延目前也是巨大的 鸿沟。
性能的问题,会随着时间的推移越来越严重。2021 年,隐私计算的落地尚处于颇为早期 的阶段,主要是在一些机构内部或者是两方、三方之间应用,处理的数据量较小,这个问题 还不明显。可是未来,多方数据交换需求的到来、5G 和物联网的发展所带来的数据量急剧增 大,最终导致的将是数据量爆发式的增长,这需要消耗大量的算力。
到那时,隐私计算的性 能将面临巨大的挑战。现在在硬件的创新方面正处于体系结构的黄金时代。这是因为,移动互联网的飞速发展 使得应用场景发展很快,上层的软件也发展很快,这使得在计算机底层进行支持的硬件甚至 芯片都需要随之进行改变,进入了新一轮的创新周期。
而从区块链与隐私计算结合的长远发展来看,软硬件结合、多技术融合,对隐私计算来 说,可以提升性能、安全性和计算效果;对区块链来说,可以促使更多机构低成本加入联盟 链,扩大联盟链应用范围。
END
编辑 | 领路元
来源 | 零一 财经 《区块链+隐私计算一线实践报告(2022)》