金色深核 | 一个“软硬兼顾”的区块链隐私方案

916℃ 607评论

以往大多数隐私保护通过代码实现,但为了安全性和有效性的并重,隐私保护技术总会面临指数级的技术瓶颈,而如果将硬件与软件结合,就形成了第三代的隐私计算解决方案。

每当又一件数据泄露事件出现在新闻中,才能警醒我们该思考隐私的重要性。区块链技术的风口正胜,我们正迫切期待着区块链技术可以提供一个数据保护方案,亦或者提供一个更加安全的网络给用户。这将意味着不仅仅是对于固定位置存储的保护,也需要保护流动的数据,例如我们在App内的行为轨迹,我们的即时通讯信息等等。

这就和隐私计算有极大的关系,隐私计算中的计算,可以理解为执行任务,例如执行一个智能合约。其涵义就是在保证足够隐私的情况下,执行计算任务。

怎样理解隐私计算?

我们来解剖下隐私保护过程。

首先想要完成隐私保护,必然需要加密,无论是什么过程,隐私是不公开的,加密算法一定是隐私计算方案中的必须之一。其次,隐私计算中执行计算是需要算力和数据存储,也就需要服务器。第三,隐私性和匿名性有一定联系,但匿名性并不准确的代表隐私。最后,隐私计算是基础技术,需要图灵完备的解决方案。

区块链成为技术攻坚的技术突破口,很大程度上是因为区块链领域在金融以及数据保护、供应链改造上的优势。而从技术革新的角度上看,区块链对于数据保护的优势在于实现可信的环境,而数据需求更贴近底层基础,这也意味着,区块链和隐私计算的成功,会是未来商业被革新的第一步。

在隐私计算的领域中,我们所知晓的区块链项目中已经有很多关于隐私算法以及隐私币,我们会了解到例如环签名、多方计算、零知识证明以及“伏地魔”协议等关于隐私保护的技术名词,放眼历程,从项目进化上看,大约分为三种类型。

第一代隐私技术的典型代表是Zcash和门罗币,他们通过零知识证明、环签名、保密转账等技术实现了交易的隐私保护,其中一个突出的特点就是技术可以保护原生代币的交易隐私。

第二代隐私技术的典型代表是以太坊上的隐私协议Aztec,其采用和Zcash类似的技术,可以为任何ERC20代币实现交易隐私。第二代技术只是第一代的扩展,只能实现交易隐私,而对于新生的通过其他算法实现的隐私项目Grin、Beam等,同样都只是在交易层面的匿名及隐私保护。

但隐私技术一定是商业社会的基础技术,全面的隐私保护需要图灵完备的特性。那也就需要不仅仅局限于代币、内生币的转账、交易,在数据流通以及数据存储的过程都需要完成隐私保护,并且可以大规模应用在需求旺盛且不断变化的商业场景中。

数据隐私的链上和链下

数据隐私,最简单可以理解的是将数据放在一个安全的位置,这个位置其他人无法访问,没有人对这个数据有任何的权限。其次就是要保证在将数据被放进安全区域的过程没有人可以篡改。

因此,例如当比特币的交易被保存在区块链,我们认为区块的信息是可信的,当区块中保存的数据换成其他的数据,我们也相信这个数据真实,并且不可篡改。如果相应的数据被加密后打包在块里,那打包在块上的信息也就不可篡改,即安全的。而加密过程需要相应的私钥解密,才能获取信息,在区块链的帮助下,可以让攻击者解密以及修改成为一个成本极高的事情,也就保证了安全性。这就是数据保护中的链上。

但因为处理效率的限制,链上并不是所有数据的存储位置。链下或非主链区域才是数据的大场地。在这一部分也就需要更完善的设计逻辑。在拜占庭的通讯过程中,链下让节点作恶,只能通过博弈完成,而如果利用可信计算和矿工激励实现,也可以最大程度保护网络。

因此,对比链上和链下,链上有公开打包后的数据的过程,实现了链上的可信。而链下(非主链),如果我们质疑拜占庭的通讯过程,那硬件级的可信计算能力,可以帮助链下形成足够可信的计算过程。

一个通过软硬件结合的隐私解决方案

接下来我们将用项目Phala Network的模式为大家呈现一个软硬件融合的隐私解决方案。Phala Network创始人尹航对金色财经记者表示,综合来看,第三代技术是把“隐私保护”的概念拓展成“机密保护”,隐私不仅指用户的交易隐私,更应该能保护智能合约中的任何机密数据不被泄漏。目前的智能合约技术,所有的数据都必须完全公开,而我们希望“机密智能合约”(Confidential Smart Contract)可以如同以太坊的图灵完备智能合约一样,可以进行通用的计算,但不必暴露机密数据。

Phala 的机密智能合约技术可以通过多方计算(MPC)与可信执行环境(TEE)实现。前者基于同态加密、零知识证明等纯密码学技术,不依赖硬件,可以高效率的应用在一些特定领域,例如可验证随机数、分布式密钥生成等,但在通用计算上有平均10^6倍的性能损失。

后者基于可信计算硬件,已经可以实现非常高效率的通用计算。Phala.Network选择了可信计算方案,实现保护机密数据的、通用的图灵完备智能合约。

在分析之前,我需要提及一下工程化的概念,Phala Network是波卡生态内的项目,其团队开发的理念与众多波卡社区开发团队一致。主要在于通过技术方案的创新来切实解决某个问题,而非通过宏观概念来为一个应用效率背书。

在比特币网络中主要用区块链来解决双花问题。以太坊又在比特币的基础上,扩展了交易脚本,允许执行任意的逻辑,实现了去信任智能合约。但只要用了区块链,数据就要公开,这导致很多需要数据保密的应用不能去信任化。Phala Network是基于可信硬件的保密智能合约网络。Phala Network中,每个节点之间不是通过拜占庭算法实现信任的,将去信任化通过可信硬件保证。

而单独的硬件也难以同时解决不了可用性和状态一致性。可用性是指需要硬件执行的相对稳定可控。状态一致性则是防止双花,如果使用多个可信计算硬件实现节点要交互,代码执行的先后顺序不明可能会导致双花,这就不满足状态一致性。

这就同比特币一样,需要借助区块链解决这两个问题。把状态数据加密存储在链上,任何人无需许可就可以下载,共识算法下,每个节点都能得到一致的状态,杜绝双花问题。而这个过程中执行智能合约、计算以及出块等行为都是通过芯片中的可信执行区域的算力和存储完成的。

依靠硬件的完成的共识,让Phala Network还可以实现合约的并行和较高的性能,并且可以实现智能合约之间的相互调用而兼容多种跨链方式(Phala上的转接桥、波卡的ICMP协议等)。在这个部分,值得一提的是Phala Network的主链安全性是由波卡主网来保证的,这也是为什么Phala Network出现在波卡的生态内。

Phala的隐私计算模型是如何工作的?

Phala的隐私计算目前基于Intel SGX芯片。从Intel的第六代CPU开始,每一个CPU内部都包含一块特殊的区域,我们把它称作“安全区”。安全区是硬件层面隔离的,安全区内部署的程序在执行过程中不会被干扰,数据也不会泄露,可以抵御来自操作系统、硬件级别的攻击。因此Phala把合约部署在安全区内,可以保证合约的输入、输出,以及执行过程都保密。只有用户权限足够才能解密数据。

如果合约之间需要相互调用,那可以通过给予加密权限设计,而对于用户来说,可信硬件执行合约的同时会生成出一份密码学证明,可以被浏览器、手机钱包独立验证。

因此可以总结一下,Phala包含一条主链与可信硬件矿工网络,据与开发团队沟通的方向,未来会争取成为波卡的平行链。合约在可信节点上并行地执行,开发者以合约的形式部署转接桥与Dapp在网络之上。其中,主链提供了跨合约、跨链的调用,矿工提供了算力,转接桥实现了和外部区块链的通信。依托波卡提供的安全性,Phala的目标在于去实现更复杂的业务逻辑。

写在最后

当我们谈论数据隐私的时候,其实我们已经在商业社会中沉沦多年,我们的数据,是互联网平台去服务我们的基础,但也是平台利用用户创造价值的核心。我们可能长期使用一个软件,已经形成了足够的信任,也形成了“我使用软件,你用我的数据”的潜意识。但数据是资产,终究要将归属权拿回来,当我们面临潜在危险的可能性时,数据隐私是保护我们的最后一道墙。

在区块链与各行各业深度融合的应用方向上,数据变得足够隐私,将会成为每个行业级解决方案的基础,可惜的是如今的区块链应用似乎无法承载这样的行业重任,如今密码学以及隐私技术已经发展多年并多点开花,只恐于行业的标准解决方案并未成形,思之而知道远。

当隐私只能定点保护,这不是当今社会的需要的,隐私计算的实现,是延伸到每个动态执行的合约中的保护,将是未来隐私社会的第一试金石。

喜欢 (307)or分享 (0)