比特币的交易整体分为中心化平台链下撮合交易、去中心化钱包链上转账两大形式,链上转账依托UTXO账本模型、私钥签名验证、全网节点校验与矿工区块打包完成最终确权,也是比特币最核心的价值转移方式。很多新手会混淆交易所买卖比特币和钱包点对点转账,前者不会立刻改动区块链总账本,后者才会把交易记录永久写入比特币公链,二者执行逻辑、确权速度、资产控制权有着本质区别,想要完整弄懂比特币交易,就需要从日常实操入口拆解底层运行逻辑。

普通用户接触最多的第一种交易场景,就是在中心化交易所进行现货买卖,这属于典型的链下内部记账交易。当我们把比特币充值到交易所账户时,资产只是在区块链上完成一次归集转账,后续挂单买入、卖出比特币的过程,并不会实时上链。交易所依靠内部订单簿完成买卖双方的订单撮合,仅在平台后台修改用户账户账面数字,整个过程没有消耗区块空间,成交速度可以达到毫秒级别,收取的是平台约定比例的交易手续费。只有当用户把账户内的比特币提现到个人自建钱包地址时,这笔资产转移才会正式触发链上交易流程,进入全网验证环节。
个人钱包发起的链上转账,会依托比特币独有的UTXO未花费交易输出机制构建交易指令,这也是比特币区别于传统银行账户体系的关键。比特币不存在单独的账户余额数字,钱包显示的总资产,是所有归属于自身地址、还没有被消耗的UTXO总和,每一笔转账都需要完整消耗旧的UTXO作为交易输入,再生成新的输出。如果我们想要转出指定数量的比特币,钱包会自动挑选合适面额的UTXO,扣除转账金额与矿工手续费之后,把剩余差额生成一笔找零UTXO返还到自身全新地址,全程不会拆分原本的旧交易输出,输入总额减去收款金额和找零金额的部分,就会作为矿工激励费用。

构建完交易结构之后,私钥签名与全网节点校验会为交易赋予合法性,整个过程私钥本身不会向外泄露。用户填写收款地址、转账数额、自定义网络手续费之后,钱包会对完整交易数据进行哈希压缩,再通过secp256k1椭圆曲线算法生成专属数字签名,随后将交易原文、签名、公钥一同广播到比特币分布式节点网络。各个全节点会独立核对五项基础规则:UTXO是否已经被花费、签名是否有效、输入金额大于等于输出金额、交易格式合规、手续费合法,校验失败的交易会被直接丢弃,校验通过的交易则会存入所有节点共用的内存池排队等待处理。网络拥堵时,设置更高手续费的交易会被矿工优先选中打包。

排队后的交易最终由矿工打包进新区块,经过多轮区块确认后实现交易不可逆,完成一笔比特币交易的最终闭环。矿工竞争完成工作量证明运算之后,会从内存池中批量筛选交易整合为区块体,搭配区块头的上一区块哈希、默克尔根、时间戳数据生成完整区块,广播至全网后所有节点同步更新区块链账本。行业普遍认可6次区块确认之后,这笔转账就几乎无法篡改,因为想要推翻交易需要重新计算后续全部区块的算力。常规状态下比特币平均十分钟产出一个新区块,小额转账等待1至3次确认即可使用资产,大额资产转移通常建议等待6次确认规避双花风险。除此之外闪电网络二层网络还优化了小额高频转账的痛点,在链下建立支付通道完成交易,最终只把最终结算结果上链,降低了普通小额转账的成本与等待时间。


