什么是 ERC-1155 多代币标准?
ERC-1155 多代币标准允许开发人员在一份合约下管理多个可替代和不可替代代币和代币标准。
关键要点
ERC 代币标准是在以太坊区块链上运行的代币的定义特征。
ERC-20、ERC-721 和 ERC-1155 是一些最受欢迎的 ERC 代币标准,此外还有 ERC-777。ERC-20 和 ERC-777 定义了可替代代币的操作标准,而 ERC-721 在 NFT 创造者和收藏家中广受欢迎。
ERC-1155 将这些其他标准的特性组合在一起,开发出一种灵活的代币标准,可以在一个合约下管理多个代币和代币标准。
区块链上的大多数交易都涉及代币转移。代币是去中心化网络上的价值代表,可以赋予各种权利,例如去中心化网络上的治理和其他实用功能。代币可以是其区块链原生代币(货币),也可以是智能合约代币。
原生代币是固有的,其功能由其运行的区块链网络定义。而智能合约代币的功能则由既定的准则和规范定义,以确保其正常运行。以太坊区块链上的智能合约代币遵循 ERC 代币标准。
现在我们来看看ERC代币标准是什么。
ERC 代币标准是什么?
ERC(以太坊征求意见稿)代币标准是针对在以太坊区块链上运行的代币的智能合约标准。它定义了在网络上发行的代币的核心行为。ERC 代币标准中定义的功能包括可互换性、支出行为以及可能的资产安全算法。
ERC 标准允许开发者指定其代币如何与以太坊网络以及用户进行通信。每个标准都为利用这些标准的代币预定义了一些逻辑(例如可互换性),并允许开发者在部署合约之前自由指定其他属性。ERC 标准及其命名约定也经常被其他区块链采用,例如 BNB Chain 的BEP 代币标准和 Tron 的TRC 代币标准。
一些流行的 ERC 标准是 ERC-20、ERC-721 和 ERC-1155。
ERC-20代币标准
ERC-20 标准用于创建可互换代币。这意味着根据 ERC-20 标准创建的每个代币都彼此平等,可以一起使用和互换。它们共享相同的身份,并且可以批量发送。
例如,一个铸造一百万个 ERC-20 代币的合约,本质上就是发行一百万个相同的代币。每个代币都可以按照自己的意愿以相同的方式使用。合约中的每个代币都具有相同的价值、相同的元数据,并且可以用于相同的目的。ERC-20 代币也可以拆分成多个部分,并以小数形式发送,创建者可以指定小数的限制。
ERC-777 代币标准
ERC -777 标准与 ERC-20 类似;唯一的区别在于代币管理方面有所改进,例如销毁和铸造,并且 ERC-777 代币不能拆分成小数。ERC-777 引入了接收钩子,允许合约在收到代币时做出反应。
ERC-721代币标准
ERC-721 标准在 NFT 创作者和 NFT 收藏家中广受欢迎。ERC-721 代币不可替代。铸造中的每个代币都是独一无二的,可以进行不同的“装饰”。ERC-721 代币的创建者定义每个代币的固定属性。尽管根据同一合约铸造,但每个代币都不能替代另一个代币使用,也不能以原始形式拆分成多个部分。NFT 游戏也采用 ERC-721 代币标准来制作独特的游戏内物品。
现在,我们来看看 ERC-1155 代币标准,它是 ERC-20、ERC-721 和 ERC-777 的融合。
ERC-1155 标准是什么?
ERC-1155 标准的创建者之一是 Enjin 团队,他们致力于开发一种“一刀切”的智能合约代币设计。其条款定义在由 Enjin、Horizon 和 Turing 团队成员共同撰写的EIP-1155中。ERC-1155 是一种混合智能合约标准。
ERC-1155 标准为智能合约代币和智能合约开发者提供了一定的灵活性。它允许开发者在同一合约下发行不同的智能合约代币和代币类型,目的是避免每次开发者想要创建新代币时都需要重新编写合约。这一设计是针对当代区块链游戏和应用程序而设计的。当 Gamefi 开发者希望铸造多个不可替代和可替代的游戏物品时,为每种类型和物品编写新的合约可能会很繁琐。使用 ERC-1155,开发者可以在同一合约下部署任意数量的代币。
ERC-1155 代币可以具备任何同质化和非同质化代币标准的特性。开发者可以根据 ERC-1155 合约铸造同质化和非同质化代币。ERC-1155 标准还支持半同质化代币 (SFT)。SFT 可以在同质化和非同质化标准之间相互转换,其中 SFT 可以作为同质化代币进行交易,同时保持其独特属性。
资源高效的代币管理
以太坊区块链管理着大量智能合约,其中一些与同一个项目相关。这些合约可能是多代币项目(例如,分别运营治理代币和实用代币的项目)、发行同质化代币和不可同质化代币的 Gamefi 项目,以及其他类似的情况。ERC-1155 的设计理念是将这些代币打包在同一合约下,从而节省网络资源,无需为每个代币编写新的合约。
ERC-1155 还支持批量转账。这意味着用户可以在同一合约下一次性发送多个代币。由于交易调用的是同一份合约,因此与单独发送每个代币相比,支付的 Gas 费用更低。如果用户希望获取同一合约下每个代币的余额记录,批量余额功能还可以节省大量时间。
ERC-1155 代币标准的实用性
ERC-1155 代币标准已经存在的一些用例包括:
开放版 NFT
开放版 NFT对收藏家可铸造的艺术品(或多媒体的数字签名)数量没有限制。参与铸造活动的收藏家可以根据自身能力铸造任意数量的 NFT。
在大多数情况下,唯一的限制是铸造周期。在 NFT 铸造活动期间(例如,从铸造开始算起的 24 小时内),可以铸造任意数量的 NFT。当这段设定的时间结束后,铸造活动结束,收藏家铸造的 NFT 数量将成为该藏品的总供应量。藏品及其艺术品的稀有性取决于参与活动的收藏家数量及其铸造的艺术品数量。
利用 ERC-1155 标准的开放式 NFT 项目可以将收藏家铸造的艺术品映射到一份合约中。ERC-1155 智能合约标准还允许 NFT 的批量转移,并让创作者可以在同一合约下自由地将同质化代币添加到他们的 NFT 项目中。
动态 NFT
通过 ERC-1155,NFT 创建者可以在初始铸造后升级或修改其 NFT。其中一种应用是动态 NFT,它们保留其唯一标识符,但其元数据和外观会根据智能合约响应外部数据而变化。智能合约负责处理元数据的更改过程,它们旨在从预言机获取信息,并根据外部数据自动进行更改。
音乐 NFT
音乐家可以使用 ERC-1155 代币标准发行原创歌曲,其中音乐 NFT 的多个副本可以由多人铸造和持有。音乐家可以设定可铸造的音乐 NFT 数量,也可以结合开放版 NFT 的机制,让收藏者在一定时期内可以铸造任意数量的副本。
赌博
NFT 在去中心化游戏中盛行;游戏中的武器和皮肤等物品可以表示为 NFT,每个玩家都拥有对其物品的完全保管权。ERC-721 智能合约代币标准最初应用于 CryptoKitties 游戏,此后一直主导着 NFT 领域,但由于其僵化性,其功能可能受到限制。同样,ERC-20 代币在游戏中的实用性主要局限于作为游戏内货币。由于只有这两个代币标准,这意味着游戏内货币需要 ERC-20 合约,而每件游戏装备则需要多个 ERC-721 合约。
使用 ERC-1155,开发者可以在一个合约中创建同质化代币和多个 ERC-721 代币。这不仅节省了开发者的资源,还能在同一个智能合约中高效使用同质化代币和不可同质化代币。由于 ERC-1155 支持资产的批量转移,玩家还可以批量交易 NFT。
ERC-1155 与 ERC-20
ERC-20 智能合约标准是以太坊区块链上最早的智能合约代币标准之一,可以说是最受欢迎的 ERC 标准。大多数现有和新项目都采用此标准发行和分发代币。ERC-20 代币具有可互换性,这与 ERC-777 标准类似。
相比之下,ERC-1155 支持创建和管理同质化和非同质化代币。然而,如上所述,ERC-20 标准仅适用于同质化代币。由于该标准不支持多个合约,因此每个 ERC-20 代币都位于一个单独的合约中。
ERC-20 标准也不支持批量转移;一次只能转移具有相同 ID 的代币。同时,ERC-1155 支持资产的批量转移,相对于每批转移的独特资产数量而言,这节省了成本和时间。
ERC-20 代币交易具有最终性。没有算法对转账进行身份验证,转账请求一旦执行,操作将无法撤销。ERC-1155 标准代币略有不同,这得益于其转账安全规则。ERC-1155 安全转账规则规定了代币转账撤销的条件。智能合约会验证交易是否符合每条规则,以避免被利用。
ERC-20 是一个相对简单的智能合约标准,它定义了(可替代)资产的发行和转移,无需额外的实用程序。ERC-1155 改进了 ERC-20 标准的可替代代币创建和管理系统,并在降低区块链构建复杂性的同时增加了额外的实用程序。
ERC-20 标准 | ERC-1155 标准 | |
资产类型支持 | 仅支持可替代代币。 | 支持可替代、不可替代和半可替代代币。 |
批量转移 | 一次只能转移相同ID的代币。 | 同一合约下的多个代币及代币类型可以同时转移。 |
转移安全 | 没有转移安全规则,交易无法撤销。 | 转移必须符合转移安全规则并且可以撤销。 |
原子交换 | 对于 ERC-20 代币来说,这并非本质上可能。 | 可以为 ERC-1155 代币开发,因为无需单独批准单个代币。 |
ERC-1155 与 ERC-721
ERC -721标准允许您在以太坊区块链上创建独一无二的、不可替代的代币。这些代币不能互相交换使用,每个代币都有其各自定义的特性,并且一次只能发送一个。ERC-1155 标准也用于创建不可替代的代币,但在某些方面与 ERC-721 有所不同。
ERC-721 仅支持创建非同质化代币 (NFT),而 ERC-1155 标准则支持 NFT 和同质化代币。它兼具 ERC-20 和 ERC-721 的功能。除了支持这两种代币类型外,它们还可以在同一合约下铸造和管理。开发者可以创建代币来定义游戏中的物品,也可以创建原生的同质化代币,用于游戏生态系统。玩家可以在同一合约中找到这两种代币类型。ERC-721 标准在撰写本文时尚不具备此功能。因此,对于每种代币,开发者都需要编写一份新的合约,用户也必须分别管理其资产。
此外,ERC-1155 标准不存储额外的元数据,并将智能合约链接到多个 URI,这提高了灵活性并降低了开发成本。而 ERC-721 标准则要求元数据必须存储在智能合约中,这可能会消耗更多资源并降低灵活性。ERC-721 标准仅支持静态元数据,这也意味着它可能无法支持 NFT 领域的开发,例如动态 NFT。
ERC-1155 标准的批量转账功能还意味着合约中的多个代币可以一次性发送(单笔转账),并且只需支付一笔交易费用。虽然批量转账可能会收取更高的费用,但与逐笔执行交易相比,仍然可以节省大量的 Gas 费用和时间。然而,ERC-721 代币不支持批量交易,需要每次单独发送每个代币。
ERC-1155 标准中的转账安全规则为转账提供了额外的验证层,保护用户免受意外或错误转账的影响。它还允许在发生意外或错误转账时进行撤销。如前所述,此功能是 ERC-1155 标准独有的,而 ERC-721 和 ERC-20 标准则没有此功能。得益于此功能,ERC-1155 在安全性方面可能比 ERC-721 标准高出不少。
ERC-1155 标准消除了单独批准单个代币的需要,并使得开发 ERC-1155 代币的原子交换成为可能。这是 ERC-721 标准和 ERC-721 代币无法实现的。
ERC-1155 标准 | ERC-721 标准 | |
灵活性 | ERC-1155 元数据可以通过智能合约进行修改,智能合约从预言机获取信息并根据这些数据对 NFT 进行自动更改。 | ERC-721智能合约仅支持在合约中存储静态元数据。 |
资产类型支持 | 在同一合约下支持同质化代币、非同质化代币、半同质化代币。 | 支持同质化代币。每种代币都需要编写单独的智能合约。 |
批量转移 | 同一个智能合约内的不同Token可以同一批发送。 | 不适用于 ERC-721 代币。每个代币必须单独转移。 |
资产转移安全 | 转账安全规则会验证每笔转账,防止漏洞利用。一旦发现漏洞,交易即可撤销。 | 不适用于 ERC-721 代币。 |
最后的想法
ERC-1155 标准为在以太坊区块链或任何其他采用类似技术的网络上运行的代币提供了一系列代币级别的改进。我们已经讨论了该标准的工作原理以及与其他标准的比较。虽然其灵活的特性备受关注,但额外的安全特性可能会让普通的区块链爱好者受益更多。一些项目已经在利用该标准所提出的技术,主要是 NFT 项目。此外,随着加密领域的发展,其他领域的项目可以探索 ERC-1155 代币标准的更多应用。