| Penulis | Boneh, Dan; Lynn, Ben; Shacham, Hovav |
|---|---|
| Tahun | 2001 |
| Proyek | BLS Signatures |
| Lisensi | Public Domain |
| Sumber Resmi | iacr.org/archive/asiacrypt2001/22480516.pdf |
“Short Signatures from the Weil Pairing” (2001, ASIACRYPT) oleh Dan Boneh, Ben Lynn, dan Hovav Shacham memperkenalkan tanda tangan BLS — skema tanda tangan yang menghasilkan tanda tangan pendek (48 byte dalam BLS12-381) dengan properti kritis: tanda tangan dari banyak penanda tangan dapat diagregasi menjadi satu tanda tangan tunggal yang dapat diverifikasi dengan satu operasi pairing. BLS signatures digunakan dalam beacon chain Ethereum Proof of Stake, di mana 500.000+ validator menandatangani setiap attestasi — agregasi mengurangi data on-chain dari gigabyte menjadi kilobyte.
Publikasi dan Konteks
Sebelum BLS, agregasi tanda tangan tidak mungkin dengan ECDSA (yang digunakan Bitcoin dan Ethereum). Setiap validator harus menyimpan tanda tangannya sendiri secara terpisah. Untuk sistem dengan ratusan ribu validator (seperti beacon chain Ethereum), biaya penyimpanan dan verifikasi ini akan menjadi hambatan yang menghancurkan. BLS memecahkan ini dengan menggunakan bilinear pairing — operasi kriptografis yang memungkinkan “penjumlahan” banyak tanda tangan menjadi satu.
Cara Kerja BLS
BLS beroperasi di atas kurva eliptik ramah pairing (Ethereum menggunakan BLS12-381):
Pembuatan Kunci:
- Private key: skalar acak
sk - Public key: titik
pk = sk × G₁(di kurva G1)
Penandatanganan:
- Pesan m di-hash ke titik
H(m)di kurva G2 - Tanda tangan:
σ = sk × H(m)— titik G2 (48 byte di BLS12-381)
Verifikasi:
- Periksa:
e(G₁, σ) = e(pk, H(m))menggunakan bilinear pairing
Agregasi (properti kunci):
- n tanda tangan σ1, …, σn diagregasi:
σagg = σ1 + ... + σn - Verifikasi:
e(G₁, σagg) = e(pk1 + ... + pkn, H(m)) - Satu verifikasi pairing sudah cukup untuk semua n tanda tangan
Ethereum Beacon Chain
Beacon chain menggunakan BLS signatures untuk:
- Attestasi: Setiap validator menandatangani pandangan mereka tentang kepala chain (voting per slot)
- Aggregate attestations: Aggregator menggabungkan attestasi dari ~128 validator menjadi satu tanda tangan
- Sync committee: 512 validator menandatangani setiap blok dengan BLS; satu agregat membuktikan konsensus komite
Tanpa BLS, beacon chain Ethereum perlu menyimpan dan memverifikasi 500.000 tanda tangan individual per epoch — ~25 MB data tanda tangan. BLS mengurangi ini menjadi kilobyte.
BLS vs. ECDSA vs. Schnorr
| Properti | BLS | ECDSA | Schnorr |
|---|---|---|---|
| Agregasi | Ya (native) | Tidak | Ya (MuSig2) |
| Ukuran tanda tangan | 48 byte | 64–71 byte | 64 byte |
| Kecepatan verifikasi | Lambat (pairing) | Cepat | Cepat |
Istilah Terkait
Referensi
- Boneh, D.; Lynn, B.; Shacham, H. (2001). Short Signatures from the Weil Pairing. ASIACRYPT 2001. iacr.org/archive/asiacrypt2001