Sourcify

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:

  1. Menerima file sumber + metadata dari pengembang
  2. Mengompilasi ulang menggunakan pengaturan persis dalam metadata
  3. Membandingkan bytecode yang dikompilasi ulang termasuk hash metadata dengan bytecode on-chain
  4. 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