# Echo X 報告 v2 (Jacky) # We are What We Eat 為什麼會發生超賣 ![](https://i.imgur.com/UZhEC67.jpg) ## 事件內容 [We are What We Eat](https://www.tatlerasia.com/dining/journeys/we-are-what-we-eat-seed-nfts-presale?fbclid=IwAR1tgZ0xCJFSPIdAle5sFayF78f-PCz3nZbpEfzcC1MSveUyVLaVJ0oXN7Y) 2022.1.10 11:00 優先釋出的 200 個 Seed NFTs 在 2 分鐘內全數鑄造完成 🚀 反應熱烈,因此項目方與三位創作者:黃心健、江振誠及張逸軍宣布明天(1/11)11:00 將啟動第二波活動 Public Sale,但最後第二波活動卻發生**超賣**和**提前購買**等問題。 此次三位創作者與ExchoX事件,我們先回顧整個事件,再進行合約分析。 1. EchoX事件後續處理及應對 2. 從合約基礎開始,分析 EchoX * 從合約發現 EchoX 超發問題 * 如何透過優良的合約設計避免人為問題 4. 反思 * 如何組織好的 NFT 團隊 * NFT 項目方與去中心化平台的角色 #### 項目方:[EchoX](https://www.echox.app/) 是虛實整合的策展專家,提供 NFT 管理工具及線上策展顧問。 --- # EchoX 後續處理及應對 2022.1.11 項目方臉書放棄現有合約,之前透過官方渠道順利鑄造 Seed NFT 的買家,會重新空投原購買量的 Seed NFT 到你的錢包。 在 OpenSea 二級市場買到「非官方 Seed NFT」的買家,EchoX 會直接空投新合約的 Seed NFT 至買家錢包,但請於1/12 6pm(UTC+8)前 Email:service@echox.io 回報。需附上 1. 錢包地址 2. 你的 OpenSea NFT 連結。 **但其實『被放棄的現有合約』,在2022.1.25時裡面還存著 42.75 ETH** ## 如何從合約發現EchoX超發問題 ### 第一波開發時間&購買數量 ![](https://i.imgur.com/8b1f6Bp.jpg) **沒有人發現合約問題,第一波也順利的完成銷售** 從etherscan上我們可以明顯看出,第一次的設定是在 Jan-07-2022 10:54:28 AM +UTC (台北時間要 +8 小時)。第一波活動設定完成後,假如有科學發現其實就能夠購買了,這裡 NFT 最大發行數量設定為 200 個,和 [官網](https://www.facebook.com/TheEchoXio/) 宣布銷售數量一樣,這裡團隊的溝通是沒甚麼問題的。 為何說**時間**的設定上是有點問題的? 因為 1672272000 的時間是 2022/12/29,這樣等同於沒有限制,但因為沒人發現,所以第一波沒有人提前購買。從**售出時間** 2022-01-10 11:17:52 - 2022-01-10 11:21:09,每個NFT定價0.095 ETH,共賣出 200 個,總價值19 eth。 `setActivity` 設定內容為 : **最大發行數量(maxCirculation) :** 200 ### 第二波開發時間&購買數量 ![](https://i.imgur.com/s9N1zky.jpg) **人為設定出錯** 從原本宣布的80直接超賣到250 從 etherscan 的活動紀錄我們一樣可以明顯看出,第二次的設定是在 Jan-11-2022 02:24:32 AM +UTC (台北時間要 +8 小時)。第二次的設定只有最大發行量有更動,這也是為什麼會發生**超賣**和**提前購買**的問題了,但這個部分需要從程式碼去解析。2022-01-11 10:25:32 - 2022-01-11 10:30:55 (台北時間),**售出** 23.75 eth,共賣出 250個,這邊每個NFT定價跟第一次一樣都是0.095 ETH ExchoX 作法 `setActivity` 設定內容為 : 最大發行數量(maxCirculation) : 250 ExchoX 正確作法 (依照官網公告) `setActivity` 設定內容為 : **最大發行數量(maxCirculation) : 80** ## 合約設計是否有問題? ### 為什麼可以偷跑 ![](https://i.imgur.com/FTRxadz.jpg) **兩波開賣的時間點** 第 1 波開啟時間 : 1641783600 (January 10, 2022 11:00:00 AM GMT+08:00) 第 2 波開啟時間 : 1641870000 (January 11, 2022 11:00:00 AM GMT+08:00) **錯誤 :** 時間的判斷方式有問題,上面的寫法會變成只有開關的功能,因為合約的設定是在購買之前。 **改善 :** 改成 block.timestamp >= activity.period 會比較好,因為區塊時間會一直往前走,超過設定的時間才可以開始購買,然後時間要設定正確。 ## 為什麼會超賣 ![](https://i.imgur.com/YsUN3ds.jpg) 1/10、1/11 的活動都是透過 `setActivity` 去更新和設定,每次執行都會把**當前售出數量**歸零,所以 1/11 的活動就又變成可以買 250 個 NFT 了 ### *總結 合約設計 + 人為操作 = 偷跑及超賣的發生* ## 其他NFT團隊可以從 EchoX 事件中獲得的反思 整起EchoX事件中我們發現到,合約的設計以及人為操作,確實都需要很謹慎。畢竟合約就是法律條文,從部署上鏈以後,就不能夠輕易的更改。因此合約部署之前,團隊成員彼此間及活動的執行者,都需要進行充分的溝通以及討論。如此一來,才能避免兵荒馬亂,讓團隊在應對不管是好的突發狀況,又或者是壞的突發狀況,都可以很從容地去應對,也可以降低人為操作發生問題的可能性,就像是這次ExchoX設定數量與官網公告的有3倍以上的差距。 另外也很值得探討的一點是 NFT 項目方與去中心化平台的角色,像這次 EchoX 中間一度不願意承認在二級市場 Opensea 上買到的 NFT。 從中我們也可以進一步感受到去中心化世界的運作,同時對於 NFT 的擁有權及 NFT 項目方給予社群回饋,中間是存在著不確定性的,像是這次 EchoX 所承諾的 RAW 優先訂位權以及加購享用專屬的沉浸式「We Are What We Eat」VR 與料理體驗,EchoX 如果拒絕承認,就算持有NFT,到時候也沒辦法在 RAW 使用優先訂位權的。 ~~> EchoX — Today at 11:00 AM ‼️EchoX緊急公告‼️ 11點的公售將延期,順延時間另行公告。我們發現有許多非經由正常途徑鑄造的,凡是在EchoX沒有訂單者,皆屬於非正常途徑鑄造並沒有賦能功能。 請非正常途徑鑄造者,盡快聯繫我們並將Seed返還,我們將扣除轉帳 gas fee 作退款處理。 另外也建議大家暫時避開二級市場的交易,以免購買到非官方鑄造的NFT。只要發現圖片尚未出現的,皆不要輕易購買!~~(可以刪掉) --- ~~同步附上其他同樣有發現這件問題科學家資料給大家參考 https://mirror.xyz/0x0b399FD0a7F694774EC7Df64aD431714cE8129a6/dxvRnNajnBLNY5GLngsljmWkPtLKSwqLUvlPnbTkTtY~~ (可以刪掉)