容量证明POC 之 Plotting

  • Ashton
  • 更新于 2019-08-05 23:24
  • 阅读 5052

容量证明POC 之 Plotting

Plotting 俗称 P 盘,是 POC 共识的第一个步骤。

第一步:选择一个8字节的随机数Nonce,加上Account ID一起进行Shabal-256计算,得到一个Hash值。其中Account ID是从私钥推倒过来的,可以用来标识节点身份,以避免几个人共用同一套哈希表来作弊,确保每个ID一套哈希表,同时也增加了搜索的范围,更加分散。第一步计算的哈希结果被称为:Hash #8191。

然后,把第一步得到的Hash #8191添加到Account ID和Nonce前面,再进行一次Shabal256计算,得到Hash #8190。

以后的计算中,每次都把得到的Hash值添加到数据的前面,当数据的长度超过4096字节后,每次只取最近的4096字节数据进行哈希。 比如计算Hash #6000的时候,其实只会取Hash #6001-6128这128个哈希值进行计算。因为每个哈希值的长度是32字节,128个正好是4096字节。

当完成了8192次循环后,就会得到8192个哈希值,用来计算哈希值的数据也会变成这样:

你需要对所有这些数据再进行一次Shabal256计算,得到一个Final Hash。 最后,把之前的8192个哈希值逐个和Final Hash进行异或运算,得到的8192个异或后的哈希值保存下来,这些数据就是未来挖矿时需要搜索的范围。

  • 学分: 10
  • 标签: POC 
点赞 1
收藏 0
分享

0 条评论

请先 登录 后评论
Ashton
Ashton
0x53b3...c54F
专注于 EVM 和比特币生态的区块链开发者