ERC20:
ERC-20 是同质化代币(Fungible token,缩写为 FT),所有的代币单位价值都是一样的且可以分割。
ERC-20 代币都能兼容以太坊钱包以及支持以太币的钱包,交易所可以很容易地整合这些代币,绝大多数 ICO 都使用了 ERC-20 代币
ERC721:
ERC-721 是非同质化代币,也就意味着每个 Token 都是不一样的,都有自己的唯一性和独特价值,当然这也就意味着它们是不可分割的,也同时具有了可追踪性。
ERC-721 代表了对资产的所有权,为物品或记录的代币化提供了可能,开劈了一个巨大的市场,比如现实世界的房屋(房屋是不可移动,占据特定空间的资产,具有唯一性)和独一无二的艺术品;虚拟世界中的收藏物品,如以太坊上的各种收藏游戏中各种独一无二的收藏品;金融交易中的借贷交易记录。
ERC1155:
ERC-1155 用了一种新的方式来定义代币,物品将被储存的一个中央智能合约,并占用极少的空间仅用来互相区分。任何物品 Token 都可以被合并打包成一个”Token 包”,Token 包也有自己独立的 id(减少区块链上大量的冗余字节码)
我们类比一下暗黑中的镶钻机制,一件有两个孔的武器,和两个完美的宝石,这是三个 token,当我们把这两个宝石镶嵌进武器中,就变成了一个 token 包——也就是新的武器。同时,这个机制下也可以使得复杂交易简单化,比如 A 和 B 想交易 20 个物品,如果是一个个交易需要进行 20 次交易,如果可以将 20 个物品 token 打包,只需进行一笔交易后在解包,效率和体验就提升了很多
ERC998:
ERC-998 可组合非同质化代币(Composable NFTs,缩写为 CNFT)。它的结构设计是一个标准化延伸可以让任何一个 NFT 可以拥有其他 NFT 或 FT。转移 CNFT 时,就是转移 CNFT 所拥有的整个层级结构和所属关系。简单来说就是 ERC-998 可以包含多个 ERC-721 和 ERC-20 形式的代币
ERC998ERC721 top-down:必须实现ERC721的接⼝
ERC998ERC20 bottom-up:必须实现ERC20的接⼝
ERC165 标准必须适⽤用于所使⽤用的每个ERC998接⼝
如 ERC-721 在房屋交易中表示的是房子这个抽象的整体,但其实一栋房子是一整套东西的集合体,比如独一无二的土地使用权(ERC-721),量产的电视(ERC-20)。如果你是楼盘开发商,你会扔掉电视因为你看重的只是房子的土地使用权,这些都需要更细化的 token 来表示。这时就可以用到 ERC-998 规则为父 token(房子)添加各种子 token(房内物品)来完整的表示这个房子,新的整体 token 依然还是不可分割的 NFT,且包含了房子对其中物品的所有权关系,所有人都会喜欢这种明明白白表现所属权和一次性交易一整个 token 的方式。
ERC-998 的结构中包含两种映射关系,父 tokenID 映射到子 token 合约地址。当子 token 是 NFT/FT 时,子合约地址映射到对应的子 tokenID/余额。 也就是说对于子 ERC-721 token,ERC-998 会追踪 tokenID,而对于 ERC-20 token,ERC-998 会追踪 token 数量。 这种内部记账将有助于确保不拥有父 token 的人无法转移子 token。
ERC-721 和ERC20的交易过程
由于每一种 ERC-20 和 ERC-721 代币都是在独立的合约里,交换两种代币总共需要 4 次交易,每增加一个额外的代币类型
ERC-1155 的交易过程
ERC-1155 可以满足,不管要交易多少类型的将它们分组在一起,只需将其捆绑一起经过两个步骤即可,解决了现有标准的低效率问题(比如去超市购买了 10 件商品如果每次结算一件商品会很麻烦,如果所有的商品打包一次结算就会节省很多时间)
使用 ERC-1155,你可以仅使用一次交易,就能一次性把多个物品发送给一个或者多个接收方,这能有效的减少 Gas 费用和以太坊的拥堵。ERC-1155 融合了 ERC-20 和 ERC-721 各自的特性和优点,开发者可以给自己的应用创建几千种不同类型的产品。根据需要,每一个物品可以有自己独立 id 或者是像 ERC-20 代币一样可以同质化
对于ERC1155 和 ERC998 (这两个协议还处于 Draft 状态)ERC998 已公开的方法有:
ERC998ERC721TopDown
ERC998ERC20TopDown
ERC998ERC721BottomUp
ERC998ERC20BottomUp
ERC998 的协议描述
ERC1155的协议描述
自上而下的可组合合同存储并跟踪其每个令牌的子令牌。 自下而上的可组合合约存储并跟踪每个令牌的父令牌