主要记录个人对区块链的理解与心得,水平有限,如有错误或不准确的地方,欢迎指正!
有很多人把挖矿比作现实中的开采金矿,这个比喻其实是不完全正确的。
挖矿其实是一种将结算去中心化的过程,矿工们验证新的交易并记录在总账簿上。按照比特币的的设定,每10分钟就会有一个新的区块被挖掘出来,区块里面存储的内容就是交易结算信息。在此过程中,矿工们通过为比特币提供算力而得到了获取比特币奖励的机会,主要有两种奖励,创建新区块的新币奖励,以及区块中所含交易的交易费。
按照比特币的设定,到2140年。所有的比特币(20,999,999.98)将全部发行完毕。届时矿工们的奖励将主要由交易费构成;注意是不在有新的比特币生产,而不是区块。
究竟谁能够来生成新的区块,首先矿工A构建出一个候选区块,此时该区块并没有被比特币网络承认,矿工A想要这个区块有效,就需要完成一种基于加密哈希算法的数学难题,这些难题的答案包括在新区块中,作为矿工的计算工作量的证明,被称为”“工作量证明”。每个区块链节点每个都会独立选择,在工作量证明机制下选择累计工作量最大的区块,并组装进区块链。
工作量证明算法
首先了解Hash(摘要)的概念,对于任意输入,产生固定长度的输出,对不不同的输入产生不同的输出(几乎不可能出现相同),相同的输入产生相同的输出,指定的输出反推输入也几乎不可能。类似于人的指纹。
比特币的工作量证明,就是求解的过程,求出小于 某个数的 输入。
上文说到比特币网络每10分钟产生一个新的区块,这个10分钟是由什么来控制的。为了解决这个问题,比特币挖矿网络会有一个难度系数来控制挖矿的难度,使之近似每10分钟产生一个新的区块;简单来说这个难度调整算法是写入在每个节点的,如果发现当前新区快的速度大于10分钟,则调高难度,小于10分钟则降低难度,这样保证了无论将来计算机如何发展,算力如何提高,都近似10分钟产生一个新的区块。
领取专属 10元无门槛券
私享最新 技术干货