为什么我们需要一个好的通证标准?
原文:《 什么是通证标准? 》
作者:Zubin Pratap
介绍
通证标准是一组商定的规则,在给定区块链协议上,约定加密通证的设计、开发、行为和操作。为了使通证标准有用,它们必须被广泛采用。如果没有被广泛采用,他们的规则就不能提升到“标准”的地位——因为标准的意思就是广泛人群普遍遵守的规则。
在这篇文章中,我们将探讨为什么标准对于提高加密通证的采用、使用和价值很重要。我们还将探讨以太坊标准是如何开发的,还将简要讨论 Solana 标准。
为什么我们需要通证标准
让我们首先了解“通证”的含义。加密世界中的通证通常是使用基于区块链的技术(最典型的是智能合约)创建、管理和分发的加密货币。通证可能具有市场价值,也可能具有一些实用性,使得持有通证在经济收益之外也愿意持有某个通证。
标准是一组将某些东西“标准化”的规则。在通证的上下文中,标准化意味着拥有一组规则来定义通证应包含的数据、通证能够进行的行为和操作,以及持有人或持有人社区可以对该通证采取的操作。通证标准为其基础区块链上的通证的创建、发行、部署、转移、销毁和其他属性提供了指导。正如你所想,这些通证标准最有可能出现在支持智能合约的区块链上,因为在这样的区块链将能够之上,开发者可以创建任意数量的通证。
我们现在了解什么是通证标准,但要真正了解它们在生态系统中的作用,我们需要了解它们的用处。换句话说,我们为什么要通证标准,它们解决什么问题?
在非常通用的层面上,一个标准可以允许多种实现。例如,以太坊为以太坊节点运行的客户端软件制定了标准,以提供与以太坊网络的连接。通过这个标准,任何人都可以用他们喜欢的语言实现以太坊客户端,前提是满足以太坊节点和客户端的标准和规范。因此,以太坊网络可以有任意数量的节点和客户端,包括 Golang、Rust、Java、C#、C++ 或 Python 编写的以太坊软件。这增加了“客户端多样性”,通过减少对单个代码库实现的依赖,使网络更健壮。但所有这些实现,无论软件语言、设计或实现细节如何,都有一个共同点——它们都遵循客户端的统一规范。
因此,标准有助于实现方式的多样性。这意味着在安全性、速度、可扩展性等方面可以有不同的方法,而这种多样性丰富了整体体验。这也意味着开发人员和设计人员可以参考系统所需的最小操作,进行相应的设计。同时也会激励标准之上的创新,从而解锁更多的用例,推动更多的采用,等等。
这正是通证标准很重要的原因。标准化不同通证的功能有助于开发人员在这些标准之上构建应用程序,因为他们知道只要应用同一标准,底层接口就会是相同的。
通证标准带来的另一个好处是:实施它们的智能合约变得“可组合”。这意味着我们可以设计合约来相互交互,因为标准化使我们能够知道,一个遵循标准的智能合规将拥有哪些函数、方法、数据类型和行为。然后我们可以编写代码与这些合约进行交互,这意味着智能合约的生态系统可以以不同的方式互操作、互连和混合匹配,从而使整体远大于部分之和。一个简单的例子是,当一个新的加密通证在基于以太坊的区块链网络上发布时,如果它符合通证的 ERC-20 标准,那么它将与支持 ERC-20 通证的 DEX 集成。
以太坊标准化过程
通过以以太坊为案例研究,我们可以对通证标准的重要性有一个更高层次的理解。以太坊遵循的流程依赖于以太坊改进提案 (EIP),该提案描述了适用于以太坊平台(区块链核心协议)的标准、客户端和节点的 API 以及运行以太坊虚拟机的智能合约。
EIP分为三种类型:
-
标准跟踪:这些通常涵盖对核心协议的更改。它们有四个子类别:
-
核心:与以太坊协议的核心规则有关。
-
网络:与改进网络协议规范有关。
-
接口:用于通过 RPC 与协议交互的 API 和其他相关更改,以及智能合约 ABI 接口。
-
ERC:以太坊征求意见;这些是应用程序的标准,包括智能合约和通证标准。
-
Meta/Process EIP:这些涵盖围绕以太坊但不直接接触协议本身的进程。这些可能包括影响协议变更等决策过程的提案。
-
信息性 EIP:这些涵盖了以太坊设计问题或社区将从中受益的指南,但不会改变或触及以太坊协议的功能。这些也是比较次要的 EIP,因为用户可以随意忽略它们。
以太坊标准和指南通常有 EIP 提案流程的生命周期。这些生命周期阶段是“idea”、“draft”、“review”、“last call”(最终审查)、“final”(最终标准)、“stagnant”(非最终 EIP,闲置时间超过六个月) 、“withdraw”和“living”(EIPs 是可操作的,但本质上会定期更新,永远不会真正最终确定)。
通用以太坊通证标准
你可以在此处找到所有 EIP 的列表。但是,让我们看一些流行的以太坊通证标准。
正如我们在上一节中提到的,通证标准是标准追踪(Standards Track)的一部分,并且与适用于应用程序(包括智能合约)的相关规则。
其中最著名的可能是 ERC-20,它来自 EIP-20。该标准适用于可替代通证——在类型和价值上与另一个通证完全相同的通证,这意味着没有通证是唯一的。这些 exchange 中最常用来被交易的加密通证。ERC-20 规定了一种通证标准,该标准规定了在智能合约要实现的 API。如果你点击上面的 ERC-20 相关链接,你可以看到 ERC-20 通证智能合约必须实施符合标准的签名和事件列表。这使它们具有互操作性,并使我们能够编写可以与这些通证交互的应用程序,从而使生态系统更具可组合性。开发人员还可以用他们喜欢的语言编写与这些 ERC-20 通证智能合约交互的库,因为我们有一份 ERC-20 规范公开的所有功能和数据的列表。
Chainlink 的 LINK 通证合约也符合 ERC-677 规范,它通过添加一个transferAndCall方法来增强 ERC-20 通证的功能性,该方法可以在单个交易中,将通证发送给被调用的合约,并且调用接收合约中的特定功能。这就绕过了 ERC-20 中转移通证是一个多步骤的过程的限制,ERC-20 会增加复杂性并也增加了发送者的 gas fee。
另一个流行的通证标准是 EIP-721 中制定的 ERC-721 通证标准。与 ERC-20 通证不同,ERC-721 通证允许将某些独特的属性添加到不同的通证中,从而使它们“不可替代”。此功能可用于标记从艺术到个人身份的一切事物。由于该标准要求的方法列表是公开的,因此像 Opensea 这样的 NFT 市场可以通过它建立市场以列出、交易和销售 NFT,因为市场的代码可以与 NFT 的智能合约交互,以读取和写入与 NFT 相关的数据。
EIP-2309 提出了基于 ERC-721 的一些改进,它标准化了在创建或传输不可替代通证时发出的事件的结构。
另一个流行的通证标准是 ERC-1155,它是由 EIP-1155 所约定。ERC-1155 制定了可以发行 ERC-20 和 ERC-721 通证类型的智能合约的标准。这被称为多通证标准。该 ERC 还试图纠正 ERC-20 和 ERC-721 中的错误并改进它们的功能。
在提案生命周期的各个阶段还有其他标准,你可以在这里查看它们的更多信息。
Solana 通证标准
虽然通证标准只是一种标准化规则(除了区块链,在化工领域到建筑领域都会遵循一定的标准!),但它们在不同的上下文中确实有不同的名称。在 Solana 生态系统中,通证标准包含在 Solana 程序库 (SPL) 中,这是一个在 Solana 链的运行时(runtime)上运行的链上软件程序库。兼容 SPL 的通证会与 Solana 链和 Solana 钱包兼容,并增加了 Solana 生态系统中的可组合性。Solana 通证包含在 Solana 通证计划中,该计划是整个 SPL 的一部分。该程序为 Solana 兼容通证的创建、发行、转移和销毁创建了一个标准化接口,可与以太坊生态系统中的 ERC-20 和 ERC-721 相媲美。
Solana 的原生通证是 SOL 通证,相当于以太坊的 ETH。这也是一个 SPL 通证。SPL 通证的功能差异很大——有些可以是 NFT,有些可以是可替代的但流通量很小,还有一些可以结合其他各种类型的功能。
同样的,遵守 SPL 标准意味着 Solana 上的通证可以使用符合 SPL 标准的钱包和智能合约进行交互,从而实现生态系统内的可组合性和创新。它们还提供用于研究的分析和元信息,正如在 Solscan 上可以看到的那样。Solscan 的功能也是根据 SPL 的标准,该标准规定了符合 SPL 的通证必须具有哪些功能,以便开发者可以构建一个前端与所有符合 SPL 的通证进行交互。
总结
为了使在区块链网络上的智能合约有效运行,通证标准被用来来指导智能合约的实施,这些智能合约提供可以构建去中心化应用程序的编程接口。如果你是开发人员,现在就可以创建你自己 ERC-20 通证。你还可以通过了解这些标准如何帮助发展 DeFi 协议、NFT 项目和元宇宙来加深你的技能。