原文标题:《ERC721P 惊蛰版:代码即法律》

撰文:PandaDAO

ERC721P 全称为 ERC721 Panda,该协议属于 NFT 的去中心化 Swap 协议,由 PandaDAO 社区开发,SlowMist 进行安全审计。在 2022 年的惊蛰前后,团队在内部讨论关于社区 NFT 的事情,那个时候 ERC721P 想法还没有成型,NFT 的画面也远不是今天这个样子的,但是缘分就是如此的巧妙,我们在那个时间萌生了 NFT 的想法,就像惊蛰这个节气一样,惊醒了蛰居了一整个冬天的动物;同时我们也希望,该名字意味者本次加密市场的寒冬终结。所以我们把第一个版本取名叫惊蛰,纪念我们那些过去的日子,也期待社区未来的日子。

在设计阶段,我们希望抛开个人或者某个特定组织对合约的直接干预造成影响,遵循区块链的规则『Code is Law』。因为我们相信,任何伟大的事物,是不受个人或者小部分组织可以影响的,而是由底层的代码确定了它的生命周期和未来它的上限。

ERC721P 最初由 Random Panda Club ( 以下简称 RPC) 使用,也是社区的第一个正式的 NFT 项目。Random Panda Club 的中文叫做随机熊猫俱乐部。所有美好事物的诞生往往是随机性的,并未刻意安排所有进程,宛如上帝抛下了一颗颗巨大的骰子。好比地球的诞生,生命的起源和 web3 的无限可能性。也如同 01 二进制创造了整个互联网世界,熊猫的黑白创造更多的可能性。

ERC721P: 去中心化的 NFT Swap 协议

最初,RPC 的每个 NFT 都会锚定 5 万个 $PANDA。简单来说,每个 RPC 可以兑换出 5 万个 $PANDA,而 5 万个 $PANDA 也可以兑换出 1 个 RPC。而 PandaDAO 社区会对市面上流通的 Token 实行 0.005 美金的固定价格回购,也就是是说每个 RPC 的最低可以兑换出 250 美金,随着合约交互的增加,手续费的增加,NFT 的锚定价格也会增加。

因为该设计,在 NFT 市场上也存在套利空间。当 NFT 的价格在公开市场低于锚定价格等值的 ETH。套利者可以购买 NFT,兑换成 $PANDA,再兑换成稳定币。

一文了解 NFT 交易协议 ERC721P :代码即法律

当 NFT 价格低于锚定价格的套利流程

如果 NFT 的市场价格高于合约锚定价格,同时 LP 池子中也有 NFT 作品。那么套利者可以购买 $PANDA,再兑换出 NFT,再去公开市场进行出售,实现套利。 但是因为 LP 池子最低有 1000 个 NFT 的下限,如果 LP 池子中少于 1001 个 NFT,则无法完成该套利条件。

一文了解 NFT 交易协议 ERC721P :代码即法律

当 NFT 市场价格高于锚定价格,并且 LP 池中有多余 NFT

ERC721P 还有一个机制在于每次 Swap 都需要锚定价格 7.5% 的手续费,其中一半会手续费会进入合约增加 NFT 的锚定价格,另外一半手续费则会打入社区国库,用作 NFT 的持续运营,比如 ChainLink 的预言机续费,项目空投等等。这个机制的出现,NFT 的持有者越晚退出,退还的代币越多,所得到的回报越高。同理,当池子中有 NFT 可以 swap 出来,越早兑换,所需要的 Token 越少。 详细公式如下:

一文了解 NFT 交易协议 ERC721P :代码即法律 NFT 兑换 $PANDA 公式

但是 ERC721P 还有一个巧妙的设计在是 NFT 的重生,也就是用 NFT 去兑换 NFT。假设你的 NFT 稀有度很低,或者你已经看腻了你的 NFT,那么你可以用你的 NFT 随机置换出另一个 NFT。因为置换是随机的,也许你会得到一个 1/1 作品,或者你会得到稀有度更低的作品。并且在未来的规划中,我们计划在池子中加入 BAYC,Doodles,Azuki 等蓝筹 NFT,也就是用户可以用 RPC NFT 兑换出其它的蓝筹作品,该协议更新预计在 2.0 版本上线。 重生合约和 Swap 合约一样,7.5% 的手续费,一半进入社区国库,一半进入 LP 矿池中,以此抬高 NFT 的锚定价格。也就是越早进行置换,所需要的花费越少。 详细公式如下:

一文了解 NFT 交易协议 ERC721P :代码即法律

NFT 重生对 NFT 锚定价格的影响公式

该合约的机制在于,不管 NFT 市场如何,PandaDAO 社区国库都是 RPC 持有者最坚强的后盾,满足所有 RPC 持有者的良性退出,并且不会影响到 RPC NFT 的市场价格。

ERC721P 解决的问题

1,流动性问题

流动性差是 NFT 诞生那天起就存在的问题,特别是当地板价暴跌的时候,NFT 的流动性几乎枯竭,兜底价格虽然能一定程度解决这个问题,但是当 NFT 地板价高于兜底价格很多的时候,NFT 的流动性还是会接近于枯竭;

2,收藏价值问题

目前 NFT 在流通中的手续费都是进入交易市场与项目方的钱包中,作为一个 NFT 的 Holder,除了赚卖出差价之外,并没有在 NFT 的流动中得到收益,这一点是不符合长期持有者的预期的;

3,审美疲劳与可玩性问题

用户购买 NFT 之后,往往会用来当头像,你在购买的时候会选择一个你喜欢的 PFP 作为头像,但是人的审美会变,而且喜新厌旧是人的本性;另一方面,长期持有一个 PFP 如果不是价格一直上涨也是一个比较无趣的事情。

ERC721P 就是为了解决这些问题而生,一方面通过锚定价格,形成套利空间,从而间接的影响到 NFT 的流动性,也可以避免手中的 NFT 出现归零。基于 ERC721P 的 LP 设计,可以不断的提高锚定价格,不管是有人退出,还是加入,甚至是置换,将大部分权益转移至长期持有者。因为 ERC721P 协议还有重生的功能,在增加可玩性的同时,也增加了 NFT 的随机性。

一文了解 NFT 交易协议 ERC721P :代码即法律

ERC721P 针对 NFT 和 Token 兑换的逻辑图

预言机随机数

ERC721P 中,用 Token 置换 NFT 和 NFT 的重生,两个都是随机性的。因此随机数对该合约非常重要。这里我们用的 ChainLink 预言机提供的随机数接口(Chainlink VRF 2.0)。在区块生效前,任何人都不知道会获得什么随机数,并且该机制可以杜绝链上随机数攻击。

但在实践中我们发现 Chainlink VRF 的 fulfillRandomWords 逻辑执行非常复杂,会使得回调执行的失败率增高,同时因为 Chainlink 回调执行的 gas fee 是无法在发出 random request 的时候准确的预知的,所以需要尽量减少在回调中的 gas 消耗;所以我们最终决定在回调中只做随机值存储处理,随机值确定之后的 NFT transfor 放在最后由用户来执行。

尽管我们已经对 Chainlink 回调的处理逻辑做了最大的简化,但是不排除在极端情况下,VRF 可能会出现大面积失败;一旦出现这种情况,国库多签将会开启随机值生成的兜底方案:Commit Reveal,在这个方案中,随机值得生成将只依赖于用户提交的随机 salt,以及矿工打包 hash,在有限的区块内,这种方案随机值作恶几乎不可能。

VRF 大面积回调失败概率是极低的,但是我们依然要考虑少数个例的失败,如果你在重生或者购买中出现了 VRF 执行回调失败的情况,那么你可以向国库提起申诉,提交链上证明;国库核对之后,会通过添加白名单的方式让你通过 Commit Reveal 来生成的补偿的随机值。

一文了解 NFT 交易协议 ERC721P :代码即法律NFT 重新协议运行逻辑案

ERC721P 的未来

基于该协议,我们可以确保,不管市场如何,ERC721P 协议发行的 NFT 都会有对应的抵押品,无法归零,从而解决 NFT 的泡沫危机。而去中性化的 Swap 协议和套利空间,可以解决 NFT 的流动性问题。除此之外,还有 NFT 被盗的问题。如果您的 NFT 被盗,当交易所拦截了该 NFT 交易。那么黑客可以选择在 ERC721P 置换成其它 NFT。作为被盗用户,可以联系社区,以锚定价,或者其它低质量的 NFT 兑换出自己原有的 NFT,尽可能的挽回自己的损失。

你在玩了很久 NFT 之后,发现你的背包里面有一堆已经卖不出去的「归零」小图片,但是他们曾经也是有生命的,如果 721P 可以重生,那么他们呢?

流动性既然是个 NFT 普遍的问题,或许你也希望让整个 NFT 重新流动起来,包括那些即将出生的 NFT……

当然,它还有很多发展空间,作为 ERC721P 的发起人之一,我也不清楚未来它会如何走,一切的一切交给时间去决定。我们所需要做的是构建一个完善的合约,不管市场如何变动,社区如何变动,甚至整个互联网如何变动,它都能一直运行下去,靠代码去约束一切,避免个人对核心逻辑进行干涉和修改。遵循区块链的规则『代码即法律』,而非『个人即法律』。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注