跳至内容
0%

如何为你的 dApp 选择合适的区块链

发布于 2023年4月24日2 分钟阅读

从最基本的层面来说,区块链是开发者实现数据存储去中心化的一种基础设施工具。作为一个系统,区块链让开发者能够在无需可信中间方的情况下,安全地分发应用。

区块链可用于许多不同的应用场景,因此也衍生出多种针对不同应用场景优化的链。每种链都略有不同。因此,开发者了解这些差异很重要,这样才能选出适合自己需求的区块链。

本文将讨论主要区块链之间的核心差异,以及开发者选择某一类链而非另一类链的原因。

选择构建区块链时需要问的 7 个问题

在决定项目使用哪种区块链平台的过程中,作为开发者,至少有七个因素需要考虑:

1. 你的 dapp 需要多大的吞吐量?

根据项目类型的不同,所需的交易吞吐量范围可能差异很大。

例如,如果你在构建一款 DeFi 游戏,需要用户每天进行数千笔微交易,那么你需要一条高吞吐量、低 gas 费用的区块链。

但如果你运营的是一个只偶尔进行交易的 DAO,协作的便利性可能是更重要的因素。

需要考虑的关键点是,区块链协议将如何随你的 dapp 一起扩展。刚开始时,较低的交易吞吐量可能已经够用,但随着规模扩大,它可能会侵蚀你的利润,或让用户感到不满。

因此在做决定之前,考虑在特定链上构建的长期成本和速度非常重要。开发者应同时考虑主网的可扩展性,以及 Layer 2 网络的可用性。

以 Ethereum 网络为例,其交易吞吐量较低,但在其之上构建了多个吞吐量更高的 Layer 2 网络。第二层旨在让应用既拥有健全区块链生态系统的安全性,又拥有更快共识机制带来的可扩展性。

2. 哪条区块链提供了所需的开发者资源?

由于区块链是一项相对较新的技术,开发者可用的资源会带来很大差异。许多区块链协议为开发者提供外部教程和指南,或建立群聊和论坛,让开发者能够相互学习。

但这些资源的质量参差不齐。在某条链上开始开发之前,花些时间熟悉该协议已有的资源。

例如,有些系统设计上便于组合使用,而有些则不然。可组合性是指一个应用中较小的部分能在多大程度上被复制并用于构建其他应用。

例如,与以太坊虚拟机(Ethereum Virtual Machine,EVM)兼容的应用,可以很容易地将其 dapp 重新部署到其他兼容 EVM 的区块链上。

从零开始构建,与在已有工具和基础设施生态之上构建,两者之间的差异可能非常巨大。

你永远不知道在构建 dApp 的过程中会遇到什么问题。所以了解到在问题出现时你能获得足够的支持,会很有帮助。‍

3. 哪些区块链生态系统具备适合你 dapp 上市策略的条件?

一些区块链已经拥有非常活跃的生态系统,而另一些仍在逐步发展中。

例如,如果开发者打算构建一个依赖其他应用的 dApp,那么在拥有庞大生态系统的区块链上开发是合理的。

比如,如果你正在创建一个跨去中心化交易所(DEX)聚合流动性的 dApp,那么所选区块链拥有多个可供聚合流动性的 DEX 就至关重要。

相反,如果你想构建一款在某些区块链上尚不存在的产品,选择一条该应用没有竞争对手的区块链可能更有利。

当然,开发者不必局限于单一的区块链生态系统,许多协议已经成功地跨越多个生态系统发展壮大。

4. 该区块链使用什么编程语言?

在特定平台上开发的复杂程度差异很大。有些区块链要求开发者完全学习新的编程语言,而有些则将开发流程标准化。

例如,有经验的 Rust 开发者可能会觉得 Solana 区块链容易上手,因为其主要语言是 Rust。相比之下,Ethereum 及 EVM 生态系统则以 Solidity 为核心。想在 EVM 上构建的开发者会去学习 Solidity,因为它与 JavaScript 差别不算太大。

当然,这并非总是可行的选择。由于任何开发团队的技能水平都参差不齐,新手开发者能否轻松上手往往至关重要。

综合考虑团队构成以及可用资源,有助于你决定使用哪条区块链。

5. 在该区块链上构建能获得哪些激励?

一些区块链项目通过奖励忠诚度的计划来激励开发者,并为开发者对网络的贡献付费。例如,一些区块链会为漏洞发现和论坛回复提供激励。

其他区块链则通过质押机会来奖励开发者,并允许项目通过为平台带来用户而获得收益。

在某些情况下,与一条具有高增长潜力的小型链一起构建是明智之举,这样团队可以共享共同成长带来的回报。而对另一些人来说,选择一个可靠的生态系统则更为重要。

6. 该区块链是否与你现有的开发者工具和集成兼容?

经过多年发展,一些区块链工具已成为行业标准。例如,Hardhat 和 Foundry 等 web3 工具包非常流行,某些加密钱包(如 MetaMask)也是如此。

但并非所有这些工具都能跨区块链使用。例如,Hardhat 和 Foundry 仅适用于兼容 EVM 的区块链。也就是说,开发者无法用它们开发 Solana dapp,而必须使用像 Anchor 这样的工具。

同样,将现有工具与特定区块链集成的难易程度也可能差异很大。

虽然许多兼容 EVM 的区块链遵循相同的集成结构,但在不兼容 EVM 的区块链之间可能有所不同。

对于较新的区块链,或文档不完善的区块链,集成可能需要较长时间才能搭建完成。

尽管如此,如果开发者看好某条区块链长期的成功前景,那么较为困难的集成所带来的回报可能是值得的。

7. 该区块链的安全性是否满足你的 dapp 所需?

在区块链语境下,安全性可以指几种不同的东西。它既可以指网络节点的去中心化程度,也可以指其交易的最终性。

去中心化很重要,因为它代表了某个组织或政府要关停该 dapp 有多困难。对一些开发者来说,这是最优先考虑的事项。但对另一些人来说,最首要的安全关切是交易的最终性。你所选择的区块链发生分叉或重组、导致用户交易不再被包含在区块链上的可能性有多大?

生成区块的流程可能差异很大,有些比其他更稳健。因此,确保你选择的区块链拥有强健的安全协议,可能决定你的 dApp 的生死存亡。

还有其他一些值得考虑的安全问题。例如:区块链保持在线的能力、其对拒绝服务(DoS)攻击的脆弱性,或其共识机制中潜藏的任何问题。虽然这可能只算是一个早期预警信号,但考虑某条区块链此前是否曾被关停、发生过分叉,或经历过大规模的重组,都可以作为预示未来走向的指标。

无论如何,花些时间研究该区块链的历史,并考察其他应用在其上过去的表现情况。

选择合适的区块链平台

在为特定 dApp 挑选合适的区块链协议时,开发者应注意各主要区块链的优缺点:

1. Ethereum

Ethereum 是一条 Layer-1 区块链平台,以开创智能合约这一概念而闻名。

Ethereum 由 Vitalik Buterin 于 2015 年推出。Vitalik 将 Bitcoin 的去中心化原理应用到了一台虚拟机上。

这一洞见使 Ethereum 区块链成为创新的强大引擎,数千个应用应运而生,涵盖金融服务、治理、财库管理、支付、交易所、艺术等领域。

由于其去中心化的安全性,Ethereum 已经吸引了所有智能合约区块链中最高的价值。

Ethereum 的区块持续时间为 15 秒,意味着结算在这段时间内或更短时间内完成。Ethereum 的区块大小被限制在一定范围内,以实现最大程度的去中心化,这使得与其他一些区块链相比,其交易成本更高。

Ethereum 目前正在支持提升其可扩展性的各项工作。这一过程中很大一部分内容涉及支持 Layer-2 区块链的发展。

2. Arbitrum

Arbitrum 是 Ethereum 最受欢迎的 Layer-2 扩容方案之一。它由 Offchain Labs 构建和维护,采用一种名为“乐观 rollup”的批处理协议,在交易发布到 Ethereum 之前,默认将所有交易乐观地视为有效。

这一技术使 Arbitrum 能够利用 Ethereum 的安全性和去中心化,同时提供更快、更便宜的结算。

虽然完全去中心化是 Arbitrum 路线图的一部分,但目前技术栈中仍有部分由 Arbitrum 团队进行中心化控制。随着团队不断迭代技术并对其可行性更有信心,整个技术栈将逐步转向去中心化治理。

3. Optimism

Optimism 是另一种将数据发布到 Ethereum 的乐观 rollup。

‍Optimism 同样受益于 Ethereum 的安全性和去中心化,同时提供更便宜、更快速的交易。

通过批处理交易,Optimism 能将交易吞吐率提升到比 Ethereum 主网高一到两个数量级。

Optimism 与 Arbitrum 一样,将可扩展性和安全性置于去中心化之前。它使用一种名为 Optimism 虚拟机(OVM)的系统,该系统兼容 EVM。

Optimism 的路线图中也包含了进一步提升去中心化程度的计划。

4. Polygon

Polygon 前身为 Matic Network,是一个于 2019 年推出的 Layer 2 扩容方案,有助于让 Ethereum 区块链上的交易更快、更简单、成本更低。

与 zkSync 和 StarkNet 等其他 Layer 2 方案不同,Polygon 更像一个“瑞士军刀”式的解决方案,结合多种工具来解决可扩展性问题。这意味着它运行多条链——一条优先考虑交易吞吐量,一条优先考虑安全性。与 Optimism 一样,Polygon 提供 100% 的 EVM 兼容性。

在所有 Ethereum Layer 2 方案中,Polygon 拥有最活跃的生态系统之一,其 TVL 在 2021 年曾一度达到 90 亿美元的峰值。

Polygon Labs 还推出了其开发者资源工具 Polygon University 的测试版,并运营着一个 wiki,为开发者提供全面的文档、社区资源和指南。

5. Solana

Solana 是最受欢迎的替代性 Layer-1 区块链之一。它创立于 2017 年,是一个开源项目,目前由总部位于日内瓦的 Solana Foundation 运营。

Solana 以开创历史证明(proof-of-history,PoH)这一概念而闻名,该概念由其创始人 Anatoly Yakovenko 于 2017 年提出。PoH 是一种用于验证事件之间顺序和时间流逝的证明,被用来将无需信任的时间流逝编码进账本中。

Solana 智能合约使用 Rust 编写,这对不愿学习 Solidity 等兼容 EVM 的编程语言的开发者很有吸引力。

目前,Solana 每秒处理 3,886 笔交易,这对那些 dApp需要频繁状态更新的开发者很有吸引力。

作为全球最大的区块链网络之一,Solana 为开发者提供了一个灵活的编程环境,开发者可以使用 Rust、C、C++ 等熟悉的语言。这使其成为那些希望开发高性能去中心化应用的开发者青睐的平台。

6. StarkNet

StarkNet 是由 StarkWare Industries 在 Ethereum 主网之上构建的一种无需许可的零知识 rollup(ZK-Rollup)Layer-2 扩容方案。

StarkNet 由 Eli Ben-Sasson 和 Uri Kolodny 创立,旨在利用 STARK 技术提升可扩展性和隐私性。

StarkNet 的 ZK rollup 通过将多笔交易“打包”进单个区块,提升了 Ethereum 主网的可扩展性,从而降低 gas 费用并加快交易速度。

Starknet 上的智能合约使用一种名为 Cairo 的编程语言编写。这意味着想使用 Starknet 生态系统的开发者需要学习不同的开发者工具,但可以获得 Ethereum 的安全性、去中心化以及可扩展性。

不过,构建在 StarkNet 上的一个优势是,所有钱包默认都使用账户抽象。

结论

在开发者为自己的 dapp 选择区块链之前,理解不同区块链之间的差异非常重要。

请记住,应用可以跨多条区块链部署,不必局限于单一区块链。尽管如此,为你的项目找到合适的链,可以节省大量时间、精力和资金,也可能是成功与失败之间的分水岭。

Background gradient

构建区块链应用

Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。