区块链:隐私技术项目路在何方?-ODAILY

主持人:王航,《金色深核》栏目策划人

嘉宾:

林煌,SuterusuCTO

谢翔,PlatON算法科学家

尹航,PhalaNetworkCTO

Q1:首先我们先做两个假设,假设1假设我们要解决多公司之间数据需要保密且共同使用的问题,三个技术路线如何去做?假设2如果我们需要让搜狗输入法不获取任何用户隐私,且能实现和现在同样的功能,如何去做?去年Maskbook火了一下,各位如何看待这种“轻模式”的隐私应用?

隐私保护有很多种技术,每一种都有它适用的范围。所以我想首先提出一个简易的框架,对具体的问题做一个分类。

第一种最简单的情况,参与合作的人互相可以分享数据,不希望被他人看到,也不需要向他人展示任何信息,这种情况下其实只要用普通加密就可以了。

第二种情况,参与合作的人互相可以分享数据,他们不希望他人看到他们之间分享的数据,但希望展示数据的一些特征。这种情况零知识证明可以解决问题。

举个例子,Zcash转账的时候,收发人之间是知道转账金额的,但他们不希望别人知道这个金额。于此同时,为了确保交易是合法的,还需要向网络证明这笔钱的确是存在,没花过。

第三种情况更复杂,参与的人之间不愿意分享数据,更不愿意他人看到数据,但希望展示数据的一些特征。这种情况描述的就是经典的安全多方计算问题了,TEE和MPC可以解决这类问题。

实际上很多场景都符合这种情况。举个例子,几家互联网广告公司,各自拥有一些用户行为数据。他们如果把数据整合起来,广告准确度会大幅提高,但这些业务数据非常敏感,不可能互相分享。这个时候就需要一种技术,“参与的人之间不愿意分享数据”,但又希望可以使用多方的数据进行计算。总结一下:

比特币隐私技术CoinSwap完成首次代币交易测试:12月9日,比特币隐私技术Chris Belcher开发者宣布,比特币隐私技术CoinSwap已在测试网上完成首次代币交易测试。[2020/12/9 14:44:31]

成员可以共享数据、不需要对外公开信息时,普通加密即可。成员间可以共享数据、需要公开数据特征时,可以采用零知识证明。成员间不能共享数据、需要公开数据特征时,可以采用TEE、MPC。

回到主持人的问题上来。第一个问题,多公司之间的数据联合使用,就考虑公司之间是否愿意共享数据,如果愿意,零知识证明是可选方案,否则就需要TEE或MPC。

第二个问题,如何实现一个搜狗输入法且保护隐私。输入法的体验提升来自于两种数据:大量新鲜的语料、用户的私人习惯。

在这个场景下,用户与用户间、用户与搜狗间互相不愿意共享数据,且希望利用各方的数据改善算法模型。所以这是一个安全多方计算的问题,可以采用TEE和MPC解决

然而这个问题有趣的一点在于,其实对于保密性稍作让步,就可以巧妙的采用更低成本的方式解决。

算法模型是训练而来的,但更新模型的过程不一定需要原始数据。换句话说,我们把用户数据做一系列的变换,让他不再包含隐私数据,但又可以更新模型,这其实是有可能的。这种算法就叫联邦学习,是针对深度学习的隐私保护方案。在这种算法下,模型与更新数据可以完全公开。其中更新数据的变换步骤,可以采用数学方法或TEE、MPC。

再说回来轻模式。“轻模式”很好啊,用最直接的方法,解决最迫切的问题,才能抓住用户。我认为渐进式的发展是一个普遍规律,不仅是隐私保护,整个互联网行业都是如此。

区块链从业者一定要认清现实,现在我们还处于区块链、Web3.0的早期,甚至门都没入,习惯了Web2.0体验的用户不可能一夜之间迁移到Web3.0。

媒体:俄罗斯试图收购瑞士隐私技术初创公司NYM:根据一份泄露的独家新闻稿和机密电子邮件,俄罗斯似乎试图通过收购瑞士隐私技术初创公司NYM来确保COVID-19危机期间的互联网安全。虽然“RU Net”还没有准备好,但这可能是在当前全球大流行期间加强其国家数据高速公路的第一步。这些电子邮件显示,一家被认为是由俄罗斯政府秘密控制的加密货币投资实体已经提出收购Nym。

据称,俄罗斯卫生部、俄罗斯技术发展基金会和数字发展部正在共同努力,将“选择性披露凭证(SDC)”作为政府机构之间所有通信的新标准,以加密方式验证其系统内共享数据的有效性。目前尚不清楚俄罗斯是否将通过Nym凭证使用现有SDC计划,或者是否将使用内部开发的俄罗斯GOST加密标准创建自己的凭证。 (CoinJournal)[2020/4/1]

隐私保护也是一样,我们有了最先进的技术,但为了发挥出技术的威力,还是要回到产品作为切入点。Maskbook就是一个不错的切入点,从用户一端,引导Web2.0用户融入Web3.0生态。我个人认为,从公司一端也可以入手,逐渐打开隐私保护的市场。等到用户普遍上车了,更重、更彻底的方案就可以开始大展身手了。

Q2:对于加密货币来说,两个重要的过程是交易隐私和密码管理,三位嘉宾的项目怎样实现这两个过程的?三位如何理解“DID在隐私应用的重要性”?

零知识证明的主打功能就是隐私交易,而PhalaNetwork则融合TEE与区块链的优势,实现了能够数据保密的通用智能合约,破除智能合约一切数据必须公开的限制。

具体来讲,TEE是CPU内保密合约的执行单元,保密合约运行在CPU内的特殊黑箱——安全区,合约的执行与操作系统甚至外部硬件完全隔离,保证数据对外不可见,因此交易隐私得以保证。

密钥的管理也是一个很有趣的问题,密钥就等同于区块链上一切资产的所有权,因此目前的区块链上,密钥必须由用户妥善保管,否则就可能丢失资产。智能合约可以用于灵活设定权限,但由于公开的特性,并不能替用户保管密钥。

声音 | Weiss Ratings:Chainalysis监控手段会让公共区块链的隐私技术更强大:加密货币评级机构Weiss Ratings近期在推特上称,根据公开记录,在五年内加密数据分析公司Chainalysis在5年内通过为美国政府监视使用公共区块链的人们,已经收到了超过1000万美元的收入。Chainalysis还将获得1400万美元。Weiss Ratings表示,政府是唯一有兴趣资助区块链监控的机构。然而,这种情况对公开区块链是有利的,因为这将使其隐私技术更强大。(U.Today)[2020/2/15]

但有了保密智能合约就不一样了,用户完全可以把密钥保存在合约中,利用合约灵活的验证用户身份后再释放密钥,而不必担心密钥丢失。

可以在合约中管理密钥的另一个好处就是,跨链资产管理会变得非常简单,例如,我可以在合约中保存比特币私钥,允许以合约的身份收发比特币,另辟蹊径实现比特币的跨链智能合约。

我们最早推出的基于Phala的一个应用叫做pLIBRA,就是利用TEE保管密钥,实现Libra的跨链。

再说回DID。DID和隐私保护是不可拆分的。DID就是链上的身份证,我相信不会有人愿意把自己的身份证公开给全世界看。因此,只要使用身份信息的地方,就一定需要隐私保护。

隐私保护技术可以是多样的,例如零知识证明可以用来创建临时身份,而在Phala,我们即将上线的项目Web3Analytics,则会利用TEE在各个DID关联的数据上进行联合分析,得出有价值的分析结果。

DID做到比较好的程度就是半去中心化,利用中心化机构解决链上链下的身份的关联,但又可以利用隐私保护技术,实现匿名的临时身份功能。

Q3:TEE应用的背景条件有一些“困境”,除英特尔外其他厂商不够标准化,英特尔虽然有tee标准,但标准不明确,移动端的硬件也存在尴尬现状,尤其是手机厂商的TEE不能通用,移动端没有可用开放的设备,这样的现状给行业内的创业者留了机会和挑战?

动态 | 德勤在企业区块链产品中添加零知识证明隐私技术:德勤(Deloitte)周二在阿姆斯特丹举行的ZKProof社区活动上宣布,已在其企业区块链产品中增加了零知识证明隐私技术。德勤与以色列的零知识证明专家QEDIT合作,帮助用户控制区块链共享有关他们所获得的证书和资格的数据。(coindesk)[2019/10/29]

首先普及一个背景知识:TEE是2010年GlobalPlatform颁布的一整套TEE系统体系标准标准,并不是由英特尔一家制定的。王航分享了我们之前写过一篇TEE的起源故事,感兴趣朋友可以看下。

许多商业或者开源产品一般都会参考这套TEE规范,并按照其定义的各种功能接口进行规范实现。其中大概定义的TEE标准特征是:

软硬件协同的安全机制:隔离是其本质属性,隔离可以是通过软件,也可以是硬件实现,更多的软件、硬件、IP、总线一体的安全机制

算力共享:能使用CPU的同等算力、硬件资源

开放性:有对应的REE侧,才有TEE的必要性,只有在开放性中才需要可信执行环境的保护

除了英特尔的SGX,还有AMD的SEV与ARM的TrustZone等方案,只不过因为英特尔做的平台既开放、又成熟,因此我们会选择英特尔硬件作为第一批TEE。

为了避免矿工作恶,区块链网络的特性就体现出来了:需要网络来验证CPU交付的计算结果是可信的,PhalaNetwork做了一个事情,就是在签名上做了抽象层,不完全依赖英特尔告诉我这个签名是可信的。

程序结果是否是可信的,英特尔有一套远程认证协议,我们只是兼容了这套协议,假设英特尔作恶、或硬件有漏洞,再或者有更多成熟的TEE协议出来,Phala网络都可以兼容的很好。

声音 | 帅初:正准备在QTUM上增加Mimble Wimble隐私技术:量子链创始人帅初昨日在推特表示:我们致力于在Qtum平台上通过预编译的智能合约实现Mimble Wimble技术。因此,用户可以在Qtum上发布机密资产或代币,而不再是公开透明的ERC20。注:MimbleWimble是一个区块链隐私保护的格式和协议,是一种可以防止区块链泄露个人信息的技术。[2019/6/26]

可以想像一下,如果我们可以在区块链上构造一个联盟,为各种不同的厂商提供TEE的认证基础设施,就可以进一步降低对厂商的信任依赖,这也是区块链对TEE的一个互补吧!

Q4:GPU如果可以做TEE,会如何?当算力越高,如何面对TEE中心化的问题?

先说结论,TEE算力越高对Phala越有利,而不会引发中心化的问题,这是TEE-区块链混合架构的一种特点。背后的原因是Phala和当今区块链原理上的根本差别。

比特币和以太坊用区块链来解决双花问题,付出的代价就是需要在每个节点上运行昂贵的共识算法,达到所有节点状态一致的效果,从而实现了“去信任化”。

而和这些链不同的是,Phala的去信任化通过可信硬件保证,让硬件充当一个不可作恶的第三方,不仅可以实现去信任化,更实现了数据的保密。因此从技术上讲,Phala的节点本质是“非拜占庭的”,无需通过昂贵的共识算法就可以保证合约的安全执行。

由于Phala矿工是非拜占庭的,就得到了一些非常实用的特性。

第一是合约级的并行,因为非拜占庭,我们不用通过每个节点共识一次实现去信任化,因此每一个合约只需要运行在最少一个矿工上,每个矿工仅负责运行自己的合约,不同的合约在全网并行执行。因而网络的计算性能随着矿工的增加线性增长,可以实现极高的性能。

简单地讲就是,矿工越多,吞吐量越大。

第二个是天生支持跨链,Phala的合约是并行执行的,因此我们利用区块链与TEE互补,设计了一套合约之间的互操作协议,而这个互操作协议兼容Polkadot的XCMP,因此跨链调用与合约调用一样简单。

相信高性能和互操作是未来隐私保护技术大规模应用的基础。

林煌:Phala的方案对TEE和区块链隐私分别有什么补充?Phala与著名项目OasisLabs的区别是?Phala的最大特性可组合性是如何实现的?

显然区块链缺少的隐私能力,在TEE上可以轻易实现。但TEE如果没有区块链的帮助,很难解决一些固有的缺陷。

刚才提到,Phala的去信任化是通过可信硬件保证的,然而单独的硬件解决不了两个问题:可用性和状态一致性。单独的硬件,拔电源就不能提供服务了,恶意的服务商可以随时终止服务,这就是不满足可用性。第二,多个可信计算节点常常有交互的需求,然而并行计算的基础告诉我们,代码执行的先后顺序不明往往会导致RaceCondition,在加密货币上即为双花,这就不满足状态一致性。

因此,Phala最终采用了TEE-区块链混合架构。我们把状态数据加密存储在链上,任何人无需许可就可以下载,利用共识算法,每个节点都能得到一致的状态。

最典型的TEE-区块链混合架构就是OasisLabs的Ekiden。但在我们早期调研时发现Ekiden缺少可组合性的基础——互操作。

可组合性在实际的区块链应用必不可少,是实现规模化网络效应的基础。

举个实际的例子感受一下,在以太坊排名前10的合约中80%都用到了合约间的组合与交互。同样地,Phala上的数据交易协议也需要与链上应用和服务,包括去中心化存储、DeFi等基础设施相互组合。

为了实现可组合性,PhalaNetwork引入了独特的分层与事件溯源机制,简单而言,Phala把合约的读写两类操作分离,写操作在链上排序,从而杜绝了RaceCondition,同时实现了TEE间的共享安全性。允许合约之间、甚至是与外部区块链之间得以互操作。

所以我们认为TEE和区块链的互补必不可少,而Phala也是通过对这个架构的改进,实现了OasisLabs缺少的可组合性。

Q5:现在对计算开销和存储开销大多都是预设,如果利用链来实现应用,三个项目都区域基础技术,那怎样判断需要一条什么样的区块链,输出能力、算力多少可行?几位嘉宾认为是保护区块链链上的隐私更重要,还是保护链下的隐私更重要?

我认为大规模应用下,大量的数据是不能直接上链的,因为目前的区块链并不适合处理大量的数据是一个共识。所以在Phala所有的合约计算都在链下执行。之前提到,Phala的节点是非拜占庭的,和区块链网络相比,Phala的网络更接近于节点之间可互相信任的传统分布式系统。

这样带来的一个好处就是,传统分布式系统中常用的大规模处理方式在Phala中可以照搬,大家熟悉的Mapreduce、Spark、甚至分布式数据库,理论上都可以在Phala上实现。

分布式计算依赖一个重要的能力,就是横向扩容,俗称堆机器,大多数区块链下每一个机器都进行同样的计算,无法实现横向扩容。Phala则不一样,每个节点各自计算,互相平行。因此对于我们来说,算力越大,可以承载的应用规模就越大,这是满足大规模应用的计算需求的唯一方法。

至于链上和链下的隐私保护,我认为重要性是一样的。目前链上的隐私相对成熟一些,只不过目前全世界的数据,可以说接近100%都在链下,所以很明显,这是一个潜力巨大的市场,不会有人放弃。

Q6:三位嘉宾的项目都使用了零知识证明,除此之外三个技术的相互组合性如何?可以促成什么方案,各位可以畅想一下?

三位嘉宾的项目都使用了零知识证明,除此之外三个技术的相互组合性如何?可以促成什么方案,各位可以畅想一下?

密码学技术的代价是高昂的计算成本。例如刚才谢翔博士提到过,MPC可以支持两三方的机器学习模型训练。而对于某些更通用的计算问题,计算成本可能是原生的百万倍。

这也是为什么我们与OasisLabs都不约而同的采用了TEE的主要原因。

TEE可以实现通用多方计算的能力,而且成本很低,大概成本只是原生的1.5-2倍。因此在不追求绝对的理论完备性的情况下,不失为密码学方案的一个补充。可以承载99%我们日常生活中的实际应用。

举个实际的例子。我们目前的一个方向是隐私数据的收集与管理,其中身份与密钥保密通过ZPK与MPC实现。而我们面向的普通的Web与移动应用,每天可以产生以TB计的海量数据,如此大规模的数据,MPC的成本是不太现实的。因此TEE在我们的系统中承载了99%的功能,是最适合落地、最高效的方案。而MPC与ZKP也是系统中的重要部分,不可或缺。

结语by王航

关于隐私,关于区块链应用,我们现在处于一个全力趟路的阶段,很多解决方案和设计,都需要逐一实现,但在区块链产业内的创业者们还是要做好持久战的准备,现在区块链的应用并不是业内竞争,与之相比的是整个互联网的应用。各位“技术战士”合力、加油。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-0:834ms