区块链:为什么区块链需要Web3.0

前言

在上一篇《为什么Web3.0需要区块链》中,我们探讨了为什么Web3.0应用/平台需要将区块链作为底层组件来构建和驱动的问题。而本篇我们将会辨析,区块链与区块链有所不同,不可能由一条链解决所有问题。

Web3.0平台内的区块链,应特指面向应用的区块链——与以太坊这种公链有着巨大差异。

以太坊的发展路径

世界计算机

2017年左右,以太坊被认为是一台“世界计算机“——一台永不宕机,全世界每个人都可以写代码在上面运行的机器。

就其这两点来说,以太坊确实做到了。但大众通常理解的”计算机”,是一种能够做通用计算的工具。而以太坊的计算成本非常高昂,并不能用来做通用计算,更不能做大数据计算之类的事情。从这个定义来说,以太坊并不是一台通用计算机,其最多只能算作是专用的计算器。计算不考虑成本,就是耍流氓。在2021年的当前,已经无人提“世界计算机“这个概念,以太坊早已变换了其自身的定位,其作为“世界计算机“的理想,算是失败了。参见:《为什么我不再把以太坊解释为“世界电脑”》。

关于世界计算机,我们有一个很好的类比物——目前火热的后云原生的Serverless技术栈。Serverless也具有“世界计算机“的特征:只关心业务功能实现,不关心系统资源分配和运维,不关心扩容问题,世界上每个人都可以写代码在上面运行等等。由于这种类比性,我们可以以Serverless领域发展过程中出现的一些问题来说明区块链如果作为世界计算机会存在哪些问题:

成本问题:Serverless在专用领域的短平快服务上占优势,拿来做长期服务和通用计算,在成本上反而超过传统容器计算。参见:《Serverlessismoreexpensivethanyou'dexpect

》,《ServerlessvsDockerContainers—whattochoosein2020?(updated)》

扩容问题:世界计算机的一个基本要求就是:自动扩容。对客户来说,世界计算机的计算能力和存储能力,应该是没有上限的。而扩容问题是区块链领域最难的问题,没有之一。从这一点来看,区块链在这个方向上比较悲观。

平台绑定问题:目前Serverless还有一个极其严重的问题:平台绑定。你所开发的serverless程序被强绑定在某一个云平台上的,如果想切换平台,就得重新为新平台编写代码,重新经受验证,这个代价太高了。这也是很多客户,特别是企业级客户最重视的问题之一。即使基于区块链实现了世界计算机,这个问题也是必须要面对的一个问题。

最后,我们来一个灵魂发问:世界计算机,是否是另一种形式的中心化?

不管怎样,Dfinity在这个方向上仍然在积极地探索着。

DeFi大爆发

世界计算机做不成了,以太坊的出路在哪?

早在2018年,《以太坊的故事结局不是“世界计算机”,而是“开放金融”》一文就认为以太坊最适合DeFi,即开放金融。因为逐渐有丰富的金融类协议,在以太坊上建立起来了,其文中对这些金融类的应用进行了归类,看到了DeFi对传统金融体系发起挑战的可能性。

到了2020年,由于客观条件的成熟以及某些偶然性因素的触发,以太坊迎来了DeFi大爆发,DeFi正式成为以太坊上的杀手级应用。Compound,Maker,Aave,Synthetix,CurveFinance等头部应用迎来了大量的用户增长。参见:《DeFiexplosionpushesEthereumpriceto2020high》。所有人都在欢呼,以太坊终于找到了自己的价值核心。

但是DeFi大爆发也引起以太坊平台上一些严重的问题:网络拥堵,手续费高涨,导致抵押规模和用户规模扩大受限。这是典型的负网络效应。

也就是说,现阶段的以太坊已经无法承载这么多的价值了。

价值溢出

由于现阶段以太坊如此拥堵,而Eth2.0又遥遥无期,于是社区在扩容问题上进行了大量的讨论和创新,现在基本上达成了先建设二层网络的共识——通过二层网络来扩容。目前二层网络有多个方向同时在探索,OptimismRollup,ZKRollup,Arbitrum,Polygon等等,不同的方向上竞争非常激烈。

其中Polygon目前风头最盛。而目前Polygon的实现,严格来讲并不能算二层网络,它其实是一条侧链。侧链本身只是一个概念,并不能算是一种具体的扩容技术手段。侧链是一种相互关系,也就是说,通过一个桥连接的两条链,它们互为侧链。只是当前Eth基本一家独大,几乎所有的有价值资产都在Eth上,Eth自身性能又弱,所以会让人感觉所有“搭了桥去Eth“的链,都可以算是Eth的侧链。从这一点来讲,Polygon的方案其实可以跟NEAR,BSC这些公链对以太坊的扩容思路归入同一类。

打个比方,以太坊就像一个蓄水池,虽然想尽办法在给它挖宽挖深,但是始终赶不上水流入的速度,于是渐渐就容不下这么多价值了,于是就会溢出。这就是以太坊的价值溢出效应。

不仅是二层网络,包括各种公链都想抓住机会,争夺这种溢出效应。如:BSC,Solana,NEAR,Polkadot等等。参见:《解析Layer1竞争格局:新公链的机会在哪里?》。

从这里,我们看到了一个现象,区块链世界,已经不可能是一条链独步天下了,未来一定是一个多链的世界。即使以太坊2.0成功上线,也不大可能解决以太坊1.0DeFi拥堵的问题,参见《以太坊2.0中的DeFi:城市、郊区和农村》。

区块链的分层结构

如前所述,我们坚信未来是一个多链的世界。那么,这些链之间,是不是就是混沌的,杂乱无章的存在形式呢?

要研究一个系统的结构,应该找到一个基本量。从不同的基本量出发,可以给系统划分出不同的结构。而在这里,我们沿用上一节提到的基本量:价值捕获。

我们从价值捕获的角度来划分,可以将区块链世界划分为一个三层同心圆结构:

区块链宇宙层级结构图

对此层级结构图解释如下:

我们从最内核圈层Circle0或C0看起。处于最内圈层的是Bitcoin和Ethereum,它们的总价值占据了目前区块链市场的大部分。Bitcoin通过在以太坊上封装质押而进入DeFi领域。以太坊是整个区块链宇宙价值的核心,也是价值输出的源头。

第二圈层Circle1或C1,包含以太坊的各个二层网络,和各种侧链,以及其它所谓的layer1公链。它们捕获从以太坊溢出的价值,并共同参与组建DeFi大生态。值得注意的是,所有基于合约开发的Dapp应用都属于这一层。

第三圈层Circle2或C2,是各种面向特定应用的区块链,Application-specificBlockchain,简称?Appchain。这些Appchain,用于承载各种与现实世界接轨的落地性应用,也即Web3.0App。笔者倾向于将这些应用与金融或资产属性相关的应用区分开。Web3.0App更多地对应于传统Web2.0世界的应用,或者一些新场景的应用。Appchain是这些Web3.0App的核心组件。Web3.0中的区块链,指的就是Appchain。

三个圈层C0,C1,C2,其中C0,C1主要用作资产和DeFi相关的应用,C2主要面向具体的落地应用,即Web3.0应用。

那为什么C2不可以用作DeFi呢?其实也并不排除。但从总体上来说,C0,C1已经能把DeFi问题解决好了,没必要让C2参与进来了。C2层应该专心处理Web3.0的问题。

这里,我们提出的这套分层理论,有几个方面的意义:

第一个意义是,价值捕获的分层:一条链容纳不下所有价值,必然分配到多条链上去。

第二个意义是,安全性的分层:不是所有链都需要同样的安全级别,有些追求更高的安全性,有些追求更高的性能,有些追求更高的可扩展性。三个圈层由内及外,可以认为安全性需求逐渐减弱,性能需求逐渐提高。

第三个意义是,业务焦点的分层:DeFi与Web3.0业务相互分开,各自将精力放在不同的关注点上,解决好各自的问题。同时,也需要研究出适当的机制,让两个部分可以交互协作。

简单说来,就是不同的区块链在不同的层上干不同的事情。

DeFi与Web3.0

回顾区块链的发展,会发现其最初就是围绕金融问题而做的一系列创新。也正是在这些大量的创新的积淀下,才有了DeFi的爆发。如前所述,我们将DeFi与Web3.0两者分开。DeFi是去中心化金融的缩写,指那些建立在区块链网络之上的金融应用,而?我们定义Web3.0特指构建于开放协议之上的所有非金融应用。两者有清晰的边界。

那么,DeFi和Web3.0之间的关系是怎样的?这是一个值得深入探讨的课题。

我们先从金融说起,金融是什么?刘俏教授曾在《如何重塑我们这个时代的中国金融》中总结:在现代经济体系下,金融是由实体经济、金融系统、政府宏观政策、国际资金流动、资产定价等模块交互形成的一个复杂生态系统。与此同时,他认为好的金融一定是中介成本最小化的金融。

在Web2.0互联网时代,谢平教授和邹传伟博士提出了互联网金融的概念。在《互联网金融的基础理论》文章中,他们认为互联网可以降低交易成本和信息不对称,提高风险定价和风险管理效率,拓展交易可能性边界,使资金供需双方可以直接交易,从而改变金融交易和组织形式。

理想情况下,在互联网时代,资本应该像信息一样无缝流通,交易成本应该是最小的。但是刘俏教授认为过去130年金融资产的平均成本基本未变,他将这种现象称为“金融发展之谜”,即金融不断演进,却没有带来金融中介成本的下降。

如何把金融中介成本降下来?这是构建DeFi的加密世界的工程师和创业者正在做的探索与试验。

DeFi希望利用区块链技术创建一个更开放和透明的金融服务系统,其显著特点是无须许可的开放性和交易数据的透明性。同时其结算是即时的,其金融服务是全天候??7*24小时,而目前我们的全球金融体系只在朝九晚五的时间(非周末和节假日)内运作。

互联网金融/金融科技和去中心化金融DeFi,两者的技术架构图对比如下:

图片来源:《加密资产不是洪水猛兽,读懂DeFi基础架构基本特质与变革潜力》

通过简单对比两者的架构图,DeFi应用正在试图从基础层上重建金融服务,其运行成本会比传统金融低几个数量级。

目前的DeFi主要集中在金融的支付与清结算、资金融通等功能上,在金融风险评估,社会资源配置,尤其是金融合规可监管方面与金融科技的发展相去甚远。我们以传统借贷的例子对比来看,企业贷款做生意,产生价值收入还贷,银行收取利息。而DeFi大都是只在协议之间流转,资金没有进入社会领域,没形成有效的闭环,并未发挥金融对社会资源配置的功能。

因此,DeFi只是在金融服务方面先行一步,MakerDAO,Compound,Uniswap,Synthetix等代表性的项目引发了DeFi浪潮。但在经历了时长近一年的爆发式发展后,DeFi的发展现状很“内卷”,各个赛道挤满了同质化的项目。DeFi迫切需要向外突围,寻找新的市场空间,寻找能与实体产业结合的真正的价值闭环。

传统金融与互联网的关系,可以用下图展示:

传统金融业与互联网

传统金融为互联网创业企业提供金融支持,而互联网企业将产生的利润的一部分,作为本息还给金融机构,实现了金融与实体产业的闭环。

类似地,在Web3.0时代,我们认为DeFi与Web3.0的关系如下图所示:

去中心化金融与Web3.0

上图中DeFi给Web3.0的应用项目融资,Web3.0的应用项目产生持久利润,并对投资方产生利息收益,从而对DeFi?实现真正的价值输入。

区块链发展到DeFi阶段,如果要真正长久地发挥区块链技术的价值,它需要依赖Web3.0的价值输入。Web3.0是DeFi与现实世界的接口。

我们前面提到,每一个Web3.0App中,都应包含一个Appchain。然后,众多的Web3.0App一起,共同创造了Web3.0。他们的关系呈现出来,便是下图:

Web3.0Times

可以看到,相比于Web2.0,在Web3.0时代,我们多了区块链的内核。

Contract与Appchain

DeFi基础设施层的区块链和Web3.0应用中的区块链,它们是有差别的。

再次回顾区块链的发展史,诞生区块链概念的比特币项目开启了挑战央行对货币和金融体系垄断的大门,从这个角度来讲,比特币是最初形态的DeFi。随后由DanielLarimer创建的Bitshares可以看作是第一个尝试DeFi的项目。但理想丰满现实骨感,BTS的探索最终流产。后来VitalikButerin提出了以太坊,它建立了一个可编程的、图灵完备的智能合约区块链,期望成为去中心化应用开发平台。至此基于智能合约技术,全球加密开发者进行了各种积极的探索,开发了各种类型的去中心化项目。根据当前Coingecko市值分类数据,我们会发现市值排名前三的是稳定币,交易类,DeFi,这些均为金融资产交易类的应用。从这个角度来讲,智能合约并不适用于开发所有领域的DApp,而是更适合金融领域DeFi应用。

随着区块链技术的发展,出现了CosmosSDK,Substrate,Muta等区块链开发框架,这为开发人员提供了一种完全不同于智能合约的方式来创建去中心化应用程序。合约是面向一个通用的虚拟机开发,受限于底层虚拟机的限制,可定制性较弱;而使用区块链开发框架,开发人员则可以选择框架中各种可用的模块或者构建自定义模块来快速定制和启动一条区块链,这样就大大提升了灵活性。比如:由于证券型通证需要基础设施层具有更多的功能来确保监管合规性和增强机构信心,Polymath为此专门构建了一条区块链?Polymesh?来更好地实现证券型通证的创建、发行和管理。Compound则专门构建了?Gateway?区块链来实现跨链利率市场。这些团队由于智能合约平台的某些限制转而选择构建应用链,一定程度上说明了应用链更适用于开发Web3.0的App。

下面是SmartContract与Appchain的区别。

从上表可以看出,SmartContract的可组合性强,有利于DeFi应用的创新。Appchain自主可控,可定制性高,适合面向具体场景下的Web3.0应用。因此,当构建去中心化应用,需要面向具体业务场景做定制时,Appchain明显具有更多的技术选项。

Appchain相关研究

本文在前面章节定义了Appchain,并对Appchain与智能合约做了详尽的对比。本节更进一步,对Appchain的普遍性质做一些研究。

Appchain中的Token

我们在上一篇《为什么Web3.0需要区块链》中分析过,Token是区块链中必不可少的组成部分。

但有一个严重的误解是:所有的Token都是加密货币。实际上,并不是所有区块链上发行的Token都是货币。Token较为笼统地可分成如下三类:

1.CurrencyToken:货币型Token

2.UtilityToken:功能型Token

3.SecurityToken:证券型Token

而UntitledINC更进一步,对目前市面上的Token给出更精细的五种分类维度:目的、用途、法律、底层价值、技术。参见《Token分类的五个维度》

本文不准备对Token的分类理论展开叙述,读者可查阅文末的参考资料进一步了解。

2017年6月SEC宣布DAOToken为证券,按证券相关法律进行监管。这是对区块链Token的一次重大定性。

而《证券型Token发行的监管范式转变》一文也认为STO发行的Token应该以证券形式被纳入监管框架。在有效保障国家金融稳定和维护市场秩序的前提下,应当为金融创新模式预留足够的创新空间,有条件地接受制度变革。其中,利润获取方式成为判定是否构成证券的关键因素。

而Appchain或Web3.0App作为进入人们日常生活的落地型应用,自然应该积极拥抱监管。

基于以上背景信息,回到Appchain,在Web3.0App中,我们应该发行证券类Token和功能性Token,而不应该在Appchain中发行CurrencyToken。其实在整个区块链宇宙中,能归类于加密货币的Token非常少,货币作为一般等价物,是价值交换的媒介,只有极其有限的Token有潜力承担起这个角色。另外,应用层的Token如果不归类于证券型Token或功能型Token,那么将会在监管层面遇到严重阻碍。

另一方面,证券/功能Token也需要进入市场流通。一旦涉及到资产流通,我们应该把相关的业务逻辑剥离到DeFi层去执行。在Appchain层,应尽量只处理具体应用业务相关的事务。

顺便提一句,Token的中文翻译使用“通证“较”代币”准确,建议以后不要将Token误译为“代币“。

Appchain中的共识

一般来说,最适合Appchain的共识是PoS类共识。

首先,我们在Appchain中排除PoW共识,理由如下:

1.PoW能源消耗巨大,全世界最终能容纳的PoW链有限,可能只有少数几条

2.PoW链冷启动非常困难,在平台总算力达不到一个临界值的情况下,PoW链的安全性非常脆弱

相比之下,PoS链有如下基本特点:

1.能源消耗非常少,以太坊的评估是不到PoW耗能的1%

2.PoS链启动时,需要使用其它资产做抵押。其安全性从一开始就得到了保障,并且随着应用链价值的增长,其用于安全性的抵押也会相应增长,也即安全性也是一条正相关增长曲线

当然,PoS也有一些自己的问题,全世界无数聪明的大脑都在尝试各种创新去解决这些问题,并提出了各种改进型的PoS协议,比如DPoS,NPoS,LPoS等。关于PoS与PoW各自的优劣比较,不是本文的重点,可查阅相关资料深入研究。

从另一方面来说,PoS类协议更像传统股份公司,只不过现在变成了社区化的公司。基于PoS协议的Appchain或Web3.0App创业团队,仍然需要像Web2.0时代的创业团队一样,靠团队自身的特质和努力,做出创新,推向市场,解决具体问题,生成价值反馈,发展状大,最后发展成一个由社区拥有的的平台级项目。

就经典PoS来说,它本身不太适合小团队直接使用,它有点像一只野马,难以驾驭。一个初创团队,很容易被PoS带进坑里。因为它不仅是一个技术问题,还是一个社会学问题。并且一旦在治理上出问题,往往就已经无法回头了。

一般来说,Appchain的节点不会太多。开始可能只有几个,发展到成熟阶段可能也就只有几十个。过多的节点会影响业务系统的运行效率,Appchain极其重视用户体验,项目需要在安全性、运行效率、用户体验上做一个平衡。

考虑到Web3.0App作为真正影响人们生活的产品,未来它一定会拥抱监管。在有监管参与的情况下,Appchain选择PoS更合适。因为理论上监管方可以直接作为一个节点加入网络,进行第一手的数据监管和分析。

Appchain独立链的问题

Appchain虽然有众多优点,但是其缺点也是明显的。本节详细分析一下Appchain作为独立链的缺点。

开发难度。以前,要从底层开发一条独立的区块链出来,是一件非常困难的事情。很多区块链项目,就是把比特币或以太坊的源代码克隆一份出来,改改参数,改改模块,就是一个新的区块链项目了。即使这样,开发难度仍然很高。要运维并上线一条独立的链,难度更高。但后来,Cosmos-sdk,Substrate,Muta等框架出来后,启动一条新链变成了一件非常容易的事情,这些开发框架大大降低了区块链的研发成本。

启动难度和安全性。启动难度指的是成功启动一条链的难度,其与安全性密切相关。对于PoS链来说,其初始质押量、验证人节点数量、STO分配的合理性及Token的发行机制等,都直接影响链的安全性。要考虑周全,对于一个创业团队来说,实属不易。独立链的启动还需要每个验证人启动自己的节点,这对验证人的技术能力和运维能力有一定要求。有一些三方托管节点代运营之类的辅助服务,可一定程度降低此类要求。

运维难度。验证人节点,需要运维自己独立的服务器。运维体现在几方面:

服务器的稳定运行。监控其CPU负载、内存负载、网络负载、存储空间等等,适时增加配置,防止由于硬件原因导致节点运行失败

防攻击。做好节点防护,防止外部黑客或不明来源攻击,对链的安全性造成冲击

链上代码版本的及时升级跟进。有些版本可以通过wasm之类的技术自动升级,有些版本却需要升级整个节点内容,需要手动或DevOps自动跟进

相比之下,合约平台上的合约开发者,不需要关心这么细节的运维内容。

跨链交互难度。如果所有的链都是独立的、互不交互的链,那么最终只会形成一个个的价值孤岛。链与链之间打通,增加价值的流动性,才能创造出更多价值。因此跨链交互是Appchain必须从一开始就考虑的问题。对以太坊来说,上面的合约不需要考虑这个问题:对内来说,以太坊资产共享同一个状态空间,不同合约资产之间是可以组合交互的。对外来说,只要以太坊与其它链做好跨链桥,就能方便地利用这些桥转移资产。但Appchain得自己面对这个问题,要么是自己实现与其它链的跨链桥,要么使用类似CosmosIBC这样的跨链通信接口,要么加入类似Polkadot,Octopus这样的Appchain网络集群。

其中,自己实现与其它链的跨链桥基本不可行,因为在多链架构下,存在如此多的跨链桥,一个一个去实现得不偿失。

除了上述四个难度,其它还有比如治理难度:Appchain通过PoS机制进行链上治理,合约通过DAO类设施进行链上治理,难度相当。PoS本身如何运用好,是一个非技术性的问题,这是相当有难度的。Token经济学设计难度:在Token经济学设计上,Appchain能做的事情更多,更灵活,但是实现也更复杂,难度比合约大。

综合以上这些因素,我们可以断定:创始小团队基本无力负担Appchain独立链的开发和运行。

Appchain独立链的集群

为了解决以上这些Appchain独立链的问题,一些团队提出了方案。这些方案各有特色,解决问题的侧重点也不一样。

Cosmos

Cosmos致力于解决不同的区块链之间跨链交互的问题,目标是组建区块链的互联网。

首先,Cosmos-sdk用于快速开发并启动一条链,解决了开发难度大的问题。

然后,其设计了IBC协议,IBC是一个通用的方案。在实现了IBC协议的链之间,可以无障碍的跨链交互消息。使用Cosmos-sdk开发的独立链,能方便地集成IBC协议的实现。这样,基于Cosmos-sdk开发的链之间,就能无障碍的互通。

但是CosmosAppchain,仍然没解决链初始阶段的安全性启动问题,将安全性启动问题抛给了Appchain自己去解决。

Polkadot

Polkadot目标是成为一个完美的区块链扩容方案。

Polkadot的Substrate是区块链的快速开发框架,非常优秀。具体可参见笔者《为什么CompoundGateway使用Substrate进行独立链的开发》。

Polkadot共享安全性,其质押安全性非常高,这点与合约平台做到了同级。

Polkadot还支持平行链之间的跨链消息,让平行链之间可以无缝实现资产流通。

以上这三点,解决了前面描述的其中三个最大的问题,看起来Polkadot的方案完美无缺了。

但是它也带来了新的问题。Polkadot中继链的安全等级很高,安全机制非常复杂,导致平行链插槽的竞拍质押成本非常高,进而带来了其平行链的年租金非常高,这给平行链的Token经济的设计和发行带来了不小的压力。从这一点来说,对平行链的发展不友好。由于这个特性,Polkadot逐渐由开始面向Appchain的中继网络,变成了面向平台的平台,也即Gavin自称的layer0。Polkadot的每个插槽,实际连接的是一个同构分片。而每个分片,就是一个平台。100个插槽,就是100个分片。因此波卡可以连接100个平台,是一个100个分片的网络。而Polkadot网络中的应用的开发模式,则再次回到了在某一条平行链上进行合约开发部署的模式。从这个模式来讲,反倒与以太坊2.0殊途同归了。

Octopus

Octopus目标是提供一个面向Appchain的完整基础协议。

Octopus的设计:选择一条合约链平台作为主链,而不运行自己的主链或中继链,所有Appchain直接与主链进行交互。这样做的好处是降低了再独立运维一条中继链的成本,从而也降低了Appchain的接入成本。让Appchain赛道的创业成本更低,存活率更高。

另一方面,由于主链的DeFi特征,Octopus实际做了一个双边市场:一面是DeFi投资方,一面是Appchain创业团队方。资方对Appchain进行自愿Staking,成为这条Appchain的Validator。当Staking量超过一个门槛后,Appchain就进入启动的流水线。同时,Octopus还提供一整套云平台自动化工具,让缺乏足够运维知识的资方也可以做??Validator。由于Octopus将Staking角色与Validator角色强绑定,于是在做启动抵押的过程中,就顺便解决了Appchain的安全性问题。也就是说Appchain的安全性是Stakeholder和Staking量的副产品。只不过这个安全性在开始启动的时候,数值较低,随着Appchain的发展,这个数值会逐渐提高。所以这种安全性被称为leasedsecurity。这种设计也比较符合传统互联网创业团队的估值增长曲线。

Octopus的问题是,由于其主链为一条现有的合约链,其灵活性和可定制性会受到一些制约,不如完全自主的中继链那样灵活和可控。Octopus的协议设计符合资本和金融的基本规则,但实际运行效果如何,还有待观察。

我们在本节分析了市面上典型的几个Appchain集群方案。可以看到,问题确实非常复杂,想要得到完美的解决方案,不是那么容易。创新有无限多可能性,核心在于妥协的艺术。未来不排除有更好的设计能较好地解决Appchain的那些问题。

Appchain开发框架简介

几乎每条区块链都有自己的SDK,但不是所有的SDK都是为Appchain开发设计的。我们这里主要介绍几种用于开发Appchain的开发框架。

Cosmos-sdk

https://tendermint.com/sdk/

《CosmosSDK开发者文档》对Cosmos-sdk描述如下:

Cosmos-sdk是一个开源框架,用于构建类似CosmosHub等基于PoS共识算法的多元资产公有区块链,以及基于权威证明共识算法的许可链。使用CosmosSDK构建的区块链通常被称为专用区块链。

CosmosSDK的目标是让开发者可以快速地构建一条能与其他区块链以原生的方式进行互操作的可定制区块链。在他们的设想中,这套SDK就像Web应用框架一样,可以让开发者迅速构建出基于Tendermint算法的安全区块链应用程序。由CosmosSDK开发的区块链由组合式模块构建,其中大部分模块都是开源的,且任何开发者均可使用。任何人都能为CosmosSDK创建新的模块和集成已经构建的模块,就像将他们导入你的区块链应用程序一样简单。还有一点,CosmosSDK是基于功能的系统,这允许开发者可以更好地考虑模块之间交互的安全性。

Substrate

https://substrate.dev

在开发Polkadot的过程中,Paritytech公司将区块链的所有功能,拆解成抽象的设计,实现到一个开源的、通用的区块链框架中,并以此框架为工具,构建Polkadot产品。这个框架就是Substrate。

Substrate是一个用Rust语言开发的以通用性为目标的区块链开发框架。它的设计元素,比如密码学算法、存储结构MPT树,账户体系等,大部分借鉴自有史以来最成功的以太坊的基础设施,。一个框架,要做到通用,就需要高度抽象。而高度抽象的代价往往会显得结构复杂,不易于使用。所以Substrate也提供了很多DSL,方便新手学习使用。简单归纳一下,Substrate具有如下特点:

1.面向通用。其设计面向通用领域,而不是专为某一条链做开发的SDK。每个团队都可以使用Substrate开发出一条完全独立的不依赖于任何既有网络的链出来

2.功能全面。能覆盖区块链几乎所有的场景,可以说是目前市面上功能最全面的区块链框架

3.Runtime代码编译成wasm执行。Wasm是当今区块链业界主流的VM字节码选择

4.可定制性超强。Substrate本身是一堆分散的组件,可以在一套规范约束下,自由替换组件,自由组合

作为目前为止最强的区块链开发框架之一,Substrate受到了越来越多创新团队的欢迎。

Muta

https://docs.muta.dev

Muta是Nervos团队开发的区块链Appchain开发框架。其文档这样描述:

Muta是一个多面的,高性能的区块链开发框架,让构建区块链变得简单灵活。区块链开发者可使用Muta快速构建他们自己的区块链,将焦点聚集在业务功能性上,从而消除了从头搭建底层网络和共识机制的巨量工作。

Muta提供的基本核心组件有:

一个新设计的共识算法-Overlord,具有高吞吐量和低延迟

快速和稳定的存储

模块化p2p网络

高性能内存池

Muta提供定制的部分有:

通过开发服务——包括治理机制、业务逻辑,甚至是连接到区块链的虚拟机等,开发者可方便地定制链的功能。

在Muta中,服务是一个抽象层,用于拓展Muta框架。每一个服务是相对独立的单元,维护其自己的存储和操作接口。这些服务共同形成了链的状态机部分,在与区块链的底层组件连接后,就成为一条属于你的独一无二的区块链。

其它还有很多区块链快速开发框架,本文就不一一列举了。

总结

本篇对当前的区块链宇宙从价值捕获的角度提出了一个C0,C1,C2分层的理论。并在此理论上分析了DeFi与Web3.0的区别和联系,论证了为什么区块链需要Web3.0。然后详细对比了智能合约SmartContract与应用链Appchain各自的优劣。最后对用于承载Web3.0App的主体区块链——应用链,做了全面的研究,为未来基于应用链的实践创新,打下了理论基础。

Web3.0由理想变成现实,需要无数的团队在各个领域充分实践。在实践中总结经验,修正理论,探索新的编程范式、产品范式、治理范式。在市场的拼杀中,获得用户的第一手反馈,改进产品形态,升级用户体验,最终踏出一条康庄大道。

曙光已经升起,只待勇敢前行。

参考

《为什么Web3.0需要区块链》

https://mp.weixin.qq.com/s/h76lTnFWlvpXs72aBVs3FA

《为什么我不再把以太坊解释为“世界电脑”》https://ethfans.org/toya/articles/why-i-no-longer-explain-ethereum-as-a-world-computer

Serverlessismoreexpensivethanyou'dexpect

https://dev.to/colinchartier/serverless-is-more-expensive-than-you-d-expect-30o1

ServerlessvsDockerContainers—whattochoosein2020?(updated)

https://medium.com/techmagic/serverless-vs-docker-what-to-choose-in-2019-80cb80f4b680

区块链可扩展性概述-知乎(zhihu.com)

https://zhuanlan.zhihu.com/p/111750788

《以太坊的故事结局不是“世界计算机”,而是“开放金融”》https://mp.weixin.qq.com/s/8WvURohy1WD4tbf0nfbdrw

DeFiexplosionpushesEthereumpriceto2020high

https://dappradar.com/blog/defi-explosion-pushes-ethereum-to-all-time-high-price

《DappRadar二季度报告:DeFi锁仓仍集中在以太坊,Polygon生态增长迅猛》

https://www.chainnews.com/articles/805269754120.htm

《区块链扩容前史:状态通道、DPoS、大区块与侧链》

https://www.chainnews.com/articles/692744578850.htm

《解析Layer1竞争格局:新公链的机会在哪里?》

https://www.chainnews.com/articles/281730625621.htm

《以太坊2.0中的DeFi:城市、郊区和农村》

https://ethfans.org/posts/defi-in-eth2-cities-suburbs-farms

《如何重塑我们这个时代的中国金融》

http://finance.sina.com.cn/zl/china/2020-08-19/zl-iivhuipn9458143.shtml

《互联网金融的基础理论》

http://www.jryj.org.cn/CN/abstract/abstract373.shtml

《加密资产不是洪水猛兽,读懂DeFi基础架构基本特质与变革潜力》

https://mp.weixin.qq.com/s/Zm-RCSJWRzFfGur4XQ4pqw

《Token分类的五个维度》

https://mp.weixin.qq.com/s/9IW1yGB2hM8PtDnm6gmrFg

SECIssuesInvestigativeReportConcludingDAOTokens,aDigitalAsset,WereSecurities

https://www.sec.gov/news/press-release/2017-131

《证券型Token发行的监管范式转变》

https://mp.weixin.qq.com/s/oLOwrgUmB-ynvOGv0zT_iA

《未来的公司:区块链技术+Token经济》

https://mp.weixin.qq.com/s/JWoVlcdmMYmiZfwvOCJc8w

《为什么CompoundGateway使用Substrate进行独立链的开发》

https://mp.weixin.qq.com/s/DmkAX1TcfDCeWBJudqZFxg

《CosmosSDK开发者文档》

https://github.com/cosmos/cosmos-sdk/blob/master/docs/intro/overview.md

MikeTang,LesterLi

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

链链资讯

[0:8ms0-3:441ms