比特币的交易是怎样的?的挖矿科普专辑

资讯 7个月前 manoon
0

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

比特币为例。我们知道,在比特币网络中挖矿的目的是打包交易,维护比特币网络。那么交易其实就是和挖矿息息相关的第一个环节。在比特币网络的交易过程中,使用了非对称加密技术、数字摘要技术、区块链技术等。在技​​术实现中,已经有很多大神和玉石摆在面前,博主们也不会露出丑陋的一面。这篇文章的主要目的是用比较简单的语言展示比特币的交易过程,让更多像作者这样的技术外行人能够理解比特币。

比特币的交易是怎样的?的挖矿科普专辑

比特币的交易是怎样的?的挖矿科普专辑

在开始讲解之前,我们需要先了解一下安利的几个概念:

抛开代码,我们来看一下比特币交易的流程:

如下图,A、B、C、D四个人,都有比特币钱包钱包私钥由自己持有。钱包地址(由各自的钱包公钥生成)在比特币网络上公开,用于 UTXO 锁定和验证

比特币的交易是怎样的?的挖矿科普专辑

最初,A给C0.7BTC,在比特币网络中的记录为UTXO(1):A给C0.7BTC;B给C0.5BTC,在比特币网络中的记录为UTXO(2):乙给丙0.5BTC。此时C的比特币钱包账户余额为这两个UTXO的总和,C的比特币总数= UTXO(1)+UTXO(2)=1.2BTC。如下图:

比特币的交易是怎样的?的挖矿科普专辑

比特币的交易是怎样的?的挖矿科普专辑

这一天,B从丁某处购买了一批货物,需要向丁支付0.8BTC。C通过比特币网络向Ding转账,但是C现有的两个UTXO小于0.8BTC,需要两个UTXO一起使用,类似于现金交易:向Ding支付1.2BTC, Ding 发现 Give C0.4BTC。但在比特币网络中,这项变革工作是由 C 本人发起的。

整个交易流程如下:

C 通过比特币钱包准备交易信息。交易信息包括输入输出两部分。输入是UTXO(1)和UTXO(2)),还有C的钱包私钥签名(因为UTXO(1)和UTXO(2)都被C的钱包公钥锁定了)密钥,使用前需要用C的私钥签名解锁)交易输出是未确认的UTXO(3):C给丁0.8BTC。这个新的UTXO指向丁的钱包公钥。之后交易确认后,将被丁的钱包公钥锁定。

比特币的交易是怎样的?的挖矿科普专辑

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

为什么变化量不是0.4BTC?由于比特币网络的要求,交易转账需要向比特币网络支付交易费用。剩余的0.0001BTC 不指向任何钱包公钥,将作为转账费用支付给打包交易的矿工(如未发现变化,将使用剩余的所有未指定比特币作为手续费)对于打包交易的矿工来说,但是目前的改签工作是钱包自动完成的,不用担心)。交易信息准备好后,C的钱包验证交易合法(UTXO合法、签名合法、输入输出金额合法等)后,将交易广播到比特币网络。交易经过挖矿节点验证后比特币交易过程,交易被打包(交易记录在比特币区块中)并广播到比特币网络,交易完成。旧的 UTXO 被消耗掉,新的 UTXO 生效。这时D的钱包里有一个未使用的UTXO(3):C给丁0.8BTC,C的钱包有一个未使用的UTXO(4):C给C0.@ >3999BTC。

比特币的交易是怎样的?的挖矿科普专辑

比特币的交易是怎样的?的挖矿科普专辑

以上是一个比较抽象的比特币交易流程,涉及到比特币交易的构建、签名验证、节点验证、交易广播、加入挖矿节点内存池、矿工构建初步区块、最终区块确认的过程。后续将分别介绍,本文不再展开。

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

版权声明:manoon 发表于 2021-10-26 9:58:58。
转载请注明:比特币的交易是怎样的?的挖矿科普专辑 | 198区块链导航

暂无评论

暂无评论...