基本面分析

显示 收起

比特币的区块链是什么?

区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。比特币的区块链是什么?它可以被存储为flat file(一种包含非相对关系记录的文件),或是存储在一个简单数据库中。比特币核心(Bitcoin Core)客户端使用Google的LevelDB数据库存储区块链元数据。

 区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块。区块链经常被视为一个垂直的栈,第一个区块作为栈底的首区块,随后每个区块都被放置在其他区块之上。用栈来形象化表示区块依次堆叠这一概念后,我们便可以使用一些术语,例如,“高度”来表示区块与首区块之间的距离;以及用“顶部”或“顶端”来表示最新添加的区块。对每个区块头进行SHA256加密哈希,可生成一个哈希值。通过这个哈希值,可以识别出区块链中的对应区块。

 同时,比特币的区块链每一个区块都可以通过其区块头的“父区块哈希值”字段引用前一区块(父区块)。也就是说,每个区块头都包含它的父区块哈希值。这样把每个区块链接到各自父区块的哈希值序列就创建了一条一直可以追溯到第一个区块(创世区块)的链条。虽然每个区块都只有一个父区块,但可以暂时拥有多个子区块。比特币的区块链每个子区块都将同一区块作为其父区块,并且在“父区块哈希值”字段中具有相同的(父区块)哈希值。一个区块出现多个子区块的情况被称为“区块链分叉”。区块链分叉只是暂时状态,比特币的区块链只有当多个不同区块几乎同时被不同的矿工发现时才会发生。最终,比特币只有一个子区块会成为区块链的一部分,同时解决了“区块链分叉”的问题。尽管一个区块可能会有不止一个子区块,但每一区块只有一个父区块,这是因为一个区块只有一个“父区块哈希值”字段可以指向它的唯一父区块。