| Penulis | Wood, Gavin |
|---|---|
| Tahun | 2014 |
| Proyek | Ethereum |
| Lisensi | Creative Commons BY-SA 4.0 |
| Sumber Resmi | ethereum.github.io/yellowpaper/paper.pdf |
“Ethereum: A Secure Decentralised Generalised Transaction Ledger” — dikenal sebagai Ethereum Yellow Paper — adalah spesifikasi matematika formal yang ditulis oleh Gavin Wood, co-founder Ethereum dan pendiri masa depan Polkadot, pertama kali diterbitkan pada 2014. Sementara whitepaper Buterin mendeskripsikan apa yang akan dilakukan Ethereum, Yellow Paper menentukan bagaimana tepatnya ia melakukannya — menggunakan notasi matematika formal yang memungkinkan beberapa implementasi independen yang kompatibel.
Publikasi dan Konteks
Ketika whitepaper Ethereum Buterin dirilis pada 2013–2014, ia visioner tetapi informal. Wood melengkapinya dengan spesifikasi formal pada April 2014. Yellow Paper mendefinisikan sistem Ethereum cukup ketat sehingga tim independen dapat membangun klien yang kompatibel tanpa ambiguitas.
Wood sendiri kemudian memimpin pengembangan Solidity (bahasa tingkat tinggi Ethereum pertama) sebelum berangkat mendirikan Parity Technologies dan kemudian Web3 Foundation (Polkadot). Yellow Paper tetap menjadi dokumen hidup — diperbarui setiap hard fork — dan setiap implementasi klien Ethereum (Geth, Nethermind, Besu, Erigon) pada dasarnya adalah implementasi dari Yellow Paper.
World State dan State Transition
Sistem Ethereum didefinisikan sebagai world state σ — pemetaan dari alamat Ethereum 160-bit ke objek akun. Setiap akun berisi:
- Nonce (jumlah transaksi atau deployment kontrak)
- Balance (dalam Wei, denominasi ETH terkecil)
- Storage root (akar Merkle dari penyimpanan persisten akun)
- Code hash (hash bytecode akun, atau hash kosong untuk EOA)
Fungsi state transition Υ(σ, T) = σ’ memetakan world state sebelumnya dan satu transaksi ke world state baru. Yellow Paper menetapkan Υ secara formal dalam setiap detail — dari verifikasi tanda tangan hingga refund gas.
Ethereum Virtual Machine (EVM)
Yellow Paper mendefinisikan EVM sebagai mesin stack quasi-Turing-complete:
- Stack: Operasi mendorong dan memunculkan nilai 256-bit dari stack (kedalaman maks 1024)
- Memory: Array byte yang dapat ditulis dan dibaca secara word-addressable, berkembang secara dinamis
- Storage: Penyimpanan persisten key-value 256-bit per akun kontrak
- Gas: Setiap opcode memiliki biaya gas tetap atau dinamis yang mencegah serangan penghentian (halting problem)
EVM bersifat quasi-Turing-complete karena limit gas mencegah loop tak terbatas. Setiap instruksi EVM (ADD, MLOAD, SSTORE, CALL, dll.) ditentukan secara tepat dalam Yellow Paper.
Gas: Mekanisme Biaya Komputasi
Konsep gas memecahkan masalah fundamental: bagaimana mencegah kontrak jahat berjalan selamanya dan memblokir jaringan? Solusi Yellow Paper:
- Setiap opcode memiliki biaya gas tetap (misalnya, ADD = 3 gas, SSTORE = 20.000 gas)
- Pengirim transaksi membayar di muka untuk jumlah gas yang diinginkan
- Jika gas habis di tengah eksekusi, seluruh transaksi di-revert (tetapi gas tetap dikonsumsi)
- Gas yang tidak terpakai dikembalikan ke pengirim
Primitif Kriptografis yang Ditentukan
- Keccak-256 (varian SHA-3) untuk semua hashing on-chain
- secp256k1 ECDSA untuk tanda tangan transaksi
- RLP (Recursive Length Prefix encoding) untuk serialisasi semua struktur data
- Modified Merkle Patricia Trie untuk penyimpanan state, transaksi, dan receipts
Precompiles
Yellow Paper mendefinisikan serangkaian kontrak khusus di alamat 0x1–0x9 (dan seterusnya dalam fork berikutnya) yang mengimplementasikan operasi kriptografis mahal secara langsung di klien (bukan sebagai EVM bytecode): ECDSA recovery, SHA-256, RIPEMD-160, big integer modular exponentiation, BN254 pairing.
Warisan
Yellow Paper adalah salah satu dokumen teknis terpenting dalam sejarah blockchain. Setiap hardfork Ethereum (Homestead, Tangerine Whistle, Spurious Dragon, Byzantium, dll.) menghasilkan revisi Yellow Paper. Setiap bug EVM yang ditemukan dikoreksi dalam Yellow Paper. Ini adalah “konstitusi” teknis Ethereum.
Istilah Terkait
Referensi
- Wood, G. (2014). Ethereum: A Secure Decentralised Generalised Transaction Ledger. ethereum.github.io/yellowpaper/paper.pdf