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_commitmentke 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