分享百科

比特币交易

比特币交易

介绍

比特币交易其实就是比特币价值在交易双方之间的转移。可以划分为:链上交易和链下交易。

链上交易

链上交易(On-chain transaction)是比特币的常规交易方式,指的是发生在区块链网络上的交易。交易一旦经过验证(矿工们验证交易的过程就是在“挖矿”),其就会记录在区块链网络的公共分类账上。 交易流程

交易包含的内容

  • 包含一个或多个输入,用来支付交易输出所需价值
  • 包含一个或多个输出
  • 包含每笔交易输入的所有权证明
  • 所有输出的累加会略小于所有输入的累加,两者的差值隐含了手续费

交易找零

假设A要给B转账500元,A提供的输入地址内有600元,并且交易中需要支付5元手续费。那么此时就会产生两个输出:一个是支付给B的500元已花费的交易输出,另一个是95元未花费的交易输出UTXO)。也就是在现实生活中出现的找零现象。一般来说,除非交易输入总额与输出总额加上手续费完全相等,否则交易中一定会产生一些找零。找零输出会返回给原来的所有者。值得注意的是找零地址和输入提供的地址是不同的,通常是所有者钱包的新地址。

比特币交易输入

交易输入通过引用将UTXO标记为“将被消费”,并通过解锁脚本(又称脚本签名)提供所有权证明。构建一个交易时,一个钱包从它控制的UTXO中选择足够的面值来支付请求的付款。有时一个UTXO就足够,有时需要不止一个。对于用于付款的每个UTXO,钱包将创建一个指向该UTXO的输入(将该UTXO设置为输入),使用解锁脚本来解锁。

一个交易输入包含四个部分

  • 一个交易ID(交易散列),引用包含将要消费的UTXO的交易
  • 一个输出索引(vout),用于标识来自该交易的哪个UTXO被引用(第一个是0)
  • 一个scriptSig(脚本签名),满足UTXO的消费条件,解锁用于支出
  • 一个序列号,目前未被使用的的交易替换功能,设为0xFFFFFFFF(4294967295)

比特币交易输出

比特币交易的基本组成部分是交易输出。交易输出是比特币不可分割的基本组合,记录在区块链上,并被整个网络认可有效。比特币全节点跟踪所有可找到的和可使用的输出,也就是上面提到的“未花费的交易输出”。每个交易都会创造输出,生成一定数量的UTXO。

一个交易输出包含两部分

  • 一定量的比特币,面值为“”(satoshis),是最小的比特币单位(1比特币=1亿聪)
  • 确定花费输出所需条件的加密难题。这个加密难题也被称为锁定脚本(locking script)、见证脚本(witness script)或脚本公钥(scriptPubKey),并且这个难题只能收款方才能解开

关于脚本的知识,请点击此处获取。 交易输入输出

当我们要计算剩余资产的时候,只需要看每一笔流入账户的交易输出有哪些未被花费就行。

交易的类型

  • 普通交易:从一个地址到另一个地址的简单支付,有一个输入和两个输出(包括目标输出和找零)
  • 打包资金的交易:集合多个输入到一个输出的模式
  • 分散资金的交易:一个输入分配给多个输出,即多个接收者
  • 币基交易:它是每个区块中的第一笔交易,这种交易存在的原因是作为对挖矿的奖励,创造出全新的可花费比特币用来支付给“赢家”矿工。其没有输入,只有输出。

链上交易的优缺点

优点:

  • 安全性:存储在区块链上的数据是端到端加密的,一旦记录无法更改
  • 去中心化:区块链不受中央管理机构的监督,意味着几乎没有中间人违反信任或操纵数据流的风险
  • 透明度:使用分布式账本意味着交易在多个位置同时记录和验证。使用区块链浏览器,任何人可以将交易追溯到唯一的钱包地址并查看其活动,从而可以独立验证索赔和交易

缺点:

  • 交易缓慢:区块链交易速度会受到队列中待处理的交易量的影响,可能会导致网络拥堵
  • 高交易费用:当交易量高时,网络费用也会上涨。需求量大时,网络的使用可能会变的非常昂贵
  • 电力使用:工作量证明共识机制下,挖掘的过程使用大量算力和能源

链下交易

链下交易将部分工作从区块链生态系统中转移出来,之后可以重新集成到区块链中。在链下网络上,用户同意第三方将处理验证和验证交易。

链下系统通过促进更快、更便宜的交易来解决区块链网络的可扩展性问题。一种脱链交易方法是使用第 2 层(Layer 2),这是建立在主区块链(主网)之上的第二个区块链,以帮助主网扩展速度和成本。

其中闪电网络是一种基于Layer 2的技术。闪电网络的主要是实现是,支付的双方在链下建立一个"通道",双方可以在这个“通道”多次进行支付交易,在需要结算时,关闭通道即可。当支付的双方没有直接的"通道"时可以借助第三方节点进行中转。

此外还有侧链技术,即将比特币交易被转移到另一条区块链上,该侧链支持其他种类的区块链与比特币的链进行交互。

链下交易的优缺点

优点:

  • 更快的交易速度:链下交易无需等待主区块链网络确认交易,使其更快甚至即时处理
  • 降低成本:链下确认的交易几乎不需要任何费用,因为不需要通过挖矿或质押进行验证的过程。此功能在处理大量加密货币时特别有用
  • 更高的匿名性:链下交易提供更多隐私,因为数据不会公开广播到网络

缺点:

  • 透明度较低:链下发生的交易不遵循与区块链相同的协议,从而增加了争议的可能性
  • 无共识方法:如果网络上所有用户没有达成共识,验证和认证可能会留给中介。这意味着需要给予第三方信任,而不是让所有网络参与者作为一个集体达成一致
  • 可能不太安全:添加到区块链的块无法更改,因此在区块链之外操作会使网络更容易受到欺诈活动的影响

参考文章: https://zhuanlan.zhihu.com/p/559311782

更新/纠错 >

登链社区