各位朋友大家好!这里是NFT阿数,近年来随着区块链技术的不断更新迭代,一个Web3的区块链词语出现在大众眼前的频率越来越高了,其实这个Web3目前还并未做到应用层的规模性落地应用,还是在不断的探索更新当中。
但是不难推测,最终Web3的出现对于现在的所有人来讲只是一个时间问题,所以说阿数今天就先带大家来看一篇非常不错的内容,本篇内容详细丰富,并且内容养分很高,如果有小伙伴部分内容没有看明白的可以私信阿数,我们可以共同探讨。
区块链宇宙层级结构图
互联网金融/金融科技和去中心化金融 DeFi,两者的技术架构图对比如下:
图片来源:《加密资产不是洪水猛兽,读懂 DeFi 基础架构基本特质与变革潜力》
传统金融与互联网的关系,可以用下图展示:
传统金融业与互联网
传统金融为互联网创业企业提供金融支持(天使,种子,贷款等形式),而互联网企业将产生的利润的一部分,作为本息还给金融机构,实现了金融与实体产业的闭环。
类似地,在 Web3.0 时代,我们认为 DeFi 与 Web3.0 的关系如下图所示:
去中心化金融与 Web3.0
Web3.0 Times
《Token 分类的五个维度》
本文不准备对 Token 的分类理论展开叙述,读者可查阅文末的参考资料进一步了解。
2017 年 6 月 SEC(美国证监会)宣布 DAO Token 为证券(参见《SEC Issues Investigative Report Concluding DAO Tokens, a Digital Asset, Were Securities》),按证券相关法律进行监管。这是对区块链 Token 的一次重大定性。
而《证券型 Token 发行的监管范式转变》一文也认为 STO(Security Token Offering)发行的 Token 应该以证券形式被纳入监管框架。
在有效保障国家金融稳定和维护市场秩序的前提下,应当为金融创新模式预留足够的创新空间,有条件地接受制度变革。其中,利润获取方式成为判定是否构成证券的关键因素。
而 Appchain 或 Web3.0 App 作为进入人们日常生活的落地型应用,自然应该积极拥抱监管。
基于以上背景信息,回到 Appchain,在 Web3.0 App 中,我们应该发行证券类 Token 和功能性 Token,而不应该在 Appchain 中发行 Currency Token。
其实在整个区块链宇宙中,能归类于加密货币的 Token 非常少,货币作为一般等价物,是价值交换的媒介,只有极其有限的 Token(比如比特币)有潜力承担起这个角色。
另外,应用层的 Token 如果不归类于证券型 Token 或功能型 Token,那么将会在监管层面遇到严重阻碍。
另一方面,证券/功能 Token 也需要进入市场流通。一旦涉及到资产流通,我们应该把相关的业务逻辑剥离到 DeFi 层去执行。在 Appchain 层,应尽量只处理具体应用业务相关的事务。
顺便提一句,Token 的中文翻译使用「通证「较」代币」准确,建议以后不要将 Token 误译为「代币」。
最适合 Appchain 的共识是 PoS 类共识。
首先,我们在 Appchain 中排除 PoW 共识,理由如下:
PoW 能源消耗巨大,全世界最终能容纳的 PoW 链有限,可能只有少数几条
PoW 链冷启动非常困难,在平台总算力达不到一个临界值的情况下,PoW 链的安全性非常脆弱
相比之下,PoS 链有如下基本特点:
能源消耗非常少(相比于 PoW),以太坊的评估是不到 PoW 耗能的 1%
PoS 链启动时,需要使用其它资产做抵押。其安全性从一开始就得到了保障,并且随着应用链价值的增长,其用于安全性的抵押也会相应增长,也即安全性也是一条正相关增长曲线
当然,PoS 也有一些自己的问题,全世界无数聪明的大脑都在尝试各种创新去解决这些问题,并提出了各种改进型的 PoS 协议,比如 DPoS, NPoS, LPoS 等。关于 PoS 与 PoW 各自的优劣比较,不是本文的重点,可查阅相关资料深入研究。
从另一方面来说,PoS 类协议更像传统股份公司,只不过现在变成了社区化的公司。基于 PoS 协议的 Appchain 或 Web3.0 App 创业团队,仍然需要像 Web2.0 时代的创业团队一样,靠团队自身的特质和努力,做出创新,推向市场,解决具体问题,生成价值反馈,发展壮大,最后发展成一个由社区拥有的的平台级项目。
就经典 PoS 来说,它本身不太适合小团队直接使用,它有点像一只野马,难以驾驭。一个初创团队,很容易被 PoS 带进坑里。因为它不仅是一个技术问题,还是一个社会学问题。并且一旦在治理上出问题,往往就已经无法回头了。
一般来说,Appchain 的节点不会太多。开始可能只有几个,发展到成熟阶段可能也就只有几十个。过多的节点会影响业务系统的运行效率,Appchain 极其重视用户体验,项目需要在安全性、运行效率、用户体验上做一个平衡。
考虑到 Web3.0 App 作为真正影响人们生活的产品,未来它一定会拥抱监管。在有监管参与的情况下,Appchain 选择 PoS 更合适。因为理论上监管方可以直接作为一个节点加入网络,进行第一手的数据监管和分析。
Appchain 独立链的问题
Appchain 虽然有众多优点,但是其缺点也是明显的。本节详细分析一下 Appchain 作为独立链的缺点。
开发难度。以前,要从底层开发一条独立的区块链出来,是一件非常困难的事情。很多区块链项目,就是把比特币或以太坊的源代码克隆一份出来,改改参数,改改模块,就是一个新的区块链项目了。
即使这样,开发难度仍然很高。要运维并上线一条独立的链,难度更高。但后来,Cosmos-sdk, Substrate, Muta 等框架出来后,启动一条新链变成了一件非常容易的事情,这些开发框架大大降低了区块链的研发成本。
启动难度和安全性。启动难度指的是成功启动一条链的难度,其与安全性密切相关。对于 PoS 链来说,其初始质押量、验证人节点数量、STO 分配的合理性及 Token 的发行机制等,都直接影响链的安全性。
要考虑周全,对于一个创业团队来说,实属不易。独立链的启动还需要每个验证人启动自己的节点,这对验证人的技术能力和运维能力有一定要求。有一些三方托管节点代运营之类的辅助服务,可一定程度降低此类要求。
运维难度。验证人节点,需要运维自己独立的服务器。运维体现在几方面:
● 服务器的稳定运行。监控其 CPU 负载、内存负载、网络负载、存储空间等等,适时增加配置,防止由于硬件原因导致节点运行失败
● 防攻击。做好节点防护,防止外部黑客或不明来源攻击,对链的安全性造成冲击
● 链上代码版本的及时升级跟进。有些版本可以通过 wasm 之类的技术自动升级,有些版本却需要升级整个节点内容,需要手动或 DevOps 自动跟进
相比之下,合约平台上的合约开发者,不需要关心这么细节的运维内容。
跨链交互难度。如果所有的链都是独立的、互不交互的链,那么最终只会形成一个个的价值孤岛。链与链之间打通,增加价值的流动性,才能创造出更多价值。因此跨链交互是 Appchain 必须从一开始就考虑的问题。
对以太坊来说,上面的合约不需要考虑这个问题:对内来说,以太坊资产共享同一个状态空间,不同合约资产之间是可以组合交互的。对外来说,只要以太坊与其它链做好跨链桥,就能方便地利用这些桥转移资产。
但 Appchain 得自己面对这个问题,要么是自己实现与其它链的跨链桥,要么使用类似 Cosmos IBC 这样的跨链通信接口,要么加入类似 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 开发的链之间,就能无障碍的互通。
但是 Cosmos Appchain,仍然没解决链初始阶段的安全性启动问题,将安全性启动问题抛给了 Appchain 自己去解决。
Polkadot 目标是成为一个完美的区块链扩容方案。
Polkadot 的 Substrate 是区块链的快速开发框架,非常优秀。具体可参见笔者《为什么 Compound Gateway 使用 Substrate 进行独立链的开发》。
Polkadot 共享安全性,其质押安全性非常高,这点与合约平台做到了同级。
Polkadot 还支持平行链之间的跨链消息,让平行链之间可以无缝实现资产流通。
以上这三点,解决了前面描述的其中三个最大的问题,看起来 Polkadot 的方案完美无缺了。
但是它也带来了新的问题。Polkadot 中继链的安全等级很高,安全机制非常复杂,导致平行链插槽的竞拍质押成本非常高,进而带来了其平行链的年租金非常高,这给平行链的 Token 经济的设计和发行带来了不小的压力。
从这一点来说,对平行链的发展不友好。由于这个特性,Polkadot 逐渐由开始面向 Appchain 的中继网络,变成了面向平台的平台(Platform of platform),也即 Gavin 自称的 layer0。
Polkadot 的每个插槽,实际连接的是一个同构[1] [2] 分片。而每个分片,就是一个平台。100 个插槽,就是 100 个分片。因此波卡可以连接 100 个平台,是一个 100 个分片的网络。而 Polkadot 网络中的应用的开发模式,则再次回到了在某一条平行链上进行合约开发部署的模式。从这个模式来讲,反倒与以太坊 2.0 殊途同归了。
我们在本节分析了市面上典型的几个 Appchain 集群方案。可以看到,问题确实非常复杂,想要得到完美的解决方案,不是那么容易。创新有无限多可能性,核心在于妥协的艺术。未来不排除有更好的设计能较好地(折中地)解决 Appchain 的那些问题。
Appchain 开发框架简介
几乎每条区块链都有自己的 SDK,但不是所有的 SDK 都是为 Appchain 开发设计的。我们这里主要介绍几种用于开发 Appchain 的开发框架。
Cosmos-sdk
https://tendermint.com/sdk/
《Cosmos SDK 开发者文档》对 Cosmos-sdk 描述如下:
Cosmos-sdk 是一个开源框架,用于构建类似 Cosmos Hub 等基于 PoS 共识算法的多元资产公有区块链,以及基于权威证明共识算法的许可链。使用 Cosmos SDK 构建的区块链通常被称为专用区块链(application-specific blockchains)。
Cosmos SDK 的目标是让开发者可以快速地构建一条能与其他区块链以原生的方式进行互操作的可定制区块链。在他们的设想中,这套 SDK 就像 Web 应用框架一样,可以让开发者迅速构建出基于 Tendermint 算法的安全区块链应用程序。
由 Cosmos SDK 开发的区块链由组合式模块构建,其中大部分模块都是开源的,且任何开发者均可使用。任何人都能为 Cosmos SDK 创建新的模块和集成已经构建的模块,就像将他们导入你的区块链应用程序一样简单。
还有一点,Cosmos SDK 是基于功能(capabilities)的系统,这允许开发者可以更好地考虑模块之间交互的安全性。
Substrate
在开发 Polkadot 的过程中,Paritytech 公司将区块链的所有功能,拆解成抽象的设计,实现到一个开源的、通用的区块链框架中,并以此框架为工具,构建 Polkadot 产品。这个框架就是 Substrate。
Substrate 是一个用 Rust 语言开发的以通用性为目标的区块链开发框架。它的设计元素,比如密码学算法、存储结构 MPT 树,账户体系等,大部分借鉴自有史以来最成功的以太坊的基础设施,(这个可以理解,Paritytech 最早就是做以太坊客户端起家的,Gavin Wood 也是以太坊的联合创始人之一)。
一个框架,要做到通用,就需要高度抽象。而高度抽象的代价往往会显得结构复杂,不易于使用。所以 Substrate 也提供了很多 DSL(领域特定语言),方便新手学习使用。简单归纳一下,Substrate 具有如下特点:
面向通用。其设计面向通用领域,而不是专为某一条链做开发的 SDK。每个团队都可以使用 Substrate 开发出一条完全独立的不依赖于任何既有网络的链出来(比如,使用 Substrate 开发的区块链可以与 Polkadot 完全无关,这也是 Paritytech 的设计目标之一)功能全面。
能覆盖区块链几乎所有的场景,可以说是目前市面上功能最全面的区块链框架 Runtime 代码编译成 wasm 执行。Wasm 是当今区块链业界主流的 VM 字节码选择可定制性超强。Substrate 本身是一堆分散的组件,可以在一套规范约束下,自由替换组件,自由组合
作为目前为止最强的区块链开发框架之一,Substrate 受到了越来越多创新团队的欢迎。
Muta
Muta 是 Nervos 团队开发的区块链 Appchain 开发框架。其文档这样描述:
Muta 是一个多面的,高性能的区块链开发框架,让构建区块链变得简单灵活。区块链开发者可使用 Muta 快速构建他们自己的区块链,将焦点聚集在业务功能性上,从而消除了从头搭建底层网络和共识机制的巨量工作。
Muta 提供的基本核心组件有:
● 一个新设计的共识算法 – Overlord,具有高吞吐量和低延迟
● 快速和稳定的存储
● 模块化 p2p 网络
● 高性能内存池
Muta 提供定制的部分有:
通过开发服务——包括治理机制、业务逻辑,甚至是连接到区块链的虚拟机等,开发者可方便地定制链的功能。
在 Muta 中,服务是一个抽象层,用于拓展 Muta 框架。每一个服务是相对独立的单元,维护其自己的存储和操作接口。这些服务共同形成了链的状态机部分,在与区块链的底层组件连接后,就成为一条属于你的独一无二的区块链。
其它还有很多区块链快速开发框架,本文就不一一列举了。
总结
本篇对当前的区块链宇宙从价值捕获的角度提出了一个 C0, C1, C2 分层的理论。并在此理论上分析了 DeFi 与 Web3.0 的区别和联系,论证了为什么区块链(DeFi 部分)需要 Web3.0。
然后详细对比了智能合约 Smart Contract 与应用链 Appchain 各自的优劣。最后对用于承载 Web3.0 App 的主体区块链——应用链,做了全面的研究,为未来基于应用链的实践创新,打下了理论基础。
Web3.0 由理想变成现实,需要无数的团队在各个领域充分实践。在实践中总结经验,修正理论,探索新的编程范式、产品范式、治理范式。在市场的拼杀中,获得用户的第一手反馈,改进产品形态,升级用户体验,最终踏出一条康庄大道。
曙光已经升起,只待勇敢前行。
最后一定要记得关注阿数哟,每天带你学习更多区块链知识,让你早日脱离小白称号!
『 声明:本文为原作者独立观点,内容仅限于提供学习分享与交流,不构成任何形式的投资意见或建议,请读者理性看待,树立正确的理念,提升自身投资风险意识。文章版权和最终解释权归文章原作者所有 』
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/162588.html