介绍

我叫佟林,小团队就不说CEO啦,我们在18年创立了Phala Network这个组织,在这之前我主要是在腾讯和滴滴做产品经理相关的工作,我的合伙人尹航之前是谷歌人工智能领域的工程师,以及BTG的创始人和首席科学家。

我在18年时参与过EOS的一些产品,作为业余爱好,比如EOS账号交易合约。但是我们发现DAPP无法实现和APP一样复杂的功能,因为收到了很多基础设施限制,因此我们决定自己做一部分基础来补充!

这就是Phala Network:首个实现跨链机密智能合约网络,通过TEE结合区块链技术实现支持任何链的隐私合约,基于Phala目前已经有隐私保护数据产品即将上线。

我们团队已于2019年第3季度获得Web3基金会Grant支持,并计划成为首批波卡平行链。我们是国内第二个拿到Grant的。

很多人听说过pLibra, 但是对Phala并不是很了解, 二者关系能否做一个简要说明

好的。Phala是底层协议,而pLIBRA是在他之上实现第一个Dapp

其实Phala团队成立于18年中旬,当时我们发现Web3.0生态的智能合约,虽然可以实现去信任化,但付出的代价就是所有数据必须公开透明,这显然是一个很大的障碍,让很多应用没办法“去中心化”。

我们想要解决这个问题,所以Phala团队成立的目的,就是研发可以保密的智能合约

在一年多的时间里,Phala逐渐从概念发展到白皮书。但是就像刚才所说,协议是一个很难直接感受到的东西,所以我们要创造一个应用,给大家实际体验到我们的核心能力只有Phala能做到,而别的技术做不到。

所以在19年中旬,我们提出了pLIBRA,利用Phala能力为Libra用户提供隐私保护。我们在pLIBRA的开发过程中同完善Phala基础设施,到现在pLIBRA已经即将完成Milestone2,大多数代码已经开源。

为了不受到Libra网络进展的影响,我们也在并行开发另外一个应用:Web3 Analytics,也可以让用户直观的感受到隐私科技的魅力

请用不那么技术的语言, 讲一下Phala的技术原理?

哈哈,这个有点难度了。那我先抛个问题吧!姚期智院士在 1982 年提出了一个设想,叫做“百万富翁”设想。

就是:两个百万富翁在街上相遇,他们都想知道谁更富有,但又不愿意让对方知道自己拥有的真正财富。如何在没有第三方的情况下,让对方知道谁更有钱?

在密码学领域,这个问题可以描述成,“一组互不信任的参与方之间在保护隐私信息以及没有可信第三方的前提下的协同计算问题”。

也正是在提出“百万富翁”设想的同时,姚期智发布了一个名为“多方安全计算”(Secure Multi-Party Computation,简称MPC)的理论框架

解决这类问题,目前有两个主流方法:一个是用纯密码学的方法来解决,听上去是最理想的方法,但实际上现在的计算能力还达不到这个方法的代价.

另一个方法是使用硬件设计,实现一个硬件的可信第三方(trusted third party, TTP),它能够接收来自多方的隐私数据输入,诚实的执行既定逻辑,再反馈结果。这个硬件方案已经被成千上万的设备所拥有了,这就是CPU的TEE(可信执行环境)。

听起来很高大上?其实每个人的手上可能都有这样的可信硬件。比如iPhone的指纹功能。iPhone有一个芯片专门做指纹验证和存储。从外部完全无法干涉整个验证流程,或者读取任何验证数据。

芯片只会告诉app开发者一个“yes”或者”no”。而开发者只要能证明这个验证环境是完整的,便可相信指纹验证的结果

这套东西和去中心化网络有什么关系呢?

大家可以看到,现在智能合约都是公开透明可验证的,在很多信任危机场景下,智能合约起到了非常好的作用。

但是,假设我希望能够跑一个不被人一眼看透的智能合约,比如我们有些企业机密数据想在区块链上去实现,怎么做呢?现在还没有成熟的方法。

因此,我们希望能够利用大家都有的【可信中介】来实现能够保护秘密的智能合约!

这个就是Phala的技术原理,用通俗的语言来解释.

【 软件和硬件大约差别有多大?】

基于同态加密、零知识证明等纯密码学技术,不依赖硬件,可以高效率的应用在一些特定领域,例如可验证随机数、分布式密钥生成等,但在通用计算上有平均【一百万倍】的性能损失。

基于可信计算硬件(主要是Intel的CPU),但已经可以实现非常高效率的通用计算,大概是CPU的60%-80%的性能。

这里大家要注意:不能说TEE牛逼,而MPC不行,而是TEE可以处理通用计算需求,MPC在指定领域经过密码学家的优化后可以跑出来性能折损少一些的指标数据。

不同领域有不同的方法,比如做匿名币,用TEE就有点不匹配了。我们不要为了捧一个技术去贬低其他技术,各有各的好,适合不同的场景。

说起隐私计算大部分用户是无感的, 能否从未来大众生活场景角度多介绍几种使用场景? 即没有隐私计算能力到底会缺失哪些东西?

好问题。

大家需要隐私吗?可能现在很多会回答说:这是伪需求,尤其在中国。我认为,隐私保护是一个渐进式的发展过程。

由立法和合规层面开始,如果我们拥有更先进的技术手段,这些技术手段将促成一个摩擦更小的、更高效、更彻底的隐私保护解决方案。

先从隐私是怎么被夺走讲起:大数据时代我们看到了数据的爆发式增长,但数据的保存纯粹依赖大型公司的信用。

背后的原因就是因为数据太容易被复制,用户自己无法妥善保管。

有一个有名的思想发现,叫做“墨菲定律”,是指如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。

根本内容是:如果事情有变坏的可能,不管这种可能性有多小,它总会发生。

因此,我们可以看到以下一些现象:

  • 随着你注册账号越来越多,我们发现我们的身份证号、电话号、QQ号被频繁的出现在骚扰电话、电信诈骗里
  • 随着人工智能能力的增长,我们发现我们的脸部图片进了很多公司的数据库做机器学习,但是这些数据还可以被当做“肉鸡”用来解锁、做身份验证
  • 而不属于以上犯罪行为的,所有互联网公司都在用的:就是利用你的数据,来研究出来你的画像和行为习惯,让他们知道如何更好地挣到钱!

这是从个人隐私角度出发的案例,而还有很大的商业场景是公司、企业的机密因为业务数据流转而没被保护好的案例,在这里也不过多分享了。

有的人会说了:有付出才有回报,我不上交数据,他怎么给我更好的服务?

如果世界上并不存在这样的技术,那么这就是个伦理问题。但,如果世界上存在这样的技术,那么这就不是问题,而是需求!这样的需求恰好是Phala协议最擅长解决的,即涉及到敏感数据交换和运算的场景

看起来你们当前的技术方案是比较依赖英特尔的, 大部分人对因特尔可能作恶的动机觉得可能性不大, 不过在技术上还是觉得能够自由切换会更好, 那么这方面你们是什么计划? 有考虑更多平台么?比如AMD?

好的,对于TEE大家比较熟悉的就是英特尔了,但其实不只有英特尔垄断了TEE!

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

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

  • 软硬件协同的安全机制:隔离是其本质属性,隔离可以是通过软件,也可以是硬件实现,更多的软件、硬件、IP、总线一体的安全机制
  • 算力共享:能使用CPU的同等算力、硬件资源
  • 开放性:有对应的REE侧,才有TEE的必要性,只有在开放性中才需要可信执行环境的保护

除了英特尔的SGX,还有AMD的TrustZone等协议,只不过因为英特尔做的平台既开放、又成熟,因此我们会选择英特尔硬件作为第一批信任根。

为了避免矿工(甚至是英特尔)作恶,链的优势就体现出来了——我们让去中心化网络来验证CPU交付的计算结果是可信的~ Phala Network做了一个事情,就是在签名上做了抽象层,不完全依赖英特尔告诉我这个签名是可信的。程序结果是否是可信的。

所以虽然英特尔有一套远程认证协议,但我们只是兼容了这套协议:假设英特尔作恶、或硬件有漏洞,再或者有更多成熟的TEE协议出来(比如做人工智能学习的GPU协议),Phala网络都可以兼容的很好

这也是Blockchain对TEE的一个技术互补吧!

之前有爆料阿里巴巴的一个数据库表被泄露,表里有13亿的用户数据, 都是用户的详细转账记录, 估计可能是阿里提供给其他合作方, 而合作方保管不力导致的外流, 这种场景(A向B提供一些机密数据用于分析研究)下如何借助隐私计算避免?

聊得有点技术味儿太重了,这个问题挺好的,我们来举例说说如何落地。

大叔描述的场景在互联网公司之间再正常不过了。

互联网公司里,大家的数据主要是通过两种方式流转:

1、离线文件。

比如,A产品找B研发跑个数,算出来产品100天内的表现,B在数据库跑完结果就丢给A,因为数据如此之容易复制,所以数据泄露在任何公司都很容易出现,这只会迟到但从不缺席。

2、第二种方式就是接口了。

这种虽然听起来很高级,但是也同样要命:数据请求同样可以通过脚本的形式把数据爬下来。和1一样,通常字段还很整齐:什么身份证号、手机号、用户ID、地址,都是再常见不过的数据信息。

所以该怎么优化呢?

Phala的设计是:在这种场景下,阿里将数据通过加密的形式保存在某个地址(比如是一个IPFS的哈希值),这个密钥只有阿里负责管理这个数据的角色和TEE才拥有。

因此,任何公司要请求这个数据,比如滴滴想计算一下100天内支付宝用户DAU的平均值:他就需要把算法写成代码提交给区块链,阿里审计代码确认没有毛病之后,就授权签名. 

这段代码(机密合约)就开始在TEE内运行,TEE从IPFS哈希值读取数据到TEE里计算,输出一个明文结果给滴滴,滴滴那边只能拿到“100天内支付宝用户DAU的平均值=2.5亿”的数据,却无法获取阿里的任何商业机密。

这种安全流程如果能推广起来,一定能有效减少各公司的泄露问题!

【那TEE自己有密钥, 会不会有什么泄露问题呢?阿里怎么放心将秘钥给出来?】

这个很直接:阿里现在的密钥是掌管在很多小组、下属手里的,现在相当于部署在TEE里面,安全性一定只增不减

到目前为止,所有针对英特尔SGX的攻击都只在硬件实验室完成,且无法获取到完整信息,都是信息碎片。也就是说,目前TEE的安全性还没有成功的被实例攻破过。

密钥和加密数据存储,不只是像大家想象的一样,一整段都被塞到TEE里,还有一些密码学的处理方法,比如切片等,因此假设TEE单机被攻破,仍然可以保证其他TEE不受影响!

因为一个TEE是否是可信的,是由Phala协议来验证,我们可以迅速升级协议,将“没更新漏洞修复版本”的处理器拒之门外

我构想这么一个使用场景, 我是一个商业公司需要翻译一段重要的文字, 但是因为事关机密, 我可能并不放心直接送给百度翻译, 那么在基于可信计算环境是怎么做让我放心将文字送给第三方服务?我发送的是加密文字吗?

哈哈哈,因为有朋友确实是做这个领域的,我们探讨过这个需求,给大家分享下。

我先讲下现在是怎么做的:咱们假设一方是外交部,一方是百度翻译

外交部会在自己的IT部门私有化百度翻译的一整套服务,百度甚至可能封装好服务器直接运到外交部(因为百度怕客户盗取关键代码),外交部就有了一个私有化部署的百度翻译,从而放心的使用。这里面有两个问题:

  • 第一是成本很高,这种大B服务没几百万是签不了合同的。
  • 第二是:忘掉那些高准确率的智能服务吧!因为一旦外交部翻译文字上云端请求了,就泄密了。因此效果会打折扣:大家想想离线地图时代的高德和现在的高德,就知道效果差距有多大了。

那么用可信计算怎么做呢?和刚才的例子几乎一致(可见机密智能合约抽象之后需求的一致性):百度将翻译引擎代码通过TEE集群跑在TEE环境内,训练数据可以加密后在外部.

而外交部请求的每一条翻译,都通过TEE集群计算输出,从而保证百度不知道客户的请求包含了些什么,这样就可以做到皆大欢喜了。

隐私计算如何帮助用户拥有自己的数据吗?

首先,目前用户99.999%以上的数据不在链上,在链下。

所以这个问题就变成了:如何帮助全球互联网用户保护自己的隐私数据?

大家知道,之所以互联网能够蓬勃发展,创造出如此多的智能服务,原因是大家的一举一动都通过埋点上报给了互联网公司,公司可以合并、收购,数据可以转卖,因此像BAT、FLAG这样的巨头,能够做最高效的洞察和商业决策。

那么如何做出改变呢?我们想从埋点上报做起,从根源上一步步让世界变得更好一点。

我们希望能够提供一款接入成本低廉、体验与大家所用的Geegle Analytics差不多的分析工具,能够在保护用户隐私的前提下帮助开发者、企业分析产品数据。

甚至,还可以在保密的前提下,任何人经过用户授权都可以使用长尾的数据进行分析!这个产品就是Web3 Analytics (下面简称W3A)

我们从数据权利的角度去设计这个产品,最后形成了三权分立:

  • 数据所有权:从物理上保证数据所有权只归属于用户本人,此处关键是隐私保护
  • 数据计算权:计算权力通过区块链保障由授权系统强制执行,因此归属机密智能合约(Phala网络的目的就是运行机密智能合约)
  • 数据使用权:由权限系统流转,用户授权开发者则第三方可以使用被授权的部分

之前无数区块链项目吹嘘可以做到“打破数据孤岛”,我都听吐了。结果大家也看到了。

那么我们是如何实现的呢?

第一,W3A提供Web、移动SDK:某个网站所有者可以接入W3A SDK,通过端到端加密后实现埋点上报。此处可以保证:私钥只有用户本人和TEE矿工设备所有,开发者和我们都无法对数据进行解密。

第二,去中心化用户数据管理:用户可以通过私钥签名,进入W3A控制台管理数据和及其访问权限。他可以删除、下载一切自己的数据。

第三,对于想使用数据的第三方:他可以通过模板化的W3A合约、或者自定义SQL提交为Phala网络的机密智能合约,这些计算合约会去查询用户是否用私钥签名完成授权了.

如果完成了授权,这段分析程序就会在TEE内完成数据分析,并将结果数据展示给开发者。这个步骤中,无人可见数据,但是又能看到整套流程和数据是可信的。

那么有人会问(那么哪里可以买到呢),整合W3A需不需要复杂的开发呢?

答案是不用,只需要在现有的应用里嵌入几行代码即可,我们的保密合约会完成剩下的所有工作,就像整合Google Analytics一样简单,我们会提供面向用户的个人数据管理App,以及面向开发者的数据分析后台。

Plaha网络的通证激励是怎么设计的?有哪些角色?重点激励哪些?用户是什么位置?

Phala这个协议的关键资源是:链上的状态数据、链下的TEE计算资源和由链下产生的数据资源。

因此,Phala的核心输出型角色有三个:

Gatekeeper:在隐私合约中所有数据都加密保存,为了保证矿工随时可以使用数据我们需要Gatekeeper这一角色时刻在线并安全持有密钥。Gatekeeper更像是波卡Validator,负责维护网络共识和安全性。

可信矿工:在Phala的网络最核心特性是:隐私计算是由可信设备TEE实现和完成的。

因此,我们需要足够多的可执行TEE任务的CPU来完成计算,这就需要POW网络中矿工类似的身份:只不过他们更多的是单纯的接入“挖矿客户端”,提供算力获得收益,更像云计算的算力调度而不是POW算力调度。

数据提供方:没有应用落地,一切狗屁项目都是浮云!

我们是做可信计算的,因此有数据(内容)是业务开始的必要准备。我们会将大部分的token都用来奖励能够接入W3A的开发者(只要有网站就行)、以及前者app或网站下面的用户,有点像BAT的奖励逻辑。

而为此买单的人,主要是分成两类:

  • 需要开发和部署机密智能合约的开发者。这部分人群可能是看到了普通智能合约完成不了、但是又有市场的产品,想要去开发,则可以通过Phala来进行机密合约的部署
  • 另一部分,是使用机密智能合约的第三方。比如DAPP用户、企业、数据分析公司等,他们需要支付Phala来拿到隐私计算的结果或服务。

【怎么理解:更像云计算的算力调度而不是POW算力调度?】

POW的算力调度,是通过竞争计算难题来拿到区块奖励,因此是零和博弈;而云计算,更像是有多少订单接多少订单,只要需求源源不断,就会有人开服务器来挣钱,是一个增量市场

可信计算过程中涉及到的存储你们有什么相关技术方案?

首先是端到端加密,这块很成熟了,不需多说;

第二是加密后的数据,我们会选择两个方式:

  • 默认我们会使用去中心化的存储协议,比如Filecoin、Sia等等,甚至会挑选一些战略合作伙伴协议,比如Crust,一个用TEE来优化时空证明的去中心化存储方案
  • 另外我们支持客户自己挑选数据存在哪里,有的人就是希望中心化的存,这种情况下我们会标识出来,这样使用这些数据的人也会注意到其特殊性。假设可用性有问题,那么这个客户就会在Phala产生不好的商誉记录。假设有人就希望本地存,那么我们也会标识出来。

因为需求是多种多样的,我们不能强制性要求大家都去把加密数据上链;因此Phala也会支持多种数据存储协议。

另外提一句,我们更希望web3.0生态是丰富多样的,协议和协议之间是共存关系,所以我们自己不做数据存储协议,我们会挑选合适的协议来做数据存储,为他们提供使用场景。

假设我是一名以太坊智能合约开发者, 如果现有智能合约要集成你们的隐私计算能力, 需要具体做哪些事情?直接修改只能合约代码?还是重新部署在其它专门的地方?

我们支持两种方式:

如果不想从以太坊上完全迁移,可以通过ETH上的转接桥合约来调用Phala,开发者只要在Phala链上部署保密合约来实现核心业务即可。我们通过数据跨链的方式,可以允许ETH到Phala的双向调用,既可以实现Phala的保密能力,也可以复用ETH上的丰富生态。

如果想获得更好的性能,那么我在此推荐:完全迁移!Phala支持WASM智能合约,任何支持WASM的语言都可以用来开发Phala合约。特别的,对于已有的Solidity代码,可以利用Solidity到WASM的编译器来自动迁移,实现现有的代码开箱即用。

一句话说明你们和同类产品相比的核心优势是什么?

一句话,两张图,送给大家。

目前所有的TEE协议,都无法实现机密智能合约合约之间相互调用,即可组合性。我们都知道,可组合性是以太坊上DeFi生态存在的大前提,而Phala就通过创新的设计,实现了合约之间,甚至跨链的可组合性。

介绍下你们的近期动态和未来一段时间的计划。

我们作为波卡生态的建设者,先和大家说下波卡的节奏:

  • 波卡的疯狂表亲KUSAMA已经运行了4、5个月了,下一步波卡的核心功能——平行链部署——会在4月份到5月份上线KUSAMA
  • 波卡主网大概会在这两个月上线,初期应该主要是转账等基础功能,这些功能在KUSAMA已经比较稳定了

因此,我们的节奏:

3月底,我们会发布一版我们的测试网,这个测试网主要是给开发者用的。

与此同时,我们首推的隐私计算产品W3A也会提供内测功能,任何网站都可以来尝试接入,验证我们的产品,这部分我们叫做数据挖矿

3月底4月初,我们会对以太坊的开发者做一轮锁仓空投,来公平的发放我们的token。

4月或5月,可能会有交易所相关的动作。

5月底6月初,我们的主网就ready了,随着主网上线,任何人都可以使用Phala协议做隐私计算,甚至任何网站都可以使用W3A来保护用户隐私,相应的我们会提供可信挖矿激励:有电脑的、有网站的,都可以来参与哦~