光电 · 技术与产业
文章库关于本站

资料与核验

区块链教程和应用技术有哪些常见误区

摘要

理解区块链,需要区分共识机制与抗女巫攻击机制、记录一致性与数据真实性,以及区块高度与区块身份。本文围绕共识、分叉、历史记录和验证范围解释常见误区,并说明相关概念在教程学习与应用开发中的适用条件。

冷钱包助记词备份的科技主题配图

把PoW、PoS当作完整的共识机制

以太坊开发文档说明,工作量证明和权益证明承担抗女巫攻击、参与出块者选择等作用;完整共识还涉及分叉选择、协议规则及激励约束。因此,教程只介绍挖矿或质押,尚不足以解释节点如何形成一致的链上状态。

学习时应分别追问:谁能参与出块,区块怎样验证,出现竞争分支时怎样选择。不同问题对应不同机制,不能用一个算法名称包办全部解释。

冷钱包和热钱包的区别的科技主题配图

把“最长链”理解为区块数量最多

比特币开发指南中的链选择以累计工作量为依据,并以区块有效为前提。区块高度也不是唯一标识,因为竞争分支可以在同一高度产生不同区块。

区块链供应链溯源的科技主题配图

这一点适用于理解比特币,不能直接推广到所有区块链。应用记录区块时,需要区分用于定位层级的高度与用于识别具体区块的哈希;仅凭高度相同,无法判断两个节点看到的是同一区块。

把难以篡改理解为永远不会改变

哈希链接使历史修改能够被检测,共识机制进一步约束网络接受哪段历史。但链头出现竞争分支、随后重新选择分支,并不等于哈希失效。

常见问题是:交易进入区块后,是否就可以视为不可逆?这取决于所用网络的确认或最终性机制。应用应区分已被收录与达到相应确认条件,避免把首次看到的结果直接解释成永久状态。

把网络达成一致等同于现实信息真实

共识解决的是节点按照规则认可哪份链上记录。由此不能推出记录描述的现实事件一定真实。例如,应用写入一项业务声明,链上能够记录该声明,却不会仅凭共识自动核验声明涉及的实物或线下行为。

对于连接现实业务的应用,数据如何采集、由谁提交、怎样核验,需要单独说明。账本的一致性不能替代输入信息的真实性验证。

把局部证明当成完整验证

另一个常见问题是:证明交易被某个区块收录,是否就证明一切有效?包含关系、区块有效性以及该区块是否属于认可的链,是不同层次的问题。

阅读教程或设计应用时,应明确实际检查了哪些条件、哪些判断依赖其他组件。只有把证明范围说清楚,才能避免将局部验证能力误写成整个系统的安全保证。

← 返回全部文章

延伸阅读 · 相关栏目

光电技术产业观察研究资料资料与核验