了解全节点在网络共识中的作用

Understanding the full node’s role in network consensus | Cardano Explorer (cexplorer.io)
image
分布式网络中的节点在网络共识中的位置并不相同。 超级节点的节点比普通用户的全节点拥有更强的地位。 在本文中,我们将讨论全节点在区块生产和治理方面的作用。 我们还将考虑通过硬分叉组合器升级网络。

节点与昂贵的资源
我们可以从区块的生产和治理的角度来审视去中心化。 两者都需要节点和昂贵的资源。 首先,有必要理解它们在去中心化背景下的含义。

对于昂贵的资源,我们指的是卡尔达诺的 ADA 币,或者比特币的哈希率。

生产区块只需要区块生产者(池)的节点和昂贵的资源。 这项活动实际上可以在没有其他(不生产区块)全节点的支持的情况下完成。

在下图中,您可以看到完整的节点和池。 昂贵的资源被委托给池,因此它们在网络中拥有更强大的地位。 矿池可以产生区块,而全节点则不能。 ADA 币或算力是否委托给矿池并不重要。

人们可以拥有昂贵的资源,并以某种方式将其委托给区块生产者的节点。 ADA 币可以从轻钱包委托到任何卡尔达诺矿池。 委托包括发送带有证书的交易,该证书将允许 ADA 币包含在所选池的总权益中。 矿池,即区块生产者的节点,通过委托在网络中获得更强大的地位,因为它可以产生更多的区块。 其总权益增加了多少区块。 以完全相同的方式,其他质押者可以将 ADA 币委托给其他矿池。

普通用户可以运行完整节点(Daedalus 钱包)并从中发送委托证书。 然而,委托方法在去中心化的背景下是无关紧要的(前提是权益持有者持有 ADA 币的私钥)。

对于比特币,情况非常相似。 矿工通过 ASIC 硬件将算力委托给选定的矿池。

请注意,质押者和矿工都不需要运行自己的完整节点,并且仍然可以使用其委托的决策权来决定哪个矿池将生成区块。

治理还依赖于对网络升级进行投票、从项目金库分配硬币或其他事情的昂贵资源。 由于女巫攻击的威胁,不可能通过节点进行投票。

Sybil 攻击是一种网络攻击,恶意行为者会创建多个虚假身份或节点,以获得对网络的更多影响或控制。

在下图中,您可以看到 4 个用户运行完整节点,而攻击者 (Sybil) 为自己创建了双倍数量的节点。

image

有必要通过硬币(或哈希率)而不是通过节点投票,因为通过节点投票很容易受到攻击。 如果允许通过节点投票,攻击者可以创建许多假节点(临时分配大量IP地址)并为自己的利益或偏好投票,而无需在网络中投入任何资源或权益。 这将使他们比诚实节点拥有不公平的优势,并损害投票过程的公平性和合法性。

另一方面,通过昂贵的资源进行投票需要参与者证明他们在网络中投入了一些昂贵的资源。 这使得攻击者创建虚假节点或投票变得更加困难和昂贵,并确保只有那些在网络中拥有利益的人才能影响其决策。

通过 ADA 币或算力进行投票可以使参与者的激励与网络的利益保持一致,因为他们可以从维护网络的安全性和稳定性中受益。

请注意,也没有必要运行自己的完整节点来进行投票。 但是,存在一种情况,用户可以通过常规全节点进行投票。

全节点发挥更重要(但不是必需)作用的唯一投票形式是升级到更新或不同版本的客户端。 如果网络上出现两个不兼容的客户端版本,则可能会发生区块链分叉。 区块链(以及网络)的分叉是令人不快的,因为它们降低了网络的安全性和稳定性,导致用户、开发者和社区之间的碎片化,并可能导致新硬币(现金、经典等)的出现。 )。

对于 Cardano 或以太坊等 SC 平台来说,代币(稳定币)、NFT 和应用程序理论上可能会被复制。 我们稍后将回到这个主题并解释为什么这在卡尔达诺网络中不会发生。

重要的是要认识到,即使在这种情况下,昂贵资源的作用也绝对至关重要。 区块链通过昂贵(稀缺)的资源(而不是完整节点)来确保安全和去中心化。 资源的所有者决定哪个网络更安全(理论上也是去中心化的)。估计网络分叉的结果很困难,因为许多细节都发挥着作用。 这取决于那些拥有大部分昂贵资源的人(可以是机构或公司)的决定。 如果项目币有重复,双方可以出售第一个版本并购买第二个版本。

通过节点投票(即使在网络分叉的情况下)还有另一个主要缺点,即法定人数低。 对于大多数网络来说,连 1% 的用户都没有运行全节点。 结合女巫攻击的威胁,通过全节点投票似乎是不可能的。 我们稍后会回来讨论网络升级。

全节点在区块生产中的作用
至于区块生产,常规完整节点(不是区块生产者)仅接受其收到的有效区块。 对于分叉,它应用链选择规则。 对于选择要包含在区块中的交易,或者决定在区块链分叉的情况下哪条链将获胜,完整节点根本不发挥任何作用。

例如,如果交易受到矿池运营商的审查,则与昂贵资源的持有者不同,完整节点的所有者对此无能为力。

让我们用一个实际的例子来展示它。 看下面的图片。

只有区块生产者的节点才能决定所有区块中的交易。 区块 5 之后出现了分叉。全节点对此无能为力,只能被动地接受区块 6 和 7。同样,只有区块生产者的节点(以及昂贵的资源)才能决定哪条链将获胜。 随机选择的区块生产者将添加区块 8。

在分叉的情况下,网络中的所有节点(包括矿池)都遵循关于区块接受和分叉链选择的相同规则。

就卡尔达诺而言,适用最长链规则。 如果两条链的长度相同,则由最后一个块中的 VRF 输出决定。 随机选择的成为时隙领导者的池应该选择具有较低 VRF 输出值的链。

就比特币而言,矿池运营商自行选择链。 除了最长链规则外,没有明确的规则。 一半以上的区块由 2 个矿池开采。 如果发生分叉,矿池可能会决定在自己的(前一个)区块后面添加一个新区块。

矿池在某些情况下有选择权,而被动全节点则没有。 我们用叉子的例子展示了这一点。 就卡尔达诺而言,矿池运营商不必遵守规则,它可以在区块 6 或 7 之后附加新区块,而不管有关较小 VRF 输出的规则如何。 网络的其余部分不知道(也无法证明)池有两个可用的块,即它知道分叉。 正如我们已经说过的,就比特币而言,这是一个自由选择的问题。

全节点仅被动地监视网络并接受每个有效块。 如果发生分叉,他们会等待池来解决它。 如果区块生产因某种原因停止,全节点无法以任何方式帮助网络。 如果池产生空块,则完整节点必须接受它们(空块是有效块)。

如果矿池的行为不符合网络利益,全节点无权惩罚矿池运营者。 区块生产完全由区块生产者和昂贵的资源控制。 只能通过矿池运营商自己不拥有、仅委托给他的昂贵资源来惩罚矿池运营商。

我们将再次讨论分叉,因为它们可能在网络升级期间发生。

在去中心化的背景下,当您验证池的工作时,运行您自己的完整节点是有意义的。 全节点和区块生产者节点必须遵循相同的规则。 如果一个区块生产者试图违反规则,例如尝试将无效交易插入区块,所有其他节点将立即检测到它并且不接受该区块。 这对于其他池来说尤其重要,因为它们也会丢弃无效块。 区块生产者相互监控,全节点可以监控所有区块生产者。

如果常规的全节点运营商发现区块生产存在问题,他们很可能不是网络上唯一的运营商。 所有全节点都会检测到相同的问题。 人们可以公开抱怨有问题的矿池运营商,希望昂贵资源的委托人通过委托给另一个矿池来削弱其地位。

我们不要忘记,卡尔达诺网络中的完整节点主要由质押者操作,因此当矿池运营商行为不当时,他们会立即将 ADA 代币委托给其他地方。 与比特币相比,这是一个优势,因为在比特币网络中,全节点运营商也运行 ASIC 硬件并不常见。

卡尔达诺网络升级
硬分叉是一种协议更改,它引入了与先前版本不兼容的新规则或功能。硬分叉通常要求网络中的所有节点都升级到新版本,否则它们将被留在单独的链上。 硬分叉还带来分裂代币供应和用户群的风险,并在网络参与者中造成混乱和不确定性。

得益于名为硬分叉组合器的独特工具,卡尔达诺网络中的升级变得简单、无忧。

卡尔达诺网络使用硬分叉组合器将多个硬分叉组合成单个更新,而不会导致链和硬币的任何中断或重复。

硬分叉组合器通过使用特殊的账本规则来工作,该规则可以将多个协议组合到一个系统中,并在预定义的时间点在它们之间进行切换。 该工具还保留了区块链的历史和连续性,以及硬币的有效性和唯一性。 它使卡尔达诺能够实现新功能和改进,而不会影响网络的正常运行或创建任何分叉或分裂。

在下图中,您可以看到网络的硬分叉发生在区块 4 之后。新的网络规则从区块 5(绿色链)开始应用。 在这种情况下,硬分叉并不是一个完全准确的名称,因为区块链实际上没有发生分叉。 大多数节点上不会有孤立的区块,只有连续的区块链。

硬分叉组合器事件由卡尔达诺开发人员发起,他们决定何时以及如何实施新的协议版本(客户端),为网络引入新功能或改进。 为了准备硬分叉组合器事件,矿池运营商必须安装支持新协议版本的新版本客户端。 新客户端将在预先定义的时间点自动切换到新协议版本,无需任何人工干预或协调。

矿池运营商可以自由决定是否安装新的协议版本。 这是治理的重要组成部分。 除非发出足够的支持信号,否则无法触发硬分叉组合器事件。

请再次注意昂贵资源(即 ADA 币)在其中所扮演的角色。 质押者可以检查矿池运营商安装了哪个版本的协议。 如果一些矿池运营商决定不支持向新版本协议的过渡并公开宣布,则 ADA 持有者可以通过委托支持这些矿池运营商,或者离开他们并委托其他地方。

如果网络升级,全节点钱包(代达罗斯钱包)当然也要升级。 请注意,当涉及到对变更进行投票时,完整节点再次几乎没有发挥任何作用。 如果用户反对更改并继续使用旧版本的节点(钱包),则他们的节点将无法接受新块。

硬分叉组合器是使卡尔达诺成为一个灵活且适应性强的区块链平台的创新之一,可以随着时间的推移而发展和成长。 此外,它将决策权交给了 ADA 持有者。 如果没有矿池运营商的支持和协调,硬分叉组合器事件就无法初始化。

一旦硬分叉组合器事件的初始化掌握在社区手中,卡尔达诺在治理方面将更加去中心化。 然而,在现阶段,团队无法随意实施更改,因为该协议是由无人控制的独立实体运行的。

比特币网络升级
就比特币而言,它在原理上非常相似,但又有所不同。

要参与硬分叉,节点必须升级到支持新规则的新版本客户端。 新客户端将在预先定义的时间点自动切换到新协议版本,无需任何人工干预或协调。 不升级的节点将保留旧协议版本,并且无法与已升级的节点交互。

下图中,在区块4之后发生了硬分叉。蓝色链由客户端的原始版本维护。 绿链由新(升级)版本的客户端维护。

算力和投票是影响硬分叉结果的两个因素。

哈希率是衡量用于生产新区块的挖矿能力的指标。

投票是通过使用块头中的特定位向网络的其余部分发出对某个协议版本的支持或偏好的过程。 该位由比特币矿池运营商设置。 该位通过矿工提供的算力来表示对某个版本的支持程度。 矿池运营商可以从矿工那里收集数据并相应地设置位。 矿池运营商可以随时更改该位,具体取决于他们的决定或策略。

信号发送发生在硬分叉之前。

算力和投票都可以表明矿工之间对硬分叉的共识和接受程度,矿工负责保护和验证约会网络。

算力和投票对于硬分叉不具有约束力或决定性,因为它们不反映所有网络参与者的意见或利益。 请注意,全节点运营商无法对网络升级发表意见。 他们只能监听矿工的信令并据此决定是否升级自己的节点。

矿工,即算力,是决定硬分叉结果的最重要因素,因为使用更安全的链符合大多数参与者的利益。 当然可以使用不太安全的链条。 然而,最终,硬分叉取决于决定其价值和采用的市场力量和用户选择。

就比特币而言,过去曾出现过多次硬币复制和社区(以及开发者)分裂的情况。 如果社区的一部分希望通过硬分叉做出改变,它就会发生。 其余参与者要么加入新版本的客户端,要么继续使用旧版本。

用户激活的硬分叉(UAHF)是比特币中一种特殊类型的协议更改,它扩展或修改了规则。 UAHF由用户激活,用户使用新规则的软件,不需要大多数算力的支持。 UAHF 可能导致区块链分裂成两个(或更多)彼此不兼容的分支。 具有新规则的节点将遵循自己的链,无论其挖矿支持如何。

UAHF是一种允许不同群体、有不同观点或愿景的比特币用户自愿脱离原链并创建自己版本的加密货币的方式。 然而,全节点的运营商可能无法保证网络将受到矿工的充分保护。

在我看来,UAHF 是一种强制形式,全节点运营商(用户)可以忽略矿工,反之亦然,矿工可以忽略用户。

我不确定 UAHF 是否会成为未来的相关投票形式。 如上所述,很少有人运行自己的全节点,因此少数用户被大多数矿工加入的可能性很小。 交易所运营的全节点可以拥有比用户节点更高的权重。

我敢说,即使是比特币,全节点的作用也微乎其微,升级主要由矿工决定。 使用最安全的版本符合用户的利益,即尊重矿工的决定。 然而,大量代币的持有者以及可能富有的实体(机构、基金等)发挥着重要作用,因为他们购买或出售代币直接影响矿工的奖励。

对于比特币来说,分叉将是令人不快的,它会将社区和哈希率分成大约相等的两部分,因为它也会将比特币 A 和比特币 B 的安全性降低一半(至少在短期内)。 算力,即较长链的规则,决定了哪条链将保留比特币的原始名称。

团队的作用
让我们更多地讨论一下团队的角色。 就去中心化而言,团队对协议的影响相对较小,因为他们提出的客户端版本必须被网络接受。

就卡尔达诺而言,团队的力量略高于比特币的情况,因为团队(3个创始实体)初始化了硬分叉组合器事件。 这有一定的优点和缺点。 优点是卡尔达诺网络不可分裂。 永远只有一个卡尔达诺网络和 45,000,000,000 个 ADA 币。 永远不会有卡尔达诺经典版或卡尔达诺现金版。 另一方面,团队可以控制卡尔达诺是什么以及新版本客户端将包含哪些更新。 没有硬分叉组合器是否可以进行硬分叉? 或许。

就比特币而言,任何人都可以随时进行硬分叉。 区块链分叉和硬币复制是治理的一部分。 问题是说服社区、矿工、开发者以及交易所支持新链。 我认为这不仅对比特币来说是一个巨大的障碍,对卡尔达诺也是如此。 区块链网络的相关性主要在于社区和采用,其次是技术。 如果没有重要的社区支持,考虑硬分叉是没有意义的。

团队构建了新版本的客户端并将其提供给社区(网络)。 昂贵资源的持有者和市场力量决定将使用哪个客户端。 就卡尔达诺而言,社区必须接受升级,否则根本不会发生。 卡尔达诺网络不会发生分叉。 就比特币而言,分叉是治理的一部分。

在下图中,您可以看到为社区提供新版本客户端(绿色)的团队。 大多数矿池运营商已经接受了新版本。 一名操作员仍然使用旧版本(蓝色)。

如果团队保留昂贵的资源,他们就可以控制网络共识。 对于 PoS 项目来说,这可能更容易,因为团队可以保留很大一部分代币。 然而,就卡尔达诺而言,绝大多数硬币都掌握在社区手中,因此不存在这种风险。 我不认为比特币核心团队的成员控制着算力的很大一部分。 然而,数字货币集团和最近的黑石集团等公司正在获得对采矿业的控制权。 通过算力,他们可以控制网络升级,即控制团队。

去中心化实际上是一个非常复杂的事情。 如果可以不需要昂贵的资源(富人可以购买)并且仅依赖于允许用户之间进行点对点通信的节点,那就更容易了。 然而,如果没有网络共识,就不可能确保防止代币双重支出或货币政策的不变性(数字稀缺)等。 网络共识协议至关重要,参与者必须在游戏中拥有自己的利益,因为没有其他形式的保护。

请记住,网络的安全性(以及针对 51% 攻击的防护)主要取决于代币的市场价值。 权力下放取决于昂贵资源的分配。 在网络升级时,将这些功能保持在最佳水平非常重要。

全节点对安全性或去中心化几乎没有影响。 尽管从理论上讲,全节点可以影响投票结果,但它们不能直接为网络提供重要的属性。 他们只能通过展示运行全节点的人的意愿来间接实现这一目标。 从我的角度来看,通过昂贵的资源进行投票要有效得多。

结论
运行完整节点有利于您的隐私和独立于第三方。 您还可以监控区块生产者的工作。 然而,从网络共识和治理的角度来看,最重要的是昂贵的资源。

女巫攻击阻止了根据完整节点的数量及其可能的信号进行投票或对情况发表任何意见的可能性。 最大的区块链的币由数千万到数亿用户持有,而全节点则由数千到万人运营。 这是一个很大的差异,因此就用户意见而言,节点数量的告诉价值非常低。 区块生产基于昂贵的资源,使用相同的原则进行投票和升级是有意义的。

有时我会遇到这样的观点:网络去中心化的质量主要取决于全节点的数量。 我希望很明显事实并非如此。 决定性因素主要是区块生产者的数量和委托人的数量。 其次,需要处理昂贵的资源如何分配以及系统中有多少鲸鱼。