主页 > imtoken的钱怎么拿出来 > 比特币交易流程

比特币交易流程

imtoken的钱怎么拿出来 2023-08-24 05:12:26

近期,博主正在整理一本通俗易懂的挖矿科普专辑,希望能全面介绍从初始加密货币交易发生到挖矿确认交易的挖矿过程。是什么,哪些环节产生了挖矿收益,我们常说的算力是什么,为什么要这样分配挖矿收益等等。

以比特币为例,我们知道在比特币网络中设计挖矿的目的是为了打包交易,维护比特币网络,所以交易实际上是与挖矿息息相关的第一环节。比特币网络中的交易过程使用了非对称加密技术、数字摘要技术、区块链技术等,其中不乏大神明珠,博主不会丑。这篇文章的主要目的是用比较通俗易懂的语言展示比特币的交易过程,让更多像作者这样的技术外行能够了解比特币。

在开始解释之前,我们需要几个概念:

抛开代码,我们来看看比特币的交易流程是怎样的:

如下图,有A、B、C、D四个人,他们都有比特币钱包,钱包私钥是自己持有的。 Generated) 在比特币网络上公开比特币是怎么交易的,用于 UTXO 锁定和验证。

开始,A to C0.7BTC,比特币网络中的记录是UTXO(1):A to C C0.7BTC;B to C0.5BTC,比特币网络中的记录是UTXO(2): B to C0.5BTC。此时,C的比特币钱包的账户余额就是这两个UTXO之和,总数C = UTXO(1)+UTXO(2)=1.2BTC。如下图:

这天,C从D那里买了一批货,需要付丁0.8BTC。 C通过比特币网络向D转账,但是C有丁的两个UTXO都小于0.8BTC,两个UTXO需要一起使用,类似于现金交易:支付丁1.2BTC,丁找到 Cing 0.4BTC。但是在比特币网络中,这个换工作是由C自己发起的。

整个交易流程如下:

C通过比特币钱包准备交易信息,交易信息包括输入和输出两部分,输入为UTXO(1)和UTXO(2),以及C的钱包私钥签名(因为 UTXO(1) 和 UTXO(2) 都是由 C 的钱包签名的) 钱包公钥被锁定,使用前需要通过 C 的私钥签名解锁) 交易的输出为一个未确认的UTXO(3):C to Ding 0.8BTC,这个新的UTXO指向Ding,交易确认后,会被D的钱包公钥锁定。

此时有0.4BTC需要改成C,所以需要输出一个未确认的。 UTXO(4): C to C0.3999BTC,这个新的UTXO指向C的钱包公钥,交易确认后会被C的钱包公钥锁定。

为什么找零的数量不是0.4BTC?因为比特币网络要求交易转账需要向比特币网络支付交易费用。剩余的 0.0001BTC 不指向任何钱包公钥,将作为转账手续费支付给打包交易的矿工(如果不做任何更改,所有剩余未指定的比特币将支付给打包交易作为手续费的矿工,但目前找零工作是由钱包自动完成的,不用担心)。交易 信息准备好后,C 的钱包验证交易是否合法(UTXO 合法、签名有效、输入输出金额有效等),并将交易广播到比特币网络。交易被挖矿节点验证后,将交易打包(交易记录在比特币区块中)并广播到比特币网络比特币是怎么交易的,交易完成。旧的 UTXO 被消耗,新的 UTXO 开始生效。此时丁的钱包有一个未使用的UTXO(3):C to Ding0.8BTC,C有一个未使用的UTXO(4):C to Cing0.3999BTC。

以上是一个比较抽象的比特币交易流程,涉及到比特币交易结构、签名验证、节点验证、交易广播、加入挖矿节点mempool、矿工构建预备区块、最终区块确认流程将是后面单独介绍,本文不再展开。

从这个抽象的交易过程中,我们可以发现,比特币交易本质上是一堆UTXO的输入输出过程。随着旧的 UTXO 被消耗,新的 UTXO 被生成并完成一次另一个比特币交易。交易过程受到非对称加密和散列算法的双重保护。比特币持有者可以放心地完成交易,而不必担心身份被泄露。交易过程中也会消耗一部分比特币,用于奖励打包交易的矿工。矿工很乐意维护比特币网络。