Pengantar Smart Contract: Kode adalah Hukum, tapi Kode juga Punya Bug
Smart contract adalah fungsi blockchain最强大 juga是 sumber risiko最大. Artikel ini detail prinsip smart contract, 4 jenis bug常见, cara识别 kontrak安全 dan prinsip安全 operasi DeFi.
Kamu存 dana ke protokol lending Aave, hari kedua听到某个 kontrak被攻击 hacker损失数亿—kamu开始怀疑: Kode是法律? Tapi kalau kode有 bug?
1. Apa itu Smart Contract
1.1 Definisi
Smart contract adalah program auto-execute yang部署 di blockchain上—条件满足时自动执行,不需要干预人工. Seperti mesin vending: Kamu投币选择 produk, mesin自动出货,不需要售货员.
1.2 Fitur核心
- Immutable: 部署后 kode无法修改 (除非有设计特殊)
- Auto-execute: 条件满足自动运行,无人可阻止
- Transparan publik: Kode di chain上 siapa pun可查看
- 无中介: 不需要信任 party ketiga
1.3 Kekuatan Smart Contract
没有 smart contract, blockchain只是工具记账. 有 smart contract, blockchain变成 platform计算—DeFi, NFT, DAO,游戏全都依赖 smart contract运行.
2. Ideal “Kode是法律” dan Realitas
2.1 Ideal
Di世界完美, kode smart contract精确执行规则,没有空间干预人为,没有可能腐败,没有问题信任.
2.2 Realitas
Kode可能有 bug, 而且 bug部署后无法修改. Historically损失由 bug smart contract造成:
- The DAO (2016): $60M被盗,导致 ETH分叉
- Wallet Parity (2017): $150M锁定无法取出
- Poly Network (2021): $610M被盗 (后归还)
- Wormhole (2022): $326M被盗
Pemahaman关键: Kode是法律 berarti—kalau kode写错了, “法律”本身就是错的,而且不可修改.
3. 4 Jenis Bug Smart Contract常见
3.1 Serangan Reentrancy
攻击者在执行 kontrak过程中反复调用 fungsi同一,在更新余额前多次提取 dana. Event The DAO就是 serangan reentrancy. Proteksi: Gunakan模式 Checks-Effects-Interactions.
3.2 Integer Overflow
Kalkulasi数字超过 nilai最大类型 variabel,导致 hasil错误. Seperti integer 256-bit加1变成0. Proteksi: Gunakan library SafeMath (Solidity 0.8+已内置).
3.3 Missing Access Control
Fungsi某些 kontrak本该 hanya管理员能调用, tapi kode没有 set periksa权限, siapa pun都能调用. Proteksi: Gunakan modifier onlyOwner.
3.4 Logic Error
Logika kontrak本身有缺陷, seperti kalkulasi价格清算错误, formula分配奖励错误等. 最难发现也最难防护.
4. Cara判断 Kontrak是否安全
4.1 是否经过 Audit
Firma audit知名: Trail of Bits, OpenZeppelin, Quantstamp, Certik. Kontrak已 audit相对安全, tapi audit不保证 bug零.
4.2 是否 Open-source
Kontrak open-source siapa pun都能查看 kode. Kontrak closed-source kamu无法验证 keamanannya—不要使用 kontrak closed-source管理 aset kamu.
4.3 Runtime
运行越久越安全—时间是测试最好. Kontrak运行 2年+无事件重大比上线 1周更可信.
4.4 Volume Penggunaan
TVL (Total Value Locked)越高的 kontrak通常越受关注, bug更容易被发现. Tapi TVL高也 berarti攻击动机更大.
5. Prinsip安全 Operasi DeFi
- Hanya用 protokol头部 (Aave/Compound/Uniswap等)
- Hanya用 kontrak open-source已 audit
- Jumlah小先试水
- 不要授权 (Approve)额度无限
- Sebelum操作 periksa合约地址是否正确
- 不要追 project baru—越 baru risiko越大
Ringkasan
Smart contract是 fungsi blockchain最强大 juga是 sumber risiko最大. Kode是法律, tapi kode也可能有 bug—而且 bug部署后不可修改. Sebagai user, strategi安全 kamu是: Hanya用 protokol头部已验证, jumlah小试水,授权谨慎.
Untuk metode praktis lebih lanjut, lihat Dimen Trading
Analisis Depth Audit Smart Contract
Untuk memahami keamanan smart contract, kamu需知道 audit到底做什么以及 limitasi audit:
Apa yang firma audit做:
- Baca kode kontrak逐行寻找漏洞 logika
- Periksa kontrol权限 (siapa可以调用 fungsi apa)
- Periksa kalkulasi数学是否正确 (会不会溢出)
- Periksa调用外部是否安全 (会不会被 serangan reentrancy)
- Test行为 di情况极端 (Gas不足, input异常等)
Apa yang audit不能保证:
- Audit bukan保证100%安全—kontrak已 audit后来仍被攻击 (seperti Audius 2022被攻击,之前有 audit Certik)
- Audit有时间限制—audit后 kalau kode kontrak更新, kode baru可能没被 audit
- Auditor可能遗漏—人不是机器, 漏洞 logika复杂可能被遗漏
- Beberapa方式攻击 audit无法覆盖 (seperti serangan flash loan, serangan governance等)
Cara利用 info audit:
- View报告 audit: 多数 project公开报告 audit, baca问题发现的 audit和 skema修复
- Perhatikan reputasi firma audit: Trail of Bits dan OpenZeppelin audit最被信任
- Audit ≠无 risiko, tapi 未 audit = risiko极高
Checklist安全 Interaksi Smart Contract
Setiap kali sebelum interaksi dengan smart contract, periksa item berikut:
- 合约地址是否正确: 从 Twitter/Discord官方获取合约地址, 不从搜索引擎 atau orang陌生获取
- Kontrak是否 open-source: Di Etherscan上查看 kode kontrak是否公开. Kontrak closed-source risiko极高
- Kontrak是否已 audit: View是否有报告 audit dari firma audit知名
- 额度授权是否合理: Saat Approve选择额度精确 bukan额度无限. Gunakan Revoke.cash定期清理授权旧
- Gas Limit是否充足: 让 MetaMask自动估算, 不要手动设过低
- Jumlah操作是否正确: 确认jumlah无误再提交 transaksi
- 确认 di设备上: Kalau用 hardware wallet, 确认 semua detail di屏幕设备
Event Serangan Smart Contract最严重 sepanjang历史
| Event | Year | Kerugian | Jenis Serangan |
|---|---|---|---|
| The DAO | 2016 | $60M | Reentrancy |
| Parity Wallet | 2017 | $155M | Missing access control |
| Poly Network | 2021 | $611M | Vulnerability跨链 kontrak |
| Wormhole | 2022 | $326M | Vulnerability验证签名 |
| Ronin Network | 2022 | $625M | Validator妥协 |
| Beanstalk | 2022 | $182M | Flash loan + governance attack |
| Curve Finance | 2023 | $70M | Reentrancy (bug compiler Vyper) |
Lesson共同 dari serangan ini:
- Serangan reentrancy是类型最古老 tapi仍然最常见的
- Missing access control导致损失巨额
- Jenis baru方式攻击不断出现 (flash loan + governance attack)
- 即使已 audit也不能保证 risiko零
Saran安全终极 untuk Pemula
Kalau kamu pemula, strategi最简单 untuk keamanan smart contract adalah:
- Hanya protokol头部: Aave, Compound, Uniswap, MakerDAO—ini运行 2年+, TVL数十亿, 经过多次 audit的 protokol是 paling安全
- Jumlah小试水: Pertama kali使用 protokol mana pun hanya用 $50-100 test
- 不要追 baru: Protokol上线 1周 baru risiko远高于运行 2年的 protokol老
- 授权谨慎: Setiap Approve前思考 “Kalau kontrak ini是恶意的, 我授权后损失多少”
- 用 wallet专用: Interaksi DeFi用 wallet专用 (里面只有 dana操作), aset大额 di wallet另一个
Related
5 Kesalahan Pemula Indonesia dalam Kriptocurrency
5 error terbesar pemula Indonesia di kripto — FOMO, leverage, phishing, exchange salah, dan tidak lapor pajak.
Panduan Airdrop: Cara Mendapatkan Koin Gratis & 3 Prinsip Anti-Scam untuk Menghindari 99% Airdrop Palsu
Airdrop adalah kesempatan mendapatkan koin gratis di dunia crypto, tapi juga bidang dengan scam terbanyak. Artikel ini menjelaskan mekanisme airdrop, cara ikut airdrop asli, 3 prinsip anti-scam, dan contoh airdrop paling berharga dalam sejarah.
Pengetahuan Altcoin & Koin Populer: SOL·BNB·XRP·DOGE
Pengetahuan mendalam tentang 4 koin populer SOL, BNB, XRP, DOGE, perbedaan koin mainstream dan altcoin, cara menilai apakah sebuah koin worth untuk dibeli—menggunakan data bukan narasi.
Pengetahuan Mendalam BTC: Dari Lahir hingga Siklus Halving
Cerita kelahiran BTC, total supply 21 juta, mekanisme siklus halving, hash rate sebagai moat keamanan, kenapa worth, apakah pemula应该 buy—menggunakan data membongkar semua tentang BTC.