主页 > imtoken冷钱包怎么创建 > 区块链:比特币数据存储

区块链:比特币数据存储

imtoken冷钱包怎么创建 2023-05-08 07:13:54

完整的比特币系列笔记收集于IT老手驿站。

区块链:比特币数据存储。

前言

比特币存储_比特币如何存储到硬盘_外国的比特币便宜中国的比特币贵为什么?

研究比特币的数据存储格式。

文本

比特币存储_比特币如何存储到硬盘_外国的比特币便宜中国的比特币贵为什么?

基本上维护了四种数据: blocks/blk*.dat:实际的比特币块,以网络格式比特币存储,以原始格式转储到磁盘上。 它们只需要重新扫描钱包中丢失的交易,重组到链的不同部分,并将块数据提供给正在同步的其他节点。

简单翻译:blocks/blk*.dat,实际的块数据,使用网络格式,直接存储在磁盘上。 它们仅用于:一个钱包比特币存储,用于重新扫描丢失的交易,重组部分区块链,并向其他节点提供区块数据以进行同步。

比特币存储_外国的比特币便宜中国的比特币贵为什么?_比特币如何存储到硬盘

blocks/index/*:这是一个 LevelDB 数据库,包含有关所有已知块的元数据,以及在磁盘上的何处可以找到它们。 没有这个,找到一个块会很慢。

简单翻译:blocks/index/*,这是一个 LevelDB 数据库,包含关于所有已知块的元数据,以及在磁盘上的何处可以找到它们。 没有这个,寻找一个块是非常缓慢的。

比特币存储_外国的比特币便宜中国的比特币贵为什么?_比特币如何存储到硬盘

chainstate/*:这是一个 LevelDB 数据库,具有所有当前未花费的交易输出的紧凑表示以及关于它们来自的交易的一些元数据。 这里的数据对于验证新传入的块和交易是必需的。 理论上它可以从块数据中重建(参见 -reindex 命令行选项),但这需要相当长的时间。 没有它,理论上您仍然可以确实进行验证,但这意味着要对每个花费的输出进行完整的块扫描(截至 2013 年 5 月为 7 GB)。

简单翻译:这是一个 levelDB 数据库,以压缩形式存储所有当前未使用的交易输出(UTXO)以及一些关于这些交易来源的元数据。 这里的数据对于验证新传入的块和交易是必需的。 理论上可以从块数据重建此数据(请参阅 -reindex 命令选项),但这需要很长时间。 理论上您可以在没有这些数据的情况下进行验证,但这意味着要对块进行全面扫描(2013 年 5 月为 7GB)以检查每个输出是否已用完。

比特币如何存储到硬盘_外国的比特币便宜中国的比特币贵为什么?_比特币存储

blocks/rev*.dat:这些包含“撤消”数据。 您可以将块视为链状态的“补丁”(它们消耗一些未花费的输出,并产生新的输出),并将撤消数据视为反向补丁。 它们对于回滚链状态是必要的,这在重组的情况下是必要的。 请注意,LevelDB 是冗余的,因为它们可以从块数据中重建。 但是如果没有它们,验证和其他操作将变得非常缓慢。

简单翻译:blocks/rev*.dat,包含“撤消”数据。 您可以将块数据视为区块链状态的补丁(它消耗一些未花费的输出并产生新的输出),并且您可以将这些撤消数据视为反向补丁。 它们对于回滚块状态很重要,这反过来又对于重组情况很重要。

参考

Data_Storage”>(ch_2):_Data_Storage