
上链:先明确研究对象
“上链”需要具体到对象和阶段:讨论的是交易记录、合约状态,还是某份数据的摘要?研究中应说明写入了什么、记录在哪条链上,以及用什么证据判断完成。仅有提交结果,尚不足以说明预期状态已经形成。
以太坊交易文档侧重状态变化与执行过程,比特币开发指南侧重交易账本与区块验证。两者可用于理解上链的共同环节,但各自的账户、费用和确认术语需要分别解释。

以太坊:交易、签名与Gas
在以太坊中,交易是经过密码学签名的指令,可用于转移ETH、部署或调用合约。签名用于验证授权;账户交易nonce用于标识交易顺序;input可承载调用数据。Gas衡量执行所需的计算资源,gasLimit限定可消耗的Gas数量,费用上限与实际费用需要区分。

分析这些字段时,应把“谁授权”“执行什么”“资源限制是多少”分开。签名有效只回答授权问题,不能单凭签名判断合约调用是否符合业务目标。
比特币:UTXO与区块结构
比特币的UTXO指尚未花费的交易输出,后续交易可将其作为输入。同一输出不能在有效链上重复花费。交易哈希逐层汇总形成默克尔根,区块头还引用前一区块头的哈希。节点独立验证区块,并在有效分支中遵循累计工作量最大的链。
默克尔包含证明用于核对某笔交易是否属于一个区块,其证明范围不包括链外事件的真实性。区块高度表示位置;发生分叉时,同一高度可能存在不同区块,因此定位记录还需要区块哈希。
确认:收录、执行与最终性
交易哈希是标识,不是完成证明。以太坊交易进入待处理池后,还需被区块收录;被收录也不能直接等同于业务执行成功。研究中应分别检查区块归属、执行结果及最终性状态。比特币的确认则需要结合后续区块与累计工作量理解,不能直接套用以太坊的最终性术语。
常见问题与适用条件
“查询到数据就算上链了吗?”应先区分查询已有状态与提交状态变更。以太坊通过eth_call进行只读查询通常不产生链上交易,也不支付链上Gas费用;同类函数在链上交易执行过程中被调用时,仍会消耗Gas。
“不同链的nonce是一回事吗?”以太坊账户交易nonce涉及交易顺序,比特币区块头nonce用于工作量证明中的哈希尝试。术语相同不代表用途相同,解释时应同时标明所属链、字段位置和验证目标。