
区块链网络怎样维护共同账本?
区块链将交易组织进区块,并通过前一区块的哈希连接历史。节点依据共同规则检查数据,共识机制帮助网络对账本状态达成一致。这里既有数据是否有效的问题,也有多个有效候选出现时采用哪条链的问题。
比特币开发者文档介绍了全节点独立验证、交易输出只能花费一次,以及按累计工作量选择有效链等规则。以太坊共识机制文档则说明,共识包含出块安排、验证、分叉选择和激励约束,权益证明是其中的组成部分。不同网络的具体规则不能直接互换。
交易发出后就算确认了吗?
交易传播意味着其他节点收到交易;被纳入区块意味着它进入某个候选账本历史。两者之间还存在验证和出块过程,不能把广播成功理解为已经完成链上确认。
以比特币为例,普通交易的输入必须引用尚未花费的交易输出。即使交易格式正确,重复花费同一输出仍会违反规则。网络需要同时判断交易是否合法,以及它与已接受历史是否冲突。
谁生成区块,谁就能决定规则吗?
生成区块的参与者负责提出候选记录,其他节点仍会检查其有效性。出块资格不会让违反验证规则的数据自动获得接受。理解这一点,可以避免把矿工或验证者误认为能够任意修改账本的管理员。
工作量证明依赖计算投入,权益证明依赖质押及相应约束。完整共识还需要解决参与者如何协作、出现竞争区块时如何选择等问题,不能仅凭机制名称推断全部安全属性。
为什么会分叉,“最长链”如何理解?
不同参与者可能近乎同时生成区块,消息传播也需要时间,因此节点可能暂时看到不同的链头。短暂分歧并不必然表示网络故障,分叉选择规则用于协调这些候选历史。
对比特币而言,比较的是有效链的累计工作量,不能只数区块个数。以太坊权益证明机制使用与验证者质押权重相关的投票来选择链头,不能套用比特币的计算规则。
历史记录是否绝对无法修改?
哈希连接让修改历史留下可检测的变化;共识机制进一步提高替换已接受历史的难度。安全性来自这些机制共同作用,单靠哈希并不能阻止攻击者重新计算数据。
在工作量证明网络中,后续区块累积通常会增加重写既有历史的成本。实际安全程度仍取决于攻击资源、网络状况和协议规则。“不可篡改”应理解为特定条件下难以改写,不能视为任何情况下都不会发生历史重组的保证。