# Layer2性能与做恶问题

By [Lao bai](https://paragraph.com/@lao-bai) · 2022-11-11

---

开个贴，聊下目前圈内一些悬而未决/富有争议/正在探索的技术或是机制，主要针对ETH

会分开几个章节发

*   Layer2的性能与做恶问题
    
*   Layer2的去中心化，共识与代币效用问题
    
*   Layer2的OP与ZK之争问题
    
*   ETH L1的抗审查问题
    
*   EigenLayer与AltLayer两个“创意型”项目
    

今天先来说Layer2（特指Rollup）的性能与做恶问题

Layer2牛逼在哪 -
------------

Rollup最牛逼的一点就是，在几乎（不是100%）继承了L1的安全型前提下，可以把性能做到极致，为啥呢？

因为区块链慢就慢在多个节点要处理+传播所有交易，还要最后达成一致

ETH如果只有一个节点，TPS应该至少大几千，但是去中心化这么多节点，TPS就变成10几了

所以现在各种Alt Layer1扩容的大方向也无非这么几个

1.提升节点性能 - 单位时间内处理更多交易

2.减少节点数量 - 减少节点通讯次数，缩短共识达成时间

3\. 优化传播机制 - 提升带宽利用率，减少共识协议占用的带宽比例

4\. 节点不用处理所有事物 - 类似工厂流水线，分工合作提升效率（分片，分层，模块化……Flow是个另类）

从最早的EOS，到最近的Aptos，所有Alt Layer1都是在上面四个大方向上取1-2个深耕，外加一些小的技术创新，方式方法与取舍不同而已，扩容这个事儿有机会再单独开个贴详聊

回到Layer2，Layer2为什么可以吧性能做到极致呢？

因为理论上它一个节点就能跑，它可以无限提升1，然后完全不需要关心2，3，4，我就一个官方中心化Sequncer怎么滴吧？反正我有OP或者ZK可以保证你们资金的安全

所以也不需要什么共识，不需要什么传播，不需要什么分工合作，跟Web2世界客户端-服务器模型没啥区别

Layer2的性能（TPS）极限在哪 -
--------------------

大概率会是以下两个值较低的那一方:

单个Sequencer的性能处理极限 ETH L1那边做为Settlement的区块Gas限制（目前貌似是3000万左右）

Layer2 Sequencer要不要去中心化 -
-------------------------

回答这个问题，首先要问，不去中心化的优势和劣势在哪

优势 - 不用说，可以跑到TPS极限，多个Sequencer去中心化一定会牵扯到共识，传播等问题，性能铁定损失

劣势 - 意识形态上不那么“区块链”，以及可能出现的Sequencer作恶问题

### Sequencer能做恶么？不是说有OP或是ZK来保驾护航么？

没错，Rollup的精髓就在于通过OP或是ZK让Layer2继承Layer1的安全性，但这个安全性，理论上只是无限接近，不可能完全等价，所以Sequencer其实还是有一点点做恶的空间，特别是单个Sequncer，空间在哪？

不是你想象的篡改交易，或是凭空生成一笔交易之类的，因为Sequncer要定期提交打包的原始数据去Layer1的，其他的全节点会从Layer1下载这些数据来监督Sequncer。因为签名的存在，Sequncer是不能提交杜撰或者修改“非法交易”的，或者说提交了也没有任何意义

### Sequencer能做的只有两件事

隐藏合法交易 - 相当于审查

排序交易 - 我手里可以弄出两套“合法账本”，你们全节点还不一定知道

隐藏合法交易比如这么一个场景 - A和B OTC，A给B转了ETH，B两秒钟后一看收到了，就给A银行卡转了钱，没想到A贿赂了Sequencer，Sequncer直接没把A给B转ETH这笔交易提交到L1，于是乎B就傻眼了，因为几分钟后（Arbitrum是每三分种提交一次数据去Layer1，OP要更久一些），自己钱包里的ETH又凭空消失了。。

双账本问题可以想像这么一个场景 - 某个超级热门NFT项目Mint，也有人勾结Sequencer，想垄断mint名额，但Sequencer又不能明目张胆的拒绝其他用户的Mint，于是表面上正常响应应用户请求，实际手里又弄了一套“分叉”账本，上面的结果是NFT都被贿赂者优先mint完的，最终在Layer1上只提交了那套“分叉”账本，于是很多用户之前明明显示Mint成功了，过几分钟结算层那边结束，却变成无效了

归根结底，Layer2上两三秒给你的结果，只是Layer2上的Finality，而不是Layer1结算层的，真正的Finality，应该等Layer1那边Rollup数据提交完毕，才能算真的Finality （当然Layer1自己其实还有个15分钟的完全终结期，现在V神正在推动把这15分钟减小为12秒的单槽终结，就不在本文讨论之列了）。这几分钟的时间窗口，就是Sequencer理论上可以做恶的“空窗期”

那么Sequencer是不是应该去中心化呢？

下一贴再讲：）

在此也感谢@eternal1997L与@Jason\_Wan123两位大神，本帖许多内容都是与两位交流时聊到探讨出的结论。

---

*Originally published on [Lao bai](https://paragraph.com/@lao-bai/layer2)*
