<aside>
💡
Updated Jan. 2025
TL:DR
- Portal Network是无状态客户端的网络,无状态客户端定义如下:无状态客户端 ,它存储了block header和state witness,所以客户端可以进行主动验证、而非被动接受;
- PN支持多种客户端:如 Trin(Rust)、Fluffy(Nim)、Ultralight(TypeScript)等
</aside>
Portal Network 是一种针对以太坊网络的新型去中心化网络设计,旨在解决轻节点(Light Node)的数据可用性问题,同时降低对全节点(Full Node)的依赖和压力。它通过分布式存储和点对点网络技术,为轻节点提供了一种无需信任全节点即可获取链上数据的方式,从而提升以太坊网络的去中心化和可扩展性。
Portal Network 的核心目标
- 支持无状态客户端:
- 以太坊正在向无状态区块验证模型发展,客户端可以通过见证数据(witness)验证区块执行,而无需存储完整的以太坊状态数据。Portal Network 为无状态客户端提供了必要的基础设施,使其能够支持标准的 JSON-RPC API,从而更好地融入 Web 3.0 生态系统。
- 优化轻客户端体验:
- 传统的轻客户端依赖全节点获取数据,这不仅增加了全节点的负担,还要求轻节点信任全节点的数据真实性。Portal Network 通过分布式存储和点对点网络,使轻节点能够直接从网络中获取所需数据,而无需依赖单一全节点。
- 降低节点资源需求:
- 运行一个完整的以太坊节点需要大量存储空间(例如 2TB 以上的磁盘空间),而 Portal Network 通过分布式存储历史数据和状态数据,显著降低了节点的存储和带宽需求,使更多资源有限的设备能够参与网络。
Portal Network 的技术架构
Portal Network 由多个子网络组成,每个子网络针对特定类型的以太坊数据进行优化,主要包括:
- 状态网络:
- 用于存储和检索以太坊的状态数据(如账户和合约存储项)。节点可以选择存储和分享部分状态数据,网络通过分布式哈希表(DHT)定位数据存储节点。
- 链历史网络:
- 存储区块头、区块体和收据等链上历史数据。通过“双批默克尔日志累加器”机制,轻节点可以验证区块头是否属于主链,而无需下载所有区块头。
- 交易广播网络:
- 支持交易的 Gossip 传播,确保矿工能够获取新交易并将其打包进区块。无状态客户端可以根据资源声明处理交易量,并从网络中获取账户证明以验证交易。
- 主链索引网络:
- 提供按区块号检索区块和按交易哈希检索交易的功能,支持轻节点快速访问链上数据。
Portal Network 的优势
- 去中心化:
- 通过分布式存储和点对点网络,减少对中心化数据提供者的依赖,增强网络的抗审查性和抗单点故障能力。
- 资源高效:
- 轻节点只需存储少量数据,即可访问完整的链上信息,适合资源有限的设备(如内存 <1GB、磁盘 <100MB 的设备)。
- 模块化设计:
- Portal Network 的模块化架构允许轻松扩展新的数据子网络,例如 Verkle 状态网络和规范索引网络。
- 客户端多样性:
- Portal Network 支持多种客户端实现(如 Trin(Rust)、Fluffy(Nim)、Ultralight(TypeScript)等),增强了网络的弹性和去中心化程度。