详解PoC挖矿前世今生
2014年,POC容量证明共识算法被提出,源自Burst,其目的在于解决POW资源浪费等问题。PoC和PoW一样,一直基于哈希算法。
PoC与PoW的区别
PoW算法以物理算力为基础,计算出满足条件的哈希值后再产生新区块。根据Digiconomist的比特币能源消耗跟踪器数据显示,比特币挖矿每年消耗电力约为66.7万亿瓦每时,占全球耗电量的0.2%。
而PoC算法的核心是将区块生成与有限的硬盘存储空间绑定,使用硬盘的空白空间进行挖矿。简单来说,PoC算法是在挖矿之前,将可能的解决方案存储在挖矿硬盘驱动器上,硬盘越大,存储的解决方案值越多,旷工就有更高的概率赢得挖矿奖励。因此,PoC算法消耗的不是算力,而是硬盘的存储空间。
挖矿过程
挖矿过程实际上包括两部分。
| 绘图过程/缓存过程(Plotting)
在硬盘中创建Plot文件(缓存文件)。首先,要选择一个8字节的随机数Nonce,加上你的账户ID一起进行Shabal256计算,得到一个哈希值。账户ID是由私钥推倒出来的,可以用来标识用户身份,可以避免几个人共用同一套缓存数据进行作弊行为(增加搜索空间的范围)。把前一步得到的哈希值添加到账户ID和Nounce前面,再进行一次Shabal256计算。每个哈希值的长度是32字节,当数据的长度超过4096字节后,每次只取最近的4096字节数据进行哈希。
当完成了8192次循环后,你会得到8192个哈希值。这8192个哈希值会两两一组,称为一个Scoop,一个Scoop是挖矿使用的最小数据单位,一个Scoop是64字节。每个 scoop 会被分配一个从 0 到 4095 的标号数字。对每个矿工来说,Account ID是固定的,上面生成的8192个Hash值其实只和Nonce有关,Nonce是8字节的,取值范围在0-18446744073709551615,这是个非常大的数字。矿工只会尽可能多地缓存Nonce和对应的4096个Scoop来提高自己找到解的概率。
| 实际挖矿
计算出Scoop后,还会通过Shabal256和签名处理这些数据,产生名为Target的新哈希值。所有哈希值前8个字节就是所谓的最终时间(Deadline)。
选出计算出的最小deadine。Deadline就是上个区块生成后,生成下一个区块前必须等待的最短时间。如果一个矿工计算出了自己硬盘中的deadline,需要检查是否为当前网络的最小值,如果其他矿工发送了有效的信息(更小值),旧信息废弃。如果在有效时间内,没有矿工提交新的有效信息,那么这个矿工就获得锻造新区块的权利并获得区块奖励。
PoC挖矿特点
·存储硬化,强制占满所有用来挖矿的存储空间。
·对存储设备的读写速度要求不高。
·网络带宽不敏感。挖矿的搜索过程是离线的。
| 优势
·门槛较低。PoW算法使用挖矿设备为硬件,相较于PoW矿机,价格较低,门槛较低。
·无需大量算力,更为环保。一旦挖矿所需的数据生成完毕,实际挖矿过程中,几乎不需要计算资源参与。
· 没有项目限制。PoW挖矿项目根据不同的算法,需要使用不同的矿机进行挖矿,如果项目跟换算法,在某些情况下矿工需要更换矿机。PoC挖矿只依赖硬盘容量,因此不需要考虑算法问题。
| 缺点
·可能出现恶意软件绘制硬盘。
·相比PoW,中心化的成本更低。
当前大热的PoC项目包括IPFS、Spacemesh、Holochain 等。IPFS是一个旨在创建持久且分布式存储和共享文件的网络传输协议。Spacemesh的愿景是以更合理的设计创建真正点对点的电子现金网络,并在第二层支持智能合约。而Holochain的愿景是成为一个真正的去中心化、民主、公平分配、安全的互联网。
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場