共识机制之POC(容量证明)
1、POC简介: POC(Proof of Capacity),通俗来讲是容量证明,类似于⽐特币的POW共识机制,但与POW共识机制不同的是,POC共识机制采⽤磁盘空间存储(相当于使⽤缓存)代替内存算⼒计算的⽅式挖矿,事先将算好的Hash值存储到硬盘中(也称为P盘),挖矿开始后,矿⼯根据最新区块hash,上⼀区块签名,Target(类似于⽐特币中的⽹络难度)计算出deadline,然后跟钱包中查询的deadline⽐较,若⼩于钱包中的deadline,则该挖矿挖矿成功(稍后详细讲解挖矿过程)。因此你的存储空间越⼤,存储该Hash的可能性越⼤。⽬前采⽤POC挖矿的主要有Burst、BHD、Volume等项⽬。Burst和BHD极为相似,都在POC的基础上增加了条件,只有满⾜条件才能,称为CPoC(Conditioned-Proof of Capacity)。
2、POC的Plot⽂件⽣成与挖矿过程
Plotting过程也称为P盘,即是将⽣成的nonce存储到磁盘⽂件的过程,相应的⽂件⼜叫Plot⽂件,每⼀个Plot⽂件存储着很多nonce,每⼀个nonce占据256KB的存储空间。下⾯先阐述⼀下nonce如何神奇⽣成的,以及优化过程。欲知nonce的⽣成,还是先来简单了解⼀下
Shable256函数吧。Shabal 算法也是⼀种hash算法,相对 SHA256 或者其他 hash 算法,计算⽐较慢(存⼊硬盘花费时间较多,计算较慢的话,不⽤等待即可存⼊),输出为32个字节。也正是这样,这个
算法⽐较适合做 PoC 共识。是时候切⼊正题哦,nonce的⽣成,如下图1->图2->图3所⽰。其中Plotter ID是账户ID(当矿⼯创建plot⽂件时必须提供账户ID),nonce nr为8字节的随机数。⼀个nonce包含了8192个hash,为了加快查,将8192个hash两两分组,每个分组为⼀个scoop,最终得到4096个分组,scoop 会被分配⼀个从 0 到 4095 的标号数字。每次scoop的⽣成都在上个scoop的基础上⽣成的,当哈希函数输⼊值(前⼏轮的哈希结果+ID+随机数)⼤于4096字节后,之后将只取最新的4096个字节来进⾏Shabal运算。危楼高百尺的危楼的意思是什么
新中国高光时刻删掉的照片咋恢复图1:第⼀轮 Shabal256(plotter, nonce)丰收打一字是什么字
图2:第⼆轮 Shabal256(Hash #8191, plotter, nonce)
本溪景点
图3:第三轮 Shabal256(Hash #8190 ,Hash #8191, plotter, nonce)
描写山水风光的古诗图4: 计算Final Hash Shabal256( Hash #0-Hash #8191)
图6: 获得最终0-8191的hash
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论