內容

  • 介紹

  • ERC-20標準是什麼?

  • 以太坊代幣簡介

  • ERC-20 代幣是如何創建的?

  • ERC-20代幣有哪些功能?

    • 穩定幣

    • 安全令牌

    • 實用代幣

  • 是否可以開採 ERC-20 代幣?

  • ERC-20代幣的優點和缺點

    • ERC-20 代幣的好處

    • ERC-20代幣的缺點

  • ERC-20、ERC-1155、ERC-223、ERC-721 - 有什麼區別?

  • 概括


介紹

以太坊由 Vitalik Buterin 於 2014 年創立,旨在成為運行去中心化應用程式 (DApp) 的開源平台。在創建新的區塊鏈時,Buterin 考慮到了比特幣協議靈活性不足的問題。

自推出以來,以太坊區塊鏈吸引了許多開發者、公司和企業家,並催生了運行智慧合約和分散式應用程式的用戶產業不斷增長。

在本文中,我們將了解 ERC-20 標準 - 創建代幣的基礎。該標準是專門為以太坊網路開發的,但也成功地啟發了其他區塊鏈標準,例如 BEP-2 幣安鏈。


ERC-20標準是什麼?

以太坊中的 ERC 是一項改進網路提案的請求(英文:Ethereum Request for Comments)。 ERC 是概述以太坊程式設計標準的技術文件。這些不應與以太坊改進提案(EIP)混淆,後者與比特幣的 BIP 一樣,提出了對協議本身的改進。 ERC 的目的是建立協議,使應用程式和合約更容易相互互動。

ERC-20 由 Vitalik Buterin 和 Fabian Vogelsteller 於 2015 年創建,旨在提供一種相對簡單的格式來在以太坊上創建代幣。透過依賴現有標準,開發人員可以節省時間和精力。借助 ERC-20,他們可以創建新的代幣,而無需擔心相容性和安全性。

新的ERC-20代幣將與支援該標準的所有服務和軟體(軟體錢包、硬體錢包、交易所等)相容。

需要說明的是,EIP(即EIP-20)是基於ERC-20標準開發的。由於該標準的廣泛使用,這種情況發生在發布幾年後。但即使多年後,「ERC-20」這個名字仍然具有相關性。


以太坊代幣簡介

與 ETH(以太坊的原生加密貨幣)不同,ERC-20 代幣不會儲存在帳戶中。它們僅存在於合約內部,這是一種自治資料庫。合約定義了代幣的條款(例如名稱、符號、可分割性)。它還包含一個將用戶的餘額與其以太坊地址相符的清單。

要移動代幣,用戶必須向合約提交交易,請求將其部分餘額轉移到另一個位置。例如,如果 Alice 想向 Bob 發送 5,000 個 BinanceAcademy 代幣,她會在智能合約中運行一個函數,要求他這樣做。


Пользователи, взаимодействующие со смарт-контрактом


Ее запрос помещается внутрь обычной на вид транзакции Ethereum, с которой взимается 0 ETH в пользу смарт-контракта. Запрос добавляется в дополнительное поле в транзакции, где указывается, что именно Алиса хочет сделать –  в нашем случае передать токены Бобу.

即使她不發送以太幣,她仍然需要支付以以太幣計價的費用,才能將她的交易添加到區塊中。如果她沒有 ETH,她需要在進行交易之前購買它。

以下是 Etherscan 上此類流程的真實範例:有人請求 BUSD 合約。我們看到代幣已被轉移並支付了費用,儘管其金額為 0 ETH。

我們現在可以更深入地研究 ERC-20 合約的結構。 


ERC-20 代幣是如何創建的?


Иллюстрация создания токена ERC-20


Для совместимости с ERC-20 ваш контракт должен включать в себя шесть обязательных функций: totalSupply, balanceOf, transfer, transferFrom, approve и allowance. Кроме того, вы можете добавить дополнительные функции, такие как name, symbol и decimal. Из названий функций можно понять их назначение. Далее мы разберем каждую из них подробнее. 

下面介紹了用為以太坊創建的 Solidity 語言編寫的函數。


總供應量

函數totalSupply()公共視圖回傳(uint256)

當使用者提示時,上述函數會顯示合約中的代幣總數。


餘額 

函數balanceOf(地址_所有者)公共視圖傳回(uint256餘額)

與totalSupply不同,balanceOf函數使用參數(位址)。它根據請求顯示地址令牌的餘額。請記住,以太坊帳戶是公開的,因此只要您知道任何用戶的地址,您就可以查詢他們的餘額。


翻譯

函數傳輸(address _to, uint256 _value) 公共回傳 (bool success)

轉帳功能將代幣從一個用戶轉移到另一個用戶。要使用它,您需要指定收件人地址和轉帳金額。

傳輸函數觸發一個事件(在我們的例子中為事件傳輸),該事件告訴區塊鏈包含對其的引用。


從轉移

函數transferFrom(位址_from,位址_to,uint256_value)公共回傳(布林成功)

TransferFrom 函數是轉帳函數的更方便的替代方案,它在去中心化應用程式中提供了更好的可程式性。與轉帳一樣,它用於移動代幣,但它們不一定屬於訪問合約的人。 

換句話說,您可以授權其他人或其他合約代表您轉移資金。另一個用例涉及基於訂閱的服務的自動付款,以防您不想每天/每週/每月手動發送付款。該程式將為您執行此操作。

此函數觸發與傳輸相同的事件。


核准

函數批准(地址_spender,uint256_value)公共返回(布林成功)

從可程式性的角度來看,批准是另一個有用的功能。在它的幫助下,您可以限制智能合約可以從您的餘額中提取的代幣數量。如果沒有它,合約就有被濫用的風險:有人可能會利用它來達到自己的目的或竊取您的所有資金。 

讓我們看一個訂閱模型的範例。假設您有大量 BinanceAcademyToken,並且希望為您的 DApp 串流服務設定每週付款。您已經在日以繼夜地學習幣安學院的內容,而且您不想每週花時間手動建立交易。

假設您有大量的 BinanceAcademyTokens 供應,遠遠超過您的訂閱費用。為了防止DApp服務耗盡它,您可以使用approve功能設定限制。例如,您的訂閱費用為每週 1 個 BinanceAcademyToken。如果您將最大金額限制為二十個代幣,則訂閱可以在五個月內自動支付。

在最壞的情況下,如果 DApp 嘗試提取您的所有資金或發生意外錯誤,您只會損失 20 個代幣。此選項並不能消除可能的問題,但可以保護您免於損失所有資產。

當呼叫批准函數時,會觸發批准事件。與轉帳事件一樣,它將資料寫入區塊鏈。


津貼 

函數 grant(address _owner, address _spender) 公共視圖回傳(剩餘 uint256)

津貼功能可以與核准功能結合使用。一旦您授予合約管理其代幣的權限,您就可以使用此功能來檢查它仍然可以註銷多少代幣。例如,如果您的訂閱使用了 20 個允許的代幣中的 12 個,那麼當您呼叫限額函數時,應該會顯示數字 8。


附加功能

我們上面討論的功能是強制性的。名稱、符號和小數函數是可選的,但可以改進您的 ERC-20 合約。它們使您能夠添加清晰的名稱、設定符號(例如 ETH、BTC、BNB)並指定代幣可以分為多少位小數。例如,用作貨幣的代幣可能比代表所有權的代幣從更大的可分性中受益更多。


您可以在 GitHub 上的本範例中看到真實合約中的這些元素。


ERC-20代幣有哪些功能?


Иллюстрация различных вариантов использования токенов ERC-20


如果我們結合以上所有功能,我們就得到了 ERC-20 合約。它可用於查詢代幣的總供應量、檢查餘額、轉移資金以及授予其他 DApp 管理代幣的權限。

ERC-20 代幣的主要優點是靈活性。使用它們,您還可以根據需要實現附加功能並設定某些參數。


穩定幣

穩定幣(與法定貨幣掛鉤的代幣)通常使用 ERC-20 代幣標準。我們之前提到的 BUSD 合約交易就是一個例子。大多數穩定幣都以這種格式提供。

法幣支持的穩定幣的發行人持有歐元、美元等儲備。這意味著,如果金庫中有 10,000 美元,發行人可以創建 10,000 個代幣,每個代幣價值 1 美元。

這在以太坊中很容易實現。發行人推出 10,000 個代幣的合約。然後,它們將分發給用戶,並有可能進一步以法定貨幣兌換。 

用戶可以使用代幣來支付商品和服務或在 DApp 應用程式中使用它們。此外,用戶可以選擇向發行人請求立即交換代幣。在這種情況下,發行人會銷毀返回的代幣(它們變得不可用)並從其儲備中提取等值的法幣。

正如我們已經說過的,管理此過程的合約相對簡單。然而,推出穩定幣涉及物流、法規合規等諸多外部因素。


安全令牌

安全代幣類似於穩定幣。在合約層面,它們可以被認為是相同的,因為它們的工作方式相同。但對於發行人來說卻有顯著差異。證券型代幣代表證券(股票、債券或實體資產)。它們經常(儘管並非總是)賦予持有者對業務或產品的一些興趣。


實用代幣

實用代幣是迄今為止最常見的代幣類型。與前兩個選項不同,它們不受任何支援。如果資產支持的代幣就像航空公司股票,那麼實用代幣更像是常旅客忠誠度計畫:它們服務於一個目的,但不提供其他價值。實用代幣可以有多種用途。因此,它們可以充當遊戲內貨幣、去中心化應用程式的燃料、忠誠度積分等等。


➠ 準備好開始使用加密貨幣了嗎?在幣安購買以太幣!


是否可以開採 ERC-20 代幣?

Пользователи могут майнить эфир (ETH), но не токены – токены создаются. При запуске контракта разработчики распределяют токены в соответствии с имеющимися планами и дорожной картой.

這通常是透過首次代幣發行 (ICO)、首次交易所發行 (IEO) 或證券型代幣發行 (STO) 來完成。您可能會遇到不同的縮寫,但本質上它們都非常接近。投資者將以太幣發送到合約地址並收到新的代幣作為回報。收到的資金將用於資助該項目的進一步開發。隨著專案的發展,用戶希望能夠(立即或稍後)使用他們的代幣或轉售它們以獲取利潤。

代幣分配過程不需要自動化。許多眾籌活動允許您使用多種數位貨幣(例如 BNB、BTC、ETH 和 USDT)進行付款。然後根據支付的金額,補充指定地址的用戶餘額。


ERC-20代幣的優點和缺點

ERC-20 代幣的好處

互換性

法定貨幣是可替代的,因為每個單位與另一個等值單位沒有區別。如果您擁有 BinanceAcademyToken,那麼您擁有哪種特定代幣並不重要。此類代幣可以出售給其他用戶,它們的功能將保持相同,就像金錢或黃金一樣。

如果你想使用代幣作為貨幣,這非常方便。在這種情況下,您不需要具有獨特功能的單一單元,這些功能使它們不可互換。差異可能會導致某些代幣變得比其他代幣更有價值(或更少),這反過來又會擾亂其主要功能。


浮動利率

正如我們在上一節中所確定的,ERC-20 代幣具有高度可自訂性,可以適應多種用途。例如,它們可以用作遊戲內貨幣、忠誠度計劃、數位收藏品,甚至用作藝術品和產權。


受歡迎的

ERC-20 在加密貨幣行業的流行導致使用該協議作為創建新代幣的基礎。這就是為什麼有許多交易所、錢包和智能合約已經與新發布的代幣相容。此外,他們還獲得廣泛的開發人員支援並擁有所有必要的文件。 


ERC-20代幣的缺點

可擴展性

與許多加密貨幣網路一樣,以太坊也無法避免隨著網路發展而出現的問題。該網路目前遇到可擴展性問題,因此嘗試在繁忙時間發送交易會導致高額費用和延遲。如果您在網路擁塞時啟動ERC-20代幣,代幣的可用性可能會受到影響。

面臨這個問題的不僅是以太坊。分散式系統必須做出權衡才能實現安全性。社群計劃在轉向以太坊 2.0 時解決這個問題,它將實施以太坊 Plasma 和以太坊 Casper 更新。

請參閱我們的文章區塊鏈可擴展性 – 側鏈和支付管道,以了解有關可擴展性問題的更多資訊。


詐欺罪

雖然這不是技術本身的問題,但發行代幣的便利性可以被認為是缺點。創建一個簡單的 ERC-20 代幣只需最少的努力,這意味著任何人都可以做到,包括用於犯罪目的。

因此,您需要非常小心您的投資。有許多龐氏騙局和傳銷騙局偽裝成區塊鏈專案。 投資前,要仔細研究一切,先決定專案是否可靠。

 

ERC-20、ERC-1155、ERC-223、ERC-721 - 有什麼差別?

ERC-20 是第一個(並且仍然是最受歡迎的)以太坊代幣標準,但它遠非唯一的標準。多年來,出現了許多其他協議,這些協議對 ERC-20 進行了改進或嘗試實現其他目標。

一些不太常見的標準用於創建不可替代的代幣 (NFT)。根據使用目的,您可能需要具有不同屬性的獨特令牌。如果您想對一件獨特的藝術品、遊戲資產等進行代幣化,您可以使用其中一種合約類型。

例如,ERC-721標準被用於極為流行的DApp CryptoKitties。此類合約為用戶提供 API 來創建自己的不可替代代幣並對元資料(圖像、描述等)進行編碼。 

ERC-1155標準可以被認為是ERC-721和ERC-20的改進。該標準在單一合約中支援可替代和不可替代的代幣。

其他選項,例如 ERC-223 或 ERC-621,旨在提高可用性。 ERC-223 採取預防措施來防止代幣的意外轉移。 ERC-621 提供了增加和減少代幣供應的附加功能。

要了解有關 NFT 的更多信息,請務必查看加密收藏品和不可替代代幣 (NFT) 指南。


概括

ERC-20 標準多年來一直主導著加密資產領域,這並不奇怪。任何人都可以輕鬆部署用於各種目的的簡單合約(實用代幣、穩定幣等)。然而,ERC-20 缺乏其他標準中存在的一些功能。對於未來其他類型的合約是否會取代它的問題,也沒有確切的答案。