简析Sequencer去中心化问题:共识机制及Token用例

22-11-17 22:00
阅读本文需 7 分钟
总结 AI 总结
看总结 收起
原文作者:Lao Bai


今天来说说 Sequencer 去中心化的问题,包括共识与Token。


上一贴说过了 Sequencer 的做恶能力,不是凭空印钱或是提交虚假交易,而是在一个相对短(几分钟到 10 几分钟),数据还未提交到 L1 的窗口期内,拥有隐藏交易,或是改变交易排序的能力。


这其实不就是一个审查与 Mev 的问题么?  


清楚了这一点,我们再来看 Sequencer 的去中心化,该用什么共识,就清楚多了 首先,不能用什么共识机制? 


基本上大多数 Layer1 共识机制都不能用!因为你是一个 Layer2,不是 Layer1,你的目的是变相提升 Layer1 的效率和 TPS,你自己用 Layer1 共识就完全失去了 Layer2 的意义。


Layer1 的共识机制什么样子呢?最早都是 Everybody-talks-to-everybody(每个节点互相通讯达成一致 - 共识)+ Everybody-sends-everyone-else-everything(每个节点给别的节点传输所有数据 - 广播)。因为是 Everybody,所以慢。

  

于是出现了 Solana 这种追求极致性能的,想办法吧其中某些个 Everybody 改成 Somebody,这样达成共识的时间不就短了么,传输的东西也少了,TPS 可不就上去了!  


Layer2 应该做的比 Solana 更加极端一些,因为 Layer2 上不需要真正的「共识」,只要防止那个中心化的 Sequencer 拥有审查和 MEV 的能力即可。同时,Sequencer 的性能一定要好,因为要处理海量的交易。所以 Sequencer 的去中心化,必定是个少量高性能节点的「半中心化」状态,互相之间需要同步的消息尽量少,尽量快。  


共识思路有这么 2 个 


1. 找几个牛逼节点,大家轮着出块,不管是顺着来还是抽签之类的,反正就是个 Sequencer 小团体共同出块+互相监督的 Style,目前唯一一个把 Sequencer 去中心化的 Layer2 - Metis,基本就是这么干的。不过想加入这个小团体需要提出申请+官方批准,所以是个类似半中心化,或者联盟链 Style。  


2. ETH Layer1 那边有在研究内存池加密的技术,如果所有交易都被加密了,打包节点面对的都是加密过的数据,想拒绝某一笔交易或是更改排序不就一脸懵逼了么?不过具体如何实现完全没有定论。我想既可以协议层面实现,也可以 App 层面实现,就像是 PBS,协议层面暂时没有,Flashbot 先做了个 App 层面的先用着。


理论上 Layer2 更适合这个技术,因为有了这东西,连 Sequencer 小团队都不需要了,直接官方一台超高性能服务器解决完事儿!最多加个热备啊,负载均衡啊之类 Web2 的服务器冗余技术。


有了共识,肯定就得有Token(好吧其实没有共识 Layer2 们也会有Token的……),Layer2 上Token到底应该拿来干嘛一直就是个争论的点,整体可以在如下三个功能里选 


1. POS - 相当于模拟 Layer1 的 POS 了,这个主要是拿 Layer2 自己当 DA 用的,ZK-sync 的 Zk-Porter 以及 Starknet 的 Validium 大概率会这么干。


2. Gas - 技术上最简单,赋能上最直接,然而也遭到最多人的反对。一个 Layer2 你不用 ETH 当 Gas,反而用自己发的Token,意识形态上政治不正确…… 


3. 治理 - 这个就是目前 OP 干的事儿,不过说实话很鸡肋,就像 Uni,说好的Token价值捕获呢?! 就这???  


我倒是相对认同 Fuel Labs 创始人提出的第四种功能,那就是 Layer2 的Token,应该仅被用作领导者选举(说白了就是出块的权利或者概率),适配上面共识思路的第一种 比如有 20 台 Sequencer,是「真去中心化」+permissionless,某个 Sequncer 手里有 2% 的币,那他就有 2% 的时间出块,10% 的币就给你 10% 的时间出块……  


不过这个「仅」还是得打个问号,因为理想中的 Sequencer 就应该少而精,不能像 Layer1 那样铺开了全面去中心化,所以到时候就这么几个节点去抢这上亿的Token??我觉得有点诡异……所以这个第四点,倒是可以作为一个功能与前面三个的某一个结合,感觉效果会不错。


Layer2 的去中心化就先说到这,下一贴来说 OP VS ZK 这个注定将会延绵数年的对决。


原文链接
举报 纠错/举报
选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交