主页 > imtoken官网下载广告 > 第三课【金马带你投资区块链】第一个作业:详解比特币的交易流程

第三课【金马带你投资区块链】第一个作业:详解比特币的交易流程

imtoken官网下载广告 2023-12-30 05:13:34

比特币交易

比特币交易不同于目前大多数的交易形式。目前的交易形式大多需要第三方权威机构(支付宝、微信支付、软银、银行)为交易双方背书。我们去淘宝买东西的时候,不能直接汇款给商家,以免造成货财损失。您的钱会先汇到支付宝,第三方支付宝会在您确认收货后将钱汇给商户。

可以看到,传统的互联网就是信息互联网。我们只能在上面发送文字、图片和视频。如果没有第三方作为代言,我现在不能给你发红包。随着区块链技术的出现,信息互联网越来越普及。随着价值互联网的发展,相信在不久的将来,我们的资产会转移到价值互联网上。

与传统的银行和支付系统不同,比特币系统基于去中心化信任,不受任何第三方监管,在这里你就是你自己的上帝。

交易是点对点的,没有中间人做差价;那么比特币系统是如何进行交易的呢?

比特币系统的组成部分

三班[金马带你定投区块链]第一次作业:详述比特币的交易过程_第1张图片

图片来自比特币精通

为了理解比特币交易过程,我们需要比特币系统的组件。

以前注册送50个比特币_火币网用人民币买比特币_以前淘宝上买的比特币去哪了

图:我们可以看到比特币系统由用户(用户用钥匙控制钱包)、交易(每笔交易都广播到整个比特币网络)和矿工(通过解决一个SHA256数学难题来获得发布区区块权)组成.

比特币网络:比特币网络是一个 P2P 网络,由参与的比特币客户端连接其他几个比特币客户端组成。比特币网络的目的是将交易和区块传播给所有参与者。(说白了就是我们的手机钱包,只要你的钱包联网,这一步就会自动完成)

对基本概念的理解

对于一笔交易,有交易输入和交易输出,输入和输出之间会有一座桥梁——矿工;矿工自然会收取一定的费用帮助你工作;接收方收到比特币后将开始消费。

交易:交易是资金从输入到输出的转移;交易中还包含每一个被转移的比特币的所有权证明(输入)(所以根本不是比特币的转移,而是比特币的所有权被转移了,即你可以证明这些比特币是你的),它存在于所有者数字签名的形式,任何人都可以独立验证。

交易输入:交易消耗的UTXO称为交易输入(暂且将UTXO直接理解为“余额”);输入指代币的来源,通常是先前交易的输出。

交易输出:交易产生的UTXO称为交易输出;交易的输出是通过关联密钥将钱交给新所有者。

矿工费:交易输入和输出的差额就是矿工收取的比特币手续费(这也是比特币系统运行最重要的激励机制。未来随着比特币挖矿的完成,矿工费将是唯一一个推动矿工工作的因素)

以前注册送50个比特币_火币网用人民币买比特币_以前淘宝上买的比特币去哪了

花费:将之前交易的比特币转移给由比特币地址标识的新持有者。(张三把钱转给了李四,而张三的钱是王舞转给他的。王五转给张三的钱,与现在张三和李四的交易相比,是“之前交易的比特币”。李斯是“比特币认定的新持有人”)

比特币世界中也有常见的交易形式:一般交易(一入二出)、集体交易(多入一出)和去中心化交易(一入多出)。

故事背景

2017年的一天,张三无意中在网上了解到比特币,并被它深深吸引。经过一周的研究,他决定自己尝试一下,于是通过网络找到了比特币持有者王舞,并花一些钱从王舞那里买了0.3BTC;那天张三下班后去了理发店。理发店老板李思也是技术爱好者,店内提供比特币支付。

理发后,张三需要支付李四0. 1BTC。店主李思指着柜台的二维码说:有微信、支付宝、比特币支付,随便选一个;张三来了精神,因为他还没有尝试用比特币支付任何费用;于是张三打开了存储比特币的钱包APP,扫码。扫码后会出现李斯的钱包地址,输入0.1BTC的数量。然后发送,李斯几秒后就能看到交易,完成交易(小额交易可以默认被区块确认)。神奇的交易方式都是由钱包客户端独立完成的,我们的任务是探索交易过程是如何构建并传播到接收方的。

钱包内部交易流程

张三扫码后直接输入0.1BTC的数量,后续流程全部交给钱包完成。

1.1 个钱包获取正确输入

火币网用人民币买比特币_以前淘宝上买的比特币去哪了_以前注册送50个比特币

在张三的手指点击“确认”之后,张三的钱包立即开始行动。首先,钱包会搜索他之前的交易记录,看看是否有“未消费的交易输出”(看看他是否还有余额);

[大多数钱包应用程序维护一个小型数据库,其中包含用钱包自己的密钥锁定的“未使用的交易输出”。所以张三的钱包里会包含一份他用现金从王舞那里购买的比特币的交易输出副本]

搜索钱包后,发现张三从王舞那里购买的0.3BTC,所以我用这个0.3BTC作为交易输入。

1.2 创建交易输出

钱包已经构造了输入,那么接下来钱包需要做的就是构造交易的输出了,那么交易输出的构造究竟是什么呢?

其实就是:张三的钱包会用李四的公共地址(官方声明:张三会用李四的签名打包一个输出,这个签名就是李四的私钥,还记得我之前说的吗?交易的输出就是把钱给一个新的拥有者,通过关联一个密钥)锁定0.1BTC,谁拥有这个公共地址的私钥,谁就拥有0.1BTC;

那么剩下0.2个比特币,这个0.2BTC会作为另外一个输出(更改,这个0.2BTC会用张三的钱包地址锁定)给张三三。这其实就是交易类型——一般交易。

最后,张三发现自己的钱包里没有0.BTC,因为一小部分BTC是矿工收取的交易手续费。

以前注册送50个比特币_火币网用人民币买比特币_以前淘宝上买的比特币去哪了

1.3 事务传播

张三的钱包已经准备好了,输入输出都做好了,正等着向比特币网络广播通知全网:张三给李四发送了0.1BTC。

那么交易究竟是如何传播的呢?

张三的钱包应用程序可以将此交易发送给任何其他连接到互联网的比特币客户端,并且任何比特币网络节点(其他客户端)在收到之前没有见过的有效交易时会立即转发它。连接到自身的其他节点。因此,交易从 P2P 网络迅速传播,在几秒钟内到达大多数节点并到达整个比特币网络。

通过网络节点告诉李斯的钱包,有人给你转了一笔钱;所以李斯收到消息,尝试开钱,因为钱和李斯的钥匙相关联,所以只有李斯可以开钱,也就是说,李斯拥有比特币。

P2P网络:网络节点与网络节点之间的互联

1.4比特币挖矿

虽然钱被全网广播了,大家都知道你张三给李四转了0.1BTC,但是如果没有人承认,你的交易就作废了。

以前淘宝上买的比特币去哪了_火币网用人民币买比特币_以前注册送50个比特币

那么如何才能使这笔交易奏效呢?这要经过一个挖矿过程,矿工将这个交易和其他交易(自上一个区块以来产生的交易)作为工作证明放入自己的区块中,直到矿工将这个交易包含在内。交易在区块链中发布。

这种工作量证明算法是指用SHA256加密算法不断地对块头和一个随机数进行哈希处理,直到出现与预设值匹配的解决方案。第一个找到该解决方案的矿工将赢得比赛并将区块发布到区块链。

挖矿就是创建一个区块并将区块发布到区块链上。挖矿可以从比特币网络中获得奖励。获得一个区块的解后,系统会将挖矿软件中留下的比特币地址发给你。发送奖励,以及区块中的所有交易费用,也是给解决它的矿工;未来,当比特币快挖完的时候,交易费会成为矿工工作的巨大推动力,那么交易费就会是一笔巨额收入;还有一个事实是,采矿创造了对区块的信任。

接下来我们看一下流程:

新交易不断从用户钱包和应用程序流入比特币网络。当比特币网络上的矿工节点看到这些交易时,他们首先将它们放入由各自节点维护的未经验证的交易临时池中。当矿工建立一个新区块时,他们将这些交易从交易池中取出并放入新区块,然后尝试解决一个非常困难的问题(也称为工作量证明)来证明新区块的合法性.

最后一个叫王二麻的矿工获得了这个区块的正解【谁获得解的算力越大,获得解的概率就越高】,所以王二麻可以把这个区块发布到区上区块链上以前淘宝上买的比特币去哪了,其他矿工将验证区块,其背后的所有网络节点(客户端)会将包含交易的区块更新到现有的大账本(区块链)。

该区块发布到区块链上后,所有矿工将投资于下一个区块的解决方案。随着矿工的逐渐增多,算力也会逐渐增加。将调整难度,确保以现网算力获得当前区块解的时间为10分钟。

随着越来越多的新区块产生以前淘宝上买的比特币去哪了,基于张三交易区块的计算量将会增加,可靠性和可靠性将得到保证。按照惯例,当一个块被“证明”超过六次时,它被认为是不可撤销的,因为撤销和重建六个块需要大量的计算。

嗯,比特币交易流程就是这样,是不是很神奇?