查看原文
其他

【知识】Chia的Timelords有啥用?

河马/HemaDAO HemaDAO 2023-10-27

【编者按:Chia平台安全主管今天宣布:“ASIC 时间领主的斜坡持续时间比预期要好。我们正在将目标调整为从现在起三周后全速完成。大约是 11 月 9 日。正式发布时间提前并低于预算。ASIC 时间领主是现有Chia 网络时间领主的安全更新。它们为网络提供了抵御潜在恶意快速时间领主的弹性。最终,一旦我们将其余部分分发给社区,我们将在全球范围内实现关键共识的去中心化。“

那么,什么是时间领主呢?它在Chia区块链中的作用和意义是什么?】

Timelords 时间领主

Patrick Maslana  Apr 12, 2022

【时间领主的类型】

时间领主有两种主要类型:常规和蓝盒。

第一个是核心时间领主,它接收空间证明并使用单个最快的核心以尽可能快的速度在未知顺序的类组中执行重复平方。除了每个正在运行的 VDF(在应用程序和源代码中称为 vdf_client)之外,还有一组证明生成线程,用于累积时间计算的迭代次数已正确完成的证明。

第二个是蓝盒(Bluebox)时间领主。蓝盒可以是几乎任何机器,尤其是旧服务器或游戏机之类的机器,它们会在历史链中搜寻未压缩的时间证明。为了使链快速移动,常规时间领主使用更快的方法来生成时间证明,但证明的容量更大,这需要您的 Raspberry Pi 花费更多的时间和精力来验证和同步区块链。 蓝盒时间领主会提取未压缩的时间证明并重新创建它,但这一次最后生成的证明速度更慢且更紧凑。然后,这些内容会被广播给每个人,这样他们就可以用紧凑且更快地验证方式,来取代庞大而缓慢的验证时间证明的方式,验证同一个版本的内容。

【最快的时间领主】

目前已知已知最快的时间领主有三个。已知最快的速度是在 2020 年 9 月左右在测试网区块链上出现的,当时它以每秒约 360,000 次迭代(或 ips)的速度生成 VDF 迭代。几周后它就消失了。我们推测这是一位英特尔云客户在使用预发布的 Rocket Lake CPU,该 CPU 有两个 AVX-512 IFMA 支持通道。Timelord 源代码具有 IFMA 的实现,但默认情况下并未启用,因为极少数具有 IFMA 通道的 CPU 无法从中获得太多速度 - 主要是因为它们主要出现在节能笔记本电脑中。第二个“已知”的快速时间领主是一个学术研究项目。估计修改后运行我们的1024位宽版本可能会在400k-500k ips范围内。创始人在他们的原型中使用了台积电 28 纳米 CMOS 技术。在 Rocket Lake 全面上市之前(即 3 月初撰写本文时),最快的 Timelord 是水冷式 Intel Core i9-10900K,未超频运行,内存为 16 GiB。迟早我们会对它进行超频...它保持在 200k-210k ips 左右。

【运行时间领主】

首先,网络中只需要一个正在运行的时间领主来保持区块链移动(活跃度)。时间领主的比赛方式就像是在一系列 100 米短跑。每个人都从最后一个好的空间证明开始,并尝试达到完成给定空间证明所需的迭代总数。更好的空间证明需要更少的迭代来证明。当最快的时间领主宣布空间证明的时间证明时,所有其他时间领主都会停止比赛,并神奇地传送到下一个 100 米冲刺的起跑线,重新开始。

能有多个时间领主是件好事。理论上可能存在诸如路由震荡(routing flaps)或过度热心的反铲(overzealous backhoe)之类的问题,导致互联网的大片区域离线。如果最快的时间领主正要赢得当前的冲刺,而其互联网因施工事故而突然中断,那么第二快的将赢得该冲刺和后续的冲刺 - 直到最快的时间领主返回。时间证明的关键之一是,给定相同的空间证明,它们的输出和证明总是相同的(尽管证明可能更大或更小,更难或更容易验证 - 但它们最终都会得到相同的结果)。

Chia公司计划在世界各地运行一些时间领主 - 以及一些备份 - 只是为了确保所有农民和节点都能听到时间领主正在召唤的节拍。

【安装时间领主】

常规时间领主

由于 MSVC 如何处理 128 位数字以及 Python 如何依赖 MSVC 的限制,目前还无法在 Windows 上构建和运行所有类型的时间领主。我们计划使用 GCC 和一些工具在 Windows 上启用 vdf_client,以便与 Windows 安装的 chia-blockchain 兼容。然而,要让它正常工作有点复杂。在 MacOS x86_64 和所有 Linux 发行版上,构建时间领主就像在 git clone 风格的 chia-blockchain 安装的 venv 中运行 sh install-timelord.sh 一样简单。一旦您构建了时间领主,请尝试 ./vdf_bench square_asm 400000 ,让您了解最佳和已卸载的 ip。vdf_bench 的每次运行都可能存在令人惊讶的变化,并且在生产中,由于创建证明的负载,您获得的实际 ip 通常会降低约 20%。时间领主的默认配置足以让您启动它。将日志级别设置为 INFO,然后 grep 查找“估计 IPS:”,以了解您的时间领主所实现的实际 ips。我们将很快修改时间领主构建过程以支持 MacOS ARM64 - 与 Windows 相比这是小菜一碟......

蓝盒时间领主

目前,蓝盒时间领主基本上还仅限于 Windows 以外的任何平台。我们计划移植到 Windows,但蓝盒时间领主也可以在 Windows 上使用。在 venv 中使用 sh install-timelord.sh 构建蓝盒时间领主后,您将需要对 ~/.chia/VERSION/config.yaml 进行两项更改。在 timelord: 部分中,您需要将 bluebox_mode: 设置为 True 。然后您需要继续到 full_node: 部分,并将 send_uncompact_interval: 设置为大于 0 的值。我们建议您设置 300 秒,以便您的蓝盒时间领主在节点将更多的东西扔到它的区间之前,有一些时间通过大量未压缩的时间证明来证明。默认设置可能会起作用,但如果总工作量对于您使用的任何计算机来说都有点太多,您还可以在 timelord_launcher: 部分中将 process_count: 从 3 降低到 2,甚至 1。如果您在 INFO 级别的日志中看到 VDF 客户端:已发送证据,则说明它正在运行。。

【时间领主的未来】

拥有一个人人都可以廉价购买的开源 ASIC 时间领主是Chia公司的目标。我们原本预计会从通用CPU转向FPGA,然后才是ASIC。事实证明,在 1024 位宽度的未知阶类组中进行平方既是 FPGA 的难题,也是 ASIC 的难题。令人惊喜的是,英特尔的 AVX-512 IFMA 几乎完美地为此应用而创建。因此,我们将在中期促进 ASIC 的努力。我们很高兴在一个正在进行的项目上赔钱,该项目旨在创建和增强开源 PCI 卡,对于任何希望运行世界上最快的时间领主的人来说,该卡的售价为 250 美元。

【时间领主和攻击】

Chia 新共识的一大优点是,它使得拥有更快时间领主的恶意农民几乎不可能自私地进行耕种。由于新共识的运作方式,拥有更快时间领主的农民基本上被迫为他周围所有赢得区块的农民证明时间。拥有“邪恶”更快的 Timelord 可以在尝试对网络进行 51% 攻击时带来好处,因此随着时间的推移,将时间领主的速度推至接近可用硅进程的最大速度仍然很重要。我们希望有时间和资源来正确地做到这一点,并使开源硬件版本广泛可用。

【常用术语】

  • 【VDF】:可验证延迟函数,“时间证明”的另一种说法;
  • 【时间领主启动器】:一个小程序,反复启动“vdf客户端”进程,以执行实际的VDF计算;
  • 【VDF 客户端】:执行 VDF 计算然后关闭的 C++ 进程;
  • 【时间领主】:时间领主与节点通信,并决定将哪些 VDF 任务分配给哪些客户端。vdf 客户端通过 HTTP 连接到 timelord。所以你可以将时间领主放在单独的机器上作为时间领主启动器。


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

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