Semaphore Protocol

Semaphore adalah protokol zero-knowledge yang dikembangkan oleh Koh Wei Jie (dan kemudian dikelola oleh tim Privacy and Scaling Explorations di Ethereum Foundation) yang memungkinkan sinyal anonim dengan bukti keanggotaan grup: pengguna menghasilkan identitas, mendaftarkan komitmen identitas mereka ke dalam Merkle tree grup, dan kemudian memberi sinyal tanpa mengungkapkan anggota grup mana mereka — sementara mekanisme nullifier mencegah mereka memberi sinyal dua kali untuk konteks eksternal yang sama, mencegah double-voting.


Protokol Inti

Tiga Fase:

1. Pembuatan Identitas (off-chain, perangkat pengguna):

  • Hasilkan identity_secret secara acak
  • identity_commitment = hash dari secret

2. Pendaftaran Grup (on-chain):

  • Pengguna (atau admin) menambahkan identity_commitment ke Merkle tree grup
  • Tree grup disimpan dalam kontrak Semaphore

3. Sinyal (bukti ZK off-chain, verifikasi on-chain):

  • Membuktikan: Saya mengetahui rahasia yang sesuai dengan komitmen di tree grup
  • nullifier_hash = hash(identity_nullifier, external_nullifier)
  • Nullifier mencegah double-signaling: nullifier_hash yang sama ditolak kontrak jika sudah digunakan

Aplikasi yang Dibangun di Atas Semaphore

Aplikasi Kasus Penggunaan
MACI Voting anti-suap dengan identitas Semaphore
Crypt-Keeper Dompet identitas ZK browser
Privacy-preserving DAO Voting anonim untuk tata kelola sensitif
Zupass Kredensial kehadiran acara (Zuzalu)
Worldcoin Dasar untuk skema aksi anonim World ID

Jenis Sinyal

“Sinyal” dalam Semaphore dapat berupa apa saja:

  • Suara: signal = keccak256("ya_pada_proposal_3")
  • Pesan: signal = hash(konten_pesan)
  • Atestasi: signal = hash(klaim_kredensial)

Istilah Terkait

Lihat Juga

Sumber

  • “Semaphore: A Privacy Gadget Built on Ethereum” — Koh Wei Jie / Ethereum Foundation (2019). Makalah Semaphore asli yang memperkenalkan primitif sinyal keanggotaan grup.
  • “MACI: Minimal Anti-Collusion Infrastructure for Voting” — Barry Whitehat / Ethereum Foundation (2019). Pengenalan MACI, aplikasi yang dibangun di atas ZK identity seperti Semaphore.
  • “Semaphore v3: Upgraded Protocol and Developer Experience” — PSE / Ethereum Foundation (2023). Dokumentasi Semaphore v3 dengan sirkuit yang didesain ulang dan SDK yang ditingkatkan.
  • “ZK Identity Primitives: From Semaphore to World ID” — Worldcoin Foundation (2023). Analisis evolusi dari primitif keanggotaan grup Semaphore ke sistem ZK identity yang lebih kompleks.

Terakhir diperbarui: 2026-04