区块链入门(四)——比特币挖矿与共识

一,挖矿

在比特币世界里,人们把新比特币生成的过程,形象地称之为“挖矿”,本义是矿工通过算力竞争来获得奖励的过程。奖励分为两类:

1,获得新的比特币。比特币是一种通货紧缩货币,总发行量固定,一共2100万个,生成速率每四年衰减百分之五十,直到2140年全部发行完毕。

2,交易费用。每笔交易记录输入和输出的差额就是矿工挖矿过程所能获得的交易费。

矿工 的奖励由新产出的比特币和交易费构成。比特币的产出量随时间而递减,而区块链的数量是无限的,后期区块链会非常巨大,包含的交易信息非常之多,矿工能获得的交易费用也会越来越多。即奖励1递减而奖励2递增。有了这样的激励,矿工才会充满动力去挖矿,若是没有挖矿,就没有新币产生,也没有货币的流动。


二,去中心化共识

区块链一大特点就是去中心化。传统支付系统是依赖一个中心认证机构提供的结算服务验证并处理所有交易。在比特币世界,没有中心机构,几乎所有的完整节点都有一份公共账本备份,上面的记录就是所有被认证过的交易。做到去中心化有四个过程:

1,每个节点对交易的独立验证。新节点把交易信息传到相邻的节点,相邻节点会验证其信息是否有效,验证的项目是一个个清单,确认无误后继续传递给下一个节点。

2,验算完毕后,将交易记录信息扔进交易池。由于矿工们正在角逐竞争验算新的区块,而这个过程耗时大约10分钟(挖矿就是解一道很费力的数学题,这道题的难度是动态的,使难题始终保持在10分钟被解答一次),那么在这个过程中节点验算完毕的信息都存放在交易池,等待生出的矿工带来新的区块。假如此时区块A被接收并验证成功,那么节点就自动去交易池检查所有的交易记录,移除所有已经出现在区块A的记录,把剩下的记录打包进入下次新出现的区块B。打包过程矿工会优先选择交易费较高的交易记录放进新区块。

3,类似于步骤1,每个节点将对新区块进行独立验证,确保只有有效的区块会在网络上传播。

4,将区块集合组装放进有最大工作量证明(最长)的链当中。

由于区块链是去中心化的数据结构,这里可能会发生一种情况,即两个矿工在较短时间内,各自都获得工作量证明(都解决了那个数学难题),这种现象被称为分叉。分叉后变成两队,又开始竞争谁先发现新的区块,变成全网工作量证明最大的链条。基于第四点,矿工总是会把区块累积到最大的链条,那么比如分叉后的这两队A和B竞争,A先发现了新的区块,那么A就变成了最大的链条,之后即使B里的节点发现验证了新的区块,也只会打包组装放进A链(最长)中,所以分叉问题也就自动解决了。

你可能感兴趣的:(区块链入门(四)——比特币挖矿与共识)