本文深入探讨了区块链SDK的概念、优势与风险,并详细分析了Cosmos SDK、OP Stack、Substrate、Linera SDK、Hyper SDK和Polygon CDK等主流SDK的特性与应用案例。文章旨在帮助读者理解如何根据自身需求选择合适的SDK,并权衡使用SDK构建区块链的利弊,为区块链开发者提供有价值的参考。
Blockchain SDK 是一个框架,允许生产高质量的区块链,同时节省时间和资金。
利用区块链 SDK 不仅可以节省成本,还可以利用已建立的生态系统和其他基础设施资源。
然而,技术的标准化意味着在使用 SDK 时,实现技术差异化可能具有挑战性。还需要考虑对生态系统的潜在依赖性。
无论如何,越来越多的区块链 SDK 表明区块链行业的基础正在扩大。我们希望看到更多改进的 SDK 出现,以进一步加强区块链行业的基础设施。
Base 和 Sei Network 是最近在市场上获得了很多关注的两个区块链网络。虽然两者都被认为是“蓝筹”网络,但它们也是建立在现有 SDK 之上的(尽管 Sei Network 已经做了一些修改)。这突出了从头开始使用聚合器构建自己的区块链不是一项必要的技能,并且有许多高质量的 SDK 可用。
随着区块链市场的持续增长,越来越多的参与者将希望构建自己的链,这使得区块链 SDK 变得越来越重要。在本文档中,我们将探讨可用的区块链 SDK 及其对不同用途的适用性。首先,让我们定义什么是区块链 SDK,以及一般的 SDK 是什么。
实际上,SDK 是一个在区块链之前使用的术语,它代表软件开发工具包(Software Development Kit)。为了从头开始开发软件,你必须从头开始编写所有代码,但是 SDK 可以被认为是一个从头构建的模板。因此,使用 SDK,基本代码已经存在(并且在真正优秀的 SDK 的情况下,文档编写得非常好,使得开发人员可以非常容易地使用该软件),并且你可以通过在其之上添加新代码来构建自己的软件,以适应你想要创建的软件的目的。
为了便于理解,SDK 类似于我们今天购买家具的方式,它或多或少是预组装的,以便于构建。过去,要制作一张桌子,你必须手工制作桌腿、板子和其他所有东西,但现在,所有这些部件都是预先制作好的,你只需购买它们并将它们组装在一起。SDK 可以以相同的方式看待(尽管从技术上讲,它们与家具套件有点不同。家具套件只能以一种特定的方式组装,但 SDK 可以重新设计以适应开发人员的品味和目的,甚至同一个 SDK 也可能产生完全不同的软件)。
区块链 SDK 将这些特性应用于区块链。当然,从头开始构建任何软件都非常困难,但是从头开始构建区块链甚至更加困难。区块链不仅仅是计算机科学,它是一门多学科的艺术,涉及共识过程、治理、经济激励模型以及其他基础设施技术,并且这种进入壁垒对于新的市场参与者构建自己的区块链来说一直是一个主要的挑战。如果有人已经制作了所有辅助的和复杂的默认设置,那不是很好吗?区块链 SDK 的出现是为了解决这些问题。让我们来看看为什么你需要一个区块链 SDK。
我们已经定义了什么是区块链 SDK,并概述了为什么需要它,但让我们谈谈为什么特别需要它。
1.1.1 成本效益
首先,它可以节省资金。在我上面类比 SDK 的家具套件的情况下,我们为它付费,但在区块链 SDK 的情况下,我们经常免费获得它们。而且不仅仅是区块链 SDK 是免费的,大多数 SDK 通常以几乎免费的价格分发。因此,如果你可以获得一个免费的 SDK 并在其之上构建自己的软件,则可以节省大量的时间和金钱。如果该 SDK 已被用于各种软件,那么对于用户来说,它将是一个非常有效的选择,因为它已经被证明是有效的。
这些优势使得 SDK 不仅对初创公司有吸引力,而且对那些相对较大且需要在对区块链市场没有太多信心的情况下进行概念验证的公司也有吸引力。即使与成本无关,现在的 SDK(我们稍后会看到)在质量方面也相当不错,而且通常更有效地使用已经由一群人构建的基础设施,他们已经对此进行了大量的思考,而不是试图从头开始构建区块链。
1.1.2 社区:SDK 不仅仅是代码。
通常,当有一个 SDK 时,就有一个代表该 SDK 的区块链。对于 Cosmos SDK,Cosmos Hub(ATOM)是代表性的区块链;对于 OP Stack,Optimism(OP)是代表性的区块链;对于 Substrate,Polkadot(DOT)是代表性的区块链。每一个都是独立的链的生态系统,因为它旨在成为一个多链的生态系统,但是如果区块链是使用相同的 SDK 构建的,那么它的行为就像它是一个单一的区块链社区。即使它们是用相同的 SDK 构建它们的区块链,它们也是独立的链,不能直接影响彼此,那么为什么它们会被归类为一个社区呢?
简单的答案是它们有“共同的利益”。即使它们是独立的区块链构建生态系统,如果一个用相同 SDK 构建的区块链做得好,它们的区块链可以从许多机会中受益。首先,共享相同的基础设施使得网络之间非常容易互动,这反过来又使得它们很容易共享开发者社区和用户。因此,如果在你的区块链所属的生态系统中有一个非常成功的区块链,你就有机会间接地推广你的区块链,以及吸收一些涌向成功区块链的用户和开发者。由于这个原因,使用相同 SDK 构建的区块链通常共享相同的社区,这意味着当你使用区块链 SDK 构建一个区块链时,不仅仅是代码是预先构建好的,而且社区也是。
1.1.3 标准化和互操作性:一致性是关键 正如上面提到的,当区块链是用相同的区块链 SDK 构建的,它们共享相同的社区和生态系统,这反过来又允许它们标准化各种规则,以最大化链之间的兼容性。这方面的一个主要例子是 Cosmos 生态系统。基于 Cosmos SDK 的 Cosmos 生态系统已经标准化了一个名为 IBC 的通信协议,该协议使得 Cosmos 生态系统中的区块链之间可以进行有机通信。最近,已经提出了诸如 RS、ICA 和 ICQ 等新标准,以促进 Cosmos 生态系统中的有机和谐(如果你想了解更多关于 RS、ICA 和 ICQ 的信息,请参考我之前对 Stripe 的介绍)。在 Substrate 的情况下,XCMP 支持平行链之间的直接通信。
到目前为止,我们已经讨论了区块链 SDK 的好处。然而,如果区块链 SDK 只有好处,那么所有的区块链都会建立在它们之上,但不幸的是,事实并非如此。任何事物都有其两面性,那么区块链 SDK 的缺点是什么呢?
1.2.1 很难建立技术壁垒
首先,这是一个技术问题。由于 SDK 从字面上来说只是一堆你可以自定义和在其之上添加代码的基本代码,因此使用相同区块链 SDK 的链通常在技术上非常相似。例如,使用相同 Cosmos SDK 的 Osmosis 和 Mars,具有非常相似的共识结构(事实上,它们是相同的,因为它们都使用 Tendermint),如果你正在寻找差异,你会在它们的产品中找到它们。换句话说,使用 SDK 构建区块链的优势在于它可以快速而轻松地构建区块链,但是因为它是快速而简单的,所以不太可能具有技术壁垒。如果你希望你的链在技术上先进,你将需要要么不使用 SDK,要么如果你使用它,你将需要通过一些修改来部署它(一个主要的例子是 Sei Network,它是 Tendermint 的修改版)。有关 Sei Network 的更深入解释,请参阅Four Pillars 之前关于 Sei Network 的文章。在某些情况下,修改和部署现有工具比从头开始构建更复杂和困难。
如果你的目标是构建一个真正强调你的技术优势的区块链,你不应该考虑使用区块链 SDK 构建区块链。
1.2.2 依赖性是不可避免的
我上面提到的一个优势是成为使用相同 SDK 的生态系统的一部分。然而,这也有潜在的缺点。一般来说,使用相同区块链 SDK 的区块链在技术上可以相对容易地相互通信,这可能导致协同效应,但也可能导致间接损害。例如,当 Terra 区块链崩溃时,通过 IBC 连接到 Terra 的基于 Cosmos 的应用链受到了间接影响。此外,软件开发的方向应尽可能与标准对齐。一旦你开始偏离标准,即使发布了 SDK 的新更新,它也可能在技术上不兼容。事实上,一旦你使用 SDK 构建,你就被困住了,除非发生某些事情,这可能是一个很大的缺点。
显然,区块链 SDK 为企业和开发人员提供了一个简单的框架,可以轻松地构建区块链,但另一方面,它们也可以被看作是通过同质化区块链来缓解市场的激进化。此外,每个区块链 SDK 都有不同的特点,因此,如果你想用区块链 SDK 构建你自己的区块链,那么使用一个适合你的目的和用途的 SDK 就非常重要。因此,我决定分析市场上的区块链 SDK,并对它们的特点进行分类。
Cosmos SDK 目前是领先的区块链 SDK,因为使用它构建的成功的区块链数量很多。它的生态系统非常活跃,并且经历了很多事件/事故。虽然有很多生态系统旨在成为特定应用链(application-specific chains,又名 app chains)聚集的社区,但 Cosmos SDK 到目前为止已经产生了最多的 app chains,这使得它成为加密行业中最知名的区块链 SDK。许多公司目前正在使用 Cosmos SDK 构建区块链。让我们来看看一些你可能认识的用 Cosmos SDK 构建的区块链。
2.1.1 Terra:失败的神。
来源:Cosmos 博客
Terra 可能是用 Cosmos SDK 构建的最著名的区块链,它已经取得了巨大的增长,一度超过了 Cosmos Hub 的市值,成为世界上市值前 10 的区块链之一。它是一个使 Cosmos SDK 受欢迎的区块链。Terra 也是第一个采用 Cosmwasm 的区块链之一,Cosmwasm 是多链智能合约平台,现在大多数基于 Cosmos 的区块链都使用它来实现智能合约。然而,Terra 以其算法稳定币的新颖产品和各种 DeFi 应用的推出而闻名于市场,但最终未能锚定算法稳定币的价值。当然,这导致了整个 Terra 区块链的崩溃。
Terra 未能锚定其稳定币是算法稳定币的问题,而不是 Terra 使用的区块链基础设施的失败,并且仍然被认为是使用 Cosmos SDK 构建的最成功的项目之一。事实上,Tera 的成功经常被引为打破传统观念的例子,即“如果你使用区块链 SDK 来构建区块链,你就不能有创意,也不会被注意到”(这抵消了我上面提到的区块链 SDK 的缺点)。
2.1.2 dYdX:从杀手级应用到杀手级链
来源: dYdX 博客
去年更令人震惊的新闻故事之一是 dYdX 宣布,dYdX 是以太坊 Layer 2 上最受欢迎的基于订单簿的去中心化期货交易所之一,将离开 Layer 2 生态系统,构建自己的区块链。这是一个有趣的案例,因为 dYdX 最初是由 Starkware 与 StarkEx 引擎合作开发的产品,但意识到其局限性,离开了以太坊生态系统,构建了一个基于 Cosmos SDK 的链。为了构建他们想要的订单簿和匹配引擎环境,dYdX 需要一个像 Cosmos SDK 一样易于创建的环境,但仍然允许他们自定义区块链的工作方式(事实上,dYdX 正在充分利用 Cosmos SDK 的灵活性,通过消除交易费用来最大化交易者的体验)。
事实上,由于 dYdX 要求其验证者不仅参与共识过程,而且还在与共识分离的环境中运行订单簿,因此 Cosmos 构建自己的 layer 1 链的能力可能比受共识以外的基础设施约束的 layer 2 链更具吸引力。dYdX 链的主网尚未推出,但取决于 dYdX 链在主网之后的表现,应用程序构建自己的区块链可能会变得非常普遍。
2.1.3 Sei Network:彻底自定义 Cosmos SDK
来源: Sei 的博客
如果你想知道 Cosmos SDK 有多灵活,请关注 Sei Network。当然,我上面提到的 Terra 和 dYdX 也向 Cosmos SDK 添加了自己的代码,以添加新的特性和功能,但 Sei Network 通过修改 Cosmos SDK 的共识来设计当前的 Sei Network。他们通过智能区块提议(Intelligent Block Proposition)简化了节点两次传播交易的部分,并通过乐观区块处理(Optimistic Block Processing)缩短了 Tendermint 的共识过程。此外,他们还并行化了交易,与现有的 Cosmos app chain 相比,交易速度更快(如果你想了解更多 Sei Network 的信息,请参考 Four Pillars 撰写的Sei Network 简介)。现在,Sei 正在 Cosmos SDK 之外创建自己的颜色,使得很难将 Sei 归类为基于 Cosmos SDK 的链。
2.1.4 Cosmos SDK 的特性
基于这三个例子,Cosmos SDK 是一个区块链 SDK,它提供了一个框架,可以轻松地构建 layer 1 区块链,但也允许在链开发中具有灵活性,允许你设计你的链以适应你自己的方向和目标。Terra 添加了一个算法稳定币,dYdX 给验证者一个新的任务,Sei 修改了整个共识以实现极快的扩展。如果你正在从一个 SDK 构建一个区块链,并且你正在寻找一定程度的自主性,Cosmos SDK 是一个不错的选择。
OP Stack 可以被认为是一个乐观 rollup SDK,它被提供用于构建乐观 rollup。OP Stack 本质上为开发者提供了创建他们自己的 rollup 链并享受 rollup 提供的可扩展性改进的必要工具。使用 OP Stack,开发者可以构建比传统智能合约平台更高效和节省成本的 rollup 链。这能够改善用户体验,并能够加速区块链技术的采纳。总而言之,OP Stack 被推荐给任何想要构建具有一部分以太坊安全性的高效去中心化应用的开发者,或者给那些重视 EVM 等效开发环境的开发者(如果你有兴趣了解更多关于 Op Stack 的信息,请查看 Four Pillars 的 Op Stack 简介)
当然,乐观 Rollup 有一个 7 天的挑战期,这只对那些已经从以太坊桥接到乐观 Rollup 链的资产有意义,因此很难说一个用 Op Stack 构建的区块链会继承以太坊的全部安全性,但是它相对于那些完全构建自己的链的框架来说,确实具有安全性优势,比如 Cosmos SDK(虽然我们稍后会讨论 opBNB)。目前有哪些区块链是用 Op Stack 构建的呢?
2.2.1 Base,Coinbase 的乐观 Rollup
来源:Coinbase
Coinbase 在加密货币交易所创建自己的区块链方面一直不活跃,但它在去年宣布将推出自己的区块链,即 Base 区块链(“Base”)。Base 利用 Op Stack 以提供比当前的以太坊网络更快、更便宜、可扩展性更强的交易,最终目标是在链上吸引超过 10 亿用户。因为它是在 Op Stack 上构建的,所以它是一个通用区块链,类似于 Optimism,虽然它与以太坊的 EVM 并不完全相同,但它与 EVM 足够友好,可以实现 EVM 等效性。因此,那些已经熟悉 Solidity 的开发者会发现它可以很容易地利用 Base 链。事实上,Base 目前在基于 DeFilamma 统计的 TVL 的区块链中排名第 12 位(在 layer 2 中排名第 3 位),在很短的时间内表现出了巨大的性能。
Base 选择 Op Stack 的两个主要原因:1) EVM 现在是区块链行业的一个标准,以及 2) 以太坊的安全性对于管理大量的资产非常重要。当然,这些都只是他们的观点,但是如果你在组织你的区块链时和他们的观点一致,你会发现 Op Stack 是一个非常有用的工具。
2.2.2 当然,你可以在以太坊之外构建基于 Op Stack 的链:opBNB
来源:BNB Chain
虽然 Coinbase 是因为以太坊的安全性和 EVM 才使用 Op Stack 的,但是 Binance 有一点不同。当然,他们使用 Op Stack 是因为它的 EVM 等效性,但不是因为以太坊。opBNB 有趣的地方在于,即使它是一个基于 Op Stack 的链,它也不是位于以太坊之上,而是位于 Binance 自己的网络 BSC(BNB Smart Chain)链的 layer 2 上。预计 Layer 2 也会受益于 BSC 网络的 gas limit 比以太坊高得多并且具有更高的可扩展性这一事实。
opBNB 向我们展示的是 基于 Op Stack 的区块链不必构建在以太坊之上。 正如许多人所担心的那样,我们看到的基于以太坊的 rollup 链越多,rollup 最终越有可能遇到以太坊的可扩展性限制,并且无法实现它们最初的目的。毕竟,以太坊的 Layer 2 也需要将它们的交易批发送到以太坊主链上,并且以太坊的区块中只有这么多的空间,因此,如果它变得“rollup 饱和”,rollup 将永远无法摆脱可扩展性问题。因此,像 opBNB 这样的努力可能是我们为什么需要实施 layer 2 这个问题的一个答案,即使它不是在以太坊上。
来源:Parity
Substrate 是由 Parity Technologies 开发的区块链 SDK,Parity Technologies 也是 Polkadot 网络的幕后公司。类似于 Cosmos SDK,Substrate 旨在提供构建一个区块链所需的功能,允许开发者把精力放在应用程序的逻辑上,而不是区块链基础设施的细节上。使用 Subsrate,开发者可以创建一个自定义的区块链,它可以满足他们的应用程序的特定需求。在这一点上,它听起来很像 Cosmos SDK,事实上 Cosmos SDK 也是一个区块链 SDK,它的目的与 Cosmos SDK 非常相似。
Substrate 最值得注意的特性之一是它的运行时模块库(“SRML”或者简称为“palette”)。Palettes 是即插即用、可配置的模块,它封装了特定的功能,比如 token 余额、staking 或者治理。开发者可以使用这些预构建的模块,或者从头创建他们自己的模块,这在区块链设计中提供了无与伦比的灵活性。因此,与其他 SDK 相比,Substrate 的模块化(或者说灵活性)是它最被强调的特性之一。
因此,让我们来看看一些基于 Substrate 构建的区块链。
2.3.1 Acala Network:展示 Substrate 的灵活性
来源:Acala
Acala Network(“Acala”)是一个建立在 Substrate 区块链开发框架之上的去中心化金融 (DeFi) 平台。作为 Polkadot 生态系统的一部分,Acala 旨在提供一套完整的金融应用程序,包括稳定币、去中心化交易所(DEX)和借贷。Acala 的一个独特功能是用户可以通过存入各种数字资产作为抵押品来获得稳定币。这使得用户可以更容易地获得流动性,并为参与 DeFi 活动带来更大的好处。
事实上,Acala 最有趣的部分是它的费用机制,因为在使用区块链时支付费用的问题,特别是需要从网络到网络支付作为费用而改变的 token,是降低用户体验的事情之一。然而,Substrate 也可以改变费用支付逻辑,允许 Acala 从所有在 Acala DEX 上交易的 token 中收取费用。这展示了 Substrate 作为一个框架是多么的灵活。
2.3.2 Astar Network:同时使用 EVM 和 WASM
Astar Network 是一个建立在 Substrate 之上的区块链,它也是日本领先的区块链项目之一。它的特点是它同时支持 EVM 和 WASM,它的设计允许开发者使用任何语言开发智能合约。同时支持 EVM 和 WASM 是有趣的,但 Astar 还包括一个独特的特性,叫做 dApp Staking,它可以为开发者提供持续的激励,这展示了 Substrate 有多么的灵活。特别是,考虑到迄今为止 Cosmos 生态系统中没有这样的案例,同时支持两个虚拟机清楚地证明了 Substrate 的灵活性。
Linera SDK 由 Mathieu Baudet 创建,他之前为 Meta 的加密钱包服务 Novi 和支付基础设施 FastPay 撰写了论文,它是 Meta 推出的知名区块链之一,与 Aptos 和 Sui 一样。它与 Aptos 和 Sui 具有相似的 DNA,但不同之处在于,他们在甚至没有推出自己的区块链之前,就已经在构建 SDK 并将它们推向市场。值得注意的是,他们最近采取了一种非常不同的方法,他们举办一个开发者学校来测试他们的 SDK。正如上面提到的,Linera SDK 仍然处于测试阶段,因此我们还没有看到任何使用它的直接例子,但我们已经在他们的白皮书中看到了可以使用它构建的链的样貌:
首先,有链的所有者、验证者和用户,其中有验证者。在这里所有者可以是链上的任何参与者,所有者和验证者之间的关系可以被看作是客户和服务提供商之间的关系。这与其他传统链不同,在其他链中,主要的角色是生产和提议新的区块,而验证者只验证它们(尽管在 Linera 中,对于公链来说,验证者扮演着与传统区块链中相似的角色)。在 Linera 中,链被称为微链(microchains),它们可以被分为三个主要的类别:
单所有者链(Single Owner Chains):链的结构使得只有一个用户可以提议一个区块。
许可链(Permissioned Chains):链的结构是只有一部分选择的用户可以提议区块。
公链(Public Chain):链的结构允许所有的用户自由地提议区块。
这三条链在谁有权生产区块方面具有不同的结构,但是它们都需要一个证书来生产下一个区块。但是,证书的结构是不同的:在单所有者链中,证书是通过可靠的广播发布的;在公链中,证书是通过一个使用 BFT 的验证者发布的。很重要的一点是,单所有者链并不是完全没有验证者的,因此,如果 Linera 生态系统被激活,验证者的角色有望变得非常重要。
如果 Substrate 具有以 palette 形式存在的 SDK 的灵活性,那么 Linera 似乎具有以三种不同类型的微链形式存在的灵活性,你可以选择最适合你的目的那一个。如果你想成为第一个行动者,那么你值得尝试使用 Linera SDK 构建你自己的链。
来源:Avalanche
与其他多链生态系统一样,Avalanche 已经发布了一个软件开发工具包(SDK),它可以很简单地用来创建区块链。这就是 HyperSDK。Avalanche 将 HyperSDK 介绍为一个用于创建高性能虚拟机(virtual machines)的框架,它的优势在于,用户可以快速地实现他们选择的区块链,而不需要大量的编码(根据 Avalanche 团队的说法,大概需要自定义 500-1000 行代码,这取决于需要多少机制设计)。基于 Hyper SDK 构建的区块链叫做 HyperChain,Avalanche 团队强调了,构建链很简单也很便捷,不需要引入大量的开发者,但它仍然处于 在 alpha 阶段,所以仍然有很多实验和优化要做(https://github.com/ava-labs/hypersdk)。不过,很明显的是,Hyper SDK 可以通过提供一个比简单地 fork 一个 Avalanche VM 来构建网络更简单和方便的工具,从而在推动 Avalanche 的多网络生态系统的增长方面发挥重要作用。
有趣的是,正如 “hyper” 这个词提示的那样,速度是他们在构建 Hyper SDK 时最看重的东西。Avalanche 的 Hyper SDK 开发负责人 Patrick O' Grady 认为,如果一个 SDK 构建区块链非常简单,但是使用那个 SDK 构建的区块链不够快,那么这个 SDK 就没有意义。因此,Hyper SDK 专注于开发者如何快速和简单地创建高性能的区块链。
当然,和 Linera 一样,它仍然有改进的空间,并且 Hyper SDK 仍然没有被验证是有风险的,但是对那些有兴趣体验使用新的 SDK 构建区块链的用户来说,值得一试。
来源:Polygon
Polygon 在 2023 年 8 月 30 日发布的 L2 框架确实是最新的 SDK。当然,这不是 Polygon 第一次创建 SDK,他们还有一个叫做 Supernets 的 layer 1 部署框架,因此,看到一个已经有创建 SDK 经验的团队创建一个新的 L2 SDK,这是令人鼓舞的。另一点需要注意的是,CDK 链共享一个 Interop Layer,它实际上就是链的互操作性层,共享这一层的链可以通过零知识证明自由地相互互动。我们已经看到了像 Immutable 和 Aavegotchi 这样的知名玩家在使用 CDK, 使得它成为一个有望在短期内引起轰动的 layer 2 框架。
虽然有很多 Layer 2 SDK,但没有一个像 Polygon CDK 这样清楚地说明如何在 L2 之间进行互操作,因此,如果你正在考虑在未来构建 L2,那么 Polygon CDK 是一个很好的选择(尽管你可能希望在做出决定之前等待并观望 Immutable 和 Aavegotchi 会发生什么)。
到目前为止,我们已经介绍了什么是区块链 SDK,以及它们有什么用途,并且举例说明了他们时如何被使用的。每个 SDK 都有自己独特的特性和明确的优点和缺点,因此,最好应该不要太关注哪个 SDK 更优秀,而应该更关注哪个 SDK 更适合你的目的。那么,最后,你真的应该使用区块链 SDK 吗?如果是,你为什么应该使用它?你为什么不应该使用它?
大多数开发区块链的公司都是员工不到 50 人的初创公司,这意味着他们没有足够的人力、资本和时间从头开始构建区块链。对于一家初创公司来说,创建一个不是粗制滥造产品的完整区块链几乎是不可能的。在区块链行业的早期,小团队有足够的时间通过反复试验来完善他们的区块链(需要明确的是,几乎所有这些区块链都死了,因为它们没有被市场选中。今天,我们知道的大多数区块链都是在严酷的市场环境中通过各种验证幸存下来的项目),但区块链市场的规模已经不同了,并且随着来自各个领域的经验丰富的开发人员进入市场,市场变化的速度非常快。在这种情况下,快速创建一个经过验证的区块链可能很重要。这就是为什么成熟的 SDK 在当前的区块链领域如此有吸引力。更坦率地说,像 Coinbase 这样一家全球区块链巨头都在使用 Op Stack 构建他们自己的区块链, 为什么其他加密货币创业公司想要构建自己的区块链呢?
当你正在构建区块链时,很难让它与其他区块链有机地对话。事实上,仅去年一年,就有天文数字般的资金是从跨链解决方案中被盗的,所以连接区块链是一项非常困难的任务。但是,通过利用使用 SDK 构建的生态系统,互操作性相对容易实现,至少在使用相同 SDK 的链之间是这样。在 Op Stack 的例子中,这取决于哪一个基础层(Layer 1)是在其上构建的,但是,如果你的构建是基于在相同基础层之上的基于 Op Stack 的链,那么它们的互操作性至少是有机可用的。
即使他们没有共享一个基础层,Cosmos SDK 和 Substrate 也分别提供了基于 IBC(链间通信)和 XCMP(跨链消息传递)的生态系统之间的互操作性。这意味着,即使你不是跨链技术方面的专家,如果你使用这些 SDK 构建一个区块链,你至少可以使用一个可以在相同生态系统中的链之间轻松通信的基础设施。
从这个角度看,SDK 是一个必备的工具包,在一个伟大的头脑已经创建的框架之上构建一个区块链有太多的好处了。然而,就像天下没有免费的午餐一样,使用 SDK 也有的明显的缺点。归根结底,SDK 背后的基金会想要的是有很多基于 SDK 的链,并且对他们或他们的链来说,要从中获取一些价值。事实上,Cosmos 生态系统已经提出了一个新的特性,通过引入一种叫做 RS(复制安全性)的新的共享安全模型来实现这一目标, 随着更多的链在 Cosmos 生态系统中启动,价值会积累在 Cosmos Hub 上(虽然这个模型目前还在争论中)。在基于 Op Stack 的基础链的例子中,他们甚至与 Optimism Chain 签订了一个 revenue sharing agreement with Optimism 。虽然这些都不一定是坏事,但是需要明确的是,创建 SDK 的团队并不是简单地分发和分享他们,把它们当作为一项免费服务。和世界上所有的事情一样,没有什么是免费的,即使它看起来像是免费的(即使在强制执行费用的情况下,它们也越来越趋向于费用或者利润分成,即使它们不是,对生态系统的依赖性是在使用 SDK 构建区块链之前需要考虑的事情)。
正如 Alex Ferguson(最伟大的足球经理之一)所说,“没有哪个球员比团队更伟大”,使用 SDK 很难超越 SDK 生态系统或代表它的链(主链:Op Stack 是 Optimism,Cosmos SDK 是 Hub,Substrate 是 Polkadot,CDK 是 Polygon)。正如我在上面提到的,在设计它们的 SDK 时,团队 или 基金会采取了,并将继续采取一种方法,即随着 SDK 生态系统的增长,为这些主链积累价值,因此,使用我们的 SDK 构建一个链并超越生态系统几乎是不可能的。当然,我们看到了一个非常不寻常的案例,Terra 是建立在 Cosmos SDK 之上的,但它已经增长到比 Cosmos Hub 和整个 Cosmos 生态系统更大的程度,但这是一个非常不寻常的案例。我们可能在未来不会看到任何像 Terra 这样的东西了。因此,如果你是一个有雄心壮志的团队,使用 SDK 构建一个区块链可能意味着将你的雄心壮志限制在 SDK 生态系统中。如果你真的有信心并且有资本,那么最好还是构建你自己的区块链。
和生活中的所有其他事物一样,没有一个正确的答案。但是,我认为在构建你自己的区块链之前,务必仔细和全面地查看我今天介绍的 SDK 以及它们的优缺点,还有 SDK 作为一个整体的优缺点。不过,积极的一点是,随着区块链行业变得更加成熟,SDK 的数量将会增加,当它们相互竞争时,SDK 的用户可以得到更多的好处。竞争意味着更好质量和更低的成本。SDK 已经成为了产业基础设施的核心部分,我们期待着看到的更多高质量的 SDK 来丰富区块链生态系统。
感谢 Kate 设计了本文的图片。
- 原文链接: 4pillars.io/en/articles/...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!