貨幣通常是指區塊鏈的原生代幣或與 ERC20 協議類似的可互換代幣,如 BTC、ETH、USDT 等。
圖像則是指符合 ERC721 協議的非互換代幣(NFT),如 CryptoPunks、Bored Apes、mfers 等。國內數字收藏平台(如 Whale Explorer)發布的 3D 模型資產也被視爲圖像。
代幣和 NFT 各有其局限性,例如,代幣具有良好的流動性,但本身缺乏投機價值,而 NFT 具有稀缺性和獨特性,但通常流動性較差,通常要麼是藍籌項目,要麼集中於地板價格。
某NFT項目流動性深度圖
這NFT-FT二元性指以某種方式,將代幣和 NFT 混合在一起的標準。
以以太坊爲例,支持 NFT-FT 二元性的項目應該既可互換又不可互換。它既能享受代幣帶來的高流動性,又能實現稀缺性和唯一性,具有投機價值。
但這種東西真的存在嗎?NFT 的價格與它的稀有性息息相關;如何才能讓它成爲可替代品?
2024年春節期間,一個名爲ERC404的實驗協議及其第一個項目潘多拉(Pandora)迅速引起轟動。
ERC404 開創了一種混合圖像貨幣的方法,可以簡單地描述爲:
下面用一張圖來說明目前ERC404的混合邏輯:
ERC404遊戲規則
以下是目前潘多拉魔盒的5種類型,每種都有不同的稀有度。根據合同執行方式,我們可以計算出概率:
ERC404 代碼的第一個版本寫得很差勁,或者說得好聽一點,它不理想。不過,它解決了主要問題—如何在一個合約中同時實現 ERC20 和 ERC721 接口。
三種協議比較
我們篩選出兩個接口定義中不相關的部分,並比較哪些接口重疊或衝突:
interface IERC20 {
// Query the balance based on an address
function balanceOf(address account) external view returns (uint256);
// Transfer to a certain address
function transfer(address recipient, uint256 amount) external returns (bool);
// Transfer to a certain address on behalf of a third party (based on authorization)
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
// Authorize token allowance
function approve(address spender, uint256 amount) external returns (bool);
}
interface IERC721 is IERC165 {
// Query the NFT quantity based on an address
function balanceOf(address owner) external view returns (uint256 balance);
// Transfer within the NFT standard is included in transferFrom
// Transfer an NFT to a certain address on behalf of a third party (based on authorization)
function transferFrom(address from, address to, uint256 tokenId) external;
// Authorize NFT
function approve(address to, uint256 tokenId) external;
}
可以看出,四個衝突的接口都與轉帳相關。在 ERC20 中,語義上最後一個參數是 amount
,這是代幣的限額,而在ERC721中,參數的語義是 tokenId
,代表NFT的數量。
在ERC404的合約實現中,該參數的語義改爲 amountOrId
。辨別是否是的方法amount
或一個 tokenId
非常簡單:基於值的大小。
如同 1 比特幣 =10^9 聰,在ERC404的世界裏,我們說1個Token實際上對應的值是10^18,而 NFT 的 tokenId
一般是從1開始依次遞增的整數。因此,雖然 amount 和 tokenId 都是整數,但實際數量級卻大不相同。
例如,Pandora 合約記錄了當前已鑄造了多少 NFT(目前 68180)。如果值 amountOrId
小於或等於這個,它被認爲是tokenId
; 否則,它被認爲是 amount
。
這個邏輯有用嗎?有。它合理嗎?
此外,當轉帳 >= 1 Token 時,NFT 的邏輯不是轉帳,而是原帳戶銷毀,新帳戶鑄幣。這種方法的優點是流動性匹配,實現簡單(考慮轉帳少於1個代幣的場景),但會導致gas消耗過大。
以這個交易爲例,轉讓 4 個代幣導致銷毀 4 個 NFT,並鑄造 4 個新的 NFT:
該交易消耗了 64 美元的 GAS
ERC404的玩法引入了幾條隱形規則:
如果我掌握了持續鑄造 “紅色潘多拉魔盒 “的魔法,我是否可以在交易所買入代幣,然後在 NFT 市場高價賣出,進行無限套利?
我們來看看潘多拉的價格;這些數據爲套利提供了理論基礎:
以 4.7 ETH 購買代幣
過去一周,NFT 的底價已超過 5 ETH
上述數據沒有按照 NFT 的稀有程度進行篩選;在此條件下,扣除損耗後的利潤約爲 0.2 ETH。根據上述隱含規則,如果我們總能鑄造出像紅色潘多拉魔盒這樣高稀有度的 NFT,豈不是會有更大的利潤空間?
我們來看看 Pandora 合約,看看KOL們常說的“隨機生成”到底是如何實現的:
pragma solidity ^0.8.0;
contract Pandora is ERC404 {
function tokenURI(uint256 id) public view override returns (string memory) {
// Hash the id once, taking the first digit as the random number
uint8 seed = uint8(bytes1(keccak256(abi.encodePacked(id))));
string memory color;
// Determine the rarity based on the range of values for a uint8 [0, 255]
if (seed <= 100) {
color = "Green";
} else if (seed <= 160) {
color = "Blue";
} else if (seed <= 210) {
color = "Purple";
} else if (seed <= 240) {
color = "Orange";
} else if (seed <= 255) {
color = "Red";
}
}
}
通過閱讀合約,我們可以看到潘多拉魔盒的稀有度是僞隨機的,類似於我們之前的 CryptoFish 項目,其中 tokenId
正在逐漸增加,因此下一個鑄造的 NFT 的稀有性是完全可以預測的。
我們可以用一段JavaScript代碼進行純粹的本地猜測,經過驗證,這個邏輯是完全正確的:
const ethers = require('ethers');
const calcSeed = (id) =>
parseInt(ethers.solidityPackedKeccak256(['uint256'], [id]).substr(2, 2), 16);
const getColorBySeed = (seed) => {
let color;
if (seed <= 100) {
color = 'Green';
} else if (seed <= 160) {
color = 'Blue';
} else if (seed <= 210) {
color = 'Purple';
} else if (seed <= 240) {
color = 'Orange';
} else if (seed <= 255) {
color = 'Red';
}
return color;
};
console.log(calcSeed(1)); // 177
console.log(getColorBySeed(calcSeed(1))); // Purple
目前Pandora鑄造增量值爲 68180,這意味着我們可以預測以下 100 個將達到紅色稀有度的 NFT ID:68186/68201/68213/68227/68228/68257/68259/68262
如果我們忽略當前潘多拉項目流動性的下降,這可能是一種非常受歡迎的金融行爲。
ERC404 和 Pandora 並不是第一個探索 NFT 流動性協議的公司。之前已經有過關於 NFT 分片化的討論,包括 ERC1155 作爲 NFT 的創新方法。
但爲什麼這次 ERC404 的情緒如此高漲呢?我相信是因爲這個好名字。
不幸的是,第一版ERC404合約執行得並不順利,因此官方正在積極推動V2版本,並且社區也有第三方實現DN404。有些人甚至創建了一個名爲 ERC911 的新協議,該協議的命名充滿了各種功能。
流動性在新年期間達到頂峯,此後出現大幅下降。
潘多拉V1的故事可能很快就會結束;目前的版本有無數的缺陷足以讓它垮掉,流動性和持有者也大幅下降。不過,目前越來越多的項目團隊正在嘗試ERC404模型,已有25個項目團隊在CoinMarketCap上市。
相信未來會有更多NFT流動性問題的解決方案,ERC404可能真正帶來下一個NFT之夏。
Пригласить больше голосов
貨幣通常是指區塊鏈的原生代幣或與 ERC20 協議類似的可互換代幣,如 BTC、ETH、USDT 等。
圖像則是指符合 ERC721 協議的非互換代幣(NFT),如 CryptoPunks、Bored Apes、mfers 等。國內數字收藏平台(如 Whale Explorer)發布的 3D 模型資產也被視爲圖像。
代幣和 NFT 各有其局限性,例如,代幣具有良好的流動性,但本身缺乏投機價值,而 NFT 具有稀缺性和獨特性,但通常流動性較差,通常要麼是藍籌項目,要麼集中於地板價格。
某NFT項目流動性深度圖
這NFT-FT二元性指以某種方式,將代幣和 NFT 混合在一起的標準。
以以太坊爲例,支持 NFT-FT 二元性的項目應該既可互換又不可互換。它既能享受代幣帶來的高流動性,又能實現稀缺性和唯一性,具有投機價值。
但這種東西真的存在嗎?NFT 的價格與它的稀有性息息相關;如何才能讓它成爲可替代品?
2024年春節期間,一個名爲ERC404的實驗協議及其第一個項目潘多拉(Pandora)迅速引起轟動。
ERC404 開創了一種混合圖像貨幣的方法,可以簡單地描述爲:
下面用一張圖來說明目前ERC404的混合邏輯:
ERC404遊戲規則
以下是目前潘多拉魔盒的5種類型,每種都有不同的稀有度。根據合同執行方式,我們可以計算出概率:
ERC404 代碼的第一個版本寫得很差勁,或者說得好聽一點,它不理想。不過,它解決了主要問題—如何在一個合約中同時實現 ERC20 和 ERC721 接口。
三種協議比較
我們篩選出兩個接口定義中不相關的部分,並比較哪些接口重疊或衝突:
interface IERC20 {
// Query the balance based on an address
function balanceOf(address account) external view returns (uint256);
// Transfer to a certain address
function transfer(address recipient, uint256 amount) external returns (bool);
// Transfer to a certain address on behalf of a third party (based on authorization)
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
// Authorize token allowance
function approve(address spender, uint256 amount) external returns (bool);
}
interface IERC721 is IERC165 {
// Query the NFT quantity based on an address
function balanceOf(address owner) external view returns (uint256 balance);
// Transfer within the NFT standard is included in transferFrom
// Transfer an NFT to a certain address on behalf of a third party (based on authorization)
function transferFrom(address from, address to, uint256 tokenId) external;
// Authorize NFT
function approve(address to, uint256 tokenId) external;
}
可以看出,四個衝突的接口都與轉帳相關。在 ERC20 中,語義上最後一個參數是 amount
,這是代幣的限額,而在ERC721中,參數的語義是 tokenId
,代表NFT的數量。
在ERC404的合約實現中,該參數的語義改爲 amountOrId
。辨別是否是的方法amount
或一個 tokenId
非常簡單:基於值的大小。
如同 1 比特幣 =10^9 聰,在ERC404的世界裏,我們說1個Token實際上對應的值是10^18,而 NFT 的 tokenId
一般是從1開始依次遞增的整數。因此,雖然 amount 和 tokenId 都是整數,但實際數量級卻大不相同。
例如,Pandora 合約記錄了當前已鑄造了多少 NFT(目前 68180)。如果值 amountOrId
小於或等於這個,它被認爲是tokenId
; 否則,它被認爲是 amount
。
這個邏輯有用嗎?有。它合理嗎?
此外,當轉帳 >= 1 Token 時,NFT 的邏輯不是轉帳,而是原帳戶銷毀,新帳戶鑄幣。這種方法的優點是流動性匹配,實現簡單(考慮轉帳少於1個代幣的場景),但會導致gas消耗過大。
以這個交易爲例,轉讓 4 個代幣導致銷毀 4 個 NFT,並鑄造 4 個新的 NFT:
該交易消耗了 64 美元的 GAS
ERC404的玩法引入了幾條隱形規則:
如果我掌握了持續鑄造 “紅色潘多拉魔盒 “的魔法,我是否可以在交易所買入代幣,然後在 NFT 市場高價賣出,進行無限套利?
我們來看看潘多拉的價格;這些數據爲套利提供了理論基礎:
以 4.7 ETH 購買代幣
過去一周,NFT 的底價已超過 5 ETH
上述數據沒有按照 NFT 的稀有程度進行篩選;在此條件下,扣除損耗後的利潤約爲 0.2 ETH。根據上述隱含規則,如果我們總能鑄造出像紅色潘多拉魔盒這樣高稀有度的 NFT,豈不是會有更大的利潤空間?
我們來看看 Pandora 合約,看看KOL們常說的“隨機生成”到底是如何實現的:
pragma solidity ^0.8.0;
contract Pandora is ERC404 {
function tokenURI(uint256 id) public view override returns (string memory) {
// Hash the id once, taking the first digit as the random number
uint8 seed = uint8(bytes1(keccak256(abi.encodePacked(id))));
string memory color;
// Determine the rarity based on the range of values for a uint8 [0, 255]
if (seed <= 100) {
color = "Green";
} else if (seed <= 160) {
color = "Blue";
} else if (seed <= 210) {
color = "Purple";
} else if (seed <= 240) {
color = "Orange";
} else if (seed <= 255) {
color = "Red";
}
}
}
通過閱讀合約,我們可以看到潘多拉魔盒的稀有度是僞隨機的,類似於我們之前的 CryptoFish 項目,其中 tokenId
正在逐漸增加,因此下一個鑄造的 NFT 的稀有性是完全可以預測的。
我們可以用一段JavaScript代碼進行純粹的本地猜測,經過驗證,這個邏輯是完全正確的:
const ethers = require('ethers');
const calcSeed = (id) =>
parseInt(ethers.solidityPackedKeccak256(['uint256'], [id]).substr(2, 2), 16);
const getColorBySeed = (seed) => {
let color;
if (seed <= 100) {
color = 'Green';
} else if (seed <= 160) {
color = 'Blue';
} else if (seed <= 210) {
color = 'Purple';
} else if (seed <= 240) {
color = 'Orange';
} else if (seed <= 255) {
color = 'Red';
}
return color;
};
console.log(calcSeed(1)); // 177
console.log(getColorBySeed(calcSeed(1))); // Purple
目前Pandora鑄造增量值爲 68180,這意味着我們可以預測以下 100 個將達到紅色稀有度的 NFT ID:68186/68201/68213/68227/68228/68257/68259/68262
如果我們忽略當前潘多拉項目流動性的下降,這可能是一種非常受歡迎的金融行爲。
ERC404 和 Pandora 並不是第一個探索 NFT 流動性協議的公司。之前已經有過關於 NFT 分片化的討論,包括 ERC1155 作爲 NFT 的創新方法。
但爲什麼這次 ERC404 的情緒如此高漲呢?我相信是因爲這個好名字。
不幸的是,第一版ERC404合約執行得並不順利,因此官方正在積極推動V2版本,並且社區也有第三方實現DN404。有些人甚至創建了一個名爲 ERC911 的新協議,該協議的命名充滿了各種功能。
流動性在新年期間達到頂峯,此後出現大幅下降。
潘多拉V1的故事可能很快就會結束;目前的版本有無數的缺陷足以讓它垮掉,流動性和持有者也大幅下降。不過,目前越來越多的項目團隊正在嘗試ERC404模型,已有25個項目團隊在CoinMarketCap上市。
相信未來會有更多NFT流動性問題的解決方案,ERC404可能真正帶來下一個NFT之夏。