区块链的特点去中心化匿名性,区块链的特点去中心化不可篡改

  

  最近,隐私保护问题已经成为一个世界性的话题中心。脸书的Libra白皮书一再强调用户信息隐私保护的重要性。这份报告通过研究三个不同类型的项目来探索区块链和分布式隐私计算这个大话题。请阅读。   

  

  我们选取了三个不同技术路径的分布式隐私计算项目,即安全多方计算方案Trusted Execution Environment(TEE)硬件支持, Trias的ARPA和分布式云计算与TEE相结合的iExec作为分析案例。   

  

  目前三个项目都在落地上有所建树,但距离大规模推广还有一定距离。除了技术发展水平的限制,如何开展基于商业场景的优化,怎样提高业界对新技术的认知与接受度是限制因素。   

  

  

要点总结

  

  

   1.随着区块链技术的发展,其功能逐渐从实现点对点的电子现金系统扩展到不同的领域。隐私保护作为区块链的一个重要话题,其内涵也在不断丰富和拓展。从仅仅确保交易隐私匿名性逐渐加入了对数据所有权、使用权的隐私保护。——号   

  

  2.为了保持计算过程的公平公正,同时避免数据泄露给第三方的风险,涉及隐私计算的项目往往采用分布式的系统架构。   

  

  3.ARPA是通过安全多方计算(MPC)的分布式隐私计算项目。目前,ARPA测试网1.0版本ASTRAEA已于2019年3月正式发布。该版本是基于以太坊的第2层隐私计算解决方案。   

  

  4.ARPA的MPC加密计算方案是通过秘密共享、部分同态加密和Beaver电路随机化技术实现密文状态下的多方加乘计算。但是在目前的技术环境下,多方安全计算的速度和明文计算的速度还有1-2个数量级的差距。ARPA将自己定义为第二层的解决方案,未来可以在不同的公共链中提供私有计算服务。   

  

  5.Trias是通过可信执行环境(TEE)进行分布式隐私计算的底层公共链项目。Trias测试主网第一版于2019年在Q2上线,主网Leviatom层正式版计划于2019年第四季度上线。   

  

  6.Trias三权分立的整体制度设计对保证计算过程的公平公正起到了一定的作用。异构共识图(HC图)将异构Tee(可信执行环境)技术与图计算相结合,构建了一个全网开放的信任系统,方便用户选择最值得信任的TEE节点进行计算。   

  

  7.iExec是一个通过将分布式云计算与TEE相结合来提供分布式隐私计算的项目。iExec已于2019年5月推出iExec V3企业版,允许客户接入IExec网络,出售个人计算能力,以换取奖励。同时,新加入的数据钱包功能也让用户可以租赁自己的数据使用权来盈利。   

  

  8.iExec的分布式云计算通过桌面网格的方式收集互联网上未充分利用的计算和存储资源,允许客户端以传统超级计算机的一小部分成本执行大规模并行和分布式计算。为了保护用户数据的隐私,iExec进一步与TEE结合,实现数据租赁、交易和变现。   

  

  9.目前三个项目都取得了一定的成果,但距离大规模推广还有一定的距离。除了技术发展水平的限制,如何开展基于商业场景的优化提高业界对新技术的认知与接受度都是限制因素。我们将持续关注项目的后续发展。   

  

  

1. 行业背景

  

  

  区块链作为一种集去中心化、开放、透明、不可篡改等特性于一体的新技术范式,其设计初衷是实现点对点交易,无需第三方。虽然隐私保护作为一个重要的特性,在最初的设计中给予了一定的考虑,但是区块链本身的公开透明性决定了任何人都可以根据交易相关记录猜测账户的地址,很难真正做到交易的匿名性。   

  

  随着加密货币市场对隐私保护需求的不断增加,出现了一些通过不同技术路径实现匿名隐私保护的新证书,如基于ZK-斯纳克的Zcash、基于环签名的Monero、基于创新加密协议MimbleWimble的Grin和Beam等。   

  

  随着图灵完整脚本语言的加入,开发者可以开始在区块链上设计不同功能的应用,这直接促成了金融征信、产品溯源、物联网.等区块链技术与其他不同领域的逐渐融合,同时区块链的隐私保护概念也被不断融入新的内涵,从仅仅保证交易的匿名性逐渐扩展到对原生数据所有权、使用权的隐私保护.   

  

  在这种环境背景下,在保护客户隐私的前提下,同时合规的采集数据、应用数据成为区块链行业新的机遇与挑战。目前普遍的解决方案是通过隐私安全计算,在保护数据隐私的前提下挖掘数据的价值,这在技术上可以大致划分。   

安全多方计算(MPC)与安全执行环境(TEE)两种路径。

  

同时,为保证整个计算过程的公平可信,涉及隐私计算的区块链项目纷纷采用去中心化的分布式组织架构,避免数据向第三方泄露的风险。在已经落地的项目之中,比较有代表性的有基于MPC纯密码学技术的ARPA,基于TEE硬件技术的Trias,与将TEE与分布式云计算相结合的iExec。本次报告将聚焦于各项目的简要介绍,技术实现路径与项目进展。

  

2. 技术介绍

分布式隐私计算离不开三个维度的考虑,分别是隐私、性能和通用性。但目前所采用的安全多方计算(MPC)、安全可执行环境(TEE)和同态加密的这些加密技术中并没有能同时满足三个维度的最优解决方案,都在诸多特点之间做出了一定的权衡取舍。鉴于iExec项目的设计除了TEE以外还考虑了桌格计算,将在具体项目介绍时对其采用的技术单独介绍。

  

同态加密(Homomorphic Encryption)

  

同态加密是指对原始数据进行加密,之后进行计算得出一个输出,将此输出进行解密后,其结果与未加密原始数据直接计算得到的结果一致。在实际运算过程中,同态加密的每一步计算步骤都会涉及大量的加密运算,导致计算复杂度随着步骤的增加而急速上升。

  

这一问题直接导致了在实际应用中,同态加密目前仅能支持操作次数有限的加法同态或乘法同态,来实现部分同态加密(Somewhat Homomorphic Encryption),但难以做到同时支持加法和乘法操作完成运算次数不受限制的全同态加密(Fully Homomorphic Encryption)。目前在安全多方计算的运算过程之中,会融入部分同态加密。

  

安全多方计算 (Multi-PartyComputation, MPC)

  

安全多方计算解决一组互不信任的参与方之间保护隐私的协同计算问题,实现各方在不泄露本地任何数据隐私的情况下,完成数据的聚合计算功能。按照应用场景来划分,目前安全多方计算可分为安全两方计算和安全多方计算。前者主要通过加密电路(Garbled Circuit)、不经意传输(Oblivious Transfer)和布尔电路等密码学技术来实现,但受制于参与者数量的限制,限制了其在实际应用中推广的潜力。

  

安全多方计算的技术实现路径则主要是通过秘密分享(Secret Sharing)、同态加密、加密电路、不经意传输等来实现。但考虑到实际计算过程中需要大量的计算来实现同态性,在具体实施层面,多方计算会通过节点间通讯来降低加密运算的复杂度,代价则是增加了通讯的复杂程度。综合来看,目前多方计算方案的速度与明文计算比有大于1至2个数量级的差距。

  

可信执行环节(Trusted Execution Environment, TEE)

  

与之前通过密码学实现隐私计算的方式不同,TEE主要是通过硬件方面的设定来解决安全计算的问题,并已大规模应用于手机端,云端等领域,例如Intel的SGX,华为海思的TrustZone,ARM的Trustonic等。具体而言,TEE提供了一块隔离并加密的安全区域Enclave,并且搭配可信随机数据源,与定制的计算指令,实现数据的隐私运算。

  

相比前两项数字加密技术而言,TEE有着更广泛的应用,并且计算效率也可达到实际应用的级别,但使用者需要信任提供TEE硬件的安全厂商不会出现 “留后门”。与此同时,由于Spectre及Spoiler漏洞的存在,TEE还面临着缓存侧信道攻击的风险,造成安全与非安全区的数据隔离被打破,进而造成隐私数据的泄露问题。

  

3. 项目介绍

3.1 ARPA项目简介

ARPA项目主要通过MPC技术路径来构建一个可验证的链下多方安全计算网络,打破数据分散在各企业和机构间的数据孤岛现象,允许不同数据提供者在不透露自己数据、无需信任第三方的情况下,以较低成本协同计算得到可靠结果。

  

在技术设计上,ARPA所采用的安全多方计算不是特指某个特定算法,而是融合了部分同态加密、秘密分享、混淆电路等技术实现的。与此同时,作为一个layer2的架构,ARPA可以接入不同的公链,以满足各公链上不同节点的隐私安全计算需求,这也极大地拓展了ARPA的应用范围。

  

3.1.1 ARPA系统设计

  

作为一个layer 2的解决方案,ARPA网络的计算任务来自于各个区块链网络。ARPA将在各个主要区块链网络上部署代理智能合约,每次计算发起之前,ARPA计算网络将随机选取一定数量的节点,被选中且有参与意愿的节点需抵押部分ARPA通证来正式参与计算。随机选择从一定程度上遏制了节点间计算前合谋的可能性;抵押机制则提高参与计算节点的作恶成本,降低蓄意窃取数据,不执行计算任务等行为。

  

根据ARPA的实验结果,在有100个计算节点的情况下,需要串通95%的节点才能有不到1%的机会成功攻击。ARPA的密码学设计结合经济层面的设计,能充分打消潜在的攻击意图。当计算开始后,各参与方的数据将以密文碎片的形式在ARPA网络中传输计算,结束后,计算结果与相应证明将传回发起请求的智能合约,整个计算过程中,各参与方只会接触到计算结果与自身所拥有的数据。ARPA的具体计算过程,可以大体分为两个部分 – 预处理阶段与计算阶段。

  

3.1.1.1 链下安全计算——预处理

  

预处理阶段占据了MPC整个计算过程的大部分时间,主要是准备计算过程中会被用到的各种加密计算“原料”,主要包括秘密分享及乘法运算过程中需要的“三元组和随机数组”,用于之后计算过程证明与验证的全局MAC key与分布式MAC key。MAC key是ARPA网络可验证性的来源,对于计算结果的可信验证至关重要。由于很多数据是消耗性的,所以在运算节点多、运算逻辑复杂的情况下需要较长的准备时间。目前,多方计算相比明文计算慢大约1至2个数量级。

  

3.1.1.2 链下安全计算——计算阶段

  

预处理完成之后,将进入计算阶段。ARPA的多方计算包括几个步骤:秘密分享、计算求值、揭示结果。

  

秘密分享:秘密分享将在输入数据分发的层面保证数据的隐私安全。首先,参与计算的节点向数据提供者发送一个随机值;然后,数据提供者将接收到的随机值与自己的随机值相加,得到总随机值,并将输入值减去总随机值,将结果向其余计算节点分发;各个计算节点在收到经过混淆的输入值后,加上自己本地的随机值,就能得到自己需要的输入值。经过这种操作,只有数据提供者拥有原始输入值,在数据提供者不作恶的前提下,保证了输入数据的安全。

  

计算求值:收到自己的输入值后,各个计算节点将开始本地计算。因为使用的秘密分享算法使得输入值具有加法性,所以加法运算与线性运算可以在本地执行,但乘法运算需要计算各方进行一定的信息交换。由于计算节点无法直接传递自己的输入值,所以要借助Beaver电路随机化技术,将乘法运算转化成线性运算和随机化公开变量。这个过程需要消耗预处理阶段生成的三元组,由于三元组在使用后会被公布,所以每个三元组只能使用一次,这意味着复杂的运算将需要预处理阶段准备大量的计算“原料”。

  

ARPA网络中的计算节点在计算过程中会持续计算变量的信息校验码(MAC),用于验证计算的完整性和正确性。信息校验码能够验证一条信息产生自相应MAC key的拥有者,并且该信息未被改变。如果计算节点未按照规定计算过程进行计算,其生成的MAC将无法通过验证。

  

揭示结果:在所有参与方同意结束计算过程后,参与节点会将结果的秘密分享值和对应的信息校验码进行广播,在首先验证了本次计算的正确性和完整性之后,协议将全局秘密分享值合并并重建出明文结果。此时,信息校验码可以通过常数复杂度的计算达成验证过程。验证与计算过程的解耦,使得验证过程可被区块链节点等第三方容易地执行。验证无误后,计算结果将被提交给请求者,结束计算任务。

  

3.1.2 ARPA项目进展

  

ARPA测试网1.0版本ASTRAEA已于2019年3月正式发布,该版本测试网是基于以太坊的Layer 2隐私解决方案。同时,ARPA也与国内顶尖公链项目进行合作,在链上成功实现了隐私计算。在未来,ARPA团队计划在2019年Q2上线Testnet 2.0(ATLAS),2019年Q3上线主网,并在企业客户端持续发力。在应用落地上,根据ARPA官方公布的合作信息,ARPA已经与中化集团、孔明科技、启明股份、云象区块链等企业达成合作,并积极推进与大型金融、保险机构的战略合作。

  

ARPA将为金融、保险、大宗商品等领域提供基于特定场景需求定制多方联合风控、黑名单共享、联合模型分析等行业的解决方案,目前已经有落地案例。此外,ARPA还参与安全多方计算的数据流通产品标准制定,作为核心参与企业,ARPA参与了多项密码学协议层面的内容编写。目前该标准已于2019年6月由中国信息通信研究院、云计算与大数据研究院联合发布。

  

3.2 Trias 项目简介

TRIAS是通过基于异构TEE技术与图计算的结合来提供对原生应用程序的可信执行环境。设计构架中,Trias由三层子体系构成,对应现实社会中的三权分立结构,通过权力的互相协作与制约,实现Trias执行计算环境的公平与公正。

  

具体来说,最基层的Leviatom负责行政权,通过异构技术聚合可以提供安全计算环境的节点来为Trias生态提供可信算力,而与图计算、Gossip协议的结合则为构建Trias信任矩阵提供了基础,帮助用户从中筛选可信的TEE节点进行计算。

  

第二层Prometh负责立法权,提供可溯源软件开发框架,实现智能合约从开发到正式运行的全生命周期维护、记录和管理服务。第三层MagCarta负责司法权,管理Trias的整体合约体系,实现全平台原生应用程序的统一编程与调度,并用经济模型激励协调各参与方利益。具体来讲,Trias的技术构架与计算过程如下所示:

  

3.2.1 Trias技术设计

  

Leviatom: 作为基础层,为整个Trias生态提供了安全计算环境。为降低区块链使用TEE的难度,Leviatom采用了异构共识图算法(HCGraph) 实现了基于TEE可信计算的异构网络与基于Gossip协议构建的信任网络充分结合。每个节点都将验证记录周围节点的可信度,并借助Gossip协议在不同节点之间传播,随着验证信息在全网内反复验证交互,HCGraph 逐步描绘出全局节点的“同谋违约”模型,实现了可信任节点的高效准确定位,抑制节点作恶行为。

  

图表 3-1 Leviatom节点示意图

相关文章