比特币没有账户的概念,转账的过程就是往区块链上写一条交易记录的过程。交易记录上有转出钱包地址、转入钱包地址、交易金额等。比特币钱包是管理钱包地址的软件,钱包地址就像银行账号,矿机是安装有挖矿软件的计算机,负责计算和记账。
一、广播
A要转比特币给F,钱包软件组装交易记录并发送所有的矿机结点(B、C、D 、E)
二、验证
B、C、D 、E接收到广播消息后,验证下A地址有没有足够的余额转账,验证成功后,往自己的本地“未确认交易池”里写一条记录,未确认交易池存放未打包成区块数据。
三、竞争记账
竞争抢记账权的过程就是比计算速度的过程。
在区块中存在一个随机数Nonce,运行比特币矿机的结点对区块整体数据不断的进行一个hash运算(具体算法为SHA256),得到hash值,如果hash值不是以N个0开头的,就增加Nonce的值,重新再进行hash运算,直至找到这个解为止。
整个工作量证明的难易程度是由hash值0的个数N来决定的,比特币系统会根据当前整体的运算速率来进行调整N,从而保证平均每10分钟生成一个新的区块。
四、打包同步
获得记账权的矿机,把“未确认交易池”的记录打包成区块,同时广播给其他矿机:“我算完了,这里最近的交易记录和Nonce值都打包好,我发给你们确认下”。
C、D、E对B提交的区块数据进一步验证,验证通过复制到自己本地的区块链上
领取专属 10元无门槛券
私享最新 技术干货