在分布式账本技术的不断发展中,可扩展性始终是首要目标,也是每个协议面临的最大挑战。虽然第 2 层或分片等解决方案专注于提高交易吞吐量,但一个更无声但危险的问题正在威胁网络的可持续性:状态增长和状态膨胀。区块链的状态不仅仅是交易历史,而是整个账户、余额和智能合约代码的“当前地图”。据Tan Phat Digital分析,当这些数据无法控制地增长时,运行全节点的硬件门槛就会变得过高,导致认证权力集中在少数拥有强大资源的实体手中。在此背景下,Stateless Client(无状态节点)架构应运而生,成为一个革命性的方向,让网络在数据规模膨胀到巨大的情况下仍能保持去中心化。
分析区块链数据结构:状态与历史的区别
要理解Stateless Client的本质,首先需要深入分析区块链系统中两类核心数据:历史与状态的区别。很多用户甚至新开发者经常混淆这两个概念,但在系统架构中,他们的角色和资源需求完全不同。
历史数据和状态数据的特点对比:
1.历史数据(History):
内容:自原始区块到现在为止的所有交易和区块。
访问频率:低(仅在同步或查询旧事件时)。
硬件要求:大容量、便宜的HDD(最多可达数千个)太字节)。
属性:仅追加且不可变。
身份验证角色:用于检查账本的长期完整性。
2.状态数据:
内容:账户余额、合约代码和存储内存的当前快照。
访问频率:非常高(在每个交易处理步骤中连续检索)。
硬件要求:高速SSD或RAM以确保确保低
属性:随着每个交易块不断变化(读/写)。
身份验证角色:需要验证即时交易的有效性(例如检查余额)。
状态不受控制的增长是“状态膨胀”现象的原因。随着用户数量的增加、新账户的创建数量以及 DeFi 和 NFT 应用变得更加复杂,状态的规模将随着时间的推移逐渐增大。这给全节点带来了巨大的资源负担,因为它们必须维护此状态的完整且最新的副本才能参与共识过程。
国家膨胀:“慢性病”和去中心化风险
国家膨胀不是技术缺陷,而是区块链成功和采用的自然结果。但如果不加以管理,将成为网络可持续发展的一大障碍。状态增长的主要驱动力包括新地址的创建、复杂智能合约的部署以及链上任意数据的存储。
在像以太坊这样的系统中,智能合约中使用的每个“存储槽”将永远存在于状态中,除非被明确删除。然而,大多数开发者和用户没有经济动力去删除旧数据,导致所谓的“公地悲剧”。用户只需支付一次性交易费用即可将数据上链,但验证节点必须承担永久存储该数据的成本。
状态膨胀对区块链网络的后果是严重的:
硬件门槛提高:节点需要具有极高 IOPS 性能的多 TB SSD 才能跟上更新速率。
同步时间延长:初始状态加载可能需要几天或几周的时间,从而阻止新成员加入。
中心化风险:只有大型组织或专业基础设施提供商才有资源来维护节点,从而削弱去中心化。
拒绝服务 (DoS) 风险:攻击者可以利用状态创建的廉价方式来填充数据查看更多:区块链中的第 1 层和第 2 层:多层架构和网络扩展解决方案
什么是无状态客户端?验证节点架构的革命
无状态客户端是一种设计理念,其中验证节点不需要存储区块链的整个状态来检查新块的有效性。状态仍然存在,但存储和服务它的责任被转移或重新分配。
在此架构中,新块将附带一条名为见证的附加信息。见证人是一组特定的状态值,并附有密码学证据,基于承诺的“状态根”证明其准确性。
无状态级别的分类:
弱无状态性(Weak Stateless):以太坊的短期目标。只有提议者和区块构建者需要存储完整状态来创建见证人。其他验证器可以在无状态模式下运行。
强无状态性:即使是区块生产者也不需要存储状态。用户必须为自己的交易提供自己的见证。然而,这个级别在用户体验方面面临着重大障碍。
部分无状态(Partial Stateless):选择性节点存储常用的“热”状态部分,并为“冷”状态部分请求见证。
Verkle Trees:实现无状态能力的工具
Stateless Client最大的挑战是见证的规模。使用当前的 Merkle Patricia Trie 结构,每个块的见证大小可达兆字节,导致带宽拥塞。为了解决这个问题,Tan Phat Digital 指出以太坊的路线图正在转向 Verkle Trees。
Merkle Patricia Trie 和 Verkle Tree 之间的技术比较:
1。 Merkle Patricia Trie (MPT):
链接机制:使用传统哈希函数 (SHA-256/Keccak)。
节点宽度 (k): 通常为 2 或 16。
1 叶证明大小: 大约 1 KB。
1个区块的见证大小:约1MB(对于无状态架构不可行)。
计算成本:低(只需要基本的哈希计算)。
2. Verkle树:
字节。1个区块的见证大小:只有150字节到几十KB(完全可行)。
计算成本:高(需要在椭圆曲线上进行复杂的计算)。
Verkle与传统相比,树可以将见证规模减少到约1/20到1/30,让移动设备也成为认证节点。
支撑路径:状态租、状态到期和状态剪枝
状态租
应用经济机制:用户必须付费才能维护数据链上。
Solana:“免租金”所需的最低 SOL 余额。如果不够,可以删除账户。
Nervos CKB:1 个 CKB 币对应 1 个字节的存储。用户必须锁定代币才能保存数据,从而对状态膨胀造成经济障碍。
状态到期
自动从活动状态集中删除长期(例如 1 年)未触及的部分状态。要重用,用户必须提供证据来“恢复”该帐户。
状态修剪
节点清除旧状态数据的内部技术(例如,仅保留最近的 128 个块)以节省本地磁盘空间。
未来区块链架构:模块化与无状态的共生
在Tan Phat Digital的愿景中,未来的架构将是以下组合:
执行层(L2 Rollups):维护完整状态(有状态)以实现高性能,但仅管理一小部分
结算层(L1无状态):变得无状态,只负责验证来自Rollups的证据,而不需要存储原始数据。
数据可用性层(DA层):确保原始数据始终可用,以在需要时重置状态,而不强制每个节点存储历史记录。
常见问题解答 (FAQ)
1. “State”和“History”最基本的区别是什么?History是一本日记,记录了从过去以来发生的每一笔交易,而State则是判断一笔新交易是否有效所需的当前“账户图”。
2.为什么状态膨胀会给网络中心化带来风险?当状态太大时,只有拥有优越硬件的组织才能运行全节点。这将网络的控制权掌握在少数资源丰富的实体手中,从而导致去中心化的损失。
3. Verkle Trees 如何帮助减少 Witness 大小?
Verkle Trees 不使用需要在数据树中包含多个“同级节点”的老式哈希函数,而是使用 KZG 多项式承诺来帮助创建极其紧凑且固定大小的成员资格证明($O(1)$ 而不是 $O(\log n)$)。
4. “弱无状态”与“强无状态”有何不同?
弱无状态只要求区块提议者保留状态,其他验证者不需要。无状态 Manh 要求即使区块提议者不保留状态,所有见证人的负担也转移给用户。
5. Solana 的状态租金机制如何运作?
Solana 上的账户必须保持最低 SOL 余额来支付托管费用。如果账户被关闭,用户可以收回全部存入的SOL号码。
6.无状态区块链的“不可能定律”是啥?研究表明,不可能有一个系统既能保证验证者节点的状态恒定,又能保证用户更新证据的频率很低。这两个因素之一之间总是需要权衡。
7.状态过期是否会永久删除用户数据?
不会。状态到期仅将不活动的数据(例如 1 年未使用)移至冷存储中。用户可以在需要时使用证据“唤醒”并使帐户恢复到活动状态。
8.谁是证明提供者,他们扮演什么角色?
他们是拥有完整状态的专业团体(如区块构建者或 RPC 提供者)。它们负责创建并向无状态客户端发送加密证明(见证),以便这些节点可以在不保存数据的情况下验证交易。
9. Nervos CKB 如何解决存储中的“公共土地悲剧”?
Nervos 认为存储空间是私有财产。想要保存 1 字节数据的用户必须拥有并锁定 1 个 CKB 币。每年增发 CKB(二次发行)带来的通货膨胀对占据这一空间的人来说相当于一种“地位租金税”。
10.手机可以运行区块链节点吗?
可以,通过无状态客户端架构结合SNARK。当存储负担减少到几GB并且身份验证只是数学证明检查时,智能手机或智能手表也可以参与网络安全。
状态增长和状态膨胀是威胁去中心化理想生存的生存风险。由 Verkle Trees 提供支持的无状态客户端提供了一种将身份验证权限与存储负担分离的战略方法。反对国家膨胀的斗争就是保持区块链开放、透明和属于每个人的斗争。在像 Tan Phat Digital 这样的研究单位的陪伴下,我们可以相信去中心化的数字基础设施是可持续的,并且能够在未来大规模应用。
分享








