比特币是区块链的成功应用,以「去中心化/不可篡改」的特性被人们所津津乐道,但比特币算力被不超过10家矿池所控制,表现出非常“中心化”。少数矿池把持算力与比特币去中心化的初衷,看起来是矛盾的综合体,这其中与挖矿和矿机密不可分。
比特币本质是一套账本,每页上记录交易往来,页面被称之为区块,页面与页面连接起来,形成区块链。网络对于记账进行审核赋予记账权并奖励,审核的方式是进行哈希碰撞(简单来说就是随机寻找数字,睡着的最快就给谁),奖励的形式是比特币。大家为争夺记账权,不断提高计算的速度和能力/算力,最终出现大规模集中挖矿的矿池垄断算力。
CPU挖矿:比特币于2009年诞生,全网算力比较低,PC也可以轻松挖矿,“披萨日”中的上万比特币就是通过个人电脑挖出。CPU是通用计算平台,能够做整数和浮点数的加减乘除与或非移位跳转等等运算,以及针对一些特定应用领域如多媒体的特殊运算;对于挖矿的基本运算是大材小用,整体使用率非常低,而且耗电量大。
GPU挖矿:当人们开始进行提升效率的时候,从CPU逐渐转移到GPU,显卡处理器。GPU芯片本质上是很多针对图像处理的小型的CPU集合,当然可以处理运算,且比CPU效率提升不少。
ASIC矿机:CPU和GPU本质上还是通用平台,针对挖矿都只是利用了芯片一部分的面积,本质上都存在大量的浪费,主不过GPU比CPU浪费的少一些。ASIC(Application Specific Integrated Circuits) 专用集成电路,是根据算法进行定制,能够充分利用芯片的面积而开发,保证所有的功耗都花费在挖矿上,最大化投入产出比。但ASIC定制和生产的成本比较高,需要有大量的需求才能cover成本,所以针对币种出现专门的ASIC也说明该市场容量比较大。ASIC的出现,也催生了资本密集型的专业矿池/矿场,垄断算力。
针对这些问题,有一些项目提出改进方案。比如内容分发公链Ulord的挖矿机制采用串行化计算、16中散列函数随机挑选而增大矿机的硬件成本等方式来防止算力集中。
1.串行与并行计算:
比特币中的哈希函数,可以并行计算,股可扩展并大规模推行;Ulord挖矿算法分为三步,顺序执行,并且每一步中都会有逻辑限制,目的是防止并行计算。如果只是串行计算,则大规模推广成本很高。
2.散列函数与硬件成本
函数算法一般是固化在硬件上,Ulord采用16中散列函数随机运行,需要事先根据每个算法都定制预留一份体积。这样变相增加硬件成本,不利于大规模推广。
总之,增大算法难度只是让定制成本变高,如果市场足够大且成本可控,矿机还是有可能被制造出来,矛与盾想长。
参考链接:
https://www.cybtc.com/forum.php?mod=viewthread&tid=7103&fromuid=402