stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-07
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 7: Smart Contract dan Hyperledger
RPS minggu 7 · 2x50 menit

Smart Contract & Hyperledger

Dasar Teknologi Finansial & Mata Uang Kripto — Magister Manajemen FEB UNDIP

Peta Pembelajaran Hari Ini

Sub-CPMK 7: menjelaskan konsep smart contract dan mengidentifikasi penerapannya pada platform blockchain. Empat indikator yang harus Anda kuasai.

Jam ke-1 (50 menit)
  • Definisi smart contract (Szabo 1997) & Turing completeness
  • Determinisme & oracle problem
  • Ethereum Virtual Machine (EVM) & Solidity
Jam ke-2 (50 menit)
  • Audit keamanan & reentrancy attack (DAO 2016)
  • Token standard: ERC-20, ERC-721, ERC-1155
  • Hyperledger Fabric untuk enterprise & CBDC
Posisi dalam alur 14 pertemuan: jembatan antara kriptografi (P6) dan blockchain privat-publik (P8) → Bitcoin/Ethereum (P9-P10) → DeFi (P13).

DAO Hack 2016: Bug Satu Baris, USD 60 Juta Hilang

Juni 2016: reentrancy bug di The DAO contract → 3,6 juta ETH (~USD 60 juta saat itu) drain dalam hitungan jam. Komunitas Ethereum fork untuk membatalkan.

ETH Drain
3,6 juta ETH
~USD 60 juta pada harga saat itu (dihedge ~) — 14% dari seluruh ETH beredar saat itu
Konsekuensi
Hard Fork ETH/ETC
Komunitas Ethereum pecah: ETH (fork refund) vs Ethereum Classic (ETC, kode immutable)
Pelajaran: smart contract immutable artinya bug juga immutable. Satu typo, satu baris keliru urutan, bisa menyembunyikan jutaan dolar selamanya.
Bagian 1 · 1/4
Konsep Smart Contract
Diskusi kelas: jika smart contract mengeksekusi diri sendiri, apakah masih butuh pengacara? Apa yang terjadi jika kode bug?

Definisi Smart Contract (Szabo 1997)

Smart Contract (Nick Szabo, 1997): program komputer yang mengeksekusi ketentuan kontrak otomatis ketika kondisi terpenuhi, di-host di blockchain sehingga decentralized, deterministic, dan immutable.
Decentralized
Di-host di ribuan node — tidak ada server sentral yang bisa dimatikan
Deterministic
Output sama untuk input sama di setiap node — consensus bisa dicapai
Immutable
Sekali deploy, kode tidak bisa diubah — bug pun permanent

Contoh use case: escrow (release dana saat barang diterima), DEX (swap token otomatis), parametric insurance (payout saat sensor cuaca X).

Turing Complete vs Limited Scripting

Pilihan desain fundamental: ekspresif (Ethereum) vs aman-sederhana (Bitcoin). Trade-off fleksibilitas vs security.

Turing Complete (Ethereum, Solana)
  • Loop, branching, kompleks
  • Bisa compute apa pun secara teoretis
  • Risiko: halting problem → infinite loop
  • Solusi: gas limit (bayar per instruction)
  • Aplikasi: DeFi, NFT, DAO, oracle
Limited Scripting (Bitcoin)
  • Stack-based sederhana
  • Hanya multisig, timelock, hashlock
  • Deterministik & aman
  • Tidak bisa infinite loop
  • Aplikasi: Lightning Network, vault
Bitcoin sengaja dibatasi scripting untuk security — gas tidak diperlukan. Ethereum pilih Turing-complete untuk fleksibilitas — gas sebagai meter pemakaian compute.

Determinisme & Oracle Problem

Smart contract deterministic → tidak bisa langsung akses data off-chain (API, harga, cuaca). Oracle menjadi bridge — sekaligus titik lemah.

Oracle problem: trust shift dari blockchain (verifiable) ke oracle (centralized). "Garbage in, garbage out" — jika oracle manipulated, smart contract financial bisa liquidate salah.
Oracle Populer
  • Chainlink — decentralized oracle network (leader)
  • Band Protocol — cross-chain oracle
  • API3 — first-party API providers
  • Pyth Network — high-frequency financial data
  • UMA — optimistic oracle
Mitigasi Manipulation
  • Decentralized oracle (multiple source)
  • TWAP (time-weighted average price)
  • Heartbeat & deviation threshold
  • Circuit breaker saat anomali

HDN-1: Gas Fee Escrow Smart Contract dari Nol

Skenario: Escrow kontrak sederhana — buyer deposit 1 ETH, seller kirim barang, buyer konfirmasi, dana release. Harga gas ilustratif 2024 = 20 gwei (1 gwei = 10⁻⁹ ETH).
OperasiGasPerhitunganBiaya ETH
1. Deploy kontrak1.500.0001.500.000 × 20 gwei0,030 ETH
2. Deposit (buyer)50.00050.000 × 20 gwei0,001 ETH
3. Confirm receipt30.00030.000 × 20 gwei0,0006 ETH
4. Release (seller claim)40.00040.000 × 20 gwei0,0008 ETH
5. Total lifecycle gas1.620.0000,0316 ETH
6. USD @ ETH USD 3.0000,0316 × 3.000USD 94,8
Kesimpulan
~USD 95 lifecycle
Escrow on-chain ~USD 95 — lebih mahal dari escrow tradisional untuk transaksi kecil. L2 (Arbitrum) bisa turun ke ~USD 0,5.
Bagian 2 · 2/4
Ethereum & Solidity
Diskusi kelas: mengapa begitu banyak chain (Polygon, BSC, Avalanche) kompatibel EVM? Apa trade-offnya?

Ethereum Virtual Machine (EVM)

EVM (Ethereum Virtual Machine): virtual machine 256-bit yang menjalankan bytecode smart contract di setiap node Ethereum. State global (account, balance, storage). Consensus via PoS pasca-Merge 15 September 2022.
Karakter EVM
  • Stack-based, 256-bit word
  • State global: balance, storage, nonce
  • Gas sebagai meter pemakaian
  • Sandboxed — tidak bisa akses OS/network
EVM-Compatible Chains
  • Polygon PoS — sidechain EVM
  • BNB Smart Chain (BSC) — Binance
  • Avalanche C-Chain
  • Arbitrum, Optimism — L2 rollup
  • Base — Coinbase L2
Trade-off: EVM network effect besar (bytecode portabel), tetapi 256-bit lambat. Solana/Move pakai arsitektur berbeda untuk throughput tinggi.

Solidity: Bahasa Smart Contract Ethereum

Solidity = bahasa high-level (JavaScript-like) untuk smart contract Ethereum. Compile ke EVM bytecode. Versi stabil 0.8.x dengan built-in overflow check.

contract Escrow { address buyer; address seller; uint amount; function deposit() payable { ... } function release() { require(msg.sender == buyer); payable(seller).transfer(address(this).balance); } }
Fitur Solidity
  • contract, function, modifier, event, interface
  • Tipe: uint, address, mapping, struct
  • Visibility: public, private, internal, external
  • Sejak 0.8: built-in overflow check (sebelumnya SafeMath)
Tooling Populer
  • OpenZeppelin — library standard & security
  • Hardhat — dev framework JavaScript
  • Foundry — dev framework Rust (cepat)
  • Remix IDE — browser-based
  • Etherscan — verifier & explorer

Audit Keamanan & Reentrancy Attack

Reentrancy adalah kelas bug termahal sejarah crypto — DAO 2016, Cream Finance 2021. Solusi: pola Checks-Effects-Interactions + ReentrancyGuard.

Reentrancy Attack
  • Contract A call Contract B
  • B recall A sebelum state A di-update
  • A kirim ETH lagi — saldo belum berkurang
  • Loop drain sampai A habis
  • Kasus: DAO 2016 (USD 60 M), Cream 2021
Mitigasi & Audit
  • Checks-Effects-Interactions pattern
  • ReentrancyGuard (OpenZeppelin mutex)
  • Audit pihak ketiga: CertiK, Hacken, Quantstamp
  • Bug bounty (Immunefi)
  • Formal verification (K-framework)
Audit bukan jaminan — hanya mengurangi risiko. Immunefi report: bounty USD 100+ juta dibayarkan 2021-2024 untuk bug kritis DeFi.

HDN-2: Biaya Deploy ERC-20 Token Kontrak

Skenario: ERC-20 token kontrak standard (OpenZeppelin base) deploy ke Ethereum mainnet @ 20 gwei gas price.
OperasiGasPerhitunganBiaya
1. Deploy ERC-20 (OpenZeppelin)1.800.0001.800.000 × 20 gwei0,036 ETH
2. USD @ ETH USD 3.0000,036 × 3.000USD 108
3. Transfer token (per tx)50.00050.000 × 20 gwei0,001 ETH = USD 3
4. Approve + transferFrom80.00080.000 × 20 gwei0,0016 ETH = USD 4,8
5. L2 (Arbitrum) deploy1.800.000@ 0,1 gwei~USD 0,54
Kesimpulan
~USD 108 deploy
Cost barrier rendah untuk innovator; di L2 turun ke ~USD 0,5. Innovator FinTech bisa launch token tanpa VC.
Bagian 3 · 3/4
Token Standard
Diskusi kelas: apa beda ERC-20 (USDT) dengan ERC-721 (CryptoPunks)? Untuk use case masing-masing?

ERC-20, ERC-721, ERC-1155 — Tiga Standard

Tiga standard token membentuk ekosistem Ethereum — uang, kolektibel, dan hybrid.

ERC-20 (Fungible)
Token interchangeable 1:1. USDT, USDC, UNI, LINK, MATIC. Standar stablecoin, governance, utility.
ERC-721 (NFT)
Token non-fungible unik. CryptoPunks, BAYC, ENS domain, Decentraland. Kolektibel, seni, identitas.
ERC-1155 (Multi-token)
Batch fungible + non-fungible. Gods Unchained, Enjin, game items. Efisien untuk game.
Token standard = composability. Token A bisa otomatis dipakai di DEX B, lending C, vault D tanpa permission — "money legos".

Stablecoin di Ethereum: USDT, USDC, DAI

Tiga stablecoin populer di Ethereum dengan mekanisme peg berbeda — pilihan trade-off transparansi, desentralisasi, stabilitas.

StablecoinMekanismeProKontra
USDT (Tether)Fiat-backed (reserve Tether Ltd)Market cap tertinggi, liquidTransparansi kontroversial (paid fine NY AG 2021)
USDC (Circle)Fiat-backed (US Treasury + cash)Monthly attestation, paling transparanBanking contagion (SVB Maret 2023)
DAI (MakerDAO)Crypto-overcollateralized via vaultDecentralized, no issuerComplex governance, peg stress saat crash
UST (Terra)Algorithmic (mint-burn LUNA)Yield tinggi Anchor 20%COLLAPSED Mei 2022 — USD 40 M hilang
SVB collapse Maret 2023: Circle pegang USD 3,3 M di SVB → USDC depeg ke 0,87 → recovery 24 jam setelah Fed backstop. Pelajaran: fiat-backed rentan banking contagion.

Mini-Kasus: USDC-SVB Depeg Maret 2023

USDC dianggap "emas standar" stablecoin transparan — tetapi Maret 2023 menunjukkan banking contagion bisa kolaps stablecoin fiat-backed.

TanggalPeristiwaHarga USDC
10 Maret 2023 (Jumat)SVB (Silicon Valley Bank) ditutup regulator California — run-on-bankUSD 1,00
10-11 Maret 2023Circle akui pegang USD 3,3 M reserve di SVB (dari total USD 40 M)depeg ke 0,87
11 Maret 2023 (Sabtu)Panic selling DeFi — Aave, Compound liquidate USDC collateralrendah 0,87
12 Maret 2023 (Minggu)Fed announce Bank Term Funding Program — backstop SVB depositrecovery 0,97
13 Maret 2023 (Senin)Circle konfirmasi reserve aman, USDC repegUSD 1,00
Tiga pelajaran: (1) Stablecoin fiat-backed rentan banking contagion; (2) Reserve diversifikasi banking partner krusial; (3) DeFi cascade effect amplifikasi depeg.
Bagian 4 · 4/4
Hyperledger Enterprise
Diskusi kelas: Bank Indonesia butuh platform CBDC — Ethereum public atau Hyperledger Fabric? Apa pertimbangannya?

Hyperledger Fabric: Chaincode & Channel

Hyperledger Fabric (Linux Foundation) adalah blockchain permissioned modular untuk enterprise — pilihan bank, supply chain, dan CBDC pilot.

Fitur Fabric
  • Chaincode (smart contract, Go/Java/Node)
  • Channel — private subnet antar-participant
  • MSP (Membership Service Provider) — identity
  • Konsensus PBFT/Raft — ribuan TPS
  • Modular: plug-in consensus, endorsement, ledger
Use Case Enterprise
  • Trade finance — we.trade, Marco Polo
  • Supply chain — IBM Food Trust, Walmart
  • CBDC pilots — Project Ubin (MAS), Khokha (SARB)
  • Healthcare — medical record exchange
  • Bank guarantee — ANZ + Westpac (Lygon)
Trade-off Fabric: permissioned = trusted consortium, bukan trustless public. Privasi via channel — tetapi jika consortium collapse, chain ikut.

Ringkasan Kunci Pertemuan 7

Konsep & Ethereum
Smart contract (Szabo 1997) · Turing complete · gas · oracle problem · EVM/Solidity
Keamanan & Token
Reentrancy (DAO 2016) · audit · ERC-20/721/1155 · stablecoin USDT/USDC/DAI/UST
Enterprise
Hyperledger Fabric chaincode · channel · use case trade finance & CBDC pilot

Smart contract membuka kemungkinan baru — DeFi, NFT, CBDC. Tapi dengan risiko: bug, oracle, audit cost.

Persiapan P8: baca Buterin (2017) "On Public and Private Blockchains"; bawa satu use case bank RI (LC, remitansi, atau tokenisasi aset) untuk dibahas dari sudut public vs private. Kuis 10 menit di awal P8.