能看到这篇文章的朋友你好,我是LL,一位web3的学习者,因工作需要和自身求知欲,平常会看大量的项目资讯和报告,深知在百花齐放的web3赛道中,为了解某个赛道和项目需要花费大量时间找客观而又精准的信息(非广告软文)有多困难,再加上web3存在技术门槛,很多文章看了也似懂非懂,起不到任何提升认知的帮助,更别说“DYOR”,自己做调研还能直接指导投资了。所以为了深度了解行业,总结自己所学,我选择将我看到的资讯整合在一起,希望这些能对同道的你也有一些帮助,帮你省去一些不必要的时间,减少一些认知门槛。我不是web3 native user,更非技术出身,所有资讯均从Google引用(部分包含他人原文),经由自己理解加工,无法保证100%正确,若信息或观点有误,欢迎指正交流。以下是我的推特
rollup是为了解决以太坊高昂gas费及交易拥堵,提升以太坊性能而存在的layer2扩容解决方案。
除了rollup外,还有其他的扩容解决方案,如plasma和私人通道交易。
特点:
1.专门的验证节点在链上抵押押金。
2.验证节点负责验证和记录所有的交易。
3.所有交易和状态都记录在链下。
任何人想要将自己的钱从链下转到链上,需要某个验证节点将链下的状态提交到链上,并等待一段时间;在这段时间内,任何其他节点都可以提出异议并提交“欺诈证明”,来证明该验证节点提交的状态并非最新状态并且拿走部分该节点抵押的押金。由此可见plasma存在两个问题,第一是交易时间不是实时的,第二是如果某一天如果Plasma所有的验证者都删库跑路了,那还能从哪找到这些状态呢?这样的话这些在链下的资金就永远无法被解锁了,申述繁琐且困难。
特点
1.交易双方在链上抵押押金。
2.交易双方的所有交易都在链下。
3.仅需要被交易双方验证和记录。
若交易一方想要退出,则将链下当下的“状态”提交到链上,等待一段时间才可拿回押金;在这段时间内,另一方可以提出异议并提交“欺诈证明”,来证明对方提交的状态并非最新状态并且拿走对方抵押的押金。一旦想停止使用 Channel,就退出并将最后一次状态更新提交给主链,主链将会再次解锁状态。
我个人觉得这根在中心化交易所买卖法币是差不多的逻辑,你把钱给对方,对方确认收到后才放款,这个解决方案的弊端也是交易无法实时,且人为因素大,去中心化弱。
rollup顾名思义是卷起来什么东西,在以太坊上就是卷的交易和交易状态。这些卷起来的交易和这些交易之后变更的状态(比如账户信息)都会被挪到链下的一个账本上,这个账本由一些专门的节点负责验证和维护,并定期将这个账本的状态做个摘要发到以太坊上。把一堆交易卷(rollup)起来变成一个rollup交易,所有节点接收到这个rollup交易之后,不去执行被卷起来的逻辑,而只去接受这些逻辑的执行结果。
根据具体解决方案不同,分为Optimistic Rollups和ZK rollups
Arbitrum、Starkware、Optimism、zkSync目前是Layer2 rollup的四大明星项目,除Optimism已经发行代币OP外,其它还没有。
Optimistic Rollups的特点及与ZK的区别
1.所有交易和一批交易处理之后的最终状态的摘要记录在链上(所以TPS弱于ZK),交易的计算和具体状态变更放在链下进行。
2.使用的是欺诈证明(Fraud proof)。在OR中,有一个或者几个验证者,他们通过签名的方式担保“状态A在经过这些交易TX之后会变成状态B,我验证了”。然后,在一段时间的挑战期(通常是一周或者两周)之内,如果有人提出“你担保的结果和实际交易执行的结果不符”并提供证据,那么,错误的结果将会被回滚,挑战者可以获得担保人在链上抵押的一部分押金。所以使用OP解决方案的存在交易时间延迟问题,要1-2周才能提现。因为有约为一周的挑战等待期;验证安全性通过押金和等待期来保证,而不是算法,恶意串通操作风险更高。感觉这一点跟plasma是差不多的验证机制,不知道其中具体区别在哪里,若有知道的欢迎告诉我。
3.相比ZK,OR计算更方便,对硬件要求更低 。
使用Optimistic Rollups解决方案的明星项目
1.Optimism
Optimism 使用的是在 Layer-1 上执行的单轮欺诈证明。
兼容以太坊 EVM,但使用的是以太坊的EVM,导致Optimism 只有 Solidity 编译器。
生态相比Arbitrum更小,在 Optimism 生态,TVL 最大的协议是衍生品流动性协议Synthetix,它支持在区块链上创建合成资产。此外,Velodrome Finance是Optimism 上原生的去中心化交易所,旨在为Optimism上的 DeFi 协议提供更好的互操作性。
Optimism 是layer2四大天王项目中唯一一个发行了代币OP的
2.Arbitrum
Arbitrum 使用链下执行的多轮欺诈证明。相比Optimism单轮欺诈证明,Arbitrum 的多轮欺诈证明更加便宜和高效,也更先进。
Arbitrum兼容以太坊 EVM,但使用是自己的Arbitrum 虚拟机(AVM),支持所有 EVM 编译语言(Vyper、Yul 等),其中YuI语言是ZkSync编译的。
生态比Optimism更强大,币安与其整合,可直接通过Arbitrum将以太币充值至交易所,但通过Arbitrum提回以太坊则需要7天(Optimistic Rollups解决方案的通病,交易延迟)。Arbitrum上最大的平台是去中心化现货和永续合约交易平台 GMX(有代币GMX),其卖点是低掉期费和零滑点。第二大的是提供借贷、交易、质押服务的DeFi基础设施协议 dForce。
特点
1.所有交易会在主链以外进行运算和数据储存,并批次发送至 Layer 1,它们则会被立即验证或拒绝,所以交易基本上都是实时到账,TPS高于OP
2.采用的是“有效证明(Validity proof)。在ZR中,验证节点在链下通过零知识证明算法,生成一个证明P并与状态A,B与交易TX一起上传上链,相当于是表示“状态A在经过这些交易TX之后会变成状态B,你可以通过验证P来证实这一点”。在ZR中,不需要挑战期,因为密码学可以保证验算P就等价于验证了状态B是经由交易TX得出的。
3.计算更复杂,对硬件要求更高
明星项目
1.zkSync
zkSync2.0版本是首个兼容以太坊EVM的,1.0时还不能支持智能合约,但现已升级。
zkSync 2.0 通过支持 Solidity(zkEVM)和 Zinc(Rollup 的内部编程语言)实现任意智能合约功能,还通过 zkPorter 实现 TPS 指数级增长(大约 20,000+)。
其中Solidity 是以太坊的高级智能合约源代码,zkSync团队则将其编译为 Yul(一种中间语言,可以为不同的虚拟机编译为字节码),然后使用 LLVM 编译器框架将 Yul 代码重新编译为一套为 zkSync 的自定义、电路兼容的字节码。也就是说,zkSync 直接从高层代码开始,绕过了对 EVM 执行中所有步骤的 zk 证明,从而使证明过程更容易分散,且同时保持高性能。 而zkPorter的引入,相当于让用户多了一个选择——在链上还是链下储存其数据。 zkSync和Scroll相比, Scroll主打原生兼容EVM,无需二次编译。而且Scroll还是和以太坊基金会合作的。
采用的是SNAKR证明机制——Succinct Non-Interactive ARgument of Knowledge(简洁的非交互式知识证明):需要可信的初始设置——算法中的一些安全相关的随机数是需要初始节点进行选取的,在这个过程中,所有用户必须信任一小群开发人员不会操纵代码或泄露漏洞信息,但这个设置过程只需要进行一次。这就存在两个问题,第一是降低了其去中心化程度,第二是这些随机数在初始设置完成之后,就成了“有毒废料”(toxic waste),而后续无论是证明的“安全性”还是“零知识性”都建立在这些有毒废料被销毁的前提下。换句话说,假设一个恶意节点架设了一个基于zk-SNARK的ZR,然后偷偷地保存了这些废料,那么,他可以通过这些废料生成假的证据从而偷走别人的链下资产。从这个角度看,有这种问题的ZR某种程度和OR一样,都存在人为恶意操作风险。
生态中的明星应用有Mina公链,专注轻量隐私化(因TPS只有1,所以更聚焦于学位证明之类的领域),采用 PoS 共识机制,有mina代币;此外还有MUTE,专注质押、债券的是DEX 台,MUTE有同名代币
2.StarkWare
该项目团队有两部分内容,一部分是StarkNet,一部分是StarkEx
其中StarkNet是专注rollup扩容的解决方案:
采用的是STAKR证明机制 Scalable Transparent ARguments of Knowledge (可扩展性的透明的知识证明),使用可公开验证的随机数来创建无需信任的可验证系统,从而免去了对授信设置的必要。在计算速度和规模上也比 ZK-SNARK 更具可扩展性,其潜在的证明速度比 ZK-SNARK 高10倍。 然而,ZK-STARK 目前的最大缺陷是技术尚未成熟,这限制了它的普及。
最大的弊端是目前尚未开发针对 EVM 兼容性的解决方案。 想要在 StarkNet上部署智能合约,开发人员需要先学习 Cairo,这是一种由StarkWare为STARK证明程序构建的编程语言。或者智能合约开发人员可以使用由 NetherindEth 开发的转译器 Warp 将 Solidity 代码转换为 Cairo。不过,仍然有一些 Solidity 特性转译器尚未支持,并且与 zkSync V2 的 EVM 兼容性相差甚远。
再顺便提一下StarkEx,它不是做rollup扩容的,是可定制的 Layer-2 SaaS(软件即服务)。使用STARK证明程序为其他 Dapp提供扩展服务,通过to B的方式赚服务费。我们熟知的Immutable X、dYdX、DeversiFi、Sorare都基于StarkEx构建(但DYDX的V4升级会迁移至COSMOS,因为cosmos生态更有利于DYDX,虽然安全性是否可比拟以太坊,但对于dYdX来说需要更快的交易速度和更低的gas费用,其它原因可谷歌)。
作为专门为 Dapp 开发的扩容工具箱,StarkEx上的应用彼此独立,无法组合,只能扩展去中心化交易平台。而StarkNet可以扩展以太坊,彼此组合。
除了以上两个ZK明星项目外,现在比较火的还有:
1.布局在以太坊上的Loopring协议,用于构建可扩展的DEX,有LRC代币。DEX和ZK的叙事结合,个人感觉和dYdX差不多类型(具体没去调研)
2.布局在以太坊上的Immutable,有代币IMX,专注NFT和链游,提供近乎即时的确认和近乎零的 Gas 费用。
OP和ZK解决方案各有弊端,笔者希望未来可以整合出一套原生兼容以太坊EVM,采用stark证明机制,尽可能提高TPS的项目,这样能综合各优点,尽可能解决“不可能三角”问题。
