在 Ethereum Casper 101 (编者按:EthFans中译见文末)中,Jon Choi 对 Casper 做了一个很棒很清晰的综述,并解释了为什么显式最终确定性(explicit finality 相反,将 Casper the Friendly Finality Gadget (“FFG”) 加密经济机制应用于 POS ,显式地在协议内(in-protocol)强制保证对我们来说,是否是最终确定
在 Ethereum Casper 101[1] 中,Jon Choi 对 Casper 做了一个很棒很清晰的综述,并解释了为什么显式最终确定性(explicit finality)对于可扩展性(scalability 相反,将 Casper the Friendly Finality Gadget (“FFG”) 加密经济机制应用于 POS ,显式地在协议内(in-protocol)强制保证对我们来说,是否是最终确定 On Settlement Finality:https://blog.ethereum.org/2016/05/09/on-settlement-finality/ Ethresear.ch thread ethresear.ch/t/casper-contract-and-full-pos/136/2 原文:https://medium.com/@icebearhww/ethereum-sharding-and-finality
这两种选择决定了分布式共识两种不同的设计思路: 追求 Finality,是优先结果,就要对网络做出要求。 现在,让我们看看使用同步性假设的系统(Finality,PoS 中使用较多)和使用非确定性机制的系统(Liveness,PoW 中使用较多)有什么不同。 但需要提醒的是,并非所有的 PoS 都是 Finality 路线,比如 Casper FFG 就不是;而 PoW 也不是只能走 Liveness 路线,虽然并没有人设计 PoW 上的 Finality 另一方面,Finality 系统在保证了结果的确定性后,系统设计就要反过来追求 Liveness;而 Liveness 系统在保证了网络的开放性后,系统设计就要反过来追求 Finality。 如果你对在 Finality 和 Liveness 间寻找平衡感兴趣,可以去研究 Casper FFG 共识,它有 Liveness 的一部分,也有 Finality 的一部分。
image.png 以太坊早期用的基于权益的共识机制(Casper the Friendly Finality Gadget (FFG))。 在过渡阶段要和工作量证明混合使用,为工作量证明提供 finality 。finality 是一种最终的状态,包含在finality 中的交易不会被取消。 单纯基于工作量的区块是可能回滚的,缺乏finality 。 引入验证者(validator),要想成为验证者,需要交点保证金,保证金会被系统锁定。 每挖出100个区块作为epoch,投票决定是否可以成为一个finality。要进行 two-phase commit。第一阶段 prepare message;第二阶段 commit message。 Finality是验证者投出来的,有没有可能被推翻? 只凭矿工是推翻不了的。至少有三分之一的验证者两边下注才可以。 以太坊想要逐步从工作量证明达到权益证明。挖矿的奖励越来越少,验证者越来越多。
Finality - 系统中的操作一旦完成,就永远再无法回滚(Vitalik on settlement finality)背景:在 PoW 中,finality(最终确定性) 是概率性且隐式的。
Corda 作为其中的一员,将关注点投入在如下几个方面: 隐私性(privacy) 交易可终结性(transaction finality) 参与方身份认证(legally identified parties
Tendermint 共识可以支持在上百个节点规模的区块链网络中实现秒级出块,其提供了逐块最终化(Finality)的特性,即一个块确认后可以保障其之前的所有块都不会被修改,保障了区块链网络安全性。 它提供了坚实的基础设施与良好的用户体验,是较早能够支持在上百个节点规模的区块链网络中支持秒级出块的底层,同时也通过逐块最终化(Finality)的方式确保之前的所有块都不会被修改,保障区块链网络安全性。
1、学习目标理解跨链借贷的几种常见体系结构(lock-mint、liquidity pool、atomic swap、debt-on-destination);了解主流跨链通信/桥的安全/设计要点(finality 2.2 跨链通信关键要点最终性(Finality)与 Reorg不同链的最终性差异很大(PoW / PoS / L2)。 桥消息应等待足够 confirmations / finality window。Layer-2 的重组可能导致“已桥消息被回滚”风险。 注意:这是教学级实现,省去了真实桥的复杂签名与 finality 机制,使用 deliverMessage/deliverSeize 由测试主动调用模拟 relayer / oracle 迟延src/MockBridge.sol
6 攻击和防御6.1 攻击者想要什么攻击者目的:reorg,double finality 或 finality delayregog:将区块重新排列成新的顺序。 最极端的重组形式是“finality reversion”,当摧毁总抵押以太币的三分之一以上时发生。 double finality:不太可能发生但有很严重的情况,即两个分叉同时完成,从而在链中创建永久性裂痕。理论上,攻击者可通过总质押到 34% 实现。 另一个潜在的升级是 single-slot finality,它通过在仅在一个 slot 后确定链来防止基于消息时间的攻击。 Finality Delay同一篇论文首次描述了低成本的单块重组攻击,也描述了一种最终性延迟(又称“活力失效”)攻击。
=pick_leader(validators)proposal=leader.propose_block()if>=2/3validatorsvoteyes:commitblock优点很明显:出块快Finality
https://hackmd.io/@matt/r1neQ_B38 [7] 如何实现单个slot 确定性: https://notes.ethereum.org/@vbuterin/single_slot_finality
Finality 是 deterministic 的(非概率): a. 一旦 Atropos 事件被选中,其祖先交易就不可逆了,无需额外等待“6个区块”或“重组窗口”。 但最终要落地为区块,需要在 SCC(Sonic Certification Chain) 中进行投票认证,这一过程类似于「Checkpoint」或「Finality Gadget」。
公式是 惩罚 = 有效余额 * 无终局性持续时间(Epochs-Since-Finality,即当前 epoch 高度减去上一次获得终局性的 epoch 高度)/(2^25)。
,并迫使提议者退回到本地生产块 研究 Barnabé: Proposer-Builder Separation (PBS) 研究现状[12] Reorg 在 post-SSF(single slot finality
最终性 (Finality): 交易最终确认的时间可能较长,对于需要快速结算的应用场景构成限制。
(Finality) 不可修改性:一旦出块并发布,一定时间之后这个块将会 “finalized” (编程语言中的 不可修改 关键词)。
最终确定性 (Finality): 快速最终确定性的链(如 Solana)对需要即时确认的交互有利。 兼容性: 如果需要以太坊生态的工具和基础设施,选择 EVM 兼容链。
b4Pw-ppAxhetrcl1nsCpHB3z8a5vMl161lUPvnWJzPs [15] Horn: https://ethresear.ch/t/horn-collecting-signatures-for-faster-finality
但比特币的公有链无法克服自身固有的一些问题:例如,交易效率低,区块没有最终确定性(finality)等。这些问题,使得比特币等公有链不能满足大多数商业应用的要求。
“法定人数投票算法”是从Ripple和Stellar的共识算法修改而来的,主要用于需要满足交易即刻最终性(finality)的应用。