
结算首先是账本状态的变化
区块链结算可以从一个问题理解:一笔资产转移,何时被网络接受并记录下来?交易表达变更请求,节点按共同规则验证,区块承载交易记录,共识机制决定网络认可的历史。提交请求只是过程的开始。
本文讨论链上记录的技术确认。若业务还涉及商品交付、银行入账或法律权利转移,这些事项需要各自的证据,不能仅凭链上记录判断全部完成。
两种记账方式:账户与UTXO
以太坊交易可以转移ETH,也可以调用合约改变状态。理解这类交易,要关注发送方、接收地址、金额、输入数据和账户交易序号。比特币则使用未花费交易输出,即UTXO:新交易消耗此前的输出,并产生新的输出,同一输出不能重复花费。
因此,两者的核对思路有所不同。账户模型侧重账户及合约状态的变化;UTXO模型侧重输入是否可用、输出如何分配。不能把一种模型中的字段直接套用到另一种模型。
签名和费用分别解决什么问题
数字签名用于验证授权,不能保证接收对象正确或业务约定得到履行。识别结算内容时,既要看金额,也要看交易实际调用的功能;合约交互中的接收地址可能是合约地址。
以太坊使用Gas计量执行资源,Gas上限和单位Gas费用上限含义不同。比特币普通交易的输入总额与输出总额之差构成手续费。费用属于处理交易的成本,不等于收款金额,也不能作为执行成功的证明。
提交、入块与最终性需要分开判断
交易哈希是查询交易的标识,不代表结算完成。以太坊交易进入区块后,仍需区分执行结果与区块的最终性状态;入块的合约交易也可能执行失败。比特币交易所在区块之后累积更多区块,通常会增加改写该段历史的难度。
判断结算状态,应分别回答:交易是否被收录、预期变更是否发生、记录达到何种稳定程度。不同网络的共识机制不同,不能用统一的等待时间或确认次数解释所有链。
常见问题与适用边界
为什么显示已提交,对方却未收到?提交状态不足以证明已入块;涉及合约时,还需核对执行结果和实际资产变动。核对信息应对应同一网络、同一笔交易与同一种资产。
链上记录是否绝对不可更改?区块链接和共识机制提高了改写历史的难度,但“难以更改”不能理解为无条件保证。入门时应先掌握具体网络的确认规则,再理解业务系统如何将这些状态映射为“待处理”或“已完成”。