常被宣传成了“不可篡改”、以及“透明安全”典范的区块链技术, 然而真正深入到行业里的人都清楚 , 它存在着个怎么也绕不过去的烦心事 ,那便就是区段胀大这个问题。所谓的区段胀大这个事儿简单来讲啊 就是经由岁月的慢慢推移 , 链条之上存储的那些数据量持续地积累起来了的 , 结果致使节点运行所背负的负担逐渐加重 , 同步所需要耗费的时间也变得越来越长并且达到了这样一种程度 甚至对整个网络的吞吐能力都产生了影响。这情形恰如是一座始终在不停加盖楼层的高楼大厦 , 它地基却是稳稳不变的 , 不过承受的重量却在变得越来越大。
区块膨胀的根子在哪里
不少人错误地认为, 区块链出现膨胀是源于交易数量过多、用户活跃度太高, 实际上这仅仅是表面现象。真正致使区块体积失去控制的, 乃是链上数据的设计机制。每一条交易不但要记录转账的金额, 还得附带签名、公钥、脚本信息、时间戳、区块头等一整套元数据。这些数据一旦被写入, 便会永久留存, 无法删除。拿比特币来说, 从2009年的创世区块直至2023年, 整个链上的数据已经超过500GB, 而每一笔交易自身的有效信息或许仅仅占据几十字节。
更为麻烦的是, 存在一些项目, 其目的在于追求“透亮”, 会将为数众多的非交易性质的数据, 也一股脑地塞入链上, 举例来说, 诸如NFT元数据、智能合约源码, 甚至社交平台的帖子哈希, 这类数据根本不存在丝毫压缩的空间, 并且更新的频率极为低下, 然而却在区块当中占据着永久的位置, 这情形就如同把超市小票、会议记录、情书, 全都塞入了同一本相册, 如此一来, 相册自然而然地就会变得越来越厚。
普通的用户大概是感受不到的, 然而对于那些运行全节点的矿工或者验证者来讲, 区块膨胀它直接所意味的便是硬盘开销的急剧增加。在早期的时候, 仅仅一个树莓派再加上一块 500G 的机械硬盘就能够运行全节点,可是现如今, 要是没有 1TB 的固态硬盘, 那几乎是没有办法去应对初始同步的。这样的情况, 在无形中就推高了参与的门槛, 使得去中心化的理想变得越来越难以落地实现。

区块膨胀对运行效率的直接影响
链表数据扩充至一定程度时, 后果最直观的是, 节点同步时间呈指数级增长, 新加入的节点要从创世区块着手, 逐笔核验全部交易, 在今日的主链上这一过程常常需耗费几天乃至几周, 要是网络频繁出现分叉或者重组, 同步时间会被进一步拉长, 对于那些需快速接入网络的交易所、跨链桥、轻钱包服务商而言, 这可是极大的运维成本。
因验证者为控内存占用, 常把历史数据存于慢速磁盘, 查询历史状态时产生大量IO开销, 所以区块膨胀还会间接压缩网络交易容量。当交易高峰期来临, CPU与磁盘间频繁争抢资源, 致使区块确认速度下降。以太坊于DeFi巅峰之时Gas费飙升, 部分缘由是历史状态太过庞大, 使验证器处理复杂交易时力不从心。
区块出现膨胀, 其对于跨链通信所产生的影响, 同样不能不被加以重视。跨链桥在对另外一条链的状态予以验证之际, 一般而言需要去下载并且验证对方链的区块头, 要是对方链的区块体积已然膨胀至数兆字节, 那么每一次跨链操作的延迟以及成本, 都会明显地上升。这样的隐形成本常常被普通用户所忽视, 然而在机构级应用当中, 却是致命的短板。
解决区块膨胀的思路不是将历史数据予以删除, 而是要引入状态裁剪、零知识证明压缩、分层存储等机制, 举例来说, zkSync运用零知识汇总技术, 把数千笔交易压缩成一条证明上传至链, 极大地减少了单笔交易的字节占用, 另外, 一些公链借助定期生成“状态快照”, 使新节点仅需从最近快照着手同步, 防止重演创世以来的完整历史, 然而, 这些方法都尚处于迭代进程中, 距离大规模商用仍旧存在距离。区块链迈向主流时, 历经的痛苦之中, 区块膨胀处于必经阶段, 随着技术不断演进, 最终会在存储效能以及去中心化这两者之间, 寻觅到一个平衡的点。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://zmdyd.cn/imazbqb/8227.html
