
区块链解决什么问题
NIST《区块链技术概述》将区块链描述为分布式实现、能够显露并抵抗篡改的数字账本。它让一组参与者共同记录交易,在网络正常运行的条件下维持已发布记录的稳定性。
可以把它理解为多人共同维护的记录簿:关键不仅是各自保存记录,还要有共同认可的核验规则,避免每个人的版本各说各话。
区块为什么能连成链
比特币开发者指南说明,区块头保存前一区块头的哈希,区块内交易则通过默克尔树汇总为一个根哈希。修改交易会改变相关哈希,使后续连接也需要相应重建。
哈希在这里类似内容指纹,用来检查内容是否发生变化。链式结构使历史修改留下可检测的痕迹,而修改后的版本能否被网络接受,还取决于共识机制。
节点如何认可同一份记录
在比特币中,全节点独立验证区块;工作量证明要求区块头哈希满足难度条件。出现竞争分支时,节点在有效链中依据累计工作量选择历史。交易输入还必须引用未花费输出,从而阻止同一输出被重复使用。
这包含两个不同问题:一条记录是否符合规则,以及多份合规的候选历史中采用哪一份。仅把数据打包并计算哈希,还不足以解决共同记账问题。
不可篡改是否意味着绝对安全
“不可篡改”需要结合运行条件理解。NIST强调的是篡改可见性和抗篡改能力,并非任何环境下都绝对无法改动。对具体系统的判断,需要考察参与权限、共识规则及其成立条件。
记录稳定与内容真实也是两回事。例如,把一份错误的登记内容写入账本,后续能够核验它未被修改,并不能证明最初登记的内容正确。
为什么会分叉,原理是否通用
比特币可能因近乎同时出现新区块而暂时分叉,后续选择链的过程可能替换近期区块。因此,记录进入某个区块与历史已经稳定不能简单画等号。
比特币展示了一种具体实现。理解其他区块链时,需要分别确认其记账权限、验证规则和历史确定方式,不能直接套用比特币的工作量证明或交易输出模型。共享账本适合讨论多方如何核验同一段历史,但不能自动解决数据录入是否准确的问题。