Sourcify adalah layanan verifikasi kode sumber kontrak yang didukung Ethereum Foundation, open-source, yang menggunakan file metadata compiler Solidity untuk mencapai verifikasi deterministik dan trustless — mencocokkan bytecode yang di-deploy dengan kode sumber yang dikompilasi secara lokal dan menerbitkan sumber yang diverifikasi ke IPFS dan repositori publik, memungkinkan pengembang atau pengguna mana pun untuk secara independen mengonfirmasi bahwa kode sumber kontrak yang di-deploy akurat tanpa mempercayai layanan verifikasi terpusat mana pun.
Mengapa Verifikasi Kode Sumber Penting
Ketika smart contract di-deploy, hanya bytecode EVM yang masuk on-chain — Solidity asli tidak disimpan. Pengguna harus mempercayai klaim pengembang tentang apa yang dilakukan kontrak. Verifikasi menghubungkan kode sumber ke bytecode sehingga siapa pun dapat:
- Mengaudit apa yang sebenarnya dilakukan kontrak
- Mengonfirmasi ABI (panggil dan terima dengan tanda tangan fungsi yang benar)
- Menggunakan block explorer dengan antarmuka yang dapat dibaca manusia
- Memverifikasi tidak ada backdoor atau fungsi berbahaya tersembunyi
Verifikasi Berbasis Metadata
File Metadata Compiler Solidity:
Saat mengompilasi Solidity, compiler menghasilkan file metadata JSON (output.metadata.json) yang berisi:
- Versi compiler yang tepat
- Pengaturan optimisasi
- Hash file sumber
- ABI
- Hash dari metadata itu sendiri (ditambahkan ke bytecode sebagai sufiks CBOR-encoded)
Pendekatan Sourcify:
Karena hash metadata ditambahkan ke bytecode setiap kontrak yang di-deploy, Sourcify dapat:
- Menerima file sumber + metadata dari pengembang
- Mengompilasi ulang menggunakan pengaturan persis dalam metadata
- Membandingkan bytecode yang dikompilasi ulang termasuk hash metadata dengan bytecode on-chain
- Jika cocok — perfect match dikonfirmasi
Jenis Kecocokan
| Jenis | Deskripsi |
|---|---|
| Perfect Match | Bytecode + hash metadata cocok persis — pengaturan compiler dikonfirmasi |
| Partial Match | Bytecode cocok tanpa metadata — sumber yang “cukup dekat” |
Perfect match lebih ketat dari Etherscan — karena Sourcify mengetahui pengaturan compiler yang tepat, bukan hanya bahwa bytecode “cukup dekat.”
vs. Etherscan Verification
| Aspek | Etherscan | Sourcify |
|---|---|---|
| Kepemilikan | Terpusat (Etherscan) | Open-source, didukung EF |
| Penyimpanan | Database Etherscan | IPFS (terdesentralisasi) |
| Ketelitian | Pencocokan bytecode perkiraan | Pencocokan metadata deterministik |
| Rantai yang didukung | Terutama Ethereum | 100+ rantai EVM |
Multi-Chain
Sourcify mendukung verifikasi di lebih dari 100 rantai EVM — menjadikannya alat standar de facto untuk deployment lintas rantai di mana Etherscan tidak tersedia.
Kritik
- Adopsi lebih rendah dari Etherscan karena lebih sedikit integrasi block explorer
- Partial match kurang berguna untuk audit karena tidak mengonfirmasi pengaturan kompilasi
- Memerlukan file metadata beserta kode sumber (tidak selalu tersedia untuk kontrak lama)
Istilah Terkait
Lihat Juga
Sumber
- Sourcify Documentation — panduan pengembang untuk verifikasi kontrak.
- “Sourcify: Decentralized Smart Contract Verification” — Ethereum Blog (2021). Latar belakang pendekatan verifikasi berbasis metadata.
- “Contract Verification: Sourcify vs Etherscan” — OpenZeppelin Research (2023). Perbandingan teknis metodologi verifikasi.
Terakhir diperbarui: 2026-04