关于区块链Node的两大技术疑问咨询:存储与同步
区块链节点常见疑问解答
疑问1:所有链上数据都存储在客户端节点中吗?
- 区块链节点本质是运行在设备(服务器/个人电脑/手机等)上的软件,但并非所有节点都会存储完整链上数据,你的理解存在偏差。
- 节点分不同类型,对应不同存储策略:
- 全节点:存储从创世块到最新区块的全部链数据,一般部署在性能较强的服务器上,能承载海量数据;
- 轻节点(SPV节点):仅存储区块头和交易验证所需的核心数据,不需要全量链数据,适合普通用户的轻量客户端,完美解决存储压力问题;
- 归档节点:会保留所有历史链状态数据,多用于链上数据分析、审计等场景,这类节点存储量最大。
疑问2:节点之间如何同步?离线节点会丢失交易吗?
- 节点同步主要有两种核心方式:
- 增量同步:节点上线后,先和其他在线节点确认当前全网最新区块高度,然后从自己本地缺失的第一个区块开始,逐个下载、验证并同步,直到追平最新链状态;
- 快照同步:直接下载某一指定区块高度的完整链状态快照,再基于快照进行后续增量同步,适合新节点快速完成初始同步。
- 若交易发生时某节点处于离线状态:只要这笔交易被正常打包进区块并获得全网确认,等该节点重新上线后,会通过上述同步机制自动下载包含该交易的区块,不会丢失这笔交易。但如果离线时间过长,需要同步的缺失区块较多,耗时会相应增加。
内容的提问来源于stack exchange,提问作者Jakhongir
相关产品推荐
相关产品推荐

