# Phala Network系列2||底层构建方显“云”本色--Phala Network基础设施：计算节点网络及Phat Contract

By [“平说”区块链](https://paragraph.com/@dancechange) · 2022-12-02

---

**Phala Network系列2**

目录

1.  第一性原理：结构决定功能
    
2.  硬件基础单元：Secure Enclave
    
3.  网络基础单元：Worker Nodes
    
4.  核心应用程序：Phat Contract
    
5.  运行时环境：pRuntime
    
6.  构建去信任化的Web3计算云
    

01//第一性原理：结构决定功能
----------------

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

从[《Phala Network系列1：综述-Phala Network：web3全球计算云》](https://mp.weixin.qq.com/s/JU-BCy6mL7k5G90LkAZF1Q)中我们知道，Phala Network是“区块链+Secure Enclave”软硬件二元融合架构，如图1-1所示。

![图1-1 “区块链+Secure Enclave”二元融合架构（图片来自：Phala Network）](https://storage.googleapis.com/papyrus_images/86a92baa4120bb2cdc61bd737cbc4b0ae715a104549756ee1539eb9951d94118.png)

图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的结构化核心功能单元](https://storage.googleapis.com/papyrus_images/0056f5e50b0e141029efa2093a95e15a432a8fdc063349a3dc844a75bbefc44f.png)

图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资料编辑）](https://storage.googleapis.com/papyrus_images/8959759001e4e726e3edebe2cba592a8178fb169c9262d1ef5c90ea74bdff326.png)

图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日，Phala Network中的计算节点达到36,962个，vCPUs达到141,346个，并分布在全球50+的国家和地区。这与由单一机构提供算力服务器的AWS、GCP、阿里云等中心化云计算服务商显著不同，Phala Network也因此具备了去中心化和抗外部因素干扰的特征属性。

![图2-2 Phala Network中的计算节点数量及分布（图片来自Phala Network）](https://storage.googleapis.com/papyrus_images/5d1f63e5ca21ad12bb0913aeede9039d71564a7950fad7b9ccc9f8805cc32d36.png)

图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）](https://storage.googleapis.com/papyrus_images/27a71684afd63726190084728bbc7219b5794f8085a5d5e951e1aa8cc9ca7893.png)

图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在链上进行存储，并向全网共识节点同步，实现状态一致性。

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

![图4-2 Phat Contract与传统智能合约的比较（图片来自Phala Network）](https://storage.googleapis.com/papyrus_images/1c8fa5ca288ffa39aae98663cc3ae704ca3f191a7060c0f84fe5be5d3dcb6cd6.png)

图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应用不再孤立于区块链世界。另外，**这样的创新将使得基于合规、隐私保护的数据连接、数据交换和处理成为可行，推动“孤岛数据”进入要素市场，在当前数字化转型，数字经济发展中发挥重要作用**。

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

![图4-3 Phat Contract的应用场景（图片来自Phala Network）](https://storage.googleapis.com/papyrus_images/7fe8caab92e71296dd4678f34f9885c0a6d4e510bc5a5c7f22d0b3cbe80d2af9.png)

图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）](https://storage.googleapis.com/papyrus_images/7166b6fbfa1c3a43cd7c9dbbadbb95e1e55eb124efff40e88a806b5dcd38f5fd.png)

图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](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](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](https://chromeextension://bocbaocobfecmglnmeaeppambideimao/pdf/viewer.htmlfile=https%3A%2F%2Ffiles.phala.network%2Fphala-paper.pdf)

---

*Originally published on [“平说”区块链](https://paragraph.com/@dancechange/phala-network-2-phala-network-phat-contract)*
