找回密码
 立即注册

区块链入门|一文了解PoC挖矿前世今生

来源: woaiwo1122 2020-2-8 02:18:20 显示全部楼层 |阅读模式
浏览本帖时间满 10 秒,可领取 2 DOGE(狗狗币)



POC容量证明共识算法最早在2014年被提出,源自Burst,其目的在于解决POW资源浪费等问题。PoC和PoW一样,仍基于哈希算法。


- PoC与PoW的区别


PoW算法以物理算力为基础,计算出满足条件的哈希值后再产生新区块。根据Digiconomist的比特币能源消耗跟踪器数据显示,比特币挖矿每年消耗电力约为66.7万亿瓦每时,占全球耗电量的0.2%。


而PoC算法的核心是将区块生成与有限的硬盘存储空间绑定,使用硬盘的空白空间进行挖矿。

简单来说,PoC算法是在挖矿之前,将可能的解决方案存储在挖矿硬盘驱动器上,硬盘越大,存储的解决方案值越多,旷工就有更高的概率赢得挖矿奖励。因此,PoC算法消耗的不是算力,而是硬盘的存储空间。




- 挖矿过程


挖矿过程实际上包括两部分 :


1、绘图过程和缓存过程(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来提高自己找到解的概率。


2、实际挖矿


计算出Scoop后,还会通过Shabal256和签名处理这些数据,产生名为Target的新哈希值。所有哈希值前8个字节就是所谓的最终时间(Deadline)。






选出计算出的最小deadine。Deadline就是上个区块生成后,生成下一个区块前必须等待的最短时间。如果一个矿工计算出了自己硬盘中的deadline,需要检查是否为当前网络的最小值,如果其他矿工发送了有效的信息(更小值),旧信息废弃。如果在有效时间内,没有矿工提交新的有效信息,那么这个矿工就获得锻造新区块的权利并获得区块奖励。


- PoC挖矿特点


·存储硬化,强制占满所有用来挖矿的存储空间; ·对存储设备的读写速度要求不高; ·网络带宽不敏感。挖矿的搜索过程是离线的。


其优势:


1. 门槛较低。PoW算法使用挖矿设备为硬件,相较于PoW矿机,价格较低,门槛较低。

2. 无需大量算力,更为环保。一旦挖矿所需的数据生成完毕,实际挖矿过程中,几乎不需要计算资源参与。
3. 没有项目限制。PoW挖矿项目根据不同的算法,需要使用不同的矿机进行挖矿,如果项目更换算法,在某些情况下矿工需要更换矿机。PoC挖矿只依赖硬盘容量,因此不需要考虑算法问题。

其缺点:


1. 可能出现恶意软件绘制硬盘。

2. 相比PoW,中心化的成本更低。


当前大热的PoC项目包括IPFS、Spacemesh、Holochain 等。IPFS是一个旨在创建持久且分布式存储和共享文件的网络传输协议。Spacemesh的愿景是以更合理的设计创建真正点对点的电子现金网络,并在第二层支持智能合约。而Holochain的愿景是成为一个真正的去中心化、民主、公平分配、安全的互联网。


本文来源: 头等仓区块链研究院 ,作者头等仓

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册