
分布式账本:共同维护记录
大谈区块链技术发展涉及哪些技术概念,可以先从“多方怎样共同维护记录”理解。NIST《区块链技术概述》将区块链描述为分布式实现、具有篡改可发现性和抗篡改能力的数字账本,通常不依赖单一中央权威。
共享账本解决的是参与者如何保存和核对共同记录。理解其适用条件,需要看哪些人可以参与、各方是否需要独立验证,以及记录出现分歧时采用什么规则。分布式保存本身不足以回答这些问题。
密码学:哈希与数字签名
NIST列出的基础概念包括密码学哈希、非对称密码学和数字签名。哈希为数据生成摘要,可用于检查内容是否变化;数字签名则支持验证消息与相应密钥之间的关系,并检查消息完整性。
这两类工具承担不同职责:内容能否被发现遭到修改,与谁有权提交内容,需要分别验证。签名验证通过也不意味着所记录的现实事件一定真实,密钥授权和事实核实仍是不同问题。
共识机制:让节点采用一致状态
以太坊开发者文档强调,共识机制包含使节点就账本状态达成一致的一整套协议、规则和激励。工作量证明与权益证明只是其中的组成部分,还需要区块选择等规则配合。
工作量证明以计算资源参与竞争,权益证明以质押资源参与相应验证过程。理解二者时,应关注参与成本如何约束行为、谁能提出区块,以及其他节点怎样验证,而不能只比较名称。
抗女巫攻击与分叉选择
同一参与者创建大量身份、试图放大影响力,是女巫攻击的基本问题。上述开发者文档将工作量证明和权益证明解释为抵抗这类攻击、选择出块者的机制:影响力受到资源投入的约束。
网络传播存在时间差,同一位置可能出现竞争区块,因此还需要分叉选择规则。对于工作量证明链,相关比较依据是累计工作量,不能简单理解为区块数量更多就必然有效。
合约、预言机与升级规则
NIST概述还列出智能合约、数据预言机以及软分叉、硬分叉等概念。智能合约用于表达和执行链上程序规则;预言机涉及链外信息的引入;软分叉与硬分叉则涉及协议规则变更及兼容性。
这些概念对应不同边界:程序执行需要检查规则本身,外部数据需要检查来源,协议升级需要检查参与者采用的规则是否兼容。讨论技术发展时,明确问题属于哪一层,比罗列术语更有帮助。
常见问题:抗篡改是否等于绝对可信
抗篡改具有运行条件和安全假设。NIST的定义以网络正常运行为前提,因此不宜把它扩展成任何情况下都无法改变记录的承诺。
区块链也不会自动消除所有信任需求。账本一致、签名有效、外部数据真实和程序正确是不同判断;具体系统是否可靠,需要分别检查这些环节,不能仅凭采用区块链这一点得出结论。