观点: 我所理解的Layer0、1、2层到底是什么?

作者:Jason

这是我第一篇宏观分析类型的文章,之前的文章都是分析某一个具体的项目,这次想试着讲讲更宏大也是我更不擅长的领域,同时也把之前零散发在Twitter上的内容结构化整理成一篇文章。

Web3一直是一个概念新词满天飞的领域,所以我斗胆用一篇文章尝试为大家讲讲我所理解的Layer0、1、2,也许你会疑惑为什么标题不叫《一文讲清楚Layer0、1、2》呢?一方面是因为我没有自信和实力可以讲清楚,另一方面是其中很多定义到目前很模糊,并没有行业标准,比如在我的视角里Celestia属于Layer0,但是也有很多说法它属于Layer1,所以本文均为站到个人视角的理解,可能存在不全面或者与你的观点不一致的情况,欢迎探讨。

文章速览:

Layer0:跨链通信?

Layer0:模块化区块链

Layer1底层区块链

Layer2主流解决方案:rollups

Layer0:跨链通信?

Layer0是我认为目前行业对其定义最模糊也是理解最复杂的一层,所以我会多花一些时间讲解。

很多人将Layer0定义为区块链基础设施服务层,但我觉得这个概念还是太大太粗,目前我认为Layer0的关键词就是发链、多链与跨链,核心内容落在了跨链通信与模块化区块链,所以讲清楚了跨链通信和模块化区块链,Layer0的内容也就基本覆盖了。

先说说跨链通信,要注意跨链通信和跨链不一样,跨链通信是一个技术实现,跨链则是一个业务场景。

跨链是区块链极其重要的能力,假设每条链都是一个银行,如果区块链无法跨链则等于无法实现银行转账。?我们常说的跨链是指资产跨链,即我想把A链的aToken跨到B链,首先Token的项目方需要在两条链上都发行自己的原生Token,然后使用跨链桥来进行两边Token的“转移”,转移打引号的原因是转移的过程并不是我们所理解的从A移动到B,其工作原理是将A链的aToken锁定,然后再在B链铸造对应数量的bToken,至于A链锁定资产,到B链铸造资产这个中间的过程则会产生很多问题,主要就是通信的问题,A链如何通知B链“张三刚才在我这里锁定了20个aToken,你现在赶紧的给他弄20个bToken出来”呢?

链本身是封闭的情况下只能通过链下的监控来连接两条链的资产变化情况,比如我写个脚本之类的。但这不够native,也不够安全,所以跨链桥经常出问题,跨链通信则是主要解决多链之间原生信息传输的问题。

专注于做跨链通信的LayerZero协议我之前也写过一篇与它相关的文章《那个可以跨链的Gh0stlyGh0sts会成为下一个Azuki吗?》,这也是第一个使用LayerZero实现原生跨链通信从而达到NFT资产跨链效果的项目。

观点:企业对加密货币的态度转变可从小公司逐步过渡到大公司:加密货币金融服务公司Unchained Capital业务发展主管Parker Lewis日前在接受采访时表示,就大公司而言,使用和投资加密货币的转变不会像小公司那样容易。但是,他还指出,这种态度转变可以从较小的公司开始,最终向较大的实体过渡。他说:“我认为,这首先将从中小企业开始,然后逐步发展到微软、谷歌和Facebook等企业。即使是已采用比特币的大型公司,他们也将开始持有比特币。”(AMBCrypto)[2020/10/11]

刚才说到传统的跨链桥是通过链下监控两条链的方式来实现了伪通信,而并不是真正的两条链产生了信息传递,如下图中左边和中间的模式,LayerZero则是直接在两条链里面部署了自己的节点,这些节点完成了多链之间的通信。

如下图所示,我可以直接在合约代码里写清楚我要给哪条链传输什么信息过去,这是区块链原生的跨链通信。

我非常看好LayerZero这个协议,它也完成了红杉领投的1.35亿美金融资。原因是我觉得这是真正纯原生的跨链解决方案,并且资产跨链只是它的一个应用业务场景,链和链之间的通信不仅限于资产,就像是银行之间的通信也不仅限于转账,我在工行产生了坏账信誉不好,则工行可以将该消息告诉建行,我在建行贷款就会出现问题,跨链通信背后的业务场景一定会可以挖出很多。

讲完了LayerZero后Layer0主要的内容跨链通信就明白了,这里要注意的是Layer0是概念,LayerZero则是这个概念里的具体某个协议,这两个不要搞混了。

Layer0:模块化区块链

Layer0还有一个重要的内容模块化区块链,跨链通信这个词大家能够理解确实还挺底层的,属于Layer0,但模块化区块链这个词大家乍一听会觉得非常“大”,不像是一个Layer即层的概念,而是一个“全套”,就是区块链是一个汉堡的话,Layer就是里面的生菜、肉饼和面包片,但是模块化听起来就像是一个全套大汉堡而不是某一片生菜。

如果从广义的概念来说模块化区块链是一种“架构”,layer2也是模块化区块链,将计算层模块化抽象出来,但是从目前狭义的对于模块化区块链的定位来说,我们要明白将区块链模块化以后的目的是什么,从而再定义其处在哪一层,我认为最直接的目的是在于如何能够更简单快速的去发一条链出来,模块化的效果是能够把区块链技术架构拆的更清晰,封装的更完整,然后开箱即用就像是搭积木一样,可以直接使用模块化区块链的能力用更低的成本发一套新链出来。你可以粗糙的理解成模块化区块链的目的是发一条Layer1出来,这样是不是就理解为什么它处在Layer0了。

观点:美国货币监理署发布稳定币指南有利于金融创新:据此前报道,根据美国货币监理署(OCC)上周发布的新指南,美国联邦特许银行和联邦储蓄协会可以为稳定币发行商持有储备金。该决定适用于与“单一法定货币” 1:1挂钩的稳定币。

CoinDesk文章称,这对市场很重要。首先,这标志着监管部门越来越接受稳定币。OCC正在向银行发出信号,稳定币活动是合法的,储备账户将得到与其他任何账户一样的联邦保护。这可能会激励银行积极寻求稳定币业务,并以此扩大其客户基础和他们在加密市场的份额。由于市值第二大稳定币USDC目前的主要使用案例之一是从DeFi平台获取收益,这可能是传统金融开始以开放的态度看待区块链金融应用程序正在进行的创新所需的激励。新型储蓄产品可以吸引新客户,这反过来又可以加速传统银行业的转型。

这也可能鼓励新型稳定货币发行商进一步创新。对于在这个行业工作的人来说,似乎稳定币发行商s无处不在。然而,从外部看,它们中的大多数要么很小,要么是离岸的,要么两者都有。除了由Coinbase和Circle于2018年成立的USDC发行商CENTRE Consortium的成员之外,很少有大型美国公司在该领域开展商业活动。[2020/9/28]

模块化区块链的两个代表Cosmos和Celestia为大家进行展开介绍从而更清晰的理解其含义,其中?Cosmos要感谢/img/20230515170535792362/3.jpg "/>

模块化区块链的对立面是目前大多数Layer1都属于单体区块链,也就是一条链承担了共识、数据可用性和执行的工作。

共识:整个网路中节点决定打包哪些交易,以什么顺序打包;

数据可用性:就是验证某个区块是已经完成广播是写入链上的;

执行:具体交易和状态的变更。

如果一条链把这三件事都干了,那它就是单体区块链,也就是目前L1面临的问题,交易、结算、出块都排着队完成。所以设计思路就是把共识、数据可用性和执行这几个区块链核心工作职责给拆开,每个职责单独做一条链即一层,然后各司其职干好自己的事,再将其拼装组合到一起。

观点:以太坊2.0延迟系多方因素造成,包括技术和社会可扩展性需求:交易平台Koinfox创始人兼首席执行官Ankitt Gaur正在PoS区块链上部署其代理协议,根据他的说法,处理PoS共识算法的网络在管理流程方面比PoW区块链更复杂。他表示:”以太坊的延迟是多方面的结果。它从一开始就有多个客户端,这些客户端必须相互通信。当所有验证器都需要相互通信时,staking过程会变得更加复杂。”

随着越来越多的人、组织和软件参与到平台的开发中,管理过程变得越来越困难。以太坊核心技术成员Lane Rettig指出了技术和社会可扩展性的需求,并补充称“协调问题变得越来越难”。与技术可扩展性一样,在适当管理下的社会可扩展性也必须来确保平稳和精简的操作。

此外,整个结构中可能存在的部门也会导致人员的高流动率,长时间的入职流程进一步减慢了开发过程。以太坊基金会的Jameson Hudson表示:“我们没有足够的人来帮助解决这些问题。”

The Daily Hodl此前发文称,以太坊2.0发布可能会再次推迟。不断寻找代码错误是推迟最初2020年1月启动计划0的主要原因。“多客户端模式”造成了延迟,因为人力资源不足以确保最佳开发。(Cointelegraph)[2020/5/24]

说到这里大家应该就意识到了,这就是30年软件开发都遵循的模块化设计原则,封装多态耦合内聚那套理念,把一个复杂系统拆分职能,各干各的,再组装到一起,所以至少这条顶层设计理念是一直存在的,将这套设计理念应用在了区块链设计上,并不是什么很新颖的理念。

然后当说到将共识、数据可用性、执行拆分出来成为一条链,大家应该意识到这就是L2在做的事,rollup扩容思路就是将执行层单独拿出来做一条子链去完成以太坊的交易处理工作,然后将结果再返回至以太坊主链,所以rollup其实就是模块化设计理念,所以如上文所说广义的模块化区块链不是一个具体的东西,它是一种概念或者是设计理念,但狭义的模块化区块链则是指将区块链的共识、数据可用性的底层能力封装起来,这两层也是对于一条区块链的地基,复杂度和难度也是最高的,然后这两层能力具备了新发一条链就门槛和成本很低,只需要将精力关注于自己的业务与计算。

那么Celestia主要是将数据可用性能力模块化,通过共识机制存储交易记录并提供数据可用性,而不用参与结算和执行层的事,只管存,并保证存的东西是有效的,其他开发者就能以rollup的形式在Celestia上构建出自己的结算层和执行层。所以Celestia就像是区块链领域的AWS,传统一家公司开发软件需要买一台服务器放在机房,10家公司就要10台服务器,于是AWS说你们都别买了,我自己整一个大的,你们只管软件开发,需要存取数据就来我这,我能够保证你们的数据有效的。

那么为什么Celestia要做数据可用性层模块化呢?如果我想发一条链最难的就是这么让尽可能多的节点参与到我的链中去为我完成共识和数据可用性的过程,有这么多节点来维护我的链,那才能在链上做更多应用层执行的事情。

观点:普通投资者应根据市场行情选择挖矿、炒币:4月9日14:30,XBIT算力存证直播间以“普通投资者适合挖矿还是炒币”为主题进行直播。

做客本场直播四位嘉宾有蚂蚁矿机亚太销售负责人范晓俊、蚂蚁矿池联合创始人田鑫、合约帝联合创始人小叮当、AmberGroup行业研究总监Lorry,同时根据市场行情提供了不同的观点。

范晓俊表示:普通投资者守住币,守住矿机。

田鑫表示:轻判断,重风险。

小叮当表示:用户为王,更多的需要脚踏实地。

lorry表示:注重现金流管理,注意熊市转化。

此外,XBIT猜币价赢比特币活动现已开启,本次活动共有五十家企业参与,百位大咖助力,百家媒体支持。[2020/4/9]

所以需要先看一下L1链的数据可用性是如何完成的。我们都知道区块链是由大量可自由加入的节点组成的,节点越多也就越安全,越去中心化。节点分为全节点和轻节点,全节点就是要完整的维护一套数据账本,所以少量节点恶意攻击不会影响全局节点,这也是区块链的立根之本。

但是随着时间数据也越来越多,维护一个全节点成本过高,如果大家都不愿意来做全节点,那区块链就趋于中心化变得不安全,所以会有轻节点的存在,不会维护验证全量交易数据,而只存区块头,当出现需要验证数据可用性的时候,就将其发送给相邻全节点帮忙验证,然后再将结果返回回来。

所以总结一下,搞一个链最难的是这么能搞到这么多的节点来维护我这条链的共识和数据可用性。这也就是Celestia想解决的问题,它在官网说希望能够让创建一条链像创建智能合约一样简单,大家不用管下面的数据问题,交给Celestia完成,只需要专注于自己上层执行结算,实现“一键发链”的效果。

看完Celestia我们再看一下Cosmos,其实这两家组织的成员重合度很高,很多人都是同时贡献于这两家组织的。

Cosmos的目标是成为区块链的互联网,首先它提供了一套“发链”能力,让每个社区都可以拥有一条自己的主权链,主权链即独立的区块链,数据的产生和写入都是内部闭环的,其次链之间可以进行数据通信交互,实现万链互联,这个愿景还是非常有感召力的。

至于为什么它认为有让社区发自己链的需求呢,是因为它将区块链分为公共链和专有链,在以太坊这样的公共链上开发者需要面对的两层治理,链和应用,并且应用要遵循受限于底层链,从而很难释放出应用的价值,所以它想针对于每个应用都可以产生一个量身定制的链。

所以为了达到这个目的首先要解决发一条新链门槛与成本的问题,其次解决这么多链之间如何通信形成一个滚雪球生态的问题。

门槛和成本Cosmos的解决思路与Celestia一致,即将底层的能力封装起来,区块链架构分为三个大层:网络、共识和应用,它将网络和共识层封装起来,也包括了账号、交易、签名等原子能力,提供了SDK使得开发人员基于此进行主权链的开发,通过预置好的模块来进行自定义构建区块链,然后发布到Cosmos网络中和其他的兄弟链进行交互,交互则是使用跨链通信协议IBC来实现了一个hub集线器的效果,其他的链都通过IBC连接到这个集线器中,在此进行数据中继。

声音 | 观点:矿工需更谨慎管理挖矿成本以减少比特币减半影响:Iterative Capital负责人张磊(Leo Zhang)近日表示,由于比特币将在6个月内出现下一次减半,矿共在管理生产费用(挖矿成本)和区块奖励时需要更加谨慎,以抵消收入(挖矿奖励)减少的影响。(The Block)[2019/12/12]

所以Layer0的概念至此总结一下,其工作主要集中在发链、多链和跨链这三层,让发链变得更简单,但发了这么多链互相不通那也无法形成合力,于是需要解决跨链的问题。

Layer1底层区块链

Layer1是底层区块链,熟知的比特币、以太坊、币安链都属于Layer1,以及Avalanche、Near和Terra等,因为它们都是自己生态系统中的主要网络,在自身区块链上处理并完成交易,同时也具备自己的原生Token,最近新起的两大新公链Aptos和Sui也是Layer1,但是注意很多人容易把Layer1和公链混为一谈,公链包含Layer1但不是等于的关系。

Layer1公链是crypto世界中护城河最深的一个物种,当越来越多的节点、开发者、项目加入其生态后,滚雪球的优势将会非常明显,除非是出现了Luna之于Terra这样的基础代币直接崩盘,导致这个大雪球发生了大雪崩,否则生态内大量错综复杂的利益关系会互相牢牢绑定到一起,使得链的根会攀枝错节的扎的非常深,所以打造出来一条成功的Layer1公链一直是整个crypto圈子里无数组织前赴后继的。

目前应用领域最大的Layer1公链是以太坊,所以竞对链都会想办法从以太坊生态中争夺开发者与用户,因为以太坊这个贵族链在高峰期动辄数十美金的GAS费对于我这种普通小韭菜来说还是肉疼的不行,所以目前绝大多数的竞对链都主打低gas、高TPS的策略来争抢用户资源,比如这个星期刚完成空投大热的Aptos,这里简单提一嘴,当时Aptos上主网后很多营销号带节奏说Aptos号称10KTPS实际上只有4TPS,然后一通冷嘲热讽让别人觉得注水了,10KTPS是理论最高可以承载的量,4TPS是当时实际正在跑的量,就像是港珠澳大桥理论上号称单日25万通关量,实际上每天跑的车寥寥几辆,但是能说港珠澳大桥性能注水了吗?

打造公链就像是打造一座城市,一座城市的繁荣需要的是先修建好住房、医院、商场、铁路等基础设施,打造宜居的环境,居民才会搬过来生活,如果一条链没有应用把用户抢过来也没用呀,Aptos性能上再强理论TPS再高,没有足量的应用去验证也是一座没有车跑的港珠澳大桥状态,所以公链吸引开发者的手段可以分为几种:

公链给足开发者扶持,来我这里开发应用给钱给流量,所以这也就是为什么大量的公链背后都是交易所站台,得出得起钱呀,然后整天搞黑客松,发grants来招商引资。

新公链对于开发者来说最大的吸引力在于足够空白,因为成熟的以太坊竞争已经太激烈太卷了,去了新的公链甚至可以直接把以太坊上已经验证成功的应用直接照搬上去,比如最近大家应该看到sui上的NFT交易平台、域名服务商这些已经在以太坊滚瓜烂熟的东西依然拿到了大额融资,群里我看很多人戏称换个语言任何项目都能重新做一遍。

还有一个我认为行之有效的手段就是直接EVM以太坊虚拟机兼容,对于开发者来说最大的成本不是写代码,而是学代码,一种完全陌生的技术栈从零开始学起,然后实操开发,调试debug等等一套下来会劝退很多开发者,那有没有什么办法能够让以太坊生态的开发者可以顺滑的低成本迁移到新链上去呢?有没有办法我可以用Mac电脑开发并调试运营Windows的应用呢?安装一个虚拟机,大家应该身边也存在这样的朋友买个Mac用的不顺手,给它改成Windows系统,或者其实就是运行了一个虚拟机,虚拟机就是用软件模拟计算机系统。EVM就是服务于以太坊的智能合约,所以如果使用EVM兼容对于开发者就可以直接顺滑的将以太坊的应用迁移到兼容链上去,大家熟知的BSC就是EVM兼容链。

Layer2主流解决方案:rollups

再来聊聊Layer2,刚才说很多Layer1的竞争链瞄准以太坊“贵”和“慢”来打,但是对于以太坊本身有什么办法能够优化呢?Layer2是一种方式。

在讲Layer0部分的时候我聊到了单体链,一条链上将所有事都干了,这能不堵吗?这时有人想到了能不能把以太坊上的交易拿出来在外面执行,然后将结果返回给以太坊做数据可用性处理,这种操作方式被称为rollups,也是Layer2主流解决方案,就像是原本一条路上非常堵,我给它修个高架桥,当然我还看到一种有趣的解释,做核酸10人混管就是rollups。

所以通过将交易放在链下处理,不需要经过以太坊缓慢的共识过程,从而来减少以太坊主网上的计算量,提高整体处理速度和吞吐量。

我之前读书时恰好研究方向也是区块链扩容,当时写的论文中提出的方案也和rollups异曲同工如下图所示。

刚才说到rollups就是将计算在链下执行再将结果放到链上的过程,这个过程最大的问题就是在于怎么证明这个结果是有效的,两种证明方式也就产生了两种主流的rollups方案:Optimisticrollups和zkrollups。

人如其名,Optimistic的英文含义是乐观的,即Optimisticrollups使用了欺诈证明作为数据有效性的验证方式,在将链下计算完的结果同步给以太坊主网后,会乐观的默认数据是正确的,如果有人认为数据不正确也就是存在欺诈,就可以在窗口期又称质询期内通过计算欺诈证明来质疑汇总交易的结果。

如果证明成功存在欺诈,则会重新执行交易更新数据状态,并且当时将该交易打包的排序节点就会受到惩罚,削减它提交的保证金,并分发给提交了欺诈证明的验证节点。

在这个过程中重要的角色除了两个节点:排序节点和验证节点外,还有另外两个重要的角色参与:CTC交易合约和SCC状态合约。

这里逻辑稍微有些复杂需要大家耐心理解,所有Optimism的交易数据区块都存储在以太坊一个特殊的被称为CanonicalTransactionChain的合约,简称CTC,合约地址为:

0x5E4e65926BA27467555EB562121fac00D24E9dD2

可以看到排序节点Sequencer每分钟大约写入两批次,每个批次可能包含几百笔交易数据,CTC合约主要存着的是交易数据摘要。

另外将交易后的状态根StateRoot存入StateCommitmentChain合约,简称SCC,合约地址为:?

0xBe5dAb4A2e9cd0F27300dB4aB94BeE3A233AEB19

约每6分钟写入一批次,验证节点可以去读取这两个合约中的记录进行验证计算是否交易存在欺诈行为。

以上就是Optimistic证明数据有效性的方式,有点博弈论的感觉,通过双方对抗加激励模型实现最小程度作恶欺诈的效果,我们再看看ZK是如何解决的。

zkSync是zkrollups的主要玩家,它的官网slogen是relyonmath,notvalidators,依赖数学,而不是验证者,这句话就是针对于Optimistic欺诈证明说的,可见对于Optimistic火药味满满啊。

zkrollups中每一笔交易的有效性都是在交易发生前验证的。排序节点无法作恶。但是Optimistic?Rollup中,排序节点的行为不受约束,因此必须存在验证节点去监视欺诈交易,一旦发现就需要向主网提交欺诈证明。

zkrollups相比于Optimisticrollups最大的好处在于因为使用零知识证明的纯数学计算来进行交易有效性验证,所以将资金转移至以太坊不会存在延迟,因为一旦zkrollup合约完成了有效性证明,就会执行交易。相反从Optimisticrollups中提取资金会有所延迟,因为要为欺诈证明留出一定时间。

zkrollups的核心架构:

链上合约:逻辑与Optimistic一样,在以太坊部署对应的智能合约用于存储区块汇总数据、验证合约等,但是不需要像Optimistic一样去发布太多交易数据在以太坊链上合约,因为其有效性在上链之前就已经得到了证明,而不是Optimistic需要将数据发到链上用于他人验证,但zkrollups也可以将交易数据存放在智能合约的calldata中,它是一种不可更改,但是不持久的临时存储区域,类似于内存,所以有需要也可以获取到交易数据。

链下虚拟机:虽然zkrollups依附于以太坊,但交易执行过程存在于独立的EVM虚拟机,即实际zkrollups执行的环境。

其在大流程上和Optimistic类似,用户签署交易后,提交给zkrollups的Layer2排序节点进行处理并打包在一个批次中,然后提交给以太坊。

zkSync使用的零知识证明太复杂了涉及到大量的加密数学,看的头大实在没理解透认怂了,所以这里就不班门弄斧复杂粘贴一些开发手册里我自己都看不懂的数学公式假装我看懂了。

以上就是我个人对于Layer0、1、2的研究与理解,还是一开始说到的Layer层的概念目前没有明确的统一界定,所以这篇文章均为我个人的理解分析,不代表官方立场,也肯定会存在一定程度的主观、偏差和不足,欢迎交流探讨,共同学习。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

DAI元宇宙政策加持 产业加速创新

五部门联合印发《虚拟现实与行业应用融合发展行动计划》的通知。文中指出,虚拟现实产业发展战略窗口期已然形成,到2026年将实现以下发展目标:三维化、虚实融合沉浸影音关键技术重点突破,新一代适人化虚拟现实终端产品不断丰富,产业生态进一步完.

[0:15ms0-2:52ms