比特币挖矿的过程以及密码学原理解析
扫描二维码
随时随地手机看文章
今天是矿业三篇中的第二篇,主要描述一下,比特币的数学原理,密码学和硬件知识,以及比特币矿机的发展简史。
继续延续通俗易懂的简化形式去描述这样一个过程。
比特币为什么2100万个?
抛开设计者的经济学构思,直接说数学构思,2009年1月3号开始,约十分钟一个区块,一个区块奖励是50个btc,4年后减半成为25个btc,再过4年继续减半,以此类推。
目前处于第三个阶段,也就是打包区块奖励是12.5个,明年会减半成6.25个。
用数学公式去算。
一小时有6个十分钟,一天24小时,一年365天,四年减半。一直减半,也就是后面是个等比数列。
比特币总量=50 x 6x 24 x 365 x 4 x (1+1/2+1/4+1/8+……+1/2^n)
以上等式就是约等于2100万个,其中,(1+1/2+1/4+1/8+……+1/2^n)是一个等比数列,数学上等于2.
也可以看出来,比特币前四年,挖出来的数量是1050万个,也就是一半,然后第二个四年,挖出来是1050的一半,也就是525万,第三个四年周期是525万的一半,也就是262.5万。现在处于第三个周期的末尾(2020年五六月份减半),所以很多新闻说现在比特币的“流通量”为1700或者1800万个,可以用计算器加一下,就是这个数字,只是有几百万个或许已经永久丢失,流通量大大低于产出。
备注:挖矿的奖励实际上有两部分,一部分是区块奖励,另一部分是在这大概十分钟内全网发生的比特币交易费。后者占比极小,在目前阶段收益计算中可以忽略不计。
引用上一篇养鸡场逻辑,母鸡下金蛋,但是有些金蛋弄丢了,所以,流通总量低于产出量。
简单提一句,经济学模型,这个就是通缩模型,在经济学模型中并没有大的创新。中本聪(这个人或者这个组织)有没有诺贝尔奖级别的贡献,和这个通缩模型并没有什么关系。因为是个极简单(也比较简陋)的经济模型。历史上没有一个国家采用这种模型去获得经济繁荣。本文只讲数学模型。
比特币挖矿的过程是什么?密码学原理是什么?
简单来说:解开一个数学难题,然后广播出去,得到验证后,获得区块奖励。别的矿机收到信息后,放弃解这个数学难题,去算下一个数学难题,争取区块奖励。以此类推。
具体一些,这里接这个数学难题就是用到了一个密码学知识:单向散列函数
单向散列函数,又叫哈希函数,比特币中的哈希函数是SHA256.
之前写了很多篇关于密码学的文章,可以参考(《比特币中的密码学:哈希函数的五大特性和挖矿原理》),在此也简单讲述。
SHA256 是一种哈希函数,SHA(信息)=256位的二进制数字,输入任何信息,可以是一本《红楼梦》可以是一个字等等,都可以快速得到这256位二进制。改一点点输入信息,结果就相差很多,而且,从结果信息无法反推输入信息。
对于二进制来说,前面的0越多,这个数字越小,如果范围是小于等于这个数,意味着二进制数位上,前面的0越多,这个范围越窄,猜出来输入值的难度越高。
SHA256(SHA256(信息+x))小于等于目标值(target)。
用矿机去找或者说去猜x,知道满足条件。这就是挖矿。
公式中的信息是区块头信息,包含version,pre_hash,merkle root,ntime,nbits等等信息,随着区块高度的改变和时间的变化而改变,去猜的这个x数值也可以写成nonce,写成什么不重要,不影响理解比特币挖矿,大概知道有这会事儿就行了。
挖矿过程运用的只是单向散列函数的特性,公钥加密、签名、验证等概念,不要纠结,这个解题过程用不着。
如果依然没有看明白,请忽略以上单向散列函数的描述,简单粗暴的理解为,解一个数学题。而且解这个数学题只能靠猜,没有合理的运算方法去解这个题。
硬件知识和矿机发展简史
做这个数学难题刚开始由CPU来做,然后是GPU显卡挖矿,然后是FPGA,然后是现在的主流比特币挖矿的ASIC芯片矿机。
CPU能处理复杂问题,但是这个解题过程不需要那么复杂的头脑,使劲猜就好了。于是用GPU 并行运算等相关特性比较好,最著名的公司是英伟达(NVIDIA)和AMD公司,在矿圈,前者被称为N卡,后者被称为A卡。
GPU有耗电和其他缺点,于是用FPGA,深圳有家很牛的无人机企业叫大疆科技,背后用的就是FPGA。GPU和FPGA在人工智能领域有很多应用(知识扩展,和今天主题无关)。
FPGA 就是现场可编程门阵列(再次提醒:所有听不懂的概念,不要纠结,直接跳过),就是说白了,好编程,好调整。但是呢,功能相对还是太多了。我只是要一个能够把元宵装进盒子的人,不需要一个大学生博士生,继续简化,出现了ASIC芯片。
“我只需要一双手,而你却给了我一个人”——亨利·福特
现在AISC本质上就是简化后的产物,只剩下一双手,只解决这一个函数问题。
和CPU对比,CPU是一个博士生和产线工人比赛谁能把元宵装到盒子里装得快,由于优秀的集成,变成了一个博士生和十个一百个产线工人比赛谁装元宵装得快。结果可想而知,于是,现在比特币挖矿,只用ASIC芯片矿机。
矿机发展的逻辑以上已经讲完了,历史部分简述如下:
2009年1月3号,中本聪用CPU挖矿;2010年9月就有了GPU挖矿,2011年有了FPGA,2012年8月烤猫fried cat 众筹搞ASIC矿机,那时间开始世界矿业向中国倾斜,2012年11月,btc首次减半,差不多四年了从2009年。2013年年初,烤猫继续干。阿瓦隆ASIC矿机弄出来了,也是中国最早的一批ASIC矿机,母公司就是嘉楠耘智,最近上市纳斯达克股价大跌的那个公司。
2013年年底的大阳线,很多第一代同学入场,中国两次大规模矿工出现和炒币的人出现第一次就是2013年,第二次就是2017年。一根大阳线,千军万马来相见,说的就是这个意思。2014年之后的历史,就很容易在网上查到了。烤猫2015年1月份就失踪了,神秘失踪,这个具体为啥失踪,是被人谋害了,是穿越了被外星人带走了,还是因为矿机慢慢地不够好了,人家跑路了,我们不关心这些内容,这不是八卦类文章。烤猫同志为比特币挖矿做出大贡献,在此向烤猫同志致敬。
之后的故事大家都知道了,比特大陆崛起,在2017年2018年占了全球市场80%以上,过去一年数据的话,大概比特大陆的矿机蚂蚁矿机占60%多,神马矿机占20%+。这里面的恩怨纠葛和具体市场比例,感兴趣自己查吧。
本文讲了三块内容:比特币的挖矿基本原理,挖矿硬件相关的浅显知识,以及矿机发展的简史。