解释IOTA中的Mana

我们经常收到有关IOTA 2.0的主题之一是Mana。这是一个重要的主题,因此我们很乐意向您解释更多有关Mana的理论方面,并提供一些有关其实施的见解。

我们的目标不是从技术和数学的角度介绍规范,而是帮助IOTA用户在理论和实践水平上理解这一重要的Coordicide部分。当然,当我们发布完整的IOTA 2.0规范时,将提供所有详细信息。

这篇文章涵盖:

  • 每个DLT具有Sybil保护和拥塞控制的基本要求。我们解释了Mana如何满足这些理论要求。思考Mana的一种简单方法是,它被用来衡量不同模块的影响力,包括FPC投票、dRNG、 自动对等和拥塞控制
  • 演示了我们在IOTA 2.0中实施Mana的高级视图
  • 关于用户将如何与实时网络中的Mana“互动”的评论和想法
  • 来自社区的一些常见问题

什么是mana?

每个DLT都需要几个不同的组件,但在本讨论的上下文中,我们将重点介绍对两个特定功能的要求:一种Sybil的保护形式,以及一种控制网络拥塞的方法。

Sybil保护可以防止攻击者通过创建多个身份来对网络造成不适当的影响。拥塞控制决定了谁在拥塞时有能力写入分类帐。任何DLT必须包含满足这些基本要求的组件。

最好将Mana视为在网络中的各种角色中使用的工具。它与IOTA令牌相关,但仍与IOTA令牌分开。在处理有价交易时,名为“mana”的数量将“质押”到指定的节点ID。此数量与移入交易的IOTA金额有关。承诺给每个节点ID的mana存储为分类帐的扩展。

获得mana的唯一方法是说服某些代币持有者向你质押。从这个意义上讲,mana是代币所有权的委托证明。因此,mana会提供足够的Sybil保护,因为很难以任意数量获得它。

另外,mana在拥塞控制算法中充当Sybil控制机制。因此,尽管诸如网络使用率之类的各种因素会影响节点的消息配额,但节点所持有的mana决定了它相对于总网络吞吐量而言可以发出多少条消息。

质押过程执行两次,一次用于处理达成共识的模块,另一次用于拥塞控制。这样做是为了确保网络中的最大自由度和安全性。

因为安全和访问的动机可能不一致,所以这种分离确保用户将始终能够以最佳方式保护网络,同时保留根据其经济利益分配访问权限的自由。这样,令牌持有者就可以委托他们的访问权,而无需在共识过程中赋予委托人任何其他“权重”。

正如我们稍后讨论的那样,令牌持有者可以租赁其访问mana,但是没有理由为共识mana进行此操作。具体来说,这意味着我们为mana分配了两个单独的值,我们将其称为共识mana和访问mana。

mana实施

在本节中,我们列出了实现mana的几个重要方面。我们讨论了mana计算,如何将mana分配给节点ID以及mana在IOTA 2.0各个组件中的作用。

除了IOTA的两种用法(Sybil保护和拥塞控制)之外,我们的IOTA 2.0实现还引入了两种计算mana的方法。

一种计算mana(通常称为“mana1”)的方法是,所质押的mana仅等于交易中移动的代币数量。可以计算出第二种mana(“mana2”)是mana1的增加,它不仅包括委托的所有权证明,还包括节点活动的证明。从某种意义上说,mana2不受其他令牌转移的影响,其随时间的变化是可预测的。这种可预测性对于希望在“访问mana市场”中进行交互的用户(请参阅下文中的更多内容)可能非常重要,他们希望确保对其购买或租赁的访问进行控制。

通过在GoShimmer中实现这两个选项,我们的团队仍在研究这两个选项中哪一个更好。这两个选项都有效, 但最终选择将通过在GoShimmer中同时对两个解决方案进行可靠的测试来做出。

我们也重视从合作伙伴和独立研究人员那里收到的反馈。在这个阶段,在没有看到“实际行动”的情况下,不要急于承诺一种选择。他说:“我们认为这个选择就是从两个好的选择中选出更好的选择。一旦选择好,协议将按照以下方式进行。

给定节点的共识和访问mana的权重相对于总的“活动的mana”,即网络中活跃的节点所持有的mana。 例如,如果节点的访问权限占总访问量的5%,而活动访问权限中只有50%处于活动状态,则节点将能够将协议允许的总数据的10%添加到Tangle中。

同样,投票权与积极的共识mana成正比。节点持有的共识mana越多,它收到的FPC查询就越多,即它拥有的投票权就越大。同样在dRNG中,随机数由活跃的最高mana持有者发出。尽管访问mana保证了对网络的最小访问,但总的活动mana确定了实际授予的访问权限。

协议中需要Sybil保护的每个模块都使用Mana:

  • 拥塞控制:可以添加到tangle中的数据量与其mana成正比。如果将数据以最大1000 KB / s的速率添加到tangle中(请注意:此处我们仅出于讨论目的使用整数),则具有5%mana节点可以添加50 KB / s的数据。具体来说,mana为0的节点无法发出任何交易。
  • FPC:节点被查询的概率与它持有的mana成正比。
  • dRNG:最高mana持有者设定DRNG。
  • 自动对等:具有相似mana对等点的节点,从而更好地保护高mana节点免受eclipse攻击。

与mana互动

现在,将所有这些联系在一起,我们来到了一个非常重要的主题,即IOTA用户将如何与mana“交互”。

对于大多数用户而言,mana将是使用IOTA的无缝部分。在准备签署交易时,用户的钱包会选择一个节点ID来保证mana。通常,钱包将选择广播节点的节点ID。在IOTA基金会创建的钱包软件中,节点ID选择实际上是自动的。 请注意,某些用例可能不经常将mana分配给除广播节点以外的其他节点ID,例如,将mana质押给新节点时。

如上所述,mana被质押给一个节点ID。从技术上讲,节点操作员可以通过三种方式获得mana:

  • 持有令牌:节点运营商可以购买令牌并将这些令牌所产生的mana质押给自己的节点。
  • 向代币持有者租用mana。租金可以用IOTA或现金支付。
  • 处理价值流量:节点可以处理付款,以换取这些付款中所承诺的mana。

在网络拥塞时,Mana在拥塞控制模块中的作用变得更加重要。在这样的时间段内,访问mana的活动数量将增加,因此节点需要的访问mana要比非拥塞时间要多,以确保一定的吞吐量。有足够的mana需求后,很自然地会出现一个mana租赁市场,代币持有者可以从其mana租赁中获利。可以使用智能合约使此过程成为用户体验的无缝部分。鉴于IOTA 2.0的网络吞吐量相对较高,我们预计一段时间内不会出现非垃圾邮件拥塞的情况,这意味着随着采用率的提高,我们有大量的准备工作来部署分片解决方案。

经常问的问题

什么时候会在 Pollen(花粉)测试网实施mana?

在发布此博客文章时正在实施它。

多少mana足以发送交易?

这个问题的答案在很大程度上取决于网络状况。由于当节点在处理事务流量时带宽是有限的,因此必须有一种机制来确定消息的优先级。 访问“tangle”所需的mana取决于您要发送的交易数量以及网络的拥塞程度。

分片如何影响mana?

我们仍处于定义分片解决方案如何工作的早期阶段,但是它肯定会具有某种“分片”mana。有几种可能的方法。例如,每个地址将属于一个分片,并且当从该地址花费资金时,也可以使用相同的分片来标记质押的mana。

mana是一种权益证明吗?

mana和委托权益证明之间有一些相似之处。但是,术语PoS和DPoS表示一种系统,在该系统中,验证者被选举来创建区块,获得奖励和费用,如果验证者行为不当,可能会失去他们的股份。 在我们新颖的基于DAG的方法中,我们没有块,奖励或费用,因此,mana与PoS和DPoS之间的比较是有限的。

IOTA 2.0中的工作量证明有作用吗?mana是否完全利用了工作量证明?

对于诚实的用户来说,无论出于什么意图和目的,基本上都不会有任何工作证明。该协议将实现一种称为自适应工作证明的功能,以防止垃圾邮件。创建事务的诚实节点将必须做非常少量的工作证明(比现在小得多)才能创建消息。然而,试图向网络发送垃圾邮件的恶意节点将很快受到巨大的工作证明要求的惩罚,这将在物理上限制其创建消息的能力。此机制不会惩罚诚实节点。

mana不会使用任何形式的工作量证明。

对mana引起问题的看法不同?攻击者会放大这些差异吗?

这是关于mana实施的一个非常重要的问题,但具有非常技术性的答案。假设一笔交易转移了大笔资金,则从节点A除去了mana并将其质押给节点B。当交易通过网络传播时,一些首先接收该交易的节点会暂时看到节点B具有很多mana,而其他节点会看到A有很多mana。而且,具有大量mana的攻击者可以发送一系列交易,从而在各个节点ID之间移动许多mana。

为了减轻这种攻击,该协议将使用指数移动平均值计算mana。这意味着该协议将使用两种不同的量:基本mana和有效mana。基本mana是分类帐状态的扩展。将直接从添加到分类账状态的交易中计算得出。同时,有效mana将是每个模块使用的mana,并将使用以下递归公式定期更新:

新的有效mana=α(基础mana)+(1-α)(旧的有效mana)

其中α在0到1之间。对于指数移动平均值,有效mana会减慢基本mana变化的影响。因此,上述攻击中基本mana的大变化只会缓慢地记录下来,而不会在交易中有机会在整个网络中传播之前记录下来。参数α控制这些变化的速度。

该协议的每个模块都可以容忍mana感知方面的某些差异。我们将在GoShimmer网络中精确研究这些差异有多大,从而确定适当的参数α。

作为一个新节点,我如何获得mana来访问系统?我需要买吗?开始发送消息需要多长时间?

如上所述,mana将成为用户体验的无缝组成部分。节点操作员开始使用的最简单方法是购买自己的令牌,创建一个向自己承诺这些令牌的交易,然后找到其他节点来发行此交易。基金会还可以创建一个“mana市场”,用户可以在其中来请求其节点的mana质押。

一旦为节点ID设置了mana,则该节点必须等待几分钟以等待指数移动平均值来记录mana的变化,并且该节点将可以自由访问网络。

是否有策略来累积攻击者可能用来攻击网络的mana?

mana始终与节点ID相关联,而节点ID只是一个公共密钥,某些签名消息会触发mana计算。因此,单个物理节点可以使用数千个节点ID轻松进行操作。但是,分裂和合并都不会被激励,因为mana的收益通常与保证的金额成正比。特别是,如果没有mana,节点将无法访问网络。可以将Mana保证为任何节点ID,甚至是对应于脱机或不存在的计算机的ID。因此,我们说主动mana是由主动节点持有的mana。

攻击者可能会出于恶毒目的而尝试积累mana,但是mana的稀缺性将使这一点变得困难。而且,由于没有恶毒共识mana市场,拜占庭的参与者只能通过购买令牌来攻击共识层,与像基金会这样的诚实参与者相比,他们需要更多的令牌。

这个mana系统安全吗?是什么导致攻击者无法建立大量的共识mana,出售所有代币然后攻击系统?

是的,mana系统是安全的。严格来说,共识mana可以随意分配。但是,很明显,对于任何持有iota代币的人来说,根本没有动机来“交易”共识mana。只有攻击者才有兴趣积累过多的共识mana,因此这就是IOTA分离共识mana和访问mana如此重要的原因。它允许进行访问权交易,同时可以保护共识。不管缺乏激励达成共识mana的动机,攻击者仍可以尝试购买令牌,以累积共识maan,然后将其用于攻击网络。但是,由于购买会推高价格,因此这种攻击的成本将高得惊人,并且执行攻击需要大量令牌。

为什么基金会没有在mana1和mana2之间做出选择?

我们相信这两种mana计算都能达到预期目的。这不是在好与坏之间进行选择,而是在好与更好之间进行选择。我们希望看到它们都在Pollen中实现,以便我们可以明智地决定哪一个性能最好,或者实际上两者之间是否存在实际差异。

mana是声望系统吗?

mana本身可以被认为是一个非常基本的声誉系统,尽管我们认为它是声誉得分中的一个组成部分。一个良好的信誉系统将考虑节点的行为,如果该节点行为不当,则信誉将降至零。我们目前正在资助涵盖该主题的赠款


原文:点击进入

如果你喜欢这篇文章或者我之前发表的文章,我很高兴能得到一点捐助;-):

IOTA:OZFXAVABNPAPFGJ9RVZQGGJZDXHZJA9REUTQSCQIKCGUILGLTAVDUC9KYDZKHOEXC9DYJTXYXLQ9EBJUYWWABVEJGC

专栏作者:IOTA-方可

个人简介:我共发表了 150 篇文章,总计被阅读了214,671 次,共获得了 1,680 个赞。

作者邮箱 作者主页 Ta的文章

发表评论

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