当前位置:首页 > 物联网 > 区块链
[导读] 介绍 容量证明是一种合理、公平的共识算法。合理是因为它使用现成的设备,不浪费能源。公平是因为它有一个非常低的进入壁垒,并显示了一个更线性的比例。 从本质上讲,容量证明包括存储难以

介绍

容量证明是一种合理、公平的共识算法。合理是因为它使用现成的设备,不浪费能源。公平是因为它有一个非常低的进入壁垒,并显示了一个更线性的比例。

从本质上讲,容量证明包括存储难以计算的哈希值,然后在每次伪造块时重用这些哈希值。其基本思想是:您拥有的容量越大,可以存储的哈希值越多,您对系统的承诺就越高,而您的回报(您构建块的机会)也应该越高。显然,如果一个人能够通过任何方法伪造容量——例如将其与工作量证明(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个哈希值。

5. 对于所有剩余的迭代,我们只需要128哈希值(最后#4096生成的字节):

6. 计算最后的哈希值,使用所有#8192哈希值和前16个字节作为种子:

7. 单独列出Xor和所有其他哈希:

8. 有了这一切,我们就有了所有属于nonce的信息:

这就是所谓的PoC1格式,为了简单起见,我将避免与这里的PoC2搞混,但又不失一般性。

前面显示的所有步骤都是为了避免伪造容量。最后一个哈希(步骤6)包括所有以前计算的哈希,以确保没有人可以在不计算整个nonce的情况下获得特定的独家信息。

丢弃哈希,根据需要计算它们

现在考虑您计算整个nonce的情况,但只存储第6步的最终哈希,不存储XOR任何哈希(避免步骤7)。然后,让我们假设下一个块需要4095哈希,这将是非常便宜的实时计算,你不需要它在您的硬盘驱动器上。只需要完成步骤1和步骤2,然后直接跳到步骤7,因为您已经存储了最终的哈希。这将是非常便宜的,因为#8191和#8190哈希使用非常小的种子输入。计算scoop 4094需要更多的工作,而且随着scoop 0的接近,需要的工作也越来越多。

通过只存储最终哈希,这种方法只对高scoop有效,因为计算低scoop的难度增加了,scoop 0的计算成本更高。因此,这种方法只允许伪造一小部分空间,要求不诚实的矿工存储大部分的scoop号。

另一种更复杂的方法是存储包含128个散哈希的连续部分。这样,您可以丢弃128个哈希,然后存储128个哈希,然后再丢弃,依此类推,保留最后的哈希(步骤6)。每次需要丢弃哈希时,只需读取前面的128个哈希,然后使用步骤5计算丢失的哈希。这是可能的,因为您只需要前面的128个哈希来计算一个新的哈希,而不需要整个nonce(假设最后的哈希可用)。

一个简单的建议,使容量证明更抗PoW

正如上一节所解释的,通过动态计算哈希来伪造容量的一种可能方法是存储具有128个哈希的连续部分并丢弃部分哈希(不存储它们)。通过一个简单的解决方案,这种伪造能力的难度可以大大增加:只有4倍(或2、8、16等)的scoop才能用于锻造块。这可以用一行代码实现Burstcoin。这个叉将包含替换掉GeneratorImpl.java的第141行:

假设选择步骤4。当然,这将是一个在生产代码中其他地方定义的常量,并且依赖于块的高度(fork块)。

这样,一个诚实的采矿者将只需要存储当前使用空间的25%,并且永远不需要存储连续的哈希,因为只有这部分scoop将用于锻造块。试图伪造容量的数据库需要存储比诚实的数据库更多的信息(因为总是需要128个连续哈希来计算一个新的哈希),因此变得不经济。

挖掘软件也很容易适应只存储/读取有效独家新闻。刻版机/清道夫对与此实现已在:

https://github.com/jjos2372/engraver

https://github.com/jjos2372/scavenger

这种改进型清除剂可以简单地在改进型小区或规则小区中工作。修改后的刻版器还可以生成常规文件。然而,修改后的刻版器接受一个额外的参数,即在存储情节时应该跳过或跳过的scoop数。对于只存储4的倍数,这将是:

刻版器- j4[其他论点…]

由此产生的“压缩”文件名附加了跳过scoop的数量:

id_start_nonces_nskip

兼容性

使用建议的硬分叉,会导致现有的文件将继续按原样工作。采矿者可以“压缩”(仅仅扔掉75%的scoop),然后用新的nonces来绘制剩余的空间。池软件也可以保持不变(或者更新将是最小的,以防在池软件中计算scoop数)。

目前还没有一个“压缩”工具可用来减少现有图的大小,但是实现很简单,如果这个建议被接受,就可以使用它。

结论

容量证明(PoC)总是可以通过工作量证明(PoW)来模拟。然而,为了保持容量证明的合理和公平,伪造能力在经济上不应该是可行的。目前在Burstcoin和其他衍生币中实现的容量证明算法目前存在伪容量问题。在这项工作中提出了一个非常简单的解决方案,增加了不诚实矿工的难度。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭