un.Block 区块链周报 2021 #17:Hermez、ERC1155
👨🚀 Glaze & Jasmine:你用的头像是NFT吗?
如果你喜欢本期内容,不妨在阅读后给我们点个 ❤️ ,并在下方订阅 un.Block Weekly ⬇️
🚀 链圈热闻:
Polygon 收购了 L2 扩容方案 Hermez
自我标榜为以太坊侧链的 Polygon 收购了 L2 扩容方案 Hermez。Hermez 采用了零知识证明,并开源了其代码。这一期我们将为大家介绍一些 Hermez 的特色。
⚙️ 网络模型
想要了解一个网络,我们先要研究交易是如何处理的,大家是如何达成共识的。与以太坊矿工的职责类似,Hermez 的 Coordinator 负责将交易打包提交到 Hermez Layer2。Hermez 采用 Proof-of-Donation 的形式来决定交易的打包权力。这意味着愿意给 Hermez 捐赠最多钱的 Coordinator 将获得打包权力。采用捐赠的模式使得 Layer2 的基础网络有可能达成自给自足。Hermez 项目方认为这是研究扩容的前提条件。我们觉得如果想要让 Layer2 的去中心化程度与以太坊媲美,或许能够自我运行是必不可少的条件之一。
⚛️ 原子交易
Hermez 还支持原子交易(Atomic Swap)。Hermez 提供了一个原子交易的例子:Alice 想要跟 Bob 用 1 ETH 换 2000 USDT。他们两个各自签署了交易,Alice 给 Bob 1 ETH,Bob 给 Alice 2000 USDT。他们的交易将同时生效,并且与他们想要的数量一致,即不会存在滑点。
在这基础上 Hermez 还支持限时交易。例如 Alice 可以签署以下交易:如果 Bob 在未来 10 分钟内发给 Alice 2000 USDT,那么 Alice 同时发给 Bob 1 ETH 。反之交易则不会发生。
💻 Hermez zkEVM
不同于重做一个针对零知识证明的 VM 和 EVM,Hermez zkEVM 采用 OPCODE 兼容的方式。感兴趣的读者可以观看他们的演讲,或许下一期我们将继续介绍。毕竟 zkEVM 是零知识证明的下一个里程碑。
除此之外,Hermez 还拥有一套自研的工具链,包含编译器 Circom 和常用库 Circumlib。
📔 相关阅读:
🍼 保姆级教程:ERC1155 - NFT 和标准代币共存
ERC721 做不到的,ERC1155 可以
ERC1155 的独特之处
ERC1155 的独特之处在于它使用一次性通过一个智能合约来代表多种代币。
ERC1155 的 balanceOf
函数和 ERC20 与 ERC777 的有所不同,他有一个独特的 id
参数来代表你想查询的代币,就像 ERC721 一样。
但实际上 ERC1155 又与 ERC721 略有不同:
在 ERC721 中,每个
id
代表的代币供应量要么是 0 要么是 1。ERC721 的balanceOf
函数会返回一个钱包里有多少个id
不同的代币。在 ERC1155 中,
id
所代表代币的供应量可以为任意数字。并且我们可以知道id
所代表代币的数量。NFT 也是一种特殊的 ERC1155 代币。
得益于这种设计思路,当我们需要多种代币的时候,能够大大的节省 Gas(例如你要做一个炉石传说的 NFT,里面有各种卡牌),借助 ERC1155,我们能够地轻易的搭建整个生态系统。
批量化操作
由于全部状态都存在一个合约中,因此我们可以在一笔交易中进行多项代币操作,这样效率可以大大提高。
balanceOfBatch
一次性查询多个代币的余额safeBatchTransferFrom
一次性转账多种代币
实现 ERC1155 的 NFT 和标准代币共存
如开头所说,在 ERC1155 中,一切都以代币形式存在,NFT 就是存量为 1 的代币,独一无二;标准代币是存量大于 1 的代币。
要达成上述目标,我们只需要修改在调用 _mint
函数是传入不同的数量参数,NFT 传入 1,标准代币传入大于 1 的数字。
我们先来看下_mint
函数:
account
: 代币存放地址id
: 代币序号amount
: 代币数量(关键点)data
: 额外数据
然后我们来看看 OpenZepplin 给的示范代码:
在上述代码中,我们可以看到 GOLD
、SILVER
并不唯一,属于标准代币,而 THOR_HAMMER
只有 1 把,属于 NFT 代币。通过控制存量,我们就能实现 NFT 和标准代币的共存。
还有一个值得注意的地方就是:在 ERC1155 中是不存在小数的,因此每一个代币都是独立不能分割的单位。
📔 相关阅读:
📘 附加题
NFT 火爆了这么久之后,NFT 借贷终于出现了,可以大大增加 NFT 的资金使用率。
🪧 项目推广
⚠️ 以下为非投资建议 (Not Financial Advise) 内容,un.Block 仅作转述
Crazy Lizard Army: 疯狂蜥蜴军团!
🦎 简介:
Crazy Lizard Army 是一个在 Ethereum 主网上的 NFT 项目,在 OpenSea 上架交易,蜥蜴限量 10,000 只,每一只蜥蜴都是独一无二的存在,有的穿西装,有的戴兔耳,还有各种千奇百怪的着装。在未来,三只蜥蜴甚至可以合成进化成炫酷的飞龙。
获得了蜥蜴之后,就意味这你加入了蜥蜴大军,比较有趣的是,蜥蜴狂热粉们根据蜥蜴的外贸特征,又分成了不同的蜥蜴小团体,其中知名度最高,也最吸引眼球的每一只都穿着西装的就是西装暴徒蜥蜴(编辑语:确实很帅)。
在蜥蜴军团中,开发团队和社区紧密相连,你可以在社区中自由的提出各种天马行空的想法和提案,如蜥蜴宇宙大战,武装蜥蜴等提案;此外,你也可以参与蜥蜴社区各种活动,如 Clubhouse 团建,蜥蜴二次创作。
🔗 社交网络
🚏Find us
💻 Website: unblock256.com
✈️ Telegram:un.Block Weekly
🕊️ Twitter: @unBlock256
📧 Email:[unblocketh@gmail.com](mailto:unblocketh@gmail.com)
视觉设计:Jenny
特别鸣谢:
本文非商业目的转载授权遵循 CC BY-NC 4.0 协议
版权所有 ©️un.Block 2021