介绍 容量证明是一种合理、公平的共识算法。合理是因为它使用现成的设备,不浪费能源。公平是因为它有一个非常低的进入壁垒,并显示了一个更线性的比例。 从本质上讲,容量证明包括存储难以计算的哈希值,然后在每次伪造块时重用这些哈希值。其基本思想是:您拥有的容量越大,可以存储的哈希值越多,您对系统的承诺就越高,而您的回报(您构建块的机会)也应该越高。显然,如果一个人能够通过任何方法伪造容量——例如将其与工作量证明(PoW)相结合——那么该算法就不再公平,也不再合理。 人们总是可以尝试使用工作量证明来模拟容量证明,但是要使容量证明保持合理和公平,这种模拟在经济上是不可行的。然而,尽管PoW的发展继续受到摩尔定律(计算能力每两年左右翻一番)的制约,但每Gb存储的成本并没有以同样的速度增长。如果这一趋势继续下去,容量证明算法将需要随着时间的推移而更新,或者停止存在。 在这篇文章中,我展示了一种可能的方法来伪造容量证明算法,目前使用在Burstcoin和其他衍生币。为了简单起见,这里考虑了称为PoC1的格式,但是它可以很容易地扩展到伪PoC2容量。最后,给出了一种提高每Mb容量比计算量的简单建议。这个建议由一个硬分叉组成。然而,那些愿意迁移到提议格式的人将有优势,因为格式将占用更少的空间。 容量证明(图) 本节的大部分信息和图像来自burstwiki。我将在这里保持最小的定义,检查wiki中的术语和更完整的解释。可以用来伪造块的预计算哈希值存储在所谓的plot文件中。一个plot文件包含许多nonces,但是在这里我们可以只关注一个nonce。 每个“nonce”由4096个不同的scoop组成。每个scoop包含64字节的数据,包含两个哈希值。当锻造一个块时,选择一个scoop,矿工应该阅读它的内容。每个scoop内部的哈希值应该很难实时计算,因此需要预先计算它们并有空间存储它们。计算这些哈希值的过程如下: 1计算第一个哈希值,还是最后一个哈希值取决于您如何看待它(#8191):
2. 计算第二个哈希值(#8190):
3.计算第三个哈希值(#8189):
4. 按照相同的过程,预先将产生的哈希值附加到新种子中,以计算最多128个哈希值。 6. 计算最后的哈希值,使用所有#8192哈希值和前16个字节作为种子:
7. 单独列出Xor和所有其他哈希:
8. 有了这一切,我们就有了所有属于nonce的信息:
这就是所谓的PoC1格式,为了简单起见,我将避免与这里的PoC2搞混,但又不失一般性。
假设选择步骤4。当然,这将是一个在生产代码中其他地方定义的常量,并且依赖于块的高度(fork块)。 —- 编译者/作者:不详 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
一种使容量证明更抗工作量证明的方案
2019-07-10 不详 来源:网络
LOADING...
相关阅读:
- 同样咕噜提到的项目,FIL目前完全比不了波卡,来回割的镰刀真是太快2020-10-26
- 为什么像Cardano这样的区块链需要像IOHK这样的公司2020-10-26
- Filecoin融资2.57亿美元,还想收割矿工,陷入分叉之中,给了分布式存储2020-10-25
- 分叉项目方眼里的“Filecoin”,绝对颠覆你的认知! | 8问大事件2020-10-23
- 非小号专访 时空云董事长赖楚航:Filecoin需要时间适应行业发展趋势,2020-10-22