热点|你真的了解POC容量证明吗?
摘要:假设一下,当某一天BTC全网算力已经上涨到目前的100倍时,会发生什么?会让更多的人参与其中,会让更多的人受益?不,会造成巨大的电力消耗,BTC挖矿一年所耗费的电力是整个欧洲国家的总和。尽管到那时假设
假设一下,当某一天BTC全网算力已经上涨到目前的100倍时,会发生什么?会让更多的人参与其中,会让更多的人受益?不,会造成巨大的电力消耗,BTC挖矿一年所耗费的电力是整个欧洲国家的总和。尽管到那时
假设一下,当某一天BTC全网算力已经上涨到目前的100倍时,会发生什么?会让更多的人参与其中,会让更多的人受益?不,会造成巨大的电力消耗,BTC挖矿一年所耗费的电力是整个欧洲国家的总和。尽管到那时币价可能已经是现在的100倍,但BTC巨大的耗电量始终是整个生态内频繁提及的问题。
而终于有一天,全世界各国下令禁止高能耗的挖矿活动,所有POW矿场都被迫关停,BTC全网算力暴跌,BTC网络随之瘫痪。在全球的禁令下,只有那些耗电量极低的加密货币才能得以生存。
加密货币的信仰者们迫切寻求着一种更低能耗的共识算法以挽救BTC。至此,POC(proof of capacity,容量证明)登上了加密世界的王座。
当然,这都是个人的臆想,如有雷同,纯属巧合。
回归正题,虽然上文的臆想可能过于遥远,但BTC以及POW所带来的巨大电力消耗问题是确实存在的。BTC社区的成员们就此提出了各种的解决方案,最终出现了空间证明(Proof of space),空间证明最终由burst团队将其改进并转变为如今的POC容量证明,因此Burst也称之为POC币种的鼻祖。

本质上,POC容量证明也是工作量证明的一种,只不过POC更加特殊,它与BTC的POW要求矿工追求哈希算力不同,POC容量证明要求矿工追求硬盘容量,这让POC容量证明摆脱了ASIC化与巨大耗电量的命运。
相较于BTC矿机动辄几千瓦的功耗,硬盘的功耗简直不要太低,目前市面上的硬盘功耗普遍在5-10W,因此POC容量证明的省电是显而易见的。
除此之外,使用硬盘挖矿的POC容量证明无需担心ASIC化,因为在POC容量证明中,硬盘容量的提升只能增加硬盘数量。而定制超大的硬盘,增加的只是成本,即便你有20T的硬盘,大不了我上两块10T。
目前的加密货币中,使用POC容量证明的币种仅有少数,而POC币种无一例外都需要将数据填满硬盘空间,我们称之为P盘,数据会强制占满硬盘空间,所存储的数据只能用于硬盘挖矿,这一步让许多不够了解硬盘挖矿的朋友匪夷所思,为什么要强制占满硬盘空间,POC容量证明到底是什么样的机制?
1、POC容量证明的算法原理
传统的POW工作量证明,为了保证竞争的公平性,在一次竞争区块打包权时,都要求矿工通过计算得到解答区块所需的哈希值,无论之前作出过多少次的计算结果,都要直接抛弃并重新计算。
而POC容量证明,也需要计算,虽然过程同样缓慢,但这个过程是在挖矿开始之前,矿工所需要做的仅仅是利用计算硬件例如CPU、GPU计算出挖矿所需的哈希值,并将哈希值存入硬盘空间即可。这就是我们常说的POC空间换时间,利用硬盘来缓存哈希值,提高了计算的效率。
可能还是有朋友会产生疑问,为什么POC能通过存储哈希值来提高计算效率呢?请看下面
2*3*4=24
2*3*4+10=34
2*3*4+111=135 ……
这3个计算中,如果是常规的计算逻辑,那么需要执行6次的乘法以及2次加法。不过我们可以发现,只需要将2*3*4的结果存储,我们就可以只通过2次的加法便能计算出所有的结果。

当然,这样的代价就是我们要有一定容量的硬盘去存储这些计算的结果,这就是为什么能通过存储来提高计算效率的原因。POC就是通过此种方法降低计算的难度,并因此将POW的算力消耗变成了硬盘空间的消耗。
容量证明便是采用此项方法,矿工通过储存缓存数据即可降低计算难度,以此将工作量证明的目标由算力消耗转向储存消耗。
2、POC容量证明的核心
Shabal哈希函数是2007年NIST举办的加密函数竞赛中的候选方案,尽管该方案没能进入决赛,但仍不失为一个优秀的哈希算法,该算法目前也没有出现致命弱点。容量证明的Plot文件需要通过Shabal函数来生成,生成方式如下:
第一轮运算:
矿工账户ID+随机数→Shabal256(256位Shabal函数)=Hash值8191号
上述过程产生的8191号哈希值总共有32字节,矿工ID和随机值各8字节。
第二轮运算:
Hash#8191+账号ID+随机数→Shabal256=Hash#8190
第三轮运算:
Hash#8910+Hash#8191+ID+随机数→Shabal256=Hash#8189
重复上述运算,当哈希函数输入值(前几轮的哈希结果+ID+随机数)大于4096字节后,之后的运算将只会取最新的4096字节数据来进行哈希,例如:
Hash#7001+...+Hash#7128+ID+随机数→Shabal256=Hash#7000
每一个哈希值由32字节,128个哈希值一共4096字节
最后,当完成8192次循环后,我们会有从0号到8191号总共8192个哈希值,将所有的哈希值作为输入,再加上ID与随机数,算出最终Hash值,如下:
Hash#0+...+Hash#8191+ID+随机数→Shabal256=Final Hash
最终Hash拿来与其他8192个哈希值进行异或运算,得到全新的8192个哈希值,保存这些哈希值,两两分组分为4096组Scoop,Scoop便是容量证明挖矿所需要用到的基础缓存数据。每一组Scoop包含64字节,4096组Scoop总共占用256KB的储存空间。

由于矿工的ID是由公钥生成,不因此会轻易改动,因此Hash值生成的不同由随机数来决定,每个随机数都将生成256KB的Scoop组,而一个随机数占8字节,1byte(字节)=8bit,所以8字节总共有18,446,744,073,709,551,615种可能,想要储存完所有随机数所对应的Scoop组,总共需要4096ZB的空间,而目前人类所有数据加起来不超过50ZB,储存所有的数据数据是不可能的,因此矿工只能储存一部分的Scoop数据。
至于矿工为何要储存Scoop组,原因是矿工的挖矿将会用到这些Scoop组,其缓存的数据将成为计算缓存来加快挖矿计算速度。
应用:利用Scoop组的信息挖矿
在挖矿之前,矿工需要根据相关信息计算初需要读取的scoop组,我们以BHD为例(BHD的容量证明与Burst类似),其生成挖矿所需scoop组的方式如下:
钱包生成挖矿信息,包含最新区块的产块签名,下一区块高度以及base target。base target涉及到BHD的”Deadline“设定,其设定相当于BTC网络中的“当前网络难度”。
钱包生成挖矿所需Scoop组流程如下:
最新区块的产块签名0+矿工ID→Shabal256=产块签名1
产块签名1+下一区块高度→Shabal256=产块哈希
产块哈希mod 4096=Scoop组编号(对产块哈希以4096取模,即取最小余数)
假设产块哈希取模后得到值 199,矿工就需要遍历198#Scoop组(Scoop组含0~4095)的数据,将相应组所有内容取一次Shabal256哈希值,再结合之前的产块签名还有Target数据(一种由钱包生成的当前网络挖矿难度数据),共同换算出Deadline数据,换算方式如下:
Scoop组数据+产块签名→Shabal256=难度Target
难度Target/当前网络难度Base Target=Deadline(产块目标时间)
由于BHD网络中,Deadline被设定为>1的值(实际网路中设定值比1大得多),所以矿工为了让Deadline符合难度目标,必须要从硬盘中反复读取储存的Scoop数据进行运算。
每一个Scoop组的信息包含对0~4095随机数取值的所有信息,因此矿工为了能算出符合要求的Deadline就必须要尽可能多的储存Scoop组信息,即提升挖矿效率只能通过增加硬盘,提高储存空间来实现。就如同BTC工作量证明中,提升挖矿效率只能通过增加矿机或提高矿机效率来实现。
3、殊途同归的“工作量证明”
通过前文我们可以了解到,POC容量证明依然属于“工作量证明”,究其本质而言,POC容量证明也是通过对资源的消耗来维护网络的安全。BTC的工作量证明是消耗计算资源+高消耗电力资源+挖矿设备为BTC赋予基本价值,而POC币种通过消耗硬盘资源+低消耗电力资源+挖矿设备为自身赋予基本价值。
当电力消耗达到某一个程度时,电力就会成为网络稳定性的影响因素,除影响网络算力的稳定性外,还会对去中心化程度造成影响。
当电费和挖矿设备价格成为影响矿工的准入门槛之后,普通人就会无法承担起维护网络安全的一份子,即我们常说的挖BTC是富人的游戏,当越来越少的富人接手“挖矿游戏”后,去中心化的程度就会越来越低。
BTC网络的现状便是如此。但在POC生态中,由于硬盘天生自带低功耗的属性,因此在较长的一段时间内,POC硬盘挖矿的电力成本将不再是提高准入门槛的因素之一。
硬盘的广泛适配性,更是进一步降低了挖矿的准入门槛,一块普通的二手机械硬盘即可成为挖矿设备,参与挖矿。值得一提的是,POC存储的数据是离线状态下生成的数据,因此即便是硬盘损坏,也不会导致网络数据的丢失。
POC容量证明的设计初衷便是为了解决传统POW的电力资源消耗等问题,由于POC的本质仍旧是通过消耗物理资源来为货币赋值,因此从长远的角度看,POC也存在着中心化的趋势。
但在BTC日趋中心化的今天,如何让更多的人参与区块链,参与挖矿行业,分享新技术为人类带来的红利,POC容量证明是 一种十分友好的解决方案。
#硬盘挖矿# #硬盘狗社区#
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

币圈观察



