
矿工将比特币交易数据以不可篡改地形式记录到被称为区块的文件中。区块可以被看作是城市记录员的记录簿(用于记录房地产所有权的变化)或股票交易账簿中的册页。每个区块都建立在前序区块之上,并对其进行引用,这就让历史记录随时间形成了线性序列,也就是我们熟知的区块链。矿工不断将新交易加工成新的区块,然后添加到链的末尾。随着新的区块被添加到链的顶端,旧区块被埋得越来越深,变得更难更改或删除,也就形成了比特币网络安全模型的一部分。
区块信息结构
描述
每个区块都包含当前时间、一部分或所有最近交易的记录以及对紧临的前序区块的引用。它还包含了一个各区块独有的哈希谜题的答案。区块哈希算法要求矿工在尝试解开谜题之前预先构建他们的候选区块。如果答案不正确,新的区块就无法提交给网络——“挖矿”的过程本质上是竞争成为下一个找到“解决”当前区块的哈希谜题的过程。每个区块中的哈希谜题都难以解决,但是一旦找到了有效解,网络中的其他矿工就很容易确认该解是否正确。对于任何给定的区块,都存在多个有效解——但只需要找到一个有效解,就解决了该区块的谜题。
作为对构建区块、付出算力并将区块成功广播到网络的奖励,获胜的矿工将得到区块补贴和交易中包含的所有交易手续费。获胜的矿工通过区块中的第一笔交易向自己支付这笔奖励,这被称为生成交易或coinbase交易。区块补贴从每个区块50个比特币开始,每21万个区块或大约每四年减半一次。
当发送者将比特币交易广播到网络上时,竞争构建区块的节点会收集交易并将其打包到他们正在挖掘的区块中。附加的交易手续费是对矿工的激励,激励他们将交易打包进区块。
数学问题(哈希谜题)的难度由网络自动调整,其调整目标为平均每小时创建6个区块。在最初的设计中,该出块速率每2016个区块调整一次,大约间隔2周。目前(2019年11月)BSV网络遵循难度调整算法(Difficulty Adjustment Algorithm,DAA)。
因为每个区块都包含了对前一个区块的引用,所以可以说现存的所有区块的集合形成了一条链。然而,这条链有可能出现临时分叉,例如,两个矿工有可能在互不知情的情况下同时取得同一区块的两个不同的有效哈希解。点对点网络的设计是为了在短时间内解决分叉问题,使得只有一个分支链存活下来。
客户端认定“最长”链为有效链。整个区块链的“长度”是指在所需难度下拥有最多区块的链上所包含的区块的数量。