Ethanos:以太坊的轻量级引导技术
计算与语言
2019-11-15 v1 分布式、并行与集群计算
摘要
随着以太坊区块链的流行,用户与交易数量激增,导致其数据规模爆炸性增长。结果,使用 PC 或智能手机的普通客户端难以作为全节点轻松引导,而是依赖其他全节点(如矿工)来运行或验证交易。这可能影响以太坊的安全性,因此已提出 fast sync 等轻量引导技术仅下载部分完整数据,但空间开销仍过高。一个难以轻易降低的最大空间开销源于在区块状态树中保存所有账户的状态。幸运的是,我们发现超过 90% 的账户处于不活跃状态,且旧交易难以被篡改。基于这些观察,本文提出一种称为 ethanos 的新型优化技术,通过定期清理不活跃账户且不下载旧交易来降低引导成本。若不活跃账户变为活跃,ethanos 通过运行恢复交易来复原其状态。此外,ethanos 为归档节点维护旧交易以供可能的重新验证提供激励。我们通过改造 go-ethereum (geth) 客户端实现了 ethanos,并使用以太坊中 7M 至 8M 区块间来自 1400 万账户的 1.13 亿笔真实交易进行评估。实验结果表明,ethanos 能将账户状态大小减半,若结合移除旧交易,可将引导存储规模降至约 1GB。这对于普通客户端在其个人设备上引导而言已足够合理。
引用
@article{arxiv.1911.05953,
title = {Ethanos: Lightweight Bootstrapping for Ethereum},
author = {Jae-Yun Kim and Jun-Mo Lee and Yeon-Jae Koo and Sang-Hyeon Park and Soo-Mook Moon},
journal= {arXiv preprint arXiv:1911.05953},
year = {2019}
}