
一、账本结构:区块、哈希与默克尔树
区块链将交易记录组织为区块,并通过前一区块的哈希建立关联。比特币还用默克尔树把交易摘要汇总到区块头,使交易是否被收录可以通过相应证明核验。
这些概念解决的是记录关联与完整性验证问题。证明某条记录被收录,不等于证明记录描述的现实事件确实发生;理解应用时,需要区分数据完整性与内容真实性。

二、网络协作:节点、共识与工作量证明
比特币全节点独立验证区块,矿工通过工作量证明参与出块;出现竞争分支时,节点在有效链中选择累计工作量更大的链。区块高度表示位置,但不能作为区块的全局唯一标识。

共识不是任意参与者认可就能让无效记录生效,而是围绕共同规则验证和选择历史。讨论安全性时,应同时考虑验证规则与历史重写成本,避免把“难以修改”理解成“绝不可能改变”。
三、交易状态:UTXO与双重支付
比特币用未花费交易输出,即UTXO,表达可供后续交易使用的输出。同一输出不能在有效链中重复花费,这是理解双重支付限制的关键。
这一模型适用于解释比特币的交易状态,不宜直接套用到所有区块链。分析其他系统时,应先确认它如何表示余额、权限与状态变化,再理解交易有效性的判断方式。
四、应用执行:智能合约、虚拟机与Gas
以太坊智能合约是在链上特定地址保存代码和状态的程序,可由交易调用,并在虚拟机中执行。部署和调用涉及Gas,合约之间也能够相互调用。
智能合约适合表达能够明确编码的规则,但自动执行不等于业务逻辑正确。应用设计仍需检查执行条件、权限设置和异常处理;组合多个合约时,也要考虑所依赖合约的行为。
五、适用条件与常见问题
合约能直接知道现实世界发生了什么吗?不能自行获取链外事件,需要预言机等机制提供数据。因此,涉及现实信息的应用还必须明确数据来源及其可信条件。
多重签名能解决所有安全问题吗?它通过要求多方授权降低单一密钥控制带来的风险,但不能替代代码检查和权限设计。
区块链应用应如何理解?可依次追问:记录怎样组织、节点怎样验证、状态怎样变化、规则怎样执行、外部信息由谁提供。这些问题有助于识别技术能力与适用边界,而不是仅凭“上链”判断系统是否可靠。