SPO能否重新安排交易顺序

Can SPOs reorder transactions? | Cardano Explorer (cexplorer.io)

桩池运营商(SPO)在Cardano网络中生产区块。除了他们,没有人可以控制哪些交易进入区块。这是一个很大的责任,但也是一个滥用他们地位的机会。让我们描述一下分布式网络的基本原理,并解释一下重排交易的能力不是网络中的一个错误,而是一个可以利用的功能。

TLDR:
Cardano协议的规则是在源代码中定义的,世界上任何人都可以分叉代码并改变它们。
改变协议规则的能力不是网络的错误,而是开源分布式网络的一个特点。
违反基本规则是不可能的,因为其他节点不会接受它。
100%的遵守需要集中化或闭源。
如果多数人无法执行其要求,那么网络就没有充分的去中心化。
一个去中心化的网络能够保持它的基本属性,不管有多少参与者违反规则。
协议规则如何改变?
在这篇文章的背景下,了解网络规则是如何定义和执行的很重要。

Cardano是一个网络协议。你可以把协议看成是一组允许节点在互联网上相互通信的规则。协议规则可以在规范中找到。这些规则定义了关于区块生产、交易分配、验证和其他许多事情的所有重要规则。协议规则还定义了如何为一个新区块选择交易。IOG团队根据规范创建了一个Cardano节点,它是一个软件。池子经营者在他们的电脑上安装一个Cardano节点,允许他们与其他人沟通。如果他们满足条件,他们就可以开始生产新的区块。

Cardano是一个开源的项目。这意味着源代码可以在GitHub上免费获得。世界上任何人都可以分叉源代码并改变一些规则。即使是资金池运营商也可以这样做。因此,如果SPO愿意,他可以改变关于选择交易进入区块的规则。

关于选择交易进入区块的原始规则是在先到先得的基础上定义的。每个Cardano节点都有自己的内存池,它将来自网络的交易插入其中。当一个节点成为槽头时,它应该根据原来的规则,按照交易到达的顺序从mem-pool中取出交易,并将它们放入一个新的区块。

如果池运营商有任何理由改变这一规则,它可以在自己的Cardano节点源代码版本中这样做。然后他将这个版本安装在自己的机器上。在做出改变后,运营商可以根据自己的规则来选择交易。例如,他可能更喜欢来自某个特定DEX或其他Defi服务的交易。为此,运营商可能会得到链外支付,或者更喜欢来自其自身Defi服务的交易。

去中心化与中心化
需要注意的是,改变协议规则的能力不是网络的错误,而是开源分布式网络的一个特点。一个去中心化的网络是由独立的志愿者组成,他们决定运行一个Cardano池(或节点)。没有人有他们的名单,可以规定如何去做。规则是在源代码中定义的,它可以被看作是团队和运营商之间的沟通工具。

操作员只能部分地修改一些规则。大多数是不能100%执行的规则。这也适用于关于选择交易插入区块的规则。原因很简单。除了池子的操作者,没有人知道他的节点的mem-pool里有哪些交易可用。理论上,这可以通过监控所有节点的网络通信来检测,只是为了向运营商证明,他们在mem-pool中有一个交易,而他们故意忽略了另一个后来的交易。

运营商不能改变有关区块和交易验证或货币政策的重要规则。违反基本规则是不可能的,因为其他节点不会接受它。这就是为什么网络共识的重要性。所有的节点都会监督对方对规则的遵守。如果一个欺诈性的节点在一个区块中插入一个非有效的交易,那么这个新区块将被所有诚实的节点拒绝。

所有其他区块链网络的工作原理也是如此。另外,比特币和以太坊允许区块生产者改变一些协议规则,他们也可以按照自己的意愿选择交易到区块。

确保100%的合规性需要集中化或封闭式的来源。中心化系统的工作方式是只部署一个版本的客户端,所以原则上是不可能改变的。如果源代码是封闭的,运营商将被迫安装一个没有人知道如何真正工作的版本。区块生产商在区块链网络中拥有最大的权力。如果当局想对交易实施审查,他们将不得不要求区块生产商这样做。然后,他们将不得不过滤交易,故意忽略那些不符合当局规定条件的交易。

如果改变协议的规则不符合社区的期望,就会被视为滥用权力。在一个去中心化的网络中,没有权威机构来规定什么是和什么是不可以的。大多数人应该决定。如果社区对区块生产者的行为不满意,它应该采取行动。如果大多数人无法执行其要求,那么网络就没有充分的去中心化。建立一个公共的、无许可的、分布式的、拜占庭式的和容错的系统是所有用户的责任。大多数人必须能够制定规则,而不是少数人。

选择将进入区块的交易的最佳方式是什么?
每个Cardano节点都在本地的mem-pool中维护一个它已经成功验证的交易队列。这些交易要么是它自己带入网络的,要么是作为广播从其同行节点收到的。

一个槽位领导者被期望在其本地队列中选择一个交易子集,并将它们放入一个新造的区块。一个诚实的槽位领导者应该简单地在其队列中挑选适合区块约束的前几个交易。顺序应该被保持。只有SPO知道他们的本地队列。外部各方没有办法知道一个槽位领导者是否选择了第一批交易并保持其顺序。

Cardano在先到先得的基础上工作。其中一个原因是公平性。这是一个类似于在长队中等待的原则。如果有人来站在你前面,你也不会喜欢。一些Defi服务的功能可能对交易的及时处理很敏感。想象一下,你试图更新你的抵押品以避免被追缴保证金,而资金池操作员因为要优先处理其他交易而忽略了你的交易。

不幸的是,即使这个系统也不理想。可能在某些情况下,一些交易有优先权,应该在那些理论上可以等待的交易之前被处理。例如,保证金追缴交易比NFTs分配有更高的优先权。通常情况下,如果网络只有40%的负载,这不是一个问题。如果网络负载长期为90%,就应该有某种优先系统。

比特币和以太坊使用收费市场。区块生产者根据费用的大小来选择交易。这个系统允许用户为更早的交易处理支付更多费用,本质上允许他们优先处理交易。另一方面,违反了公平性和包容性的原则。去中心化不应该只是为富人服务。此外,在以太坊的情况下,收费市场使所谓的MEV问题成为可能。

选择交易进入区块是一个复杂的话题,并受到辩论的影响。区块生产者可能会滥用他们的地位,不尊重预期行为。他们可能出于自己的私利而偏爱某些交易,也可能是被权威机构强迫这样做。在这两种情况下,社区能够对区块生产者强制执行其要求是很重要的。

去中心化有一个很大的优势。网络可以容忍少数故意破坏规则的参与者。如果大多数参与者都遵守规则,网络就能够保持所需的属性,如抗审查。

SPO可以选择忽略所有从其他节点指向它的交易,因为它被DEX的所有者贿赂,只处理它的交易。如果SPO只有0.5%的股份,网络用户甚至不会注意到,因为这个SPO在整个纪元中只会创造,例如100个区块(每天20个区块)。如果SPO有更大的股份,或者DEX所有者贿赂了更多的SPO,这将是一个问题。

对社区来说,有人提请注意这些问题是很重要的。理想情况下,应该有一个监测系统,可以突出经营者的不当行为。然而,有一个问题。监测系统可能会对隐私产生负面影响。也许有可能分析区块,并指出来自特定SPO的区块包含来自特定服务的异常大量交易的情况。我不确定这是否是一个理想的解决方案。

希望输入赞同者将大大有助于解决这个问题,因为基本上,所有出现在网络中的交易都会进入区块。各个运营商对区块内容的影响将更小,因为区块基本上只是对预先创建的子区块的引用。

结论
一个去中心化的网络是由许多参与者组成的,在理想情况下他们应该有平等的地位,但在实践中,情况并非如此。不是每个人都能成为一个池子的经营者。SPO比用户有更强的地位,可以利用这一点。Cardano网络不是由SPO拥有,而是由ADA持有人拥有。每个ADA持有者都有能力影响网络去中心化的质量,并在一定程度上影响池运营商的行为。诚实的行为可以在去中心化的网络中主要通过经济激励来强制实施。每个ADA持有者都应该关注他所委托的币池的诚实行为。