Phala 系列 2:底层构建方显“云”本色 -Phala Network 基础设施:节点网络及 Phat Contract
Bluemountain Labs
2022-12-01 18:04
订阅此专栏
收藏此文章

Phala Network 系列 2





目录



1. 第一性原理:结构决定功能

2. 硬件基础单元:Secure Enclave

3. 网络基础单元:Worker Nodes

4. 核心应用程序:Phat Contract

5. 运行时环境:pRuntime

6. 构建去信任化的 Web3 计算云

01//

第一性原理:结构决定功能

结构决定功能,这是物质世界的第一性原理。一个系统表现出来的功能和性能,一定对应着组成该系统的硬件或者软件,由这些硬件、软件最基本的功能、性能以及相互作用关系决定了整个系统的功能和性能。

《Phala Network 系列 1:综述 -Phala Network:web3 全球计算云》中我们知道,Phala Network 是“区块链 +Secure Enclave”软硬件二元融合架构,如图 1-1 所示。

图 1-1 “区块链 +Secure Enclave”二元融合架构

(图片来自:Phala Network)

由此可知,可信硬件(具备 TEE 的 CPU)和可信软件(Phala Blockchain)是 Phala Network 最基本的构成。这样的结构决定了 Phala Network 是一个可信网络。

但图 1-1 过于简单,过于抽象,除了体现“可信”以外,难以表达 Phala Network 所具备的丰富功能、优越性能和运行逻辑,所以我们需要在此结构上进一步分解。如图 1-2 所示,其表达了 Phala Network 主要的结构化核心功能单元。

图 1-2 Phala Network 的结构化核心功能单元

遵循“结构决定功能”这个论断,Phala Network 的功能及相关性能,也是由构建该网络的硬件基础单元、网络基础单元、核心应用程序、运行时环境(操作系统)的基本功能、性能和相互作用关系决定的。

本文将从这个角度,按照从局部到整体的方式来分析 Phala Network 的软硬件基础设施,由此展示出“Phala Network 作为 Web3 全球计算云”的创新和超凡本色。

02//

硬件基础单元:Secure Enclave

如图 2-1 所示,具有 Secure Enclave 的 CPU 是 Phala Network 的硬件基础单元,由其提供可信执行环境(Trusted Execution Environment,TEE),Phala Network 的其他构成部分如网络基础单元(工作节点)、核心应用软件(Phat Contract)以及运行时环境(pRuntime,操作系统)都是部署和运行在 Secure Enclave 中,所以 Secure Enclave 也成为了整个 Phala Network 最为基本的组成单元。


图 2-1 Secure Enclave 硬件具备的功能及性能

(图片基于 Phala Network 资料编辑)


Secure Enclave 是 CPU 中的一个安全区域,被称之为可信执行环境,它提供两种安全保证一是加载到其中的代码和数据的机密性,二是程序在其中执行的完整性。也就是说,Secure Enclave 提供了硬件级别的安全隔离,未经授权,任何 Secure Enclave 之外的实体都无法读取和篡改其中的数据、状态和代码,由此提供了安全、隐私保障

同时,因为程序是在 TEE 硬件中而不是虚拟机(如 EVM)中计算执行,其执行速度即计算性能的优势是显而易见的,不仅可以运行简单的智能合约,还可以运行更加复杂的应用程序,如人工智能、多人在线游戏、大数据分析、NFT 高精度渲染等,这为 Phala Network 作为云计算网络将来承载更加复杂的 Web3 应用奠定了高性能计算的基础

另外,相比于 BTC、ETH 算力设备以及中心化云计算中心专用服务器,Phala Network 对计算设备的要求对算力贡献者来说更加友好。正如 Phala 联合创始人 Dr Shelven Zhou 在“TOKEN2049 Singapore 2022”演讲中陈述:“Phala 并不是将安全声明和区块链结合起来的唯一程序,但目前我们是唯一一个允许任何拥有这些硬件的人加入我们网络并提供他们核心能力的项目。”

一般通用计算机都具有 TEE 功能,都可以无需许可地加入到网络中成为计算节点,这使得计算节点更加趋于个体化,在全球分布更加广泛。图 2-2 显示了截止 2022 年 11 月 30 日,PhalaNetwork 中的计算节点达到 36,962 个,vCPUs 达到 141,346 个,并分布在全球 50+ 的国家和地区。这与由单一机构提供算力服务器的 AWS、GCP、阿里云等中心化云计算服务商显著不同,Phala Network 也因此具备了去中心化和抗外部因素干扰的特征属性


2-2 Phala Network 中的计算节点数量及分布(图片来自 Phala Network)



目前 Phala Network 采用 Intel SGX 提供高性能计算、安全、隐私增强的网络基础设施能力,未来将支持 AMD SEV 和 Arm TrustZone 等,以增强基础设施的可靠性、去中心化以及防攻击的能力

03//

网络基础单元:Worker Nodes

所谓工作节点(Worker Nodes),简单来说,就是经过注册获得唯一身份 ID 的 TEE 计算设备在 Phala Network 中被加载 pRuntime 操作软件,具备了运行智能合约的基本功能,并在系统中进行定位而获得角色,发挥相关的功能和作用,使得整个 Phala Network 有序运转。这本身也是 Phala 区块链软件协议与 TEE 硬件交互、融合的过程

在 Phala Network 中有三类角色的工作节点:

创世节点(Genesis Node):整个 Phala Network 中只有一个创世节点,其作用主要是完成系统配置和启动网络,并在网络启动后被销毁。

矿工(TEE Miners):主要负责合约的链下计算执行。矿工提供具有 TEE 功能的可信计算资源来完成各种隐私计算任务,确保加载其中的代码和数据的机密性和完整性,并以此获得回报。

看门人(Gatekeepers):主要负责区块链出块及维护管理。一定比例的看门人被动态的选举出来并实时在线,以维护和验证区块链,管理用户和矿工,以及他们与网络之间的连接和交互,以确保网络的安全和可用性。

所有工作节点在 Phala 的安全协议框架下统筹组织和管理,而整个 Phala Network 则依靠这些工作节点的功能和相互作用关系得以有序、高效运转。举例来说,不同硬件配置的可信计算资源(矿工)具有不同的计算能力和安全程度,Phala Network 以此建立“信任分级机制”,为不同信任级别的计算资源分配不同复杂程度的计算任务,使得整个网络更加安全、健壮,且矿工工作更有效率和成效。

04//

核心应用程序:Phat Contract

Phat Contract 打破了传统智能合约链上计算模型,因此也打破了链上计算模型的局限性;实现了去信任化的链下计算,也实现了 Phat Contract 的功能创新及性能突破。

链上计算模型强调合约状态的确定性,也就是说交易一旦上链,将由链上全部节点共同执行和验证,执行结果在所有节点中同步呈现状态一致性。这种机制不可避免带来这样的局限性:

执行效率低:交易呈串行队列,排队等候执行,易造成拥堵,执行效率低;

链上计算费用高:链上每一步计算都需要 Gas 费,这无疑增加了合约执行的开销,再加上执行效率低带来的拥堵及“价高者优先”,加重了链上计算费用;

计算性能难扩展:所有共识节点重复执行合约以对其状态验证,所有节点的计算能力仅相当于 1 个节点的计算能力,即使增加节点数量也无法扩展计算性能;

难以扩展到链下服务:链上计算模型不允许在智能合约中进行网络请求等操作,因为网络请求可能在某些节点上失败,而在其他节点上成功,可能造成节点最终状态的不一致。

Phat Contract 将交易执行从链上共识节点中分离出来,移至链下的经过注册具有唯一身份 ID 的可信计算节点中,交易则是在这些可信计算节点中的 CPU 的隔离安全区中执行,是可信执行环境(TEE)。

图 4-1 Phat Contract 的链下计算及链上共识

(图片来自 Phala Network)

如图 4-1 所示,展示了一笔交易执行的完整过程:

i)发起交易(Initialize):链上发起一笔交易,初始状态 State0

ii)链下计算(Execute):交易执行从链上共识节点分离至链下计算节点,链上状态 State0 成为链下计算节点的输入状态 State0(On-Chain Input),并被链下计算节点执行,状态改变为 State1;

iii)链上验证(Verify):链下计算节点提交计算结果 State1,链上共识节点验证 State1 是否由链下可信计算节点提交;

iv)链上存储(Persist):验证通过后,将 State1 在链上进行存储,并向全网共识节点同步,实现状态一致性。

由此看出 Phat Contract 的实现机制,比较传统智能合约,具有以下的功能创新和性能突破,如图 4-2 所示:

图 4-2 Phat Contract 与传统智能合约的比较

(图片来自 Phala Network)

共识与计算分离:打破了在产生区块的同时进行智能合约执行的传统智能合约模型,实现了链上共识,链下计算;对于链上共识,链上节点只需验证结果是否由链下可信计算节点产生,无需所有共识节点全部参与,提高了验证效率;链下计算节点不再受共识算法的约束,从而实现 Phat Contract 的功能突破和释放出强大的计算能力;

纵向扩容Phat Contract 提供了近乎原生 CPU 性能的程序执行环境,并随着硬件升级实现计算性能扩容;

横向扩容:交易执行从串行变为并行,同一时间可执行多个交易;交易可由单个或者几个链下可信计算节点执行,而无需所有计算节点重复计算,所以随着计算节点的增加,整个网络的计算能力同步线性增加;这为 Phala Network 成为去中心化计算云提供了大规模、高性能计算支持;

低延迟:由于Phat Contract 是在链下执行,响应速度取决于计算节点设备本身的性能,跟传统 Web2 服务类似,在Phat Contract 中,可以做到毫秒级别的读写响应;

零 Gas 费:由于Phat Contract 是在链下执行,链下计算不消耗 Gas 费,大大降低整个合约执行成本。

隐私保护:用户请求、内存状态以及数据库都强制端到端加密,只有被授权的操作才会得到响应。

链上链下服务:由于Phat Contract 是在链下执行,可以通过内置的互联网接入并访问任何 Web2 和 Web3 数据和服务,成为 Web2 进入 Web3 的桥梁,大量的 Web2 应用不再孤立于区块链世界。另外,这样的创新将使得基于合规、隐私保护的数据连接、数据交换和处理成为可行,推动“孤岛数据”进入要素市场,在当前数字化转型,数字经济发展中发挥重要作用

以上的功能创新和性能突破,给Phat Contract 带来更广泛的应用场景,如图 4-3 所示:

图 4-3 Phat Contract 的应用场景(图片来自 Phala Network)

低延迟需求的场景:Orderbook 交易所、多人在线游戏等;

链下互联的场景:去中心化预言机(如链上喂价功能、Twitter monitor 以及跨链数据馈送等)、去中心化聊天或通讯服务(Telegram 或 Email);

需要授权型数据的场景:隐私增强 RPC API、面向智能合约的数据认证服务、数据市场平台;

大型实时计算程序:元宇宙、游戏、NFT 渲染、人工智能(推荐引擎等)。

05//

运行时环境:pRuntime

pRuntime 是 TEE 内部运行的支持程序,是运行时环境,或者说是一个“操作系统”,它在 TEE 内部维护着基本的 TEE Miner 和 Gatekeeper 协议,处理 TEE 远程鉴证、链上注册、安全通道 TLS 和 Phat Contract 执行等。

远程鉴证:远程鉴证是保证 TEE 系统安全的关键。它证明了某个代码(通过检测代码的哈希值是否变化)以及代码生成的一些自定义数据,正在最新的正版 Intel SGX 中运行。这是 Intel 的一种鉴证机制,通俗来说就是通过一个凭证,可以证明 pRuntime 运行在正版的 Intel CPU 安全区 Enclave 中;并且在此可信执行环境中,程序的执行过程未发生任何错误,数据状态和最终结果都是正确的、可信的,且实现了保密性。

链上注册:所有接入 Phala Network 的计算设备是去信任化且无需许可的,可以随时加入也可以随时撤出,是完全去中心化的。链上注册的目的是完成计算设备的注册和基本配置,如检测欲接入网络的计算设备是否满足基本的硬件配置,在 Phala 区块链上登记注册获得唯一的身份 ID(IndentityKey),并加载相关的支持程序等。

安全通道 TLS:远程鉴证是机密智能合约的基本构建模块,但如果不能在用户和 TEE 之间建立端到端的安全通信通道,它就难以发挥效用。Phala 目前支持的 TEE Intel SGX 采用 Secret Provisioning 协议来和获取和验证 pRuntime 身份(公钥),验证签名、管理密钥,建立数据的安全传输通道(TLS)等,从而在用户与 pRuntime 之间建立起信任链。

Phat Contract 执行:即 Phat Contract 在运行时环境 pRuntime 中得以执行,合约计算的部分由 TEE Minner 在链下高效执行,合约计算结果提交链上 Gatekeeper 进行验证并链上存储。

如果我们将 TEE SGX 比作硬件容器,它承载了系统的所有运行软件,那么 pRuntime 可比作软件容器,其中运行了核心应用程序 Phat Contract,从而由软件定义系统角色、功能边界和特征性能

可以看出,pRuntime 作为操作系统,其运行逻辑和过程,完美地将硬件和软件功能融合在一起并协同工作,使得“执行过程及数据状态硬件隔离,流程可信,所以结果可信”,从而奠定了整个 Phala 云计算网络的运行基石。

06//

构建去信任化的 Web3 计算云

前面我们逐一分析了 Phala Network 主要构成单元的功能和性能,按照前文“结构决定功能”的论断,接下来将总结性地介绍这些结构化单元是如何交互、相互作用而构建起去中心化、无需信任的 Web3 计算云。

图 6-1 去信任化的计算云(图片来自 Phala Network)

如图 6-1 所示,基于可信硬件(TEE)与运行时环境(pRuntime)的结合,在用户和可信硬件之间建立起端到端的安全通信通道,而无论是链下计算节点(矿工)、链上共识节点(看门人),还是 Phat Contract 都运行在 TEE 的 pRuntime 中,使得整个 Phala Network 成为无需信任的可信网络。

同样运行在 TEE 的 pRuntime 中,矿工负责在链下执行合约的计算,而计算结果提交链上由看门人在链上负责验证、打包、出块及区块维护;如此,共识与计算分离,不仅保证了区块链的安全和有效性,同时因为摆脱链上共识算法的约束而使得计算能力在链下得以无限扩展,由此 Phala Network 可以承载更为复杂的规模化应用。

Phala 区块链作为总账本,与矿工、看门人以及智能合约进行交互,以链上存储和同步全局状态,保证整个网络安全、状态一致性和有效性。因为在链下实现了智能合约的大部分逻辑,只有一部分状态和数据需要永久上链(例如 Token 余额和 NFT 所有权等),所以 Phala 区块链是一个高效、轻量级的分布式账本。

总体说来,Phala Network 是区块链软件属性和硬件创新结合的解决方案,并扬长避短。基于软件定义的区块链(Web3)强调了有效性但往往效率低下,而基于硬件实现的计算云 (Web2)计算性能优良但往往呈现中心化。

Phala Network 是具有开源、透明运行时代码库和足够去中心化的矿工和看门人集合的公共区块链,其软硬结合的底层构建融合了 Web2 与 Web3 的最佳部分,支持实时低延迟、密集型计算任务,能够自由地访问所有链上和链下的网络服务。

这样的功能及特性让 Phala Network 拓展了应用空间,看上去不像区块链,而更像是去中心化应用程序——去中心化计算云。所以我们不能简单地将 PhalaNetwork 定位在传统区块链用例中,而应深入理解它能够满足更广泛的需求、适用于规模化互联网服务和其他通用计算任务的能力 --

底层构建方显超凡本色,Phala Network 将面向全球,提供安全、去信任化、去中心化以及隐私保护的云计算,承载起个人、企业及政府各种规模化应用。


主要参考资料


1.https://medium.com/phala-network/phala-transparent-and-private-global-computation-cloud-2d80c70ad1e9 

2.https://medium.com/phala-network/should-we-kick-hardware-out-of-blockchain-5d300596a811

3.chromeextension://bocbaocobfecmglnmeaeppambideimao/pdf/viewer.htmlfile=https%3A%2F%2Ffiles.phala.network%2Fphala-paper.pdf

------------END------------

声明:本文内容仅供学习了解之用,不作为投资指南。


- 往期精彩看点 -


综述:Phala Network,Web3 全球计算云

从数字资产与加密经济活动的关系,看公链发展脉络及应用产业化

从 FT、NFT 到 SFT,DeFi 或将开启 Web3 新篇章

身份回归:从互联网上的一条狗到 Web3 的灵魂

TokenPocket:Web3 世界入口,一个正在被创造的自生态服务平台

加密世界破圈寻找价值支撑,NFT 能否推动加密世界通向更深远的未来(下篇)

泡沫破裂加密世界探底,未来发展需要寻求价值支撑(上篇)

打开数字钱包,开启你的未来世界

价值捕获下沉引发投融资范式迁移,投资 DAO 将带给你我怎样的启发?

通过 Roadmap 解析 Phala Network 全球计算云的战略定位与实施策略



【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

相关Wiki
Bluemountain Labs
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开