Membangun fondasi DeFi: DEX dan AMM dengan kurva x*y=k, lending dan staking, liquidity pools dan impermanent loss, plus praktik menganalisis protokol DeFi nyata dari sisi developer

Setelah di episode 8 kalian menghubungkan frontend dengan kontrak, pada episode ini kita masuk ke ranah yang paling banyak memakai blockchain developer di dunia nyata: DeFi (Decentralized Finance). DeFi adalah industri senilai ratusan miliar dolar yang berjalan di atas smart contract — tanpa bank, tanpa broker, tanpa izin.
Menguasai DeFi bukan hanya soal karier: pola-pola di dalamnya (AMM, lending, staking) adalah blok bangunan yang muncul ulang di hampir semua protokol — termasuk yang kalian bangun sendiri nanti.
DEX (Decentralized Exchange) memungkinkan pertukaran token tanpa perantara. Lawan dari order book tradisional adalah AMM (Automated Market Maker): alih-alih mencocokkan pembeli-penjual, AMM memakai formula matematika untuk menentukan harga berdasarkan rasio aset di dalam pool.
Formula paling terkenal: x * y = k (Curve Constant Product) — dipakai Uniswap.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
contract SimpleAMM {
uint256 public reserve0;
uint256 public reserve1;
event Swap(address indexed who, uint256 amountIn, uint256 amountOut);
// x * y = k → output yang harus mempertahankan konstanta
function swap(uint256 _amountIn, uint256 _reserveIn, uint256 _reserveOut)
public
pure
returns (uint256 amountOut)
{
require(_amountIn > 0, "zero amount");
uint256 amountInWithFee = (_amountIn * 997) / 1000;
uint256 numerator = amountInWithFee * _reserveOut;
uint256 denominator = _reserveIn + amountInWithFee;
amountOut = numerator / denominator;
}
}Intuisi kurva x*y=k: semakin banyak satu token dibeli dari pool, semakin sedikit tersisa, sehingga harganya naik — tanpa perlu order book. Fee 0.3% mengalir ke penyedia likuiditas.
Pengguna yang menyimpan (deposit) dua token ke pool menjadi liquidity provider (LP) dan menerima LP token sebagai bukti. Mereka mendapat fee dari setiap swap. Tapi ada jebakan yang wajib kalian pahami:
Protokol lending (Aave, Compound) memungkinkan deposan menyimpan token untuk mendapat bunga, dan peminjam menarik token dengan agunan (collateral). Prinsip kunci:
Deposan → supply token → mendapat cTokens / aTokens → bunga
Peminjam → deposit agunan → meminjam sampai batas LTV → likuidasiLTV (Loan-to-Value) menentukan berapa banyak yang bisa dipinjam per unit agunan. Jika nilai agunan turun di bawah ambang, posisi di-likuidasi — agunan dijual untuk menutup utang. Semua perhitungan ini berjalan on-chain, transparan, dan bisa diaudit.
Staking mengunci token untuk mendukung keamanan jaringan atau protokol, dengan imbalan reward. Ada dua varian yang perlu dibedakan:
| Varian | Konsep | Reward |
|---|---|---|
| Protocol staking | Mengunci token ke kontrak protocol | Bunga dari fee/bond |
| Liquid staking | Menerima token cair (misal stETH) sebagai ganti token yang di-stake | Bunga + tetap bisa dipakai di DeFi |
Liquid staking adalah inovasi penting: pengguna tidak kehilangan likuiditas saat token mereka ter-kunci. Kita pakai konsep ini lagi di episode 14 dan 21.
Sekarang latihan: analisis protokol DeFi seperti seorang developer. Ambil contoh AMM, dan periksa lima hal sebelum berintegrasi:
swap, addLiquidity, supply, borrow) mudah diintegrasikan?Coba praktikkan dengan membaca kontrak di explorer:
cast call 0xTOKEN "decimals()(uint8)" --rpc-url https://ethereum-rpc.publicnode.com
cast code 0xPOOL --rpc-url https://ethereum-rpc.publicnode.com | head -c 200cast code menampilkan bytecode kontrak — jika hasilnya 0x, kontrak tidak ada di alamat itu. Ini teknik debugging paling cepat saat alamat salah atau salah chain.
Warning
Yield yang "terlalu bagus untuk jadi kenyataan" biasanya memang begitu. Sebelum memasukkan dana atau mengintegrasikan protokol ke produk kalian, selalu cek TVL, audit, dan siapa yang memegang kunci upgrade. Di episode 19 kita pelajari cara melakukan mini-audit sendiri.
Inti yang harus dibawa pulang:
Di episode 10 selanjutnya kita membangun aset yang paling dikenal publik — NFT & token standards: ERC-721, ERC-1155, metadata, dan marketplace, dengan praktik kontrak NFT lengkap. Mari lanjut ke episode 10!