网赚论坛
标题: 【二期二团Day5-胡纪元】比特币挖矿原理 [打印本页]
作者: hello46 时间: 2017-10-21 13:13
标题: 【二期二团Day5-胡纪元】比特币挖矿原理
比特币是一种去中心化的点对点电子现金系统,其去中心化的一个典型特征是挖矿的分散化,下面就来介绍一下挖矿的基本原理:
比特币的所有交易记录都保存在主区块链中。每十分钟就会有一个新区块生成并加入进主区块链,这个新区块中记录了十分钟内全网的所有交易。由于比特币使用的是 P2P 模式,这意味着网络上的每个节点都是平等的,没有一个中心节点可以用来承担交易记录工作。因此,如此重要的交易记录任务交给谁来完成,就变成一个现实问题。而比特币创始人中本聪给出的答案是任何人来完成都可以。由于每笔交易完成后都会被广播给全网,因此每个人在对交易的有效性进行验证后,都可以根据这些交易数据生成新区块。但这又引发了一个新问题,即如何让所有人都信任由一个陌生人生成的新区块?这个新区块中是否记录了虚假交易或重复交易?
要解决这个问题,就要用到前文提到的工作量证明概念。基本思路是,寻找一个随机数,使得将这个数字与新区块的交易信息一起输入 SHA256 后产生的数字,前面n 位(比如 n=100)都是 0。此项工作的意义在于,由于将会耗费很多时间,如果一个人进行了这项计算且获得成功,那么他提供的区块很可能是真实可信的,因为花费如此大力气作假得到的好处,远远不计花费同样努力从事真实工作得到的好处。此外,其他所有节点在接收到新区块时,也会对其中包含交易的有效性进行校验,这意味着虚假交易或重复交易很难骗过其他所有用户,这就形成了节点之间的信用保障机制。
挖矿就是指产生新区块并计算随机数的过程。具体过程可分为以下六步:
第一步,由于网络上的每台计算机都保存有之前的主区块链,某台计算机以其中最后一个区块的内容为输入,计算一个散列值;
第二步,该计算机在接收广播来的交易单并逐笔校验交易的准确性之后,把没有被列入之前区块的那些交易进行组合,并纳入一个新区块;
第三步,该计算机任意猜一个随机数,其大小和长度没有限制;
第四步,该计算机将第一步至第三步产生的数据作为输入,一起放到 SHA256 散列函数中,计算得到一个长度为 256 的二进制数;
第五步,检查这个二进制数的前 n 位是否符合要求;
第六步,如果该二进制数符合要求,则本轮游戏结束,该计算机会把新区块连同这个幸运随机数一起广播给网络上的其他计算机。其他人在收到这个新区块后,会以同样的方式进行校验。如果结果无误,全网就接受这个新区块,将它连同之前的主区块链一起保存。如果产生的随机数不合要求,则第二步至第六步就会重复进行,直到自己成功或者收到别人发来的新区块。
从上述流程中可以看出,挖矿就是指搜集交易数据并建立新区块的过程。这个过程虽然重要,却耗时费力,为什么所有参与者都趋之若鹜呢?最重要的原因在于,比特币系统规定,每个成功建立新区块的人都将获得新比特币的奖励,且该奖励将被记录在对应的新区块里。这 些新比特币是系统自动产生的,且得到全网的认同。有趣的是,这种奖励的数额每四年减半,即 2009 年至 2012 年年为每区块 50 个比特币、2013 年至 2016 年为每区块 25 比特币、2017 年至 2021 年为每区块 12.5 比特币,如此不一而足。最终,全系统的比特币容量将达到 2100 万个的上限,至此不再增加。从那时起,为保证主区块链能继续不断增长以确保比特币交易能继续正常进行,每个创建新区块的人,都将从新区块包含的交易单中抽取一定的“交易税”作为奖励。这种新的激励机制将保证比特币交易得以延续。
| 欢迎光临 网赚论坛 (http://www.caifuba.net/) |
Powered by Discuz! X3.1 |