要点
- 区块链对经过验证的状态转移进行排序和复制。
- 授权、执行、排序和共识是不同的阶段。
- 哈希链接提供篡改的证据;共识提供被接受的历史。
- 区块链并不保证链下的真实、无瑕的代码、隐私,或在每一种假设下的永久性。
学完本课你能够
- 追踪一笔交易,从签名一直到验证和被纳入区块
- 解释执行、共识和数据可得性各自分开的角色
- 识别区块链的复制解决了什么、又没解决什么
一台被复制的状态机
一条区块链,是一个有序的数据结构,被一个分布式的网络用来就状态转移达成一致。一个用户签署一笔交易;节点对照协议规则检查它;一个区块生产者提议一种排序;共识流程让参与者选出被接受的历史。密码学的链接让日后的篡改可被察觉,而经济和网络的规则决定参与者遵循哪一条链。区块链协调的是各方之间的一致;它并不让输入的数据变成真的,也不让软件没有缺陷。
要点: 把交易授权、执行的有效性、排序、共识和终局性分开。
跟踪一笔交易
追踪一次转账,而不使用“区块链处理它”这种含糊的说法。
- 一个钱包用相关的密钥,构造并签署一笔交易。
- 节点验证签名、余额或状态规则,并传播有效的候选交易。
- 一个提议者把交易排序进一个候选区块。
- 共识选出被接受的历史;确认数或终局性提升对结算的信心。
复制改变了什么
| 能帮上什么 | 不保证什么 | |
|---|---|---|
| 共享的历史 | 参与者验证共同的状态 | 链下输入的真实性 |
| 篡改的证据 | 改动会与后来的哈希和共识相冲突 | 合约代码里没有漏洞 |
| 容错 | 不需要单一的数据库运营方 | 无限的吞吐量或零成本 |
| 可审计性 | 规则和状态可以被独立地检查 | 默认的隐私 |
常见误区:把数据称为“不可篡改”
实际的终局性,是共识、网络假设和已过去的确认数的一种属性,而不是哈希本身的一种魔法属性。协议可以重组近期的区块、升级规则,或分裂社区。数据也可以在协议看来是正确的,却代表着一个欺诈性的链下说法。“不可篡改”应该被替换成一个精确的问题:要改变被接受的历史,需要付出什么代价、需要什么条件?
把刚学的练一练
在 App 中完成本课的测验和复习卡,然后在模拟交易中用虚拟资金试试这个想法。免费账户,无需银行卡。
仅供学习,不构成投资建议。例子仅作说明。 阅读完整免责声明
