比特币的数据模式会是什么样子?
How would the data schema of bitcoin look like?
既然比特币是区块链,而区块链又被描述为一种数据库,那么比特币的数据模式是怎样的呢?它是单个 table 数据库吗?如果是,此 table 中有哪些列?
The data is stored in an application-specific format optimized for compact storage, and wasn't really intended to be easily parsed by other applications.
See https://bitcoin.stackexchange.com/q/10814
对于此自定义格式,请参阅 https://en.bitcoin.it/wiki/Protocol_documentation#block
有各种不同用途的数据库。作为参考客户端,我将使用 bitcoin-core 并描述其通过客户端存储的标准结构。它实际上使用 "leveldb" 和 "berkleydb-4.8" 来存储所有类型的数据。
钱包数据库
保存您的交易,生成 public/private 密钥。这通常是加密的 ;)
来源:Wallets
索引数据库
它通常是可选的,但通常会存储所有交易的列表以及它们发生在哪个区块中
阻止数据库
这是最重要的数据库,通过网络在本地存储和共享,以交流新创建的块并验证它们。每个客户都有它的复制版本。
它们通常存储曾经出现过的所有区块,也包括分叉区块和废弃区块。
来源:Blockchain / Transactions
同行数据库
显然还有一个数据库,用于您过去见过的所有同行。它通过给它一个禁令分数来评价每个点,存储它们的 IP 地址、端口和最后看到的状态。
结论:
那将是所有数据库。他们大多有 "一个 table",其中完全包括前面描述的数据结构。
可以在此处找到有关 p2p network structure 的更多信息。
既然比特币是区块链,而区块链又被描述为一种数据库,那么比特币的数据模式是怎样的呢?它是单个 table 数据库吗?如果是,此 table 中有哪些列?
The data is stored in an application-specific format optimized for compact storage, and wasn't really intended to be easily parsed by other applications. See https://bitcoin.stackexchange.com/q/10814
对于此自定义格式,请参阅 https://en.bitcoin.it/wiki/Protocol_documentation#block
有各种不同用途的数据库。作为参考客户端,我将使用 bitcoin-core 并描述其通过客户端存储的标准结构。它实际上使用 "leveldb" 和 "berkleydb-4.8" 来存储所有类型的数据。
钱包数据库
保存您的交易,生成 public/private 密钥。这通常是加密的 ;)
来源:Wallets
索引数据库
它通常是可选的,但通常会存储所有交易的列表以及它们发生在哪个区块中
阻止数据库
这是最重要的数据库,通过网络在本地存储和共享,以交流新创建的块并验证它们。每个客户都有它的复制版本。
它们通常存储曾经出现过的所有区块,也包括分叉区块和废弃区块。
来源:Blockchain / Transactions
同行数据库
显然还有一个数据库,用于您过去见过的所有同行。它通过给它一个禁令分数来评价每个点,存储它们的 IP 地址、端口和最后看到的状态。
结论:
那将是所有数据库。他们大多有 "一个 table",其中完全包括前面描述的数据结构。
可以在此处找到有关 p2p network structure 的更多信息。