区块链-挖矿

目录:

区块链开发挖矿

“什么是挖矿?”,是需要化身矿工去山西挖煤吗?当然不是,在比特币和区块链诞生之后,挖矿和矿工都被赋予了全新的含义。用户用个人计算机下载软件然后运行特定算法,与远方服务器通讯后可得到相应比特币,这就是我们现在经常听到的圈内人所指的挖矿了,而这些参与其中的人就被称为矿工。

区块链中的区块是通过挖矿产生。所谓挖矿(比特币)简单说其实就是求解数学题,但是这个数学题的求解不是靠技巧,而就是直接使用暴力破解。把上个区块的哈希值加上10分钟内的交易单打包,再加上一个随机数,算出一个256位的字符串哈希值,输入的随机数Nonce使哈希值满足一定条件就获得这个区块的交易记账权。

描述挖矿的一个好方法是将之类比为一个巨大的多人数独谜题游戏。一旦有人发现正解之后,这个数独游戏会自动调整难度以使游戏每次需要大约10分钟解决。 想象一个有几千行几千列的巨大数独游戏。如果给你一个已经完成的数独, 你可以很快地验证它。

然而,如果这个数独只有几个方格里有数字其余方格都为空的话,就会花费非常长的时间来解决。这个数独游戏的困难度可以通过改变其大小 (更多或更少行列)来调整,但即使它非常大时验证它也是相当容易的。而比特币中的 “谜题” 是基于哈希加密算法的,其展现了相似的特性:非对称地,它解起来困难而验证很容易,并且它的困难度可以调整。

从基本应用来看,区块链是一种去中心化的分布式帐本,既然是去中心化,那么谁来参与记账呢?矿工。矿工的数量以及难以被控制。那这么多矿工参与记账,那么应该相信谁呢?这便是挖矿解决的问题—记账权的委派问题,这其实也是一个共识问题(我们可以通过什么方式去取得这个记账权,并且大家都心服口服)。

新产生的区块需要快速广播出去,以便其他节点进行对其验证,以防造假。每个区块存着上一个区块的哈希值,可以溯源到源头,只有经过验证后才最终获得区块的交易记账权。比特币系统会让挖矿的矿工竞争记账权(在主链上链接区块的权利),这个竞争机制就是工作量证明机制。

z区块链数字加密资产_区块链开发挖矿_数字金 区块链

挖矿需要付出大量的能源和时间,谁付出的工作量多就能以更大的概率获得一个区块的记账权。获取记账权的矿工会将当前区块链接到前一区块,形成最新的区块主链,该矿工也会得到系统奖励的一定数量(2009~2013年每10钟产生50个比特币,2014年至今每10分钟产生的比特币将减半成25个)的比特币。

挖矿在比特币系统中有两个重要作用:

1、挖矿节点通过参考比特币的共识规则验证所有交易。 因此,挖矿通过拒绝无效或畸形交易来提供比特币交易的安全性。

2、挖矿在构建区块时会创造新的比特币,和一个中央银行印发新的纸币很类似。每个区块创造的比特币数量是固定的, 随时间会渐渐减少。

区块中的挖矿交易记录

新交易不断地从用户钱包和应用流入比特币网络。当比特币网络上的节点看到这些交易时,会先将它们放到各自节点维护的一个临时的未经验证的交易池中。

当矿工构建一个新区块时, 会将这些交易从这个交易池中拿出来放到这个新区块中,然后通过尝试解决一个非常困难的问题(也叫工作量证明)以证明这个新区块的合法性。

这些交易被加进新区块时,以交易费用高的优先以及其它的一些规则进行排序。