當前位置:
首頁 > 最新 > 是時候讓ERC20退出歷史舞台了

是時候讓ERC20退出歷史舞台了

以太坊上ERC20標準的誕生,開啟了一個潘多拉魔盒。這一標準讓開發者可以非常輕鬆的建立自己的token體系,帶來了1c0的春天和一波瘋狂的牛市。

而在讓無數人獲得財富的時候,ERC20的一個漏洞,也讓許多人的財產蒸發。

你試過從某個地方轉幣出去後,一直收不到,然後幣就飄在空中找不回來嗎?這大概就是不負責任的開發者在ERC20漏洞上犯的糊塗造成的。

相信看到這篇文章的人,手上都多多少少持有ERC20代幣。今天我們就來說一說劃時代的ERC20,背後隱藏的風險。

基礎知識:ERC20是什麼?

已經知道的同學可以跳過這部分。

ERC20代幣標準出現在2015年,在它出現前,開發者需要自己建立大量的標準和代碼來才能在以太坊上發布自己的幣。而ERC20標準大大簡化了這個工作,結果徹底顛覆了加密貨幣市場,為2017年全球眾多ICO加密貨幣項目打開了大門。

ERC20 Token里最著名的包括主網上線前的EOS,BNB,VeChain等等。

你的幣是怎麼沒的?ERC20漏洞解析

ERC20是以太坊上的第一個代幣標準。而第一版的代碼裡面有邏輯問題或者一下bug很常見。

ERC20里有兩種操作代幣轉賬的方法,分別是針對不同的目的地,賬戶和智能合約地址。我覺得這裡可以理解成個人賬戶,和一個有智能合約代碼的「對公賬戶」:

1. 從你的賬戶把token發到別人的賬戶,用「Transfer」方法。

2. 從你的賬戶把token發到一個智能合約地址,需要連續調用兩個方法:「approve 」和「transferFrom』」。也就是兩步:

a. 授權:我允許這個智能合約賬戶來轉我的token

b. 轉幣:從我的賬戶轉xxx token過去

這看起來沒什麼問題,但如果有人寫代碼的時候,不小心在一個「私對公」的轉賬功能裡面,錯用了「Transfer」呢?下面的錯誤就會發生:

舉個例子,假設你把幣從A交易所轉到B交易所(一般打到一個智能合約地址),假設A交易所用錯了tranfer方法,結果就是你的幣餘額減少了,但B交易所那邊其實收到了幣,但由於使用了錯誤的轉賬方法,沒有顯示到賬。

如果B交易所沒有好的應急機制,那你就再也不可能那回那些飄在空中的幣了。

截至今天,ERC20合約超過60000個。因為上面這個bug,以太坊生態系統已經損失了過千萬美元。

新解決方案:ERC223、ERC777、BCH彩色幣

社區成員基於安全提出了一個ERC223標準,檢查tranfer方法的目的地是賬戶地址,還是只能合約地址。如果發現不是正常賬戶地址則返回錯誤,並且調用一個tokenFallback的方法把幣轉回來。

但ERC233要求智能合約裡面有tokenFallback的方法,要不是幣還是會丟。

ERC777標準誕生於2017年11月,是試圖解決漏洞,並且可以對ERC20向下兼容的一個新版本,也就是說,任何使用ERC20的應用程序也可以與ERC777一起使用。

這個協議的好處還有:

用戶和智能合約交互的時候,從2次交互變成1次交互,也就是說時間、資源和需要支付的ether都變少了。反過來說這樣消耗了更少的乙太網絡資源,解決了部分擁堵問題。

可以設置黑名單地址,在一定程度上避免通過黑客攻擊引起的損失。

這也使得交易所更容易遵守「認識你的客戶」(KYC)和反洗錢法(AML),有利於Ethereum區塊鏈的合規發展。

此外,BCH網路上也有一種名為「彩色幣」的代幣發行方案。而和乙太網絡上可以生出無限代幣不同的是,彩色幣有成本。BCH上發行的token最小的單位是聰,要發行token,就必須要有對應的幣量(以聰為單位)。換句話說,這是一個不會「歸零」的代幣方案。

女王相信競爭才會有更好的產品產生,所以也十分期待這種市場的新選擇,是不是能夠做到ERC20的易用性同時滿足安全需求。

為什麼我們還在用ERC20標準?

總結來說,目前絕大多數token的落地應用都是類似的 - ICO。 而ERC223和ERC777試圖以不同的方式解決ERC20的問題。 值得注意的是,在Ethereum Classic體系里,ERC233已經取代了ERC20中的地位。

女王在這裡冷酷的說一句,如果目前還在沒有考慮新標準,使用ERC20做新幣發行,並且融資的項目,都是對投資人不負責任的。本文雖然只是一篇技術文章,但就憑這一點,即可排掉不少的雷。

Reddit用戶Dexaran,是第一個公開在社區里提醒大家注意這個bug的人,同時也是ERC233標準的創造者。有人問他說為什麼現在ERC20還在廣泛應用的時候,他的回答是:

Because of criminal irresponsibility of token developers for their deeds. Because the main reason for token development is fund grabbing, rather than product creation.

因為開發代幣的人,他們的目標就是搶奪資本,而不是創造。這種不負責任,等同於犯罪。

最後還是本日份額的么么噠~ mua~

GIF

我們一起繼續學習知識,給自己打疫苗吧!

女王大人的新二維碼你敢不掃咩!

▼▼▼

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 幣池女王大人 的精彩文章:

TAG:幣池女王大人 |