上一篇文章(比特币(一):哈希算法、数字签名与非对称加密)介绍了比特币的算法原理,今天来聊聊它的“经济学原理”以及如何获得比特币。
首先要明确一个概念,比特币属于数字货币,而非电子货币。电子货币很好理解,法定货币的电子化。比如微信钱包里的余额、支付宝账户内的余额都属于电子货币(电子化的人民币),而比特币不属于法定货币,它俩有一个重要的区别:记账主体不同。
我们在进行交易的时候最重要的事情就是“记账”,比如在淘宝上购物,某件商品标价100元,甭管我们的手上有没有这笔钱,直接下单后出现这样两种结果:一是我们账上确实有100元,购物成功;二是我们账上没有100元,购物失败。这个判断(记账)过程由银行来替我们解决,记账的主体是银行,账本只有你和银行能看到,属于“中心化”的记账系统。
比特币使用的是“去中心化”的记账系统,记账的主体可以是任何一个人,并且每个人的账本都是完全公开的。举个例子,假设比特币经济体中有甲乙丙丁四个人,某天发生了三笔交易,甲支付了2枚比特币给乙,乙支付了1枚比特币给丙,丙支付了0.5枚比特币给甲。在每人完成交易的同时,需要把自己的账单在网络上广播出去,假设丁同时接收到了以上三条账单,通过上期文章介绍的非对称解密后确认了数字签名是真实有效的,丁就把这三条账单打包成一个“区块”,然后把这个“区块”链接到以前的账单记录上,形成了一条“区块链”。
在打包交易信息做区块的过程中会产生一个问题:为什么丁要给甲乙丙三人的交易记账?因为有奖励。
这个打包的“奖励”就是比特币的来源。中本聪在设计比特币的时候提出了这样一个方案:每十分钟打包一个区块,初始打包区块的奖励为50枚比特币,每隔四年奖励衰减一半,比如2008年打包一个区块的奖励为50枚比特币,2010年打包奖励仍为50枚比特币,但是到了2013年打包奖励变成了25枚,依此类推。
根据比特币来源的依据,我们可以推算一下比特币的总数量:50*6*24*365*4【1+0.5+(0.5)2+………】,求一下这个式子的极限值大概为2100万。也就是说比特币的总量为2100万枚,它通过打包区块奖励的形式扩散出去。
没错,打包区块获取比特币奖励的过程就叫挖矿。但是挖矿又会产生两个问题:一是有很多人都在干打包区块的事,同一条账单信息可能会打包进不同的区块,那么以谁打包的区块为准?二是如何保证区块的产出速度恒定在10分钟?
中本聪给出的方案叫“工作量证明”,就是在矿工们打包区块的时候要进行两次SHA256(比特币(一):哈希算法、数字签名与非对称加密)运算。一个新的区块包含如下字符串:各种交易账单信息、前一个区块的头部、一组随机数等等。各位工友们要把手上的字符串连续做两次SHA256运算,得到一组256位的二进制数字。这个256位的二进制数字组合要符合“前N位必须为零”的要求,这就需要工友们调整自己字符串内的随机数,来满足最后输出的哈希函数值前N位为零。
哪位工友的矿机率先计算出符合要求的哈希值,那么他就获得最终的比特币奖励,链接到主链的账单信息会以该工友打包的区块为准。
这个过程只能调整字符串内的随机数来挨个尝试,非常考验CPU的算力,运算速度更快的矿机成功打包的概率更高。那么究竟要满足前几位数字为零呢?
根据接入矿池的矿机算力来调整N的大小(显而易见,N值越大,挖矿难度越大),调整到确保每10分钟出一个新区块为止。
看完最近两期文章,有没有觉得比特币这玩意设计的相当巧妙?不过它到底有什么具体应用或者说它的价值该如何衡量?我们下期再来聊聊~
本文标题:比特币(二):区块链、去中心化与挖矿原理
本文链接:https://www.91pjz.com/zixun/34159.html
免责声明:文章不代表91联合立场,不构成任何投资建议,谨防风险。
版权声明:本文来源于91联合网站,转载请注明出处!侵权必究!