Skip to main content

4.6 网络神经系统

NNS 是一个代币化的开放治理系统,负责管理互联网计算机。例如,NNS 存储有关哪些节点属于哪个子网以及每个副本运行的代码的信息。NNS 还就如何更新此信息和发展 IC 做出决定。

NNS 由一组容器实现。

NNS 容器

  1. 账本容器:账本容器存储各本金的ICP实用代币余额和ICP交易历史。
  2. 治理容器:治理容器接收并存储提案,这些提案是关于如何更改互联网计算机的建议。然后可以对这些提案进行投票。治理容器还跟踪神经元,神经元决定谁可以参与治理。
  3. 注册表容器:注册表容器存储了整个互联网计算机的配置,例如,哪些节点属于某个子网,每个节点应该运行的软件。
  4. Cycles 铸币容器:这个容器子负责铸币周期,为计算、通信和存储的容器子提供燃料。当新创建一个新的容器或在现有容器中添加额外的周期时,可以创建新的周期。
  5. 根容器:根容器是所有其他 NNS 容器的控制器,负责升级它们。
  6. 生命线容器:生命线容器是根容器的控制器,负责升级它。
  7. 存档容器:一旦有太多交易无法保存在单个容器中,这些容器就会存储分类帐交易的历史记录。
  8. 创世令牌容器:这是用于初始化创世期间已经存在的神经元的容器。

互联网计算机用户最常与之交互的容器是前两个容器:用于进行交易的分类账容器,以及用于质押代币以及提交和投票提案的治理容器。

NNS 中的分类帐容器和 ICP 实用程序代币

ICP 实用代币由账本容器管理,账本容器存储两件事:账户和交易。帐户记录跟踪给定主体拥有多少令牌(即,用户在互联网计算机上进行身份验证的身份)。然后可以将代币从一个帐户发送到另一个帐户,这会记录在分类帐容器的交易中。

在 NNS 中,ICP 实用代币用于三种不同的用途:

  1. ICP 代币有助于参与治理(下文将详细介绍神经元如何与代币连接)。
  2. 参与治理的人和通过操作票据机提供计算能力的人将获得ICP代币奖励。
  3. ICP 代币用于转换为Cycles,Cycles是计算、通信和存储容器的燃料。

治理容器

治理容器负责持有神经元,决定谁可以参与治理。此外,它存储提案,即对互联网计算机的更改的建议,以及与决定是否应该实施这些建议的提案相关的信息。如果提案被采纳,治理容器会自动执行决策。最后,治理容器将奖励分配给那些参与投票并为决策做出贡献的神经元。

神经元

神经元包含锁定的ICP 实用程序令牌。这些质押的代币不具有流动性,不能自由转让给他人。

神经元属性

每个神经元存储许多神经元属性。一些最重要的如下:

  • 有多少 ICP 令牌被锁定在神经元中。这些信息既可以通过引用分类帐容器上存储神经元余额的帐户的神经元访问,也可以通过治理容器上的缓存权益访问。
  • 控制器主体,它标识谁管理神经元的动作。
  • 唯一的神经元 ID
  • 神经元的溶解延迟。直观地说,溶解延迟定义了锁定的 ICP 令牌可以解锁的最早时间。这个时间最多可以增加到8年,但只能等待时间过去才能减少。神经元可以是不溶解的溶解的或溶解的。如果神经元不溶解,则其设置的溶解延迟保持稳定,并且计时器不会停止。然后可以将神经元设置为溶解,这意味着溶解延迟随着时间的推移而减少。最后,如果溶解延迟达到 0,则神经元被溶解,锁定的令牌可以转移出神经元。
  • 年龄,介于 0 到 4 岁之间。神经元的年龄决定了神经元最后一次进入非溶解状态的时间。

一个神经元的溶解延迟决定了一个神经元参与投票的资格。也就是说,只有那些代币被锁定至少六个月的神经元才有资格参与治理。这会激励神经元持有者进行投票,以使他们的代币价值在未来某个日期最大化。假设代币的价值是网络成功的粗略代表,这会激励神经元持有者为互联网计算机的长期利益投票。

一个神经元的投票权取决于一个神经元锁定了多少令牌,以及神经元的溶解延迟和年龄。直觉上,那些更致力于互联网计算机的人,因为他们锁定代币的时间更长或已经质押了很长时间,因此拥有更多的投票权。投票权随着解散延迟和年龄的增加而增加。

最后,每个神经元获得的奖励数量取决于该神经元参与的投票数量以及该神经元的投票权。

如何在神经元中锁定代币[1]

作为用户,有不同的ICP 质押选项可以将 ICP 实用代币质押在神经元中。这种操作的效果是这些 ICP 代币被转移到与新创建的神经元关联的分类帐帐户中。令牌因此被锁定并且不能被神经元持有者自由使用。

例子。 假设用户 B 在分类帐容器上有一个帐户 (A1),他想将一百个令牌锁定在一个神经元中。为此,用户 B 向 NNS 发送一个命令,指定令牌数量和用户 B 的相应主体 ID。

然后在账本上记录一笔交易,该账本指定一些代币从用户的原始账户 (A1) 发送到新账户 (A2),新账户 (A2) 也会创建持有锁定代币的新账户 (A2)。在治理容器中创建了一个新神经元,指定用户 B 是控制该神经元的人,并指定锁定令牌的数量由新分类帐帐户 A2 定义。

从外部看,新账户 (A2) 持有锁定的代币或与原始账户 (A1) 有任何关联是不可见的。然而,这个账户实际上是由神经元控制的,这意味着代币不是流动的,用户 B 不能转移代币或将代币转换为Cycles。

用户将代币锁定在神经元中的主要原因是能够参与投票并获得投票奖励。下文将更详细地描述两者。

提案

提案是对互联网计算机进行更改的建议。从技术上讲,提案描述了一个容器中的方法,如果该提案被接受,则该方法被调用。此外,它还描述了调用该方法 的参数。

互联网计算机支持各种不同的提案主题。以下是 NNS 治理容器中支持的一些主题示例:

  • #SubnetManagement 建议:这考虑了拓扑变化。上面关于是否应将节点添加到子网的示例建议属于此类。
  • #NodeAdmin 建议:这涉及节点机器的管理。建议的示例可以指定应更新子网中的所有节点。
  • #NetworkEconomics 提案:这涉及网络经济学的管理。例如:应该向节点机器提供者支付什么奖励?
    1. 动议提案:这些提案没有直接执行方法,而只是为了记录社区对特定事项的意见。

投票和提案生命周期

提交提案

任何符合条件的神经元都可以提出并提交提案。为了避免被无用的提案淹没,提交提案的用户在提交提案时需要支付 1 ICP 的费用,如果提案被采纳,他们将收到(但如果提案被拒绝,他们将不会收到) .

例子。 让我们考虑一个用户 C,他想建议创建一个新子网,该子网最初由两个节点组成:节点 1 和节点 2。一旦用户 C 控制了一个神经元,他们就可以通过指定他们的神经元 ID、类型他们想提交的提案,以及提案的参数。在我们的示例中,提案指定应该创建一个新子网,并且提案的参数由初始节点节点 1 和节点 2 组成。收到此提案后,治理容器首先检查该用户确实是控制该子网的用户。具有给定 ID 的神经元,并且该神经元有资格投票。如果满足要求,则将提案添加到治理容器中。

在符合条件的神经元提交提案后,该提案被创建并存储在治理容器中。此外,治理容器计算并存储每个提案的附加信息。首先,计算每个神经元的投票权并将其与提案一起存储。所有这些投票权的总和也决定了与给定提案相关 的总投票权。

当创建一个新提案时,与该提案相关的“是”票的数量已经增加了提案人的投票权。这反映了该提案已经得到了提交它的用户的支持。

此外,每个提案都有一个相关的投票周期,它决定了该提案的投票被接受的时间段。

查看 NNS 提案

您可以在互联网计算机仪表板上查看所有 NNS 提案:https ://dashboard.internetcomputer.org/governance

讨论 NNS 提案

选民可以在任何他们喜欢的地方自由讨论提案。开发者论坛上讨论了很多 NNS 提案:https://forum.dfinity.org/c/roadmap/29

对提案进行投票

提案提交并添加到治理容器后,其他控制神经元的用户可以对该提案进行投票。目前,对 NNS 提案进行投票最友好的方式是通过 NNS 前端 dapp:https://nns.ic0.app/ ,对于投票,用户将首先了解他们可以实际投票的治理容器上的公开提案。此信息可用,例如互联网计算机仪表板:https://dashboard.internetcomputer.org/governanceNNS 前端 dapp

如果一个神经元对提案投了赞成票,则治理容器将与提案一起存储的该神经元的投票权添加到与提案相关的“是”票中。同样,如果一个神经元对提案投反对票,则治理容器将神经元的投票权添加到提案的“否”票中。

例子。 假设给定的用户 D 想要拒绝用户 C 刚刚添加的提案。为此,用户 D 将向治理容器发送他们的神经元 ID 和“否”票。治理容器将检查投票是否来自控制神经元的正确用户,并确认神经元有资格投票。如果满足条件,则治理容器会将用户 D 的投票权添加到“否”票中。

神经元跟随和流动民主

用户可能没有时间或知识参与所有投票决定。因此,神经元持有者可以选择将他们的投票委托给他们信任的其他神经元,而不是直接对提案进行投票。这种将投票权委托给其他选民的概念被称为流动民主。

具体来说,对于每个提议主题,一个神经元可以指定一组它想要跟随 的其他神经元(所谓的跟随者)。此外,神经元可以为特定规则未涵盖的“所有其他主题”指定一组关注者。治理容器跟踪追随者和被追随者神经元的这种关系。然后它会根据跟随者的决定自动为跟随者神经元投票。特别是,如果超过 50% 的关注者投票“是”,则为该关注者投“是”票,如果至少 50% 的关注者投票“否”,则为该关注者投“否”票追随者。

例子考虑在所有提案主题上遵循神经元集合 {N2, N3, N4, N5} 的神经元 N1。现在考虑一个提案是由另一个神经元 N6 提交的。假设在第一种情况下,首先 N2 对提案投“否”票,然后 N3 对提案投“否”票。在这种情况下,治理容器还将向 N1 发送“否”票,其中四分之二的关注者投了“否”票(这也意味着不再可能获得超过 50% 的“是”票)。假设第二种情况,N2 对提案投“是”,然后 N3 对提案投“是”。在这种情况下,还没有为 N1 发送投票。但是,如果 N4 和 N5 中的任何一个也发送“是”票,那么 N1 也会投“是”票。

这种流动的民主有很大的优势。首先,它允许即使对某个主题没有足够知识的神经元也可以通过选择他们信任的神经元做出某些决定并将投票权委托给它们来参与治理。特别是,一个神经元可以为不同的主题选择一组不同的关注者。此外,这种机制允许神经元持有者即使没有时间积极参与所有投票决策,也可以从投票参与中获得投票奖励。

提案决定和静待

可以通过两种方式 决定提案:

  1. 投票期结束前的绝对多数:在任何时候,甚至在投票期结束之前,如果绝对多数(超过提案中存储的总投票权的一半)投票赞成,则该提案被通过,如果绝对多数多数票否决,则该提案被否决。
  2. 投票期结束时的简单多数:当投票期结束时,如果简单多数(超过一半的投票数)投了赞成票,并且这些赞成票的数量至少占总投票权的 3%,则该提案获得通过。否则,该提议被拒绝。

对此还有影响的是治理投票算法也适用wait-for-quiet。等待安静的想法是在所有选民都同意时快速决定提案,但增加神经元对有争议的提案进行投票的时间。这意味着投票周期可以根据神经元的投票动态增加。特别是,每当提案的结果发生变化时(要么是多数票变成反对票,反之亦然),提案的截止日期就会增加。目前,提案的初始投票期为 4 天,最多可再增加 4 天。也就是说,上述规则所考虑的投票期可以在 4 到 8 天之间,具体取决于投票活动。

提案执行

回想一下,提案定义了一个方法、一个容器和一些参数。一旦提案被采纳,就会使用给定的参数调用指定容器上定义的方法。这是由治理容器全自动完成的。

投票奖励

参与决策是选民锁定其神经元的一种动力,但他们也因参与网络治理 而获得奖励。

具体来说,治理容器每天都在考虑可以解决哪个提案。然后考虑每个神经元参与的提案数量和投票权。根据这一点,神经元得到奖励。具体来说,奖励被添加到称为成熟度的神经元属性中。成熟度代表尚未铸造的 ICP 实用代币。

然后,神经元持有者可以通过两种方式从成熟度中获利:

  1. 产生成熟度:神经元持有者可以选择产生一个新的神经元以获得值得投票奖励的流动 ICP 实用代币。产生一个新神经元的效果是,一个新的神经元将在分类帐上创建一个新的关联帐户,其中包含与原始神经元的成熟度相当的质押 ICP 实用代币数量。事实上,新的代币被铸造并转移到新账户中,新账户也记录在账本容器中。新神经元有 7 天的小溶解延迟。这意味着用户只需要等待很短的时间就可以解锁代币并自由使用它们,无论原始神经元有什么溶解延迟。
  2. 合并成熟度:神经元持有者可以选择合并成熟度,将投票奖励再投资于现有神经元。该神经元操作将相当于成熟度的 ICP 实用代币添加到神经元的质押中,并相应地调整神经元的年龄。实际上,这意味着成熟度被重新投资于神经元,并有助于神经元的投票权。

Cycles铸币容器和Cycles[2]

除了治理参与和投票奖励外,代币还可以转换为Cycles,为互联网计算机上的计算和存储提供燃料。互联网计算机上的每个容器,除了 NNS 上的容器,都使用Cycles进行计算,并在其中存储了一些Cycles。虽然代币价格可能会随时间变化,但周期的目标是保持计算价格随时间大致一致。

负责将 ICP 实用代币转换为Cycles的容器是Cycles 铸币容器。要转换用于创建或充值容器的周期,用户需要将 ICP 实用代币发送到 Cycles 铸币容器。然后这个容器子会烧掉代币并铸造周期。

Cycles 铸币容器 仅有助于将 ICP 实用代币转换为Cycles,反之则不行。随着时间的推移,当他们使用计算和存储时,Cycles会在容器中被烧毁。

例子。 考虑用户 E,他在 Internet 计算机上运行了一个容器,并希望充值这个容器的周期,以便它可以执行更多的计算。还假设这个容器当前有 700 万亿次Cycles,并且用户 E 想将这个数字增加 200 万亿次。为此,用户将向 NNS 发送一个命令,该命令指定为他们的容器充值的操作。收到此命令后,会从用户帐户向 Cycles 铸币容器 进行交易。作为该交易的结果,Cycles 铸币容器 将烧掉代币,铸造新的Cycles,并将这些新铸造的Cycles发送到用户的容器中,这意味着容器余额现在是 900 万亿个Cycles。

也可以看看

参考

  1. https://medium.com/dfinity/the-network-nervous-system-governing-the-internet-computer-1d176605d66a
  2. https://medium.com/dfinity/the-network-nervous-system-governing-the-internet-computer-1d176605d66a