以太坊同一交易出现在两个区块的原因(Cloudflare节点)
问题解答:交易出现在两个区块后仅保留一个的原因
- 这是以太坊网络的**链重组(Chain Reorganization)**现象。区块链网络中,当不同节点几乎同时生成相邻高度的区块时,会出现短暂链分叉。网络最终会选择累计算力(PoW时期)或权益权重(PoS时期)更高的链作为主链,分叉出的短链会被抛弃。
- 交易
0x1f755c38f032091736b4f331f7db77a04917d962078db57efc1e8156163c68bc最初被打包进区块15365119,但这条后续链的权重低于包含区块15365121的链,因此被判定为分叉链。该交易随后被重新打包进主链的区块15365121,原区块15365119成为孤块,不再被主链认可。 - 你使用的查询工具可能缓存了未同步完成的旧链数据,或是查询时节点尚未完成主链切换,因此显示交易同时存在于两个区块;而Etherscan仅跟踪主链数据,所以只展示该交易在主链区块15365121中的记录。
- 仅用交易哈希作为数据库主键的设计存在缺陷,链重组场景下同一交易可能出现在不同区块,建议采用交易哈希+区块哈希或区块高度+交易索引的复合主键方案,避免主键冲突问题。
内容的提问来源于stack exchange,提问作者Tien Do
相关产品推荐
相关产品推荐

