ERC20

ERC-20トークン完全ガイド:標準の理解からスマートコントラクト実装、セキュリティ監査まで

ERC-20はイーサリアムブロックチェーンで代替可能なトークンを発行するための標準インターフェースです。USDT、LINK、UNIなど数万種のトークンがこの標準を基盤にしており、DeFiエコシステムの核心技術です。

1. ERC-20とは何か?

ERC-20はEthereum Request for Comments #20の略で、2015年11月にFabian VogelstellerとVitalik Buterinが提案したトークン標準(EIP-20)です。この標準が登場する前は各トークンが異なるインターフェースを使用していたため、取引所やウォレットで新しいトークンをサポートするには個別の統合作業が必要でした。

1.2 代替可能トークンの概念

  • ERC-20:通貨、ユーティリティトークン、ガバナンストークン(例:USDT、UNI、AAVE)
  • ERC-721:デジタルアート、ゲームアイテム、証明書(例:CryptoPunks、BAYC)
  • ERC-1155:代替可能トークンと代替不可能トークンを1つのコントラクトで管理

2. Solidity実装

本番環境では独自実装ではなく、数千回の監査を経たOpenZeppelinライブラリを使用することが標準的な慣行です。

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract FitToken is ERC20, Ownable {
    constructor() ERC20("Fit Token", "FIT") Ownable(msg.sender) {
        _mint(msg.sender, 100_000_000 * 10**18);
    }
}

3. セキュリティ監査

確認が必要な主な脆弱性:再入攻撃(Re-entrancy)、整数オーバーフロー/アンダーフロー、approveのレースコンディションによるフロントランニング、無限承認のリスク。

김정훈

10年以上のソフトウェアエンジニアリング経験を持つ開発者です。高性能システム設計とクラウドネイティブアーキテクチャを専門としています。