
先理解支付改变了什么
区块链支付可以理解为:发送方授权一项变更,网络按规则检查,再将结果纳入共同维护的账本。理解相关术语时,可以围绕三个问题展开:谁有权支付、支付消耗什么、网络如何确认结果。
比特币与以太坊采用不同的记账方式。下文中的UTXO与脚本主要对应比特币,账户nonce与Gas主要对应以太坊,不能直接套用于所有区块链。

私钥、公钥与签名:证明支付授权
私钥用于生成数字签名,公钥用于验证签名。签名将授权与特定交易数据联系起来;验证过程不需要公开私钥。地址则用于表达收款目标,其编码和对应条件取决于具体网络与地址类型。

因此,地址、私钥和签名承担不同职责。知道一个收款地址,并不等于获得花费权限;签名也不等于加密交易内容,它主要用于验证授权及所签数据的完整性。
UTXO、输入与输出:比特币如何记账
比特币开发者指南将普通交易描述为消耗旧输出、产生新输出的过程。UTXO是尚未被花费的交易输出;输入通过交易标识txid与输出索引定位它。输出包含金额与花费条件,后续交易需要满足这些条件。
钱包余额可以由多个UTXO组成。txid定位一笔交易,输出索引定位其中的一项输出,两者合起来才能明确引用对象。指南中的P2PKH示例以公钥哈希和签名验证花费权限,这只是具体脚本类型的例子。
nonce与Gas:以太坊如何执行交易
以太坊交易文档将交易解释为带有密码学签名的状态变更指令。账户nonce用于交易排序;value表示转移的ETH数量;data可承载合约调用信息。Gas衡量执行所需资源,gasLimit规定本次执行可消耗的Gas上限。
Gas数量与每单位Gas的价格是两个维度,类似资源用量与单价。最大费用参数表达支付上限,不能直接当作实际费用。涉及合约时,to可能指向合约,具体执行什么还需结合调用数据理解。
常见问题:广播和确认有什么区别
广播表示交易进入网络传播流程,纳入区块表示它已被记录,两者不是同一阶段。交易哈希可以作为识别线索,但仅有哈希不能证明支付已经完成。
确认还需要区分记账稳定性与执行结果。以太坊交易被纳入区块后,仍需查看执行是否成功;区块最终确定性则涉及记录稳定程度。比特币确认与以太坊最终确定性的机制不同,不宜用一个通用的确认次数概括。