比特币钱包是如何帮助用户完成一笔交易的?

比特币钱包是如何帮助用户完成一笔交易的?

回答此问题,我们需要解答下面两个问题,便自然了解了。

 

1.矿工在交易过程中做了什么事?

 

现实生活中,银行是一个大的记录账本的中心机构。如果我们用现金进行交易,其实是没有经过银行的,也就是说,银行并没有把你和别人的现金交易记录在案。但是一旦涉及到银行卡转账,或者网上银行转账,每一笔交易都会被银行这个中心大账本所记录。

在比特币的世界里,由于每笔交易都是在网上操作的,并且中本聪在设计整个机制时规定了,如果有交易,就必须要被记录、被验证,否则这笔交易无效。所以,每笔交易都需要记录在案。于是中本聪在设计整个机制时,设立了“接收交易、验证交易并打包收录交易”这一角色,我们把这个角色叫做“矿工”。每笔交易都需要矿工来负责记录,不仅要收录,还要对这笔交易做验证。所以,如果不告诉矿工,矿工是不能确认这笔交易的合法性的:

 

比特币钱包是如何帮助用户完成一笔交易的?

 

 

2.钱包是如何把交易信息告诉全球矿工的?

 

首先,我们需要知道的是,用户的比特币并不是一个整体,而是多个地址所保存的比特币的总额。我们可以把多个地址想象成多个银行账号。也就是说,假设张三有13个比特币,他有8个比特币存在银行账号A中,有3个比特币存在账号B中,有2个比特币存在账号C中。

接下来,张三在钱包软件中输入了10,并输入了李四的收款地址(收款的银行账号),点击发送时,钱包就知道了张三要发送10个比特币。然后钱包找到了属于张三的地址A、地址B、地址C,从地址A中取了5个币,从地址B中取了3个币,从地址C中取了2个币。但是张三只想发10个币,地址A中最后还剩3个币,仍然存放在地址A中吗?

钱包的开发团队在设计钱包的交易机制时,为避免安全风险,每次交易找零的比特币,都将找零存放到新地址中。我们可以理解为,钱包为张三新创造了一个银行账号D,银行账号A中在交易时如果有剩余,则将剩余的比特币全部存放在银行账号D中。

于是有了如下的交易信息:

交易流水单号由钱包自动生成。

接着,钱包将这个交易信息通过互联网网络,发给与此钱包邻近的几个矿工,矿工验证交易没问题后,再发送给与这几个矿工邻近的其他矿工,使这笔交易迅速扩散。一会儿的功夫,这笔交易信息便传播到了全球的各个矿工那里。

后面的流程,某个矿工争得了将新区块加入主链的权力,顺便将此交易打包到新区块中,广播给了全球所有矿工,每个矿工将此新区块记录在自己的硬盘中,到此,此交易便可以被认为是已被确认的交易了。

免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
如果觉得文章对你有用,请随意赞赏收藏
相关推荐
相关下载
登录后评论
Copyright © 2019 宽客在线