比特币挖矿,到底是在挖什么?

阿娟聊科技

百家号17-12-3100:19

  比特币基于区块链技术。比特币的区块链网络每十分钟就产生一个区块。这个区块的内容就是在之前的区块的内容之上加上过去十分钟整个区块链网络的全部交易。完成这个工作被称为打包。完成这个工作的人被称为矿工,这个工作的过程被称为了“挖矿”。那么打包有什么好处呢?获得打包权并且完成打包之后,这个矿工就会获得12.5个比特币(比特币的数量会慢慢递减的)。按照现在的比特币价格,每十分钟就有人获得12.5w美元的呢,获利丰厚。

  “挖矿”的实质就是争夺打包权

  矿工不止一个,到底怎么决定给那个矿工呢?中本聪在设计比特币的区块链网络中,使用一种方法叫工作量证明(Proof Of Work,简称POW)来决定“打包权”。

  工作量证明,简单理解就是一份证明,用来确认你做过一定量的工作。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。

  举一个例子,我们去往企业进行应聘的时候,那么招聘方就会要求我们亮出相应的证据:毕业证、学位证、作品等。这些证据都有有一个特点,那就是招聘方很容易验证的,但是你需要付出大量的努力才能获取这种技能和证书。这就是工作量证明的一个简单的例子。

  争夺比特币打包权的需要拿出一个哈希码。这个哈希码运算最好的方法就是穷举法。最快获得这个哈希码的矿工就获得打包权。

  不同于Folding@home分布式蛋白质折叠计算,它真真实实地在为科学做贡献,为科学家了解蛋白质长肽如何折叠提供了素材。而比特币为首的这种挖矿其实它们挖得是虚无,在做无用的计算,但是比特币产出规则又决定了它必须要有一定量的运算才会有比特币产出奖励。

  比特币中的挖矿过程可以比如成记账,比特币的运算采用了一种称为“工作量证明(Proof of Work,PoW)”的机制,系统为了找出谁有更强大的计算能力,每次会出一道数学题,只有最快解出这道题目的计算机才能进行记账。而抢到记账权的计算机会获得25个比特币的奖励。通常把这个行为称为“挖矿”,把获得的比特币视为挖矿成功获得的奖励。

  通俗来讲,这是一个全民参与记账的方式。你可以把数据库看成是就是一个大账本,在区块链系统中,系统中的每个人都可以有机会参与记账。在一定时间段内如果有任何数据变化,系统中每个人都可以来进行记账,系统会评判这段时间内记账最快最好的人,把他记录的内容写到账本,并将这段时间内账本内容发给系统内所有的其他人进行备份,这样系统中的每个人都有一本完整的账本。

  比特币的背后是一个公共账本,这个账本每十分钟需要重新记录一遍,而成功记账者会获得一定数量比特币的奖励。在比特币诞生之初,这个奖励是50个比特币,这一数字大约每4年减半,目前比特币的增长速度是每10分钟12.5个比特币。按现在比特币的市价,这个奖励价值12.5个*1.2万美元*6.54人民币/美元=100万人民币。可想而知,谁不想去记这个账呢?毕竟成功记账可以获得一百万的奖励呢。那怎么决定谁来记账呢?答案就是挖矿。谁先挖出来归谁。

  为什么要让大家争夺记账权呢?

  在具体解释记账权怎么争夺之前,我想先稍微解释一下为什么需要存在一个记账权的争夺。从比特币设计上来说,因为账本需要常常更新,所以要有人记账。但是不发工资又怎么会有人给你记账呢?所以比特币就设置了奖励机制,给成功记账者一定量的比特币奖励。既然有奖励,就会有人争夺奖励咯。

  记账权怎么争夺呢?

  其实很简单,就是算数:找一个数,使得它经过一次哈希映射之后足够小。因为哈希映射对于输入值很敏感,所以寻找合适的答案的唯一方法是暴力破解——一个一个数试。这里没有更聪明的办法,算得更快的矿工就更有机会获得记账权。多说一句。根据前面的描述,好像每次的问题都是一样的,那为什么需要每十分钟争夺一次记账权呢,直接用之前的答案不就好了么?其实,这里能被接受的答案,除了哈希值要足够小以外,还需要满足别的特定条件。答案的某个部分必须和上一次记账的部分信息一致。因为这部分信息只能在上一次记账结束时才能获得,所以新一轮的争夺是同时开始的:大家在上一次的记账结束后,依照约束,寻找新的答案。

本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。

阿娟聊科技

百家号最近更新:17-12-3100:19

简介:分享国内外最新科技新闻,喜欢的朋友请关注

返回顶部