

Ethereum 由 Vitalik Buterin 於 2014 年創立,定位為開放原始碼平台,專為部署去中心化應用(DApps)所設計。Buterin 開發新區塊鏈,主因是 Bitcoin 協議彈性不足。
自 Ethereum 區塊鏈問世以來,吸引眾多開發者、企業及創業者,推動智能合約和分散式應用生態高速成長。
本文將解析 ERC-20 標準,這是創建代幣的重要框架。雖此標準專屬 Ethereum 網路,但其設計理念亦啟發其他區塊鏈平台制定自身標準。
在 Ethereum 系統內,ERC 是 Ethereum Request for Comments 的縮寫,意指以太坊技術標準建議。此類技術文件規範以太坊上的程式設計規則。ERC 與 Ethereum Improvement Proposal(EIP)不同,後者類似 Bitcoin 的 BIP,著重協議本身的改進。ERC 主要為應用程式與合約間互動制訂規範,提升系統互通性。
ERC-20 由 Vitalik Buterin 與 Fabian Vogelsteller 於 2015 年共同提出,定義一套簡單的以太坊代幣開發範本。開發者遵循此標準,無須重複打造底層架構,可直接依產業通用規則開發代幣。
新發行的 ERC-20 代幣可自動相容所有支援此標準的軟體和服務,包括軟體錢包、硬體錢包和主流交易所。
需特別說明,ERC-20 標準後續納入 EIP(即 EIP-20),主因其使用極為廣泛。儘管如此,「ERC-20」依然是產業通用稱呼。
與以太坊原生幣 ETH 不同,ERC-20 代幣不會直接儲存在帳戶內,而是存在合約中,形同獨立資料庫。合約定義代幣規則(如名稱、符號、可分性),並維護使用者地址與代幣餘額映射。
如需轉帳代幣,使用者需向合約發起交易,指示將部分餘額劃撥至他人。例如,Alice 欲轉 5,000 枚代幣給 Bob,她需呼叫相關智能合約的轉帳函式。
此呼叫本質上屬於一筆 Ethereum 交易,交易金額為 0 ETH,目標地址為代幣合約,交易附加欄位則明確 Alice 的實際操作——即將代幣轉給 Bob。
即使未轉移 ETH,用戶仍需支付 ETH 手續費,確保交易上鏈。如果帳戶中無 ETH,則必須先取得 ETH 才能進行轉帳。
掌握基礎後,下文將深入解析典型 ERC-20 合約結構。
ERC-20 合約需包含六項必要函式:totalSupply、balanceOf、transfer、transferFrom、approve、allowance。開發者亦可加入 name、symbol、decimal 等選用函式。
function totalSupply() public view returns (uint256)
此函式回傳合約管理的全部代幣總量。
function balanceOf(address _owner) public view returns (uint256 balance)
balanceOf 需傳入地址參數,用以查詢該地址的代幣餘額。Ethereum 網路帳戶資訊公開,任何人只要知道地址都能查詢餘額。
function transfer(address _to, uint256 _value) public returns (bool success)
transfer 用於將代幣自呼叫者地址轉移至目標地址,需指定收款人及轉帳數量。
呼叫此函式會觸發 transfer 事件,區塊鏈據此記錄本次交易。
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
transferFrom 為 transfer 的延伸,提升 DApp 自動化與可程式化特性。它允許用戶授權他人或合約代為轉移代幣。
實際應用如訂閱服務,用戶無須手動付款,授權後程式可自動扣款。
此函式同樣會觸發 transfer 事件。
function approve(address _spender, uint256 _value) public returns (bool success)
approve 允許用戶設定合約可支配的最大代幣數量,以降低全額遭竊風險。
以訂閱為例,用戶可預先設定自動扣款上限,避免 DApp 或合約異常時造成全部損失。
呼叫此函式會觸發 approval 事件,相關資料寫入區塊鏈。
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
allowance 用於查詢已授權合約或地址仍可提取多少代幣。例如已消費 12 枚,授權額度為 20 枚,則剩餘 8 枚。
除必要函式外,name、symbol、decimal 等能提升 ERC-20 合約易用性,可設定名稱、代幣代號及精度。貨幣類代幣通常需求較高精度,資產類則未必。
整合上述功能後,開發者即可完成 ERC-20 合約,支援查詢總量、餘額、轉帳及授權 DApp 代管。
ERC-20 最大優勢在於高度彈性,開發者可依業務需求自訂附加功能與參數。
主流法幣掛鉤穩定幣多採用 ERC-20 標準。
通常,發行方持有等值法幣儲備,每發行一枚代幣即對應一單位法幣。例如金庫有 10,000 美元,就能發行 10,000 枚代幣,每枚對應 1 美元。
技術上,發行方只需部署合約並生成相應數量代幣,分發給用戶,用戶可依比例兌換法幣。
用戶可持幣消費、於 DApp 使用或向發行方申請贖回。贖回後代幣被銷毀,法幣自儲備扣除。
合約結構簡單,但發行穩定幣涉及合規及營運等外部複雜環節。
證券型代幣與穩定幣在合約上可無差異,核心差異在發行方層面。證券型代幣代表如股票、債券、實體資產等權益,持有人通常享有相關權利。
功能型代幣是加密市場最常見類型,無需資產掛鉤。若資產型代幣如航空公司股份,功能型代幣則類似常旅客積分:具特定功能但無外在價值,可用於遊戲貨幣、DApp 燃料、積分等多元場景。
ETH 可挖礦,ERC-20 代幣則僅能「鑄造」,無法挖礦。合約部署時,開發者依預設方案分配代幣。
通常透過首次代幣發行(ICO)、首次交易所發行(IEO)、證券型代幣發行(STO)等方式,投資者以 ETH 換取新代幣,項目方藉此募資。用戶可持有、使用或轉售代幣獲利。
代幣分配方式多元,部分募資支持多種加密貨幣,參與者提供地址即可直接獲得分配的代幣餘額。
ERC-20 代幣具同質化特性,每個單位可自由交換,無差異。使用者可隨意兌換,如同現金或黃金。
同質性對貨幣功能至為重要,可避免代幣因特性差異產生價值波動。
ERC-20 代幣高度可自訂,適用範圍廣,如遊戲貨幣、積分、數位收藏品、藝術品或產權等。
ERC-20 在區塊鏈產業極為盛行,主流錢包、交易所均支援,開發者資源豐富。
Ethereum 網路存在可擴展性瓶頸,高峰期轉帳費用高、延遲明顯。網路壅塞時,ERC-20 代幣體驗大受影響。
此問題屬分散式系統常見取捨,社群已規劃透過升級與優化加以改善。
發行代幣門檻極低,幾乎人人可發,致使市場魚龍混雜,真假難辨。
投資前須徹底調查,警惕各類龐氏騙局,理性判斷項目合法性。
ERC-20 是以太坊首個且最主流的代幣標準,但並非唯一。後續眾多標準或對 ERC-20 改良,或滿足其他需求。
部分標準專為 NFT 設計。特定場景下,具獨特屬性的代幣更具優勢,例如藝術品、遊戲資產等需唯一標識的場域。
ERC-721 標準用於 CryptoKitties 等 DApp,支援用戶自行鑄造 NFT,並可儲存圖像及元資料。
ERC-1155 標準同時兼容同質化與非同質化代幣,提升合約多功能性。
ERC-223、ERC-621 等標準則強化易用性,前者防止誤轉,後者便於調整代幣總量。
ERC-20 標準多年主導加密資產產業,部署簡便,適用範疇廣泛,涵蓋穩定幣及功能型代幣。雖然存在功能局限,是否會被新標準取代,仍有待觀察。
ERC-20 代幣是在 Ethereum 區塊鏈上,依循特定技術標準發行的數位資產。不同於 Bitcoin 等原生加密貨幣,ERC-20 透過智能合約生成,代表 Ethereum 網路價值,可實現多元化代幣經濟及商業場景。
ERC-20 代幣以智能合約形式運行,遵循統一協議,實現轉帳、餘額查詢、權限授權等功能。每筆交易都記錄於鏈上,確保透明安全,使用者可輕鬆收發代幣。
ERC-20 規範 Ethereum 上同質化代幣的標準介面,涵蓋轉帳、授權、餘額管理、總量控管及事件紀錄,確保錢包與 DApp 的高度相容。
透過 Solidity 智能合約、Remix IDE 或 Hardhat 部署,依標準完成介面及 mint/transfer 等功能,發佈至主網時需支付 gas 費。
ERC-20 為 Ethereum 生態系同質化代幣標準,BEP-20 則是 Binance Smart Chain 對應標準。ERC-721 適用於 NFT(NFTs),每個代幣皆唯一且不可拆分。核心差異在於:ERC-20 代幣可相互等價、可分割,ERC-721 代幣則獨一無二且不可分割。
主要風險包含智能合約漏洞、釣魚攻擊、私鑰外洩及虛假代幣。務必使用安全錢包、核實合約地址、開啟雙重驗證,並於正規平台操作以保障資產安全。











