零基础学习区块链-3.比特币转账运行原理

96
花开半春入了夏
2017.11.01 14:39* 字数 1981

2017-11-01 星期三 丁酉年 九月十三

【鸡年】庚戌月 壬辰日

宜:破屋 坏垣 余事勿取

忌:诸事不宜

2008年发生了全球经济危机,就在那时候中本聪发明了比特币,发明的时候,他想的是,发生金融危机,货币被无限超发,每个人手里的纸币,一直在贬值。这样就是底层大众在受打不公正待遇,于是就想能不能有一种没有一个机构来控制价值体系呢?所以他就发明了比特币这样一个去中心化的一个体系。

那么,在一个没有中心化机构的情况下,比特币的发行、记账、交易是怎样进行的呢?

比特币的发行机制

首先,规定了比特币的总量为2100万枚,这一总量是恒定不变的,并不会受到无限制印刷产生。比特币网络大约每10min产生一页账单,没产生一个比特币就会伴随每一页账单的产生,同时也是每一个区块的问世和发行。而最初比特币的奖励是50枚,没产生21万枚时候减半,大约是3.99年减半一次。所以会一直持续到2140年,所有的比特币才会发行完毕。

前面提到枚3.99年奖励的比特币减半一次,那么这个3.99年是怎么来的呢?凭空说的?中本聪规定的?那我们来算一算吧,每有计算我会凭空乱说?

最开始我们说了,每21万个区块减半一次,那么来我们算一算,平均每10分钟就会产生一个区块,出21万个区块需要多久呢?理论上需要1458.3天,也就是3.99年。这也就是大众说的 “比特币每四年减半” 的由来。2016年7月8日开始,比特币第二次减半,也就是每个区块伴随的比特币奖励为12.5枚。

到这里我们知道了现在减半道理多少,挖出一个区块会奖励多少,但是你知道现在事多是个区块么?是不是凭着自己的算力获得这个奖励会值得呢?so,当前是第几块区块怎么算?

第几块区块大家习惯 "区块高度" 来标记它。也就是一个区块的高度是从比特币诞生之后,第多少个区块!打开任意一个比特币的区块浏览器,我们可以看到现在出来的最新的区块高度。通过区块高度,我们可以计算大概还有多久,比特币会进行下一次减半、多久会进行难度的调整、多久进行一次大事件。

比特币的记账

前面我们说到,比特币是使用的工作量证明机制,也就是POW。所有的矿工会通过自己的最大算力通过哈希碰撞这种计算算法,去争夺最大价值的记账权利。打个比方,就好像是没10分钟,网络上会出现一道特别复杂的数学题,谁最快的计算出答案,那么他就可以在这上就行记账,并且获得产生的比特币奖励。当他记录打包本页账单,大家都要以此为准,接下来,产生下一页账单,会在这页账单的加密基础上产生,大家就开始新一轮的挖矿竞争了。这种共识机制解决了一个去中心化体系下,账本的唯一性权益。

可以看到为了获得记账,矿工其实是需要花费很多的电力、人力等能源的,如果是免费的肯定是没有人会去这样做的,因为在获得记账权利的同时,可以同时获得新发行的比特币,这样的体系才能够走得更远。把比特币的发行和竞争记账绑定在了一起,记账人每获得一次记账权利,就会获得系统产生的新的比特币作为奖励。也就是说算的最快的计算机,就会"挖"到一定数量的比特币。

在每一轮记账的竞争中,谁获得记账权,谁就获得这一个区块里的新诞生比特币奖励和被记录在账单里的交易的手续费。在2017年,如果你是一个矿工,在一轮竞争中获得了记账权,你就会获得12.5个新发行的比特币奖励,还有这个区块上所有的手续费,大约零点几到2个比特币手续费。随着新生比特币每四年减半,新生比特币奖励越来越少,那么矿工还会有动力去挖矿吗?

答案是肯定的。因为他们还有另外一部分收入,就是大家给的比特币转账的手续费。是否还记得在比特币的世界里转账手续费是可以自己填写的吗?随着使用比特币的人和机构越来越多,全球比特币转账越来越频繁,转账手续费总量也会越来越大,手续费会未来成为矿工的主要收入来源。大家又会这么想,既然比特币手续费可以自己填,那如果我们每个人都填写0手续费,矿工就不会得到收益,这个体系就不会运行下去,答案是否定的,有点博弈论意思在里面,你不付手续费并不代表别人不,因为他可以获得更高的收益,如果被记录得越慢他就会遭受损失,为了更快的获取收益,肯定会有人支付手续费的。你不支付你的账单将不会被矿工记录或者更多时间的被记录。

比特币的交易

上一讲我们已经讲过了比特币的交易,其实就和银行卡转账一样简单,只需要自己的地址,对方地址,转账金额,手续费即可。而保证自己和别人的比特币安全的做法就是随机生成的一个私钥只能对应一个地址,保证了每个地址发出比特币的合法性。

比特币现在的每个区块大小是1M字节,大概能容纳数千笔交易。当网络转账的人比较少时,等待矿工确认的你可能只需要等10分钟,就能被下一个区块确认了。如果当前转账的人比较多,你可能要排队,多等一个10分钟,甚至更长时间。矿工们会不断的等待记录的转账交易里面去选择手续费比较高的转账信息来进行记账,如果你的手续费不排在前面,可能就要排在很后面才能够记你的账了。这也就是上面我们说到的,肯定会有人愿意去支付高额手续费,因为他需要获取更高的利益。

本次讲解结束~

原文链接

区块链