【官方】​Chia客户端2.0.0版本发布

们很高兴与大家分享 2.0 版本的发布!此版本带来了许多新功能和一些对 Chia 区块链发展至关重要的重大升级。从绘图压缩支持和 GPU 绘图、耕种和收割,到软分叉和硬分叉协议更新,2.0 版本是我们构建更好的区块链之旅的下一步。

【客户端下载链接】:https://www.chia.net/downloads/
【Github 链接】:https://github.com/Chia-Network/chia-blockchain/releases/tag/2.0.0

目录

  • 协议更新
  • 绘图与耕种
  • 压缩绘图支持
  • 耕种策略
  • 耕种用户界面改进
  • CHIP-0011:CLVM BLS 添加
  • 一般用户体验改进
  • 对于开发人员和创作者(仅限 RPC 和 CLI)
  • 一般系统和应用程序支持更新

协议更新

今年早些时候,我们向 Chia引入了压缩绘图以及GPU 绘图和耕种。在此版本中,我们将启动协议更新以支持这些功能,并在下面概述了具体细节。

CHIP-0012:绘图过滤器减少硬分叉

GPU 绘图对速度的提升是巨大的!然而,如果有人能非常快的创建绘图(不到 28 秒)并且可以很经济地这样做,那么他们可以连续创建和丢弃绘图,而不用将它们存储在磁盘上。这被称为绘图研磨攻击(Plot Grinding),类似于工作量证明中存在的情况。

绘图研磨攻击目前不可行,因为绘图创建时间太慢,即便采用 GPU 绘图也是如此。虽然明年可能这种攻击在技术上成为可能但它仍然会比在磁盘上存储绘图花费更多的钱从经济学上来说,这会阻止农民进行绘图研磨攻击,因为他们赚的钱要比使用网络赚的钱要少得多。

为了阻止未来可能的绘图研磨尝试,我们和社区共同创建了CHIP-0012,旨在未来十年内逐渐减少绘图过滤器(最终减少将于 2033 年发生)。此更新将每三年把绘图过滤器减少一半。第一次减少(从 512 到 256)将发生在区块 5,496,000,大约是在 2024 年 6 月。绘图研磨的技术细节和经济学可以在关于 GPU 绘图的博客文章中找到。

这代表了对协议的非前向兼容更改,也称为硬分叉。在 Chia,我们的政策是仅在必要时创建硬分叉。因此,CHIP-0012 的推出既是我们生态系统持续健康的预期也是必要的一步。有关区块链分叉及其在区块链网络发展中的价值的更多详细信息,请参阅我们最近的区块链分叉博客文章。

绘图与耕种

Chia 2.0.0 版客户端具有用于绘图和耕种的主要新功能,包括支持使用 NVIDIA GPU 进行绘图的新版本 Bladebit、用于更多农业空间的绘图压缩以及许多耕种内部质量的改进,例如健康状况仪表板收割机延迟图改进的绘图 UI

绘图机

新的 Bladebit 3.0 版本可以使用支持 CUDA 的 GPU 或 CPU 完全在内存(RAM)中创建压缩绘图。使用 GPU 进行内存绘图是最快、最节能的绘图方式,因为它不会消耗任何 SSD 的耐用性。完全在内存中绘图需要 256 GB 内存(使用 GPU 时)或 416 GB内存(使用 CPU 时)。

大多数农民没有条件使用 256 GB 内存的服务器、工作站或高端台式机,因此我们还启用了 Bladebit cudaplot 以支持临时 SSD 存储。借助 SSD,Bladebit 3.1(在 Chia 的未来版本中提供)将支持低至 64 GB 内存的消费级台式机和工作站笔记本电脑上绘图。使用任何磁盘进行绘图仍然需要较高的持续写入带宽和耐用性,因此请查看 SSD 耐用性资料,了解如何选择数据中心 SSD 或高耐用性消费类 SSD(例如这款!)。

【官方】​Chia客户端2.0.0版本发布

表 1. 绘图仪类型支持

绘图机类型 计算 临时 SSD (GB) 内存(GB) 绘图时间(分钟) 能源效率 状态 支持压缩与否
cudaplot GPU 没有任何 256 1-3 最高 已发布,Bladebit 3.0 是的
cudaplot+SSD GPU 〜180 64, 128 3-8 高的 在 Chia 2.1版本、Bladebit 3.1 中 是的
ramplot CPU 没有任何 第416章 3-5 高的 Bladebit 3.0 是的
diskplot CPU 第512章 4 15-60岁 中等的 已发布,Bladebit 2.0 未来更新

 

压缩绘图支持

地块压缩增加了您可以在磁盘上存储的地块数量,从而增加了耕种奖励。我们设计了 Chia 空间证明共识和绘图表,以防止 Hellman 攻击或时间-空间权衡。一月份博客文章中最重要的结论是:通过压缩绘图,地块尺寸的减小是线性的,而计算解压比例呈指数级。

压缩绘图完全是个可选项,并且需要重新绘图。

旧的绘图格式仍然适用于 Chia 2.0 版本。大多数农民会考虑重新绘图以获得最高数额的农业奖励;低压缩级别需要最少的计算和电力开销,以获得额外有效的农业空间。GPU 收获效率很高,大多数大型农场的总体功耗仅仅会增加几个百分点。Chia 2.0 版本支持压缩级别 C1 到 C7。包含新绘图大小的表格在这个网站保持最新状态:https://docs.chia.net/k-sizes。我们有很多指导文件可以帮助农民开始使用压缩地块。前往Chia 文档网站:https://docs.chia.net/,加入Chia 官方Discord的#farming-and-plotting频道 #bladebit-beta频道以获得帮助!

耕种策略

为将于 2024 年 6 月进行的绘图过滤器减少做好准备。如CHIP-0012中详述,这将使每个标牌点需要解压的绘图数量增加一倍!(CHIP-0012:https://github.com/Chia-Network/chips/pull/53)。

农民必须确保硬分叉激活时他们的硬件不会过载。然而,大多数收割机可能不会受到影响,因为他们的农场并未达到最大产能。压缩绘图是并且永远是可选的。

Chia 拥有一些工具可以帮助农民调整地块规模并为其系统选择最佳压缩比。要确定如何最好地使用压缩图以及什么压缩级别适合您的设置,请查看上面官方地块压缩详解的博客文章。Bladebit 包含一个“模拟(Simulation)”命令,向农民显示使用其 CPU 或 GPU 硬件在给定压缩级别上可以耕种多少空间。社区成员还整理了一些优秀的绘图和农业指南以及硬件最佳实践。

收割机对压缩地块的支持

Chia 2.0.0 客户端在 GUI 中进行压缩绘图,或在具有新配置文件更新的 CLI 上支持 C1-C7 级别的压缩绘图。使用 CPU 进行耕作将需要大约 500MB 的额外内存,默认设置为使用一半的用户 CPU 线程。如果您使用的是 GUI,请转到设置(setting)页面中的新收割机选项卡以启用压缩绘图支持。

【官方】​Chia客户端2.0.0版本发布

农业用户界面(UI)改进

新的农场标签就在这里!在仪表板顶部,您现在将看到农场的健康状况。同步状态(Sync status)可让您快速查看区块链,通过过滤器的图(plots passing the filter)将告诉您收割机是否发生问题,缺少标牌点(missing signage)可能表明网络问题。池运行状况(Pooling health)现在可以向农民报告与矿池报告同样的信息,例如池点的有效、陈旧、无效或缺失部分。

新的收割机(Harvest)菜单现在查看原始总容量和有效容量,显示您从绘图压缩中获得了多少额外空间。新的收割机延迟日志和更新的收割机协议可以提供压缩图的信息和延迟日志。压缩绘图会增加 CPU 或 GPU 解压缩绘图的延迟。拥有的绘图越多,需要的计算和延迟就越多。新图表将帮助农民快速识别从磁盘延迟到不同压缩设置的问题。

CHIP-0011:添加CLVM BLS

CHIP-0011添加了新的 CLVM 运算符以增强链上 BLS 功能以及新功能,例如计算余数、从其组成部分计算代币 ID、验证 secp 签名以及未来使用零知识 (ZK) 证明。下面,我们概述了每个新增内容的具体细节。

【CHIP-011链接】:https://github.com/Chia-Network/chips/pull/46

作为我们网络优化的一部分,值得注意的是 CHIP-0011 建立了软分叉。

CLVM 运算符添加是向前兼容的,这意味着 CHIP 实现之后的任何成功调用都要提前成功部署。此外,新的 CLVM 运算符不向后兼容,因为 CHIP 之前的一些成功调用之后将不可延续。

添加新的 BLS 运营商

有时,我们会通过软分叉缩小区块链允许的范围。一个这样的例子是我们引入了一套全面的 BLS 运算符来补充 point_add 功能。CHIP-0011 包含了一组新的运算符,以充分利用 BLS 签名的全部功能。新的算子实现了更复杂的 CLVM 性能,包括签名验证和零知识 (ZK) 证明的使用。

值得注意的是,额外的算子协议更新将使这些被软分叉到 CLVM 的新算子能够在没有软分叉算子的情况下被访问。开发人员可以使用 CHIP-0012 中概述的硬分叉后的所有运算符,包括上面提到的 BLS 代码,而无需额外的“软分叉”调用。

硬币 ID 计算的新条件

以前,CLVM 缺乏在验证其组件时计算硬币 ID 的能力。在此版本中,我们仅使用硬币的一个或两个组件(即父 ID、谜题哈希、金额)即可启用硬币 ID 签名验证的新条件。为此,我们创造了以下六个条件:

  • AGG_SIG_PARENT
  • AGG_SIG_PUZZLE
  • AGG_SIG_AMOUNT
  • AGG_SIG_PUZZLE_AMOUNT
  • AGG_SIG_PARENT_AMOUNT
  • AGG_SIG_PARENT_PUZZLE
硬分叉激活后,用户可以验证签名,无论他们是否缺少硬币的一个或两个组件。如果提供的任何参数无效,则运算符将失败。当我们考虑状态通道(或区块链第二层解决方案)的实施时,这些条件通过更易于访问的签名验证增强了通道参与者的便利性。

计算余数的运算符

CLVM 的早期版本不允许直接计算除法或指数运算除法的余数。2.0.0 版本提供了两个新的运算符:modpow和%,允许此类计算向前推进。

预先分配的软分叉条件

在 2.0.0 版本中,我们使用预先计算的成本设置新的软分叉条件。这些预先分配的条件允许未来具有非零 CLVM 成本的条件作为软分叉添加到网络中。以前,此功能只能通过硬分叉实现。

验证 secp 签名

为了更好地支持签名设备,例如硬件安全模块 (HSM),我们启用了新的签名类型。将添加运算符来验证 secp256k1 和 secp256r1 签名。这种级别的支持为 Chia 区块链提供了支持 HSM、硬件钱包、Apple Secure Enclave 和 Android 可信执行环境所需的功能

这些新运营商激活了 Chialisp 对现代 iOS 和 Android 设备的支持,作为可在多个设备上用于保管库管理的高度安全的私钥。

过渡到 BLST 库

之前,我们强调了 BLS 库的使用。然而,在我们的硬分叉之后,我们正在过渡到更快的BLST 库。新库在交易验证和提交方面提供了显著的性能提升。

支持高级 CLVM 序列化

2.0.0 版采用了先进的 CLVM 序列化方法,作为对当前格式的修订。全节点将以新的格式进行序列化,区分重复的结构,确保它们只被处理一次,从而节省事务处理的空间和计算能力。作为一项修正案,老的耕种区块仍将被新的耕种区块所接受,但新的耕种区块将不会被老的耕种区块所接受。

此外,新格式不会将计算拼图哈希的成本应用于区块成本。通过减轻大型谜题的成本计算惩罚,这种格式增加了单个区块中的交易量。

一般性用户体验改进

钱包地址簿 (GUI)

除了绘图压缩和 GPU 绘图之外,2.0.0 版本还包含一项令人兴奋的新功能。我们在 GUI 中添加了对本地钱包地址簿的支持。钱包所有者可以保存常用联系人所有相关的 XCH 地址、DID 或域名,从而在发送交易时能高效的访问。用户还将看到已发送的任何交易的联系人姓名,这是识别历史交易的有效方式。您还将拥有自己的联系人卡,其中存储了您自己的地址、DID 或域名。

地址簿作为一个通用地址簿,可以通过同一台计算机上的任何本地钱包密钥进行访问。

对于开发人员和创作者(仅限 RPC 和 CLI)

获取钱包地址 RPC

新的 get_wallet_addresses RPC 允许开发人员从钱包密钥空间中的任何点派生出任何用户密钥的钱包地址。这将使沿着特定密钥的派生路径获取特定钱包地址变得更加容易。

钱包连接

在 2.0.0 版本中,我们对 WalletConnect API 进行了一些改进。我们添加了对召回命令(Clawback)的支持,以便 DApp 可以向任何连接的钱包发起回拨命令。新添加的 get_wallet_addresses 命令也被添加到可以通过 WalletConnect 调用的命令。

一般系统和应用程序支持更新

  • 2.0.0是Chia正式支持 v1 全节点数据库的最后一次更新。建议所有用户升级到 v2 数据库(参见文末拓展阅读),以支持未来的更新。
  • 此版本不再支持 Python 3.7。如果您运行的是 Ubuntu 18.04,您可能需要手动更新 Python 版本。
  • 此版本是支持 macOS 10.14 Mojave、macOS 10.15 Catalina 的最后一次 Chia 更新。未来的更新将仅支持 macOS 11 Big Sur 或更高版本。
  • 此版本不再支持 Windows 8.1。本次更新以及未来的更新将仅支持 Windows 10 或更高版本。
  • 不再支持在 1.6.2 或更早版本的 Chia 客户端上创建的Offer惠文件。

【HemaDAO拓展阅读】:

原文链接:https://help.chia.net/hc/en-us/articles/8373126278423-What-is-the-new-database-As-of-1-3-

新数据库是什么(从 1.3 开始)?

更新

从 1.3 开始,Chia 使用其区块链数据库的版本 2。新数据库仍然是用 SQLite 编写的,但它经历了一系列优化,例如以二进制格式存储哈希值,而不是人类可读的十六进制格式。它还比版本 1 进行了更多压缩。这两个因素相结合,导致数据库大小减少了大约 45%,并且性能略有提高。如果您在 Chia 1.3 或更高版本中安装全新的全节点,则运行时将创建版本 2 的数据库chia init。如果您想坚持使用版本 1,只需运行chia init --v1-db即可。

如果您在升级到 Chia 1.3 之前已经运行完整节点,则升级不会自动发生。执行升级的命令是chia db upgrade。我们的CLI 参考中对此进行了详细记录。

您无需停止 Chia 即可执行升级。这是因为执行升级的程序只需要从原始数据库文件中读取,而升级后的文件将与它一起写入同一文件夹中。确保包含数据库文件的磁盘上有足够的可用空间来写入新文件。

当前的大小要求(2022 年第二季度)约为 55 GB。请注意,数据库总是在增长,因此当您阅读本文时,v2 数据库的大小要求将会增加 – 相应地进行计划。

升级可能需要几个小时,因此您可以在闲暇时随意执行。升级完成后,运行chia start farmer -r以重新启动农夫并切换到新数据库。

请注意,新数据库将具有与您启动升级时版本 1 相同的峰值。您的节点仍然需要运行简短的同步来获取在执行升级时添加的剩余块。

由于从数据库版本 1 升级到版本 2 非常耗时,因此大多数用户可能只会在其一个系统上执行此操作,然后将新的数据库文件复制到其他系统。如果您选择此选项,请确保在运行之前chia start farmer -r复制文件,或者如果 Chia 已经在使用新数据库,则完全停止 Chia。一旦数据库从 v1 交换到 v2,您还需要进行更新config.yaml以反映新的 v2 数据库更改。在该full_node:部分下设置database_path: db/blockchain_v1_CHALLENGE.sqlitedatabase_path: db/blockchain_v2_CHALLENGE.sqlite

警告:如果您在 Chia 当前使用数据库文件时将其复制到另一台计算机,您将面临损坏该文件的风险,这将需要从创世进行完全同步。

如果您有兴趣了解新数据库的更多技术细节,请参阅引入更改的第一个 Github Pull 请求:
https://github.com/Chia-Network/chia-blockchain/pull/9442

还有两个后续 Pull 请求,其中包含额外的改进以及一些基准。
https://github.com/Chia-Network/chia-blockchain/pull/9454
https://github.com/Chia-Network/chia-blockchain/pull/9455

最后,这是添加升级功能的 Pull Request:
https://github.com/Chia-Network/chia-blockchain/pull/9613

原创文章,作者:admin,如若转载,请注明出处:https://news.chiahub.co/202308240305181266.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息