查看原文
其他

【官方】Chia地块压缩详解

河马/ HemaDAO HemaDAO 2023-08-22



关于地块压缩的一切


JM Hands, - 2023 年 1 月 20 日

概括

  • 现在可以从多方获得地块压缩。Chia 将通过测试计划Soon™ 发布支持。
  • Chia 设计的空间证明不是无限可压缩的
  • 地块压缩与“时空”权
  • 衡一起工作,删除部分地块并在耕种期间即时重新创建它们
  • 按照设计,Chia 不会因为收益递减而变成 PoW。地块面积减小是线性的,功率增加是指数级的! 
  • 相对于他们选择的压缩级别,农民可以预期能源使用量会略有增加。 

我们将很快在 Beta 程序中发布新版本的 Bladebit 绘图仪,它支持绘图压缩。特别感谢 Chia 的 Harold Brenes 花了很多深夜来开发这个。新的压缩图将包含与当前图相同数量的证明,但它们需要的空间更少。少多少?这取决于压缩级别,但节省将在 15% 到 30% 之间。由于空间和计算之间的权衡,这种压缩是可能的。

绘图压缩是——而且永远是——可选的。是否使用压缩图和应该使用的压缩级别的决定归结为几个因素,我们将在本文后面讨论。

立即,您会发现压缩率越高,收益递减,但首先,让我们退后一步,回顾一下 PoST 中的绘图是如何工作的。


PoW 与 PoST

PoW(工作证明)是一种保护区块链(如比特币)的算法。在 PoW 中,称为矿工的计算机不断生成称为哈希的随机数。这些哈希就像彩票一样。一旦找到中奖彩票,矿工就会创建一个新区块并获得奖励,然后重新开始该过程。工作量证明是第一个中本聪共识,除其他外,它可以很容易地验证给定的区块链是否是规范的。

PoW 是能源密集型的,因为每个参与的矿工都必须不断地生成哈希以最大化他们获胜的机会。当然,大多数哈希不会获胜。他们最终就像丢了彩票一样——被丢弃,再也见不到了。

PoST(时空证明)是第二个 — 也是唯一一个 — 中本聪共识。与 PoW 一样,它使用功能类似于彩票的哈希。主要区别在于,在 PoST 中,彩票只需要生成一次。农民不会在使用一次后将它们扔掉,而是将它们存储在名为plots(地块) 的文件中。每个地块包含超过 40 亿张彩票,但由于地块的组织方式,耕种计算机需要最少的资源来获取中奖彩票。最重要的是,这些图可以在磁盘的整个生命周期内重复使用。

PoST 共识使 Chia 的区块链具有与比特币相似的安全级别,同时消耗不到总网络功率的 1%。


地块压缩概述

创建 Chia 图时,所需的临时存储量大于地块的最终大小。在绘图的第一阶段之后,一块地块在技术上是可耕种的,但不是以尽可能小的形式表示。绘图过程的后期阶段执行特定于 Chia 地块格式的算法压缩。我们将此压缩设计为最大效率,同时保持 100% 的地块数据完好无损。换句话说,原始绘图格式已经被压缩。

我们怎样才能进一步压缩地块?

这种新的压缩来自计算和存储之间的权衡。不是存储 100% 的地块数据,而是可以动态计算一些数据。随着图中省略了更多数据,收割机必须执行更多计算才能获得证明。

我们将地块压缩级别组织成简单的数字,从 0(无压缩)到 7(高压缩)。压缩级别的每次增加都会导致结果图大小的线性减小,代价是农业所需的计算能力呈指数增长

压缩级别GiB/地块GB/地块% 减少%奖励变化
0101.30108.7700.00%
187.5493.9913.61%15.72%
286.0392.3715.10%17.75%
384.4690.6916.64%19.93%
482.8688.9718.23%22.25%
581.2687.2519.81%24.67%
679.6585.5221.39%27.18%
778.0583.8122.97%29.79%
表 1. 压缩级别与地块大小

使用现有的地块格式进行耕种只需要少量的计算资源。将地块压缩到级别 1 将导致面积减少 13.61%,产生 15.7% 以上的农业回报,同时需要的额外处理能力可以忽略不计。当前级别指示位丢弃的线性减少(例如,级别 1 是 16 位,级别 2 是 15 位),但解压缩的计算呈指数增长。尽管如此,指数计算仍会迅速赶上,使其在一定程度上变得不切实际。可以通过调整绘图参数来添加更多级别。将来,可选的 GPU 收割机、更高效的算法和用于证明质量检查的卸载将使我们能够以合理的开销允许更多级别。当我们能编写增强功能时,可能会增加几个压缩级别。


什么Hellman?Chia 空间证明中的时空权衡

Chia 空间证明格式想法背后的原始论文,包括 Beyond Hellman(链接:https://eprint.iacr.org/2017/893.pdf)Chia 空间构造证明(链接:https://www.chia.net/wp-content/uploads/2022/09/Chia_Proof_of_Space_Construction_v1.1-1.pdf),其中提出了“绘图表”的概念,其旨在降低“时空权衡”的有效性。

我们构建可证明需要更多时间和/或空间来反转的函数。

在 Chia 中,我们希望磁盘空间成为区块链共识的稀缺资源,而不是计算周期,因此得名……空间证明。绘图可能需要时间,因为每个地块只需执行一次,并且验证(耕种和收获)需要快速高效。Chia 在主网启动之前发布了一些示例代码,说明这实际上如何与Hellman 攻击一起工作。在 Chia 中,通过绘制表格,执行这些时间空间(或计算/空间)随着您遍历表格而变得更加困难。Bram 选择了七个表作为空间查找的完整证明所需的磁盘 io 量、时空权衡保护和绘制时间之间的合理权衡。

图 1. 构成绘图文件的 Chia 绘图表

一个 k=32 的地块实际上是什么样的?

图 2.1。一个标准的 k=32 地块文件


丢弃比特(Drop the Bit)

101.3 GiB 或 108.8GB 的 k=32 地块包含大约 2^32 个证明(42.9 亿空间证明)。新的压缩方法,我们称之为“bit dropping”,对于级别 1-7 删除整个表 1,并将表 1 中减少数量的条目而不是后向指针放入表 2。压缩级别 1 使用 16 位,仅存储 ak=32 所需的 32 位中的 16 位。当然,当你去获取整个空间证明时,这是有问题的,因为一半的条目都丢失了。这些现在需要即时生成,需要一些计算来查看丢失条目的所有可能匹配项。这个技巧可以通过删除更多数据来进一步扩展,然后在获取完整的空间证明时必须动态生成更多数据!这是一种无损压缩形式,

图 2.2。压缩级别为 1 的 k=32 地块文件

图 3. 新的压缩地块格式不再有表 1,而是将其条目存储在表 2 中,并减少了位数。 
这解释了不同级别的压缩是如何工作的。每个压缩级别都通过丢弃更多数据来工作,从而在收获时需要更多计算。动态创建数据所需的计算周期呈指数级增长,直到所需的计算量达到完整图。目前,Chia 压缩级别 7 将地块面积减少了 23%,这意味着农民在耕种时预计会以额外的能量为代价获得 29.8% 的额外奖励。

图 4. 在 Bladebit 的早期构建中,空间解压缩与压缩级别的完整证明的测量计算。

在时间/空间权衡中,地块大小线性减小,而耕种所需的计算量呈指数增长。

值得庆幸的是,根据设计,与工作量证明相比,Chia耕种消耗的能源很少。即使采用更高级别的压缩,大多数农民的能源消耗也只会增加 20-25%。我们正在对此过程进行迭代增强,以提高效率。指数级扩展阻止农民消耗大量能源并获得不公平的优势。


更多空间——有效容量简介。

有效容量记为 TBe,读为:“有效太字节(terabytes effective)”。这是复制、容量利用率和数据缩减(压缩、重复数据删除等)后的可用存储空间。对于采用 plot 压缩的 Chia farming,我们将有效容量归一化为 ak=32,即 101.3GiB / 108.8GB,大约有 43 亿个空间证明。在Chia耕种中,减压后的有效容量会获得奖励,因此 TBe 是农民需要用来估算奖励的数量。由于用户将混合使用具有不同 K 值的地块,因此仅凭地块数量来估计奖励是不够的。

图 5. 拥有 500 TB 原始容量的 farmer 在更高压缩级别下将具有更高的有效容量,因为他们的估计 farming 容量(例如,通过一个池)看起来更高


压缩的TCO – 天下没有免费的午餐

JM 的博客文章一向是靠数据表格说话的。农民的一个基本问题是选择什么压缩级别。以最高压缩级别地块以获得最高存储效率并因此获得最多奖励可能很诱人,但是在耕作期间解压缩地块会产生计算开销,与基准耕作相比,这需要额外的能量。磁盘 io 受解压的影响不大。对产出产生重大影响的投入是:
  • 压缩级别

  • 地块数

  • 耕种系统计算能力

  • 电力成本(美元/千瓦时)

  • 基准功率效率(整个系统的 W/TB) 

为了找到耕种的计算和能源开销,农民需要在特定压缩级别绘制单个地块,然后使用空间证明工具对给定数量的证明执行证明质量检查和完整空间证明。这个工具可以循环大约 9 秒来模拟 Chia 的标志点时间。您将每个标牌点的证明数量乘以过滤器,以获得在给定系统上具有给定计算量的可耕种地块的数量。如果 CPU 不堪重负并且花费太多时间来解压缩空间证明,则必须降低压缩级别。需要测量功率和能量才能准确了解总体拥有成本和投资回报率,因为更高的压缩级别会增加能耗和运营支出。

在测量给定场规模下的估计计算和能源开销后,您可以使用此电子表格来估计最佳压缩级别。(链接:https://docs.google.com/spreadsheets/d/1k6c-OBDtggXqnEfOPdMmq3646puzvOD7dWojwCH2v3c/edit?usp=sharing)


常问问题

问:为什么要发布压缩的绘图格式?
A:如果一项技术可以建立,那么就会有人建立它。在压缩地块的情况下,如果只有少数农民能够使用这项技术,他们就会比其他人更有优势。通过发布免费和开源的压缩绘图格式,我们使每个人都能使用最先进的技术来创建他们的绘图。没有人会比其他人拥有战术优势。
问:是否必须要使用压缩图?
答:否。压缩与否是可选的。
问:我可以压缩现有的地块吗?
A:不可以。虽然这在技术上是可行的,但与简单地创建新地块相比,它需要更多的时间和精力。
问:如果我不使用压缩地块,我会处于劣势吗?
A:目前耕种是平等的——每个人都使用相同的地块格式,所以赢得更多奖励的唯一方法就是储存更多的地块。如果您选择不重绘,那么当其他人重绘时,您在 Netspace 中的相对份额将慢慢减少,即使存储绘图的磁盘数量保持不变。相对于其他人,这将使您处于轻微的劣势。然而,这也意味着您不会在重新绘图上花费任何额外的时间或电力。决定权完全在您手中。
Q:未来会不会有额外的地块格式来进一步压缩地块?
答:不太可能。当我们在 2020 年发布当前的地块格式时,我们知道在正确的时间和技术下,某些权衡和改进是可能的,我们现在看到了。然而,今天我们正在接近压缩的理论极限。您不太可能会看到一种新格式将绘图进一步压缩超过一个很小的百分比。我们在帖子中提到,一旦我们有能力卸载减压,我们可能会带来更多接近极限的级别。
问:Bladebit Beta 压缩会成为最终的绘图格式吗?
A:Chia 客户端将支持测试版中发布的版本。对于我们已经确定的次要算法优化,在绘图格式中还有大约 1-2% 的优化,我们可能会在某个时候发布。当 SSD 上的农业在 20 世纪下半叶变得可行时,由于闪存与 HDD 相比的低延迟,绘图格式可以再次更改。当您看到地块大小的大幅减少时,这些小的变化会产生递减的回报,比如我们已经实现的计算空间权衡。
问:我使用什么硬件来创建地块重要吗?
答:所有由 Bladebit 创建的具有相同k值和压缩级别的图看起来都是一样的,无论用于创建它们的硬件如何。
问:我可以继续使用 k-32 图吗?
答:是的。我们目前没有增加最小k的计划。如果我们确实打算增加此值,您将至少提前一年收到通知。
问:我可以混合和匹配绘图的压缩级别吗?
答:是的,您可以混合和匹配地块的压缩级别。农民应该使用这些工具来确定压缩级别、计算开销和功率的基线,以了解它如何影响他们的农业盈利能力。
问:压缩地块的方法是否称为 Hellman 攻击?
答:类似的方法。时空权衡的位丢弃方法和 Hellman 攻击都通过删除一个或多个表来工作,但在 Hellman 攻击中重新创建条目要复杂得多,并且需要更多的绘图时间。我们使用的方法减少了将删除的表写入磁盘的绘图时间。
问:什么时候发布?
答:支持压缩绘图的 Bladebit Diskplot 和 Ramplot 功能完备并正在进行内部测试。Chia 客户端对压缩地块耕作的支持正在积极完成中,我们将在功能完成时将具有跨平台和操作系统支持的整个软件包发布到 Beta 程序中。
问:创建压缩图会花费更少的时间吗?
答:我们用于计算空间权衡的方法的好处是现在不需要将某些表存储在最终绘图文件中,从而减少了少量绘图时间。
问:这将如何影响我作为收割机运行的树莓派?
答:低能耗和低计算能力的农民和收割机将能够在较低的压缩级别(1-4 级)下运行。存储量对计算开销有重大影响。我们将开发收割机协议的增强功能,允许集中式农民从远程收割机解压缩地块,提高能源效率并允许低成本/计算收割机支持。
问:听起来很棒!我们什么时候发布这些对收割机协议的增强?
答:您可以随时查看 roadmap.chia.net 以了解最新的优先级和功能规划,以及给我们的产品团队留下评论。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存