
架构中的核心问题
区块链运作架构涉及哪些技术概念,可以沿着三个问题理解:数据如何组织,参与者如何验证,多台计算机如何认可共同记录。数据结构负责建立关联,验证规则判断操作是否有效,共识机制协调记录的顺序与选择。这些职责相互配合,但不能彼此替代。
比特币:交易、区块与工作量证明
比特币开发指南展示了这样一条技术链路:交易消耗未花费交易输出,即UTXO;交易哈希组成默克尔树,其根写入区块头;区块头引用前一区块头的哈希。全节点独立验证区块,工作量证明参与链的选择;出现有效分支时,节点遵循累计工作量最大的链。
这些概念分别对应状态、数据关联与历史选择。判断一笔支出是否有效,需要检查它引用的输出是否仍未花费;判断历史记录是否被改动,需要检查哈希关联;遇到竞争历史,则还需要共识规则。仅有链式存储,无法独自解决重复花费问题。
以太坊:账户、执行环境与应用接口
以太坊开发文档将账户、交易、区块、EVM、Gas、节点与共识列为基础概念,并覆盖智能合约、客户端接口、预言机和扩容。交易触发状态变化,EVM承担程序执行,Gas用于计量计算资源,应用通过客户端接口与网络交互。
理解这一架构时,应把执行与共识分开:执行回答操作会产生什么结果,共识回答网络接受哪一组有序记录。智能合约属于程序执行层面的能力;开发工具和接口方便应用访问网络,本身不构成交易有效性的证明。
适用条件:不同区块链采用不同组合
UTXO适合解释比特币的支出关系,账户与状态变化适合解释以太坊的相关机制,不能把两种模型直接混用。同样,理解比特币的工作量证明,并不意味着所有区块链都依靠挖矿运行。讨论某条链时,需要先确定其状态模型、验证规则和共识机制。
常见问题:校验通过意味着什么
默克尔证明能证明交易有效吗?它用于核验交易是否被包含在相应区块中,完整有效性仍涉及交易规则、区块规则及历史选择。包含关系与有效性是两个不同判断。
区块高度能唯一标识区块吗?分叉时,同一高度可能出现多个区块,因此还需要区块哈希区分。区块链是否绝对不能修改?哈希关联让改动可以被检测,共识机制提高重写被接受历史的难度;安全性仍取决于具体协议及其运行条件。