ERC20 står för ”Ethereum Request for Comment 20” och är en teknisk standard för kontrakt som hanterar tokens på blockkedjan Ethereum. I korthet innebär det att ERC20-tokens hanteras av kontrakt som följer ERC20-standard.
Att skapa tokens utifrån denna standard har flera fördelar. Framförallt innebär det hög kompatibilitet med kryptoplånböcker, decentraliserade börser och andra smarta kontrakt. Det går alltså att skapa kontrakt, och därmed tokens, som inte följer en specifik standard men det är väldigt ovanligt då de inte kommer vara kompatibla med övrig infrastruktur på blockkedjan.
Löser problemet med låg interoperabilitet
Innan ERC20-standard började användas skapades kontrakt och tokens med helt olika teknisk struktur. Nackdelen var därmed att någon automatisk kompatibilitet inte skapades. Det var upp till utvecklare av exempelvis kryptobörser och kryptoplånböcker att succesivt implementera olika tokens i deras system.
Lösningen blev att utveckla en kontraktstandard som används på Ethereum och som därefter utvecklare kan utgå ifrån när exempelvis en ny dApp ska lanseras. Bland annat reglerar ERC20-standarden hur tokens kan överföras mellan kontrakt och plånbok, mellan plånböcker samt hur det totala utbudet justeras.
Utvecklades 2015
ERC20-standard publicerades som ett förslag av Fabian Vogelsteller, en av grundarna av Ethereum, i slutet av 2015. I hans förslag sammanfattar han den primära fördelen och funktionen med denna nya standard.
A standard interface allows any tokens on Ethereum to be re-used by other applications: from wallets to decentralized exchanges. /Ethereum.org
Det var däremot inte förrän 2017 som ERC20 började användas i en större omfattning. I mitten av året fanns det cirka 5500 ERC20-kontrakt publicerade på Ethereum och bara ett halvår senare var siffran uppe i cirka 40 000 kontrakt. Den kraftiga ökningen berodde till stor del på den ” ICO-boom” om kännetecknar 2017.
Den stora tillväxten av ERC20-tokens, och användningen av dem, visas i grafen nedan från Etherscan.io. Grafen illustrerar antalet dagliga transaktioner med ERC20-tokens från 2015 fram till 2024.
Hanteras på Ethereum
Att ERC20-tokens hanteras på blockkedjan Ethereum innebär att de utnyttjar blockkedjans infrastruktur och säkerhet. Skulle det bli ett tekniskt problem med Ethereum, eller om dess transaktionsavgift kraftigt ökar, kommer detta alltså även påverka hanteringen av ERC20-tokens.
Samma adress
Ett resultat av att ERC20-tokens används på Ethereum är att samtliga tokens kan hanteras med samma Ethereumadress. Oavsett om exempelvis LINK, AAVE, USDC eller UNI önskas skickas till en plånbok sker detta alltså till samma Ethereumadress. Det innebär även att det är enkelt att kontrollera vilka ERC20-tokens som finns på en adress genom att använda en blockexplorer och ange adressen.
Kräver Ether vid transaktion
På Ethereum används kryptovalutan Ether för att betala transaktionskostnaden (gasfee). Detta oavsett vad för slags transaktion som önskas genomföras. Ska en transaktion ske av en ERC20-token kommer det alltså krävas Ether i plånboken för att transaktionen ska kunna betalas. Hanteras ERC20-tokens på en annan kompatibel blockkedja är det denna blockkedjas kryptovaluta som betalas i transaktionsavgift.
Även på kompatibla blockkedjor
ERC20-standarden utvecklades för Ethereum men liknande tekniska lösningar har sedan dess även implementerats på blockkedjor som är kompatibla med Ethereum. Med andra ord blockkedjor där Ethereumadresser kan användas. Ett exempel är BNB Chain där motsvarande standard heter BEP20. Andra blockkedjor som har liknande lösning är exempelvis Polygon och Avalanche.
Eftersom det är separata blockkedjor är däremot ERC20-tokens, på två olika blockkedjor, inte kompatibla. En person som exempelvis har USDC på blockkedjan Ethereum kan inte använda dessa direkt på blockkedjan Polygon utan behöver först överföra dem, via en bridge, till den andra blockkedjan.
Flera ERC-standarder
ERC20 är troligtvis den mest kända standard som används på Ethereum. Men det finns ett flertal andra. Samtliga har samma funktion, dvs. att vara en standard som ökar kompatibilitet. Tre andra är:
ERC721
ERC721 är den standard som används vid skapandet av NFT:er (Non-fungible token). Tokens som skapas med denna standard är alltså inte, till skillnad mot ERC20, fungibla. Förenklat kan ERC20 jämföras med betalningsmedel och ERC721 med digitala föremål.
ERC1155
ERC1155-kontrakt kan både hantera fungibla och non-fungibla tokens. De kan därmed användas vid behov av så kallade semi-fungibla tokens.
ERC777
ERC777 var tänkt som en förbättring av ERC20. Enligt Ethereum.org rekommenderas däremot inte att denna standard används då det är ”difficult to implement properly, due its susceptibility to different forms of attacks”. De rekommenderar istället ERC20.
Exempel på ERC20-tokens
Att ERC-20 har blivit en etablerad, och populär, standard är uppenbart. I början av 2024 var ungefär hälften av de 20 största kryptovalutorna/tokens, utifrån marknadsvärde, utvecklade utifrån denna standard. Som grafen visar ovan har även användandet av dessa ökat succesivt med åren. Några exempel på ERC20-tokens, som idag används på flera olika blockkedjor, är:
USDC – Stablecoin som förväntas vara värd 1 USD.
LINK – Används inom orakelnätverket Chainlink vars primära syfte är att överföra information mellan källor onchain och offchain.
MATIC – Används för att betala transaktionsavgifter på blockkedjan Polygon som är en layer-2-solution till Ethereum. Används även för staking på Ethereum.
WBTC – Wrapped token som har värdet av 1 Bitcoin.
UNI – Governancetoken för den decentraliserade börsen Uniswap.
Se samtliga ERC20-tokens inom Ethereums ekosystem hos Coingecko.