De wereld van crypto brengt nogal eens wat lastige Engelse termen met zich mee, die niet meteen voor zichzelf spreken. Zo zijn het afgelopen jaar de termen NFT, layer-one blockchain en DeFi veel aan bod gekomen, maar ook de term Automated Market Maker (AMM) zien we steeds vaker voorbijkomen.
Als je de DeFi-wereld wilt betreden of je hebt er al ervaring opgedaan, is het zeer handig om te weten wat een AMM is, want een AMM is in essentie het kerncomponent van een decentralized exchange (DEX). DEXs staan aan de basis van DeFi, dus zijn Automated Market Makers ook cruciaal voor DeFi.
Een goed begrip van de term AMM en hoe zo'n automated market maker werkt, maakt het gebruik van bekende DeFi-protocollen zoals UniSwap, PancakeSwap en SushiSwap een stuk makkelijker en meer voor zichzelf sprekend. Ook zul je je beter bewust zijn van bepaalde risico's bij het gebruik van DeFi-protocollen, zoals impermanent loss.
Dus ben je geïnteresseerd in DeFi? Dan is deze blog zeker het lezen waard. Let wel goed op, want het zal een redelijk technische blog zijn, maar alles zal zo simpel en duidelijk mogelijk uitgelegd worden!
Bekijk snel
Zoals altijd bieden we je ook graag de mogelijkheid aan om te leren door middel van een YouTube video. In dit filmpje wordt kristalhelder uitgelegd wat een AMM is en hoe het werkt. In de blog zul je echter nog wat extra informatie vinden.
Wat is een AMM?
Een AMM, oftewel Automated Market Maker, is een onderliggend DEX-protocol dat door middel van een wiskundige formule cryptocurrency trading pairs waardeert. Zo'n trading pair kan bijvoorbeeld ETH/USDC zijn. In tegenstelling tot een traditioneel orderboek, waarbij prijs wordt bepaald door samenkomst van vraag en aanbod, worden cryptocurrencies bij een AMM dus gewaardeerd door een prijsalgoritme.
De formule die gebruikt wordt verschilt per protocol. Zo wordt bij UniSwap een hele simpele formule gebruikt, namelijk: x*y=k. Hierbij is x de hoeveelheid van de ene token in de liquidity pool en y de hoeveelheid van de andere token. k is een vastgestelde constante, waardoor de liquiditeit in de pool altijd hetzelfde moet blijven.
Andere AMMs werken weer net anders, maar uiteindelijk komt het erop neer dat ze allemaal de prijs op een algoritmische wijze bepalen. Dit lijkt misschien allemaal nog wat vaag en complex, maar geen zorgen! Na het lezen van deze blog begrijp je het volledig.
Hoe werkt een AMM?
Net als bij een traditioneel orderboek, werkt een AMM met trading pairs, zoals bijvoorbeeld ETH/USDC. Echter, bij een AMM is er, in tegenstelling tot een traditioneel orderboek, geen tegenpartij nodig om een ruil te doen. We kunnen dit wat duidelijker maken met een voorbeeld:
Op een exchange zoals Binance, die gebruik maakt van een traditioneel orderboek, wil jij 1000 USDC omruilen tegen 0,25 ETH. Hiervoor plaats jij een buy order. Aan de andere kant heb je sell orders staan, oftewel mensen die hun ETH willen omruilen tegen USDC. De laagste sell order staat echter op 0,25 ETH voor 1200 USDC.
In dit geval is er geen tegenpartij die wil ruilen tegen jouw vastgestelde prijs, dus kan je ook niet ruilen. Pas als jij jouw buy order aanpast of iemand anders een lagere sell order plaatst, kan er een ruil plaatsvinden.
Iedereen is dus vrij om zijn eigen prijs te kiezen bij een traditioneel orderboek, maar handel vindt pas plaats als er twee personen zijn die willen ruilen tegen dezelfde prijs.
Hieronder zie je een voorbeeld van het orderboek van ETH/USDT op Binance:
Een AMM maakt echter gebruik van smart contracts, die de markt "maken" voor gebruikers. Vandaar ook de naam Automated Market Maker. Als jij ETH wilt omruilen naar USDC op een decentralized exchange zoals Uniswap, die gebruik maakt van een AMM, ga je dus de interactie aan met een smart contract in plaats van een ander persoon.
Er is geen orderboek, dus er zijn ook geen order types mogelijk. Het enige wat je kunt doen is de ene cryptocurrency ruilen tegen de ander tegen een algoritmisch bepaalde prijs. Jij stort bijvoorbeeld ETH via een smart contract in de liquidity pool en je krijgt daar USDC voor terug.
Dus er is geen tegenpartij nodig. Je hoeft alleen X te storten om Y terug te krijgen, maar waar komt die liquiditeit in zo'n smart contract dan vandaan? Er zit geen magische crypto-printer in zo'n smart contract ofzo ...
Nee, die liquiditeit moet natuurlijk nog steeds geleverd worden, en dat wordt gedaan via zogenaamde liquidity providers (LPs).
Wat is een liquidity pool?
Om het begrip Automated Market Maker beter te begrijpen, is het belangrijk dat je ook begrijpt wat een liquidity pool is. De twee kunnen namelijk niet zonder elkaar.
Ook hier gebruiken we weer een voorbeeld om het zo duidelijk mogelijk te maken (Let op! Er komt wel wat rekenwerk bij kijken):
Jan bezit 1 ETH en wil dit omruilen tegen USDC. Hiervoor gaat hij naar UniSwap V2, een plaats waar hij deze muntjes kan ruilen. Voor hem ligt een weegschaal (de liquidity pool) met ETH-munten aan de ene kant en USDC-munten aan de andere kant.
Op die weegschaal liggen op dat moment 145,46 miljoen USDC-muntjes en 31.762 ETH-muntjes. Als we nu weer de eerdergenoemde formule x*y=k erbij pakken, kunnen we de waarde van k berekenen. Die berekenen we als volgt:
x*y = 145,46 miljoen (liquiditeit token 1) * 31.762 (liquiditeit token 2) = k = 4,62 *10^12
Nu is dit misschien een te lastig voorbeeld om mee te rekenen, dus laten we even een onrealistische situatie pakken waarin er 50 USDC-muntjes in de pool zijn en 10 ETH-muntjes. De k-waarde is nu 50*10 = 500.
Zoals eerder gezegd, moet deze waarde constant blijven voor en na een ruil. Jan mag dus 1 ETH inwisselen tegen USDC, mits de k-waarde 500 blijft.
Jan legt zijn 1 ETH op de weegschaal, waardoor er nu 11 ETH-muntjes liggen. Om de weegschaal in balans te houden (de k-waarde constant te houden) krijgt hij volgens de formule nu 4,55 USDC. Waarom?
De k-waarde moet 500 blijven, en we weten dat y nu gelijk is aan 11 (11 ETH-muntjes). Door de vergelijking x * 11 = 500 op te lossen, komen we op x = 45,45. Dat betekent dat om de weegschaal in balans te houden, er bij 11 ETH nog maar 45,45 USDC mag liggen. De rest (50-45,45 = 4,55) gaat naar Jan.
In een liquidity pool worden prijzen dus bepaald door de liquiditeit in een pool en de constante k.
De liquiditeit is nu dus veranderd naar 11 ETH en 45,45 USDC. Wat gebeurt er nou als Jan nog 1 ETH wil omruilen?
Nu is y gelijk aan 12 ETH-muntjes en willen we wederom de k-waarde op 500 houden, dus wat moet de liquiditeit van x dan zijn? x * 12 = 500, oplossen van de vergelijking geeft x = 41,66.
Bij de eerste ruil kreeg Jan 4,55 USDC voor 1 ETH, maar bij de tweede ruil krijgt hij (45,45-41,66=3,79) slechts 3,79 USDC voor 1 ETH.
Zo zie je dus dat de formule x*y=k ervoor zorgt dat er een prijs tot stand komt, die afhankelijk is van de liquiditeit van beide tokens in de pool.
Die prijs kan anders zijn dan bijvoorbeeld de prijs op Binance, maar in dat geval zal de prijs snel rechtgetrokken worden doordat er mogelijkheid is tot arbitrage. Dat houdt in dat er wordt geprofiteerd van prijsverschillen van hetzelfde goed op twee verschillende plekken. Als je meer wilt weten over arbitrage trading, dan kun je daar hier meer over lezen.
Nu weten we hoe zo'n liquidity pool werkt, maar hoe zorgt een decentralized exchange ervoor dat er genoeg liquiditeit aanwezig is in zo'n pool, zodat mensen áltijd kunnen ruilen? Als er geen ETH en USD aanwezig is in de pool, kan er namelijk ook niet geruild worden. Hier zorgen de liquidity providers (LPs) voor.
Wat is een liquidity provider (LP)?
De muntjes in een liquidity pool worden geleverd door de zogeheten liquidity providers (LPs), gebruikers die hun liquiditeit ter beschikking stellen, zodat anderen kunnen ruilen tegen die munten. Maar waarom?
Platforms zoals UniSwap en PancakeSwap stimuleren gebruikers om liquidity te verstrekken door middel van twee soorten incentives:
- Bij elke ruil die gedaan wordt in een liquidity pool wordt er ook een trading fee betaald. Een klein gedeelte van deze fees gaat naar de liquidity providers, waardoor ze dus betaald krijgen voor het verstrekken van liquiditeit.
- Extra token rewards. Zo kan je als LP op PancakeSwap je LP-tokens (tokens die jouw liquidity in een pool representeren) staken om daarmee CAKE te verdienen.
Als LP wordt je dus beloond met transactiekosten en soms extra rewards in de vorm van bijvoorbeeld UNI-tokens of CAKE-tokens.
Daartegenover staat wel het risico op impermanent loss, waarover je hier meer kan lezen.
Een liquidity provider stort dus twee coins in een liquidity pool voor een trading pair. Dit kan bijvoorbeeld ETH/USDC zijn. De waarde van de storting van de twee coins moet gelijk aan elkaar zijn (in $), om de balans van de pool niet te verstoren.
Hij loopt hierbij het risico op impermanent loss, maar krijgt als tegendienst voor het risico geldelijke beloningen. Wil je meer lezen over liquidity providing en de risico's ervan? Dan is deze blog misschien ook wat voor jou.
Conclusie
De Automated Market Maker (AMM) is een van de meest geniale maar relatief simpele uitvindingen geweest in de zich razendsnel ontwikkelende crypto-industrie. Het idee van een decentralized exchange, waar mensen cryptocurrencies konden verhandelen vanuit hun wallet en zonder tussenkomst van een centrale autoriteit, was er al lang. Maar het was nog zoeken naar de juiste executie.
Het traditionele orderboek was geen oplossing, want zo'n orderboek werkt alleen goed als er al een hoge liquiditeit is, met veel buy- en sell orders. Met traditionele orderboeken zouden de decentralized exchanges het nooit kunnen winnen van centrale exchanges, maar de AMM bracht een oplossing.
Het idee dat LPs via een AMM zelf de markt kunnen "maken" en daaraan verdienen bleek een geweldige zet, want opeens was er daadwerkelijk een stimulans voor mensen om naar de decentrale exchange in plaats van de centrale exchange te gaan. Buiten natuurlijk het feit dat handelen vanuit een eigen wallet al een enorme stimulans is, want we kennen het gezegde: Not yours keys, not your crypto.
De Automated Market Maker brengt ook weer nieuwe begrippen zoals liquidity pools en liquidity providers met zich mee, die op het eerste oog zeer ingewikkeld lijken, waardoor sommigen liever vanaf de zijlijn toekijken, maar met de juiste kennis zorgt de AMM ook weer voor nieuwe verdienmogelijkheden.
Veel nieuwe cryptoprojecten maken tegenwoordig zelfs gebruik van een AMM om hun project te lanceren door middel van een IDO. De nieuwe mogelijkheden zijn oneindig en dat terwijl de AMM's zich ook ontwikkelen.
Zo heb je tegenwoordig al UniSwap V3, een nog geavanceerdere versie van de V2 AMM. Daarover kun je hier meer vinden.
Ook kun je een kijkje nemen in de categorie "DeFi" waar je nog enorm veel meer kunt leren over decentrale exchanges, decentralized finance en meer.
Na het lezen van dit artikel weet je hopelijk meer over wat een Automated Market Maker (AMM) is en hoe het werkt. Wil je na het lezen van dit artikel nog meer weten over AMMs, of over liquidity pools? Stel dan je vragen in onze AllesOverCrypto Facebookgroep en dan beantwoorden onze experts al jouw vragen.
Heb je andere crypto gerelateerde vragen? Het makkelijkste is om jouw vraag in onze FAQ op te zoeken. Wat je ook kan doen, is dat je jouw vraag + "AllesOverCrypto" googelt. Je zult dan snel uitkomen bij één van onze andere artikelen die over dat onderwerp gaan, zodat je weer snel meer kunt leren over dat onderwerp.
Headerfoto: Thodonal88 / shutterstock.com