🎯 Pemula

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.

2026-07-12 · Demonjoy — Indonesia

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

  1. Hanya用 protokol头部 (Aave/Compound/Uniswap等)
  2. Hanya用 kontrak open-source已 audit
  3. Jumlah小先试水
  4. 不要授权 (Approve)额度无限
  5. Sebelum操作 periksa合约地址是否正确
  6. 不要追 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:

  1. 合约地址是否正确: 从 Twitter/Discord官方获取合约地址, 不从搜索引擎 atau orang陌生获取
  2. Kontrak是否 open-source: Di Etherscan上查看 kode kontrak是否公开. Kontrak closed-source risiko极高
  3. Kontrak是否已 audit: View是否有报告 audit dari firma audit知名
  4. 额度授权是否合理: Saat Approve选择额度精确 bukan额度无限. Gunakan Revoke.cash定期清理授权旧
  5. Gas Limit是否充足: 让 MetaMask自动估算, 不要手动设过低
  6. Jumlah操作是否正确: 确认jumlah无误再提交 transaksi
  7. 确认 di设备上: Kalau用 hardware wallet, 确认 semua detail di屏幕设备

Event Serangan Smart Contract最严重 sepanjang历史

EventYearKerugianJenis Serangan
The DAO2016$60MReentrancy
Parity Wallet2017$155MMissing access control
Poly Network2021$611MVulnerability跨链 kontrak
Wormhole2022$326MVulnerability验证签名
Ronin Network2022$625MValidator妥协
Beanstalk2022$182MFlash loan + governance attack
Curve Finance2023$70MReentrancy (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:

  1. Hanya protokol头部: Aave, Compound, Uniswap, MakerDAO—ini运行 2年+, TVL数十亿, 经过多次 audit的 protokol是 paling安全
  2. Jumlah小试水: Pertama kali使用 protokol mana pun hanya用 $50-100 test
  3. 不要追 baru: Protokol上线 1周 baru risiko远高于运行 2年的 protokol老
  4. 授权谨慎: Setiap Approve前思考 “Kalau kontrak ini是恶意的, 我授权后损失多少”
  5. 用 wallet专用: Interaksi DeFi用 wallet专用 (里面只有 dana操作), aset大额 di wallet另一个

Gate.io — Indonesia

Low fees, GoPay support.

Mulai Trading Aman di Gate.io →