跳到主要内容
知识地图“不可篡改”为什么需要条件?行业概念与标准

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← 区块链与共享状态

一个问题

“不可篡改”为什么需要条件?

收到交易、进入区块与最终确认,提供的证据不同。

页面显示“交易成功”,可能只表示某个节点收到了请求,也可能表示交易已经进入区块。应用要把它用于交付,还需要说明依赖什么确认条件。

《区块链实战》第 6 章已经区分了“难以篡改”和“不可篡改”。继续追问时,要把本地修改文件、网络改选历史分支,以及协议最终确认分开。

改一个副本,和让别人接受它

你可以修改自己机器上的副本,但其他节点会按规则检查,不会因此接受这个版本。哈希关联让修改可以被发现;共识机制决定参与者接受哪段有效历史。

Bitcoin 节点在有效候选链之间比较累计工作量,也就是各段历史累计代表的计算工作量,而不只是区块数量。网络临时出现分支时,一笔已经进入某个区块的交易可能随着分支切换退出当前历史,这叫重组。后续确认增加通常会降低这类风险,但没有一个达到后便绝不可能改变的通用区块数。

多数算力攻击可能改变有效交易的排序、阻碍确认或帮助攻击者撤回自己先前的支付。它不会让攻击者凭空获得他人的私钥,也不能强迫遵守规则的节点接受无效交易。“能改历史”不等于“什么规则都能绕过”。

最终性也有具体协议条件

Ethereum 的共识机制 Gasper 会选择当前跟随哪段历史,还会通过投票确认历史中的特定位置,这些位置称为检查点。最终确定的检查点不应被普通分支选择撤回;推翻它意味着严重的共识安全故障,需要与正常的短暂分叉区别看待。

确认策略因此必须说明链、协议条件和异常处理。屏幕上的一个绿色勾号,没有替你说明这些条件。

原书与核实来源

本篇延续《区块链实战》的第 6 章相关问题,结合以下资料重新解释;不是原书节选。

本页涉及

术语

  • 区块链

    通过密码学连接记录,并按共同的验证与共识规则确定交易历史的分布式账本。