
一、先区分技术层次与适用范围
业界区块链应用涉及哪些技术概念,可以从四个问题入手:记录如何组织、节点如何认可记录、交易如何改变状态、业务规则如何执行。比特币开发指南侧重账本与交易机制,以太坊开发文档则解释智能合约。两者能帮助建立基础框架,但不能把某一网络的设计视为所有区块链的统一标准。
二、哈希与默克尔树:让记录能够核验
在比特币中,区块通过前一区块头的哈希相连;交易摘要组成默克尔树,其根写入区块头。修改交易会改变相关摘要,破坏原有对应关系。默克尔证明可以帮助核验交易是否被某个区块收录。

这里需要区分“记录能否核验”和“记录内容是否真实”。证明一条记录被收录,不等于证明它描述的现实事件确实发生。涉及实物或线下流程时,仍需说明信息由谁采集、如何核实。

三、节点与共识:认可记录需要共同规则
比特币全节点独立验证区块,工作量证明参与维护历史记录的安全。出现竞争分支时,节点依据累计工作量在有效链之间选择,而不是只比较区块数量。因此,区块高度并非全局唯一标识,区块头哈希更适合标识具体区块。
讨论应用时,应先明确采用哪套验证和分支选择规则,再解释确认过程,不能仅凭“已经上链”就推导出记录在任何条件下都不会变化。
四、UTXO:理解交易如何衔接
比特币使用未花费交易输出,即UTXO,描述可被后续交易使用的输出。普通交易消耗此前的未花费输出并生成新输出,同一输出不能被重复花费。这套机制用于约束重复支出,不应直接套用于所有区块链的状态模型。
五、智能合约:把规则表达为程序
以太坊智能合约是在特定地址保存代码与状态的程序,用户通过交易调用其功能,部署和执行涉及Gas。合约之间可以相互调用,形成可组合的业务逻辑。
适合交给合约处理的规则,需要具备明确输入、条件和结果。“自动执行”并不意味着程序自动理解业务意图,因此判断应用是否合理,要看代码表达的条件是否与实际需求一致。
六、预言机与多重签名:处理外部信息和权限
智能合约不能独立获取链外事件信息,预言机负责将链外数据提供给合约。多重签名则要求达到预设数量的有效签名后才执行操作,用于分配控制权。
常见问题是:引入这些机制,是否就能消除信任风险?不能如此理解。预言机应用需要审视数据来源,多重签名应用需要审视签名者安排。前者解决信息如何进入链上,后者解决谁能授权操作,两者不能相互替代。