
账本结构:哈希链与默克尔树
比特币区块链按顺序记录交易。区块头包含前一区块头的哈希,将区块连接起来;区块内的交易标识经逐层哈希形成默克尔根,写入区块头。全节点依据共识规则独立验证区块。
两种结构解决不同问题:哈希链关联历史,默克尔树支持核对交易是否被某个区块收录。收录证明有明确边界,不能单独替代对交易和区块全部规则的验证。
交易状态:UTXO与双重支付
比特币普通交易引用此前的输出,消耗未花费交易输出,即UTXO,并生成新的输出。同一输出不能在有效链上重复花费;普通交易输入总额与输出总额的差额构成手续费。
因此,理解余额需要关注尚未花费的输出。判断一次支付是否成立,也需要核对所引用的输出是否可用,不能只看交易描述中是否写有金额。
共识:工作量证明与分叉
比特币工作量证明要求区块头哈希满足目标阈值。出现竞争分支时,节点在符合规则的链中选择累计工作量最大的链。区块高度表示位置,区块哈希用于识别具体区块。
这里有两个常见问题:高度相同不代表区块相同;历史记录也并非绝对无法改写。哈希关联与工作量证明共同提高改写成本,确认增加会使替换相关历史更加困难。
应用执行:智能合约及其适用范围
以太坊智能合约是在链上运行的代码和状态,可由交易触发,也可调用其他合约。执行消耗以gas计量的资源。合约需要链外信息时,可通过预言机引入;多签机制则要求多个有效签名满足执行门槛。
这些概念描述以太坊应用机制,不能直接视为比特币采用相同执行方式。理解具体应用时,需要分别确认其账本模型、执行规则和授权条件。
常见问题:上链是否等于真实可靠
记录可验证与内容符合现实是不同要求。预言机把外部信息提供给合约,并不自动保证信息真实;合约按代码执行,也不保证代码准确表达业务意图。
多签适用于需要多人共同授权的情形,但它解决的是授权门槛问题。评估应用的技术边界,应分别考察数据来源、程序逻辑和签名权限,不能用其中一种机制代替全部判断。