Finality of Cardano transactions | Cardano Explorer (cexplorer.io)
设计网络共识的团队必须仔细平衡每个功能。 从一个角度来看是有利的,从另一个角度来看可能是不利的。 设计一个没有缺点的最佳解决方案是不可能的。 只有勤奋研究和技术进步才能让我们离理想的解决方案更近一步。 卡尔达诺使用中本聪风格的权益证明,这意味着它具有概率交易最终性。 快来看看这意味着什么以及有哪些优点和缺点。
总长DR
对于当前版本的 PoS,IOG 团队更看重活性和安全性,而不是交易速度。 现代 PoS 网络结合了概率性和可证明最终性的优点。 衔尾蛇雷奥斯可以改变这一点。
交易的最终性
您可能知道,用户提交的每笔交易都会通过分布式网络逐渐传播到所有区块生产者节点。 如果要从一个地址转移到另一个地址,则该交易必须包含在区块中,并且该区块必须保留在区块链中。 为了使交易被视为最终交易,该区块也必须是最终交易。
让我们定义一下交易最终性和区块最终性的含义。
交易最终性是指区块链网络中的特定交易被视为不可撤销地确认并且不能逆转或无效的点。 它代表了交易已插入区块的保证,并被视为区块链历史的永久部分。 一旦交易达成最终结果,它通常被认为是已结算且不可更改的。
交易的最终性取决于插入该交易的区块的最终性。
区块最终性涉及区块链内整个区块的确认和持久性。 它表示交易块被认为是不可变的并且不能被修改或丢弃的点。 当一个区块实现最终确定时,该区块中包含的所有交易也被视为最终交易。
网络共识的作用
块的最终性很重要,因为块的内容是不可变的。 网络共识用于确保网络中的节点在添加新块时达成多数共识。 因此,区块链本质上只是一系列连续的区块,其顺序是不可变的。 更准确地说,从某个时间点开始就不可变。
从最终性的角度来看,基于网络共识,一个区块在什么时候可以被认为是不可逆的是至关重要的。 换句话说,我们正在寻找用户可以确定网络中的大多数节点确定给定块将永远保留在区块链中的点。
在区块链的背景下,时间可以分为添加新区块的时期。 就卡尔达诺而言,平均为 20 秒,比特币平均为 10 分钟,以太坊为 12 秒。
为了使区块被视为最终区块,分布式网络中的大多数区块生产者节点必须同意。 他们可以在通过某种形式的投票将新块添加到区块链之前,或者之后通过将新块链接到其前一个块来完成此操作。 使用前一个区块(或多个区块)作为新区块的前身是该区块生产者节点同意的表达。
正如我们在简介中所说,卡尔达诺使用中本风格的权益证明,它基于工作量证明设计。
中本聪共识只能实现所谓的概率终结。 网络能够达成最终共识。 概率最终性意味着,在对网络参与者的一些假设下,如果我们看到给定的前一个块后面添加了一些块,我们可以估计给定的前一个块是最终的概率。 达成最终共识意味着在未来的某个时刻,所有节点将就某组区块的不变性达成一致。 达成最终共识可能需要很长时间。 而且,无法确定需要提前多长时间。
一旦添加了新的区块,任何参与者(无论是区块生产者节点还是用户)都无法确定该区块不会被恢复。 可能会发生所谓的分叉,其中新的块生产者节点不会链接到区块链中的最后一个块,而是链接到该块的前一个块。 这意味着一个块后面有两个后继块。 只有一位继任者可以留在区块链上。 另一笔将是孤立的,包括所有交易。 区块链中保留的后继者将由以下区块生产者节点决定,他们将选择其中一种变体。 较长的链规则将决定区块链的获胜版本。
要理解这个概念,总是在添加新块后,块仍然有很小的机会被恢复,因此其中的所有交易都会失效。
概率最终性的替代方案是e 最终性。 旨在具有可证明的最终性的共识旨在提供绝对的确定性,即候选区块(及其中的交易)是最终的且无法逆转或更改。 这通常是通过保证确定性结果和数学证明的共识机制来实现的。 可以达成共识来防止区块链分叉。 参与者可以放心,每个新添加的区块都是最终的,即不可变的。
由于每个新添加的区块都可以证明是最终的,因此在将其纳入区块链之前,在区块生产者节点之间进行某种形式的投票是至关重要的。 规则定义的多数(通常是区块生产者节点的 2/3)必须同意新提议的区块。 如果多数人不同意,则该区块候选者不会添加到区块链中,并且必须创建新的候选者并再次进行投票。
概率性和可证明最终性的优缺点
请注意,所描述的两种方法本质上都是关于某种形式的投票。 主要区别在于,在概率最终性的情况下,投票是在添加区块之后进行的(这可能导致分叉),而在可证明最终性的情况下,投票是在添加区块之前进行的。
有一些混合变体,其中对新添加的块的投票在添加后立即进行。 一旦网络中所需的多数投票支持某个区块,该区块就被认为是不可变的。 这意味着区块链可能会出现分叉,但可以通过投票(区块生产者节点投票保留特定区块)非常快速地最终确定区块。
如果一个区块生产者节点提出一个区块候选者,他或她基本上会单独对其进行投票。 该块几乎没有“重量”。 权重随着其他节点的投票而增加。 就卡尔达诺(以及比特币)而言,权重随着每个块的添加而增加。 因此,权重(选民数量)增长缓慢。 如果共识允许在添加区块之前(或之后不久)对其进行投票,则新区块相对较快地具有较高权重。
这个主题有点复杂,因为考虑各个区块生产者节点(池)的投票权很重要。 在卡尔达诺网络中,每个矿池可以拥有不同的权益(抵押的 ADA 币数量)。 新区块可以提议一个低权益池或完全饱和的池。 这对新的候选区块有什么影响? 理论上没有,因为每个新提议的区块都有相似的状态。 然而,拥有高权益的 SPO 在给定时间段内产生更多区块的机会更高,如果发生分叉,这可能是一个优势。
我们不会让主题变得更加复杂,并且会坚持最终确定性,但重要的是要注意,区块生产者节点在不同网络中可能具有也可能不具有相同的投票权。 网络去中心化基于稀缺资源(硬币或算力),谁拥有更多资源,谁就拥有更多投票权。
让我们回到最后的结局。 概率性与可证明的最终性之间的差异对鲁棒性和活跃性有重大影响。 它还影响交易速度,即用户体验。
就卡尔达诺而言,该区块可以被丢弃,因此一旦您的交易被插入到该区块中,您就无法保证它将永远保留在区块链上。 恢复的可能性还是很小的。 卡尔达诺的区块最终确定性较慢,因此交易也较慢。 如上所述,权重增长缓慢,因为投票是通过添加新区块来完成的。 每 20 秒添加一票。
目前,卡尔达诺网络中约有 1,200 个矿池正在生产区块。 对 10% 的池子进行投票需要 40 分钟。 在此期间,添加了 120 个新区块。
在添加了一定数量的新块后,可以假设给定的块保留在区块链中。 问题是这个低数字很难估计,而且只是概率性的。
有些网络,例如 Algorand,能够通过投票实现即时区块终结。 一旦添加了新块,就永远不会被丢弃。 同时,区块链永远不会出现分叉。 Algorand 的出块时间约为 3.6 秒,如果您的交易被插入到该块中,则该交易立即成为最终交易。
以太坊每个 epoch 将所有验证者分成 32 个平等的委员会。 该纪元有 32 个时隙。 每个时段持续 12 秒。 因此整个纪元的长度为 6 分 24 秒。 每个委员会负责生产一个区块,委员会成员负责提供证明(确认他们是否同意或不同意生产者提出的区块)。 每个新添加的区块均由总投票权的 3.1% 确认。 这意味着该区块将比卡尔达诺更快地获得高权重(大量选票)。
中本聪风格的共识更喜欢协议的活跃性而不是交易的速度,即始终能够即使大部分节点不可用,也会生成一个新块。 如果大量节点离线,区块生产将花费更长的时间(错过时隙),但这种情况很有可能发生。 随着节点逐渐回归网络,区块生产将变得更加频繁。
对于每个区块都有主动投票的网络,如果 34%(通常超过 1/3 的出块节点)离线,则可以停止区块生产。 具有可证明最终性的网络被认为对攻击更具弹性,并且可以更好地确保区块链的完整性。 这些网络宁愿停止生产区块,也不愿不惜一切代价生产区块。
具有可证明最终性的网络有几个缺点。 网络共识可能相对复杂且脆弱。 投票需要一些开销,并且可能需要相对较长的时间。 如果互联网上的数据传播速度存在问题,这些网络可能更容易受到区块生产中断的影响。 实现高扩展性可能会比较困难。
简单地回到去中心化和安全性上来,就卡尔达诺而言,攻击者需要获得一半以上的稀缺资源(ADA 币),而在可证明最终性的网络中,他通常需要获得超过 1/3 的资源。 获得1/3的资源足以让攻击者使网络无法达成共识。
结论
用户往往更喜欢交易速度而不是安全性,因为大多数区块链网络的安全性相对较高。 他们主要希望快速发送交易并确保最终结果。 然而,第一层首先应该尽可能安全和去中心化。 未来可能属于混合方法,将最长链规则与确保快速最终确定的机制结合起来。 Ouroboros Leios 将为卡尔达诺带来类似的东西,因为在网络中生成的 3 种类型的区块中,将对第二种类型(背书区块)进行某种形式的投票。 第三种区块与当前的区块类似,将包含对背书区块的引用,即包含相对较大股份协议的区块。
这篇文章主要是关于交易最终性,但重要的是要记住,卡尔达诺的核心是高度去中心化和原生流动性质押。 这些功能的实现部分是因为卡尔达诺没有削减,并且您不需要拥有一定(相对较高)数量的代币来参与质押。 以太坊使用投票来达成共识,这需要能够锁定 ETH 并惩罚验证者违背协议利益的行为。 例如,交易的最终性还与质押的质量有关,从而与去中心化有关。
技术进步将推动卡尔达诺向前发展。 Ouroboros Leios 将是关于第一层交易最终性的下一个重要步骤。