0Pricing
Cryptology Academy · Ders

BLS İmzaları ve Birleştirilmiş İmza Şemaları

BLS12-381 eşleşmelerini, imza birleştirmeyi ve Ethereum 2.0'ın doğrulayıcı yükünü azaltmak için BLS'yi nasıl kullandığını keşfedin.

BLS İmzaları ve Birleştirilmiş İmza Şemaları, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Bilineer Eşleşmeler: Matematiksel Temel

BLS imzaları, eliptik eğriler üzerinde gerçekleştirilen matematiksel bir işlem olan bilineer eşleşmelere dayanır. Bir eşleşme e: G1 x G2 -> GT, iki gruptan (G1, G2) nokta çiftlerini bir hedef grup olan GT'ye eşler. Kritik özellik bilineerliktir: e(aP, bQ) = e(P, Q)^(ab); burada a ve b skaler, P ve Q ise noktalardır. Bu, ayrık logaritmaları bilmeden grup elemanları arasındaki ilişkilerin denetlenmesini sağlar. Kriptografide en çok kullanılan eşleşme eğrisi BLS12-381'dir; bu eğri 128 bitlik güvenlik düzeyi, küçük grup elemanı boyutları (G1'de 48 bayt, G2'de 96 bayt) ve verimli eşleşme hesaplaması için seçilmiştir.

BLS İmza Yapısı

Bir BLS (Boneh-Lynn-Shacham) imzası şu şekilde çalışır. Anahtar üretimi: gizli anahtar x rastgele bir skalerdir; açık anahtar PK = x * G şeklindedir ve G, G2'nin üreteç noktasıdır. İmzalama: m iletisi verildiğinde G1 içinde H = hash-to-curve(m) hesaplanır, ardından sigma = x * H elde edilir. İmza, BLS12-381 üzerinde 48 baytlık tek bir G1 noktasıdır. Doğrulama: e(sigma, G) == e(H, PK) denetlenir. Bilineerlik sayesinde e(x*H, G) = e(H, G)^x = e(H, x*G) = e(H, PK) olur. Güvenlik, co-CDH varsayımına dayanır: H ve x*G verildiğinde, x'i bilmeden x*H hesaplamak zordur.

İmza Birleştirme: Temel Yenilik

BLS imzaları etkileşimsiz birleştirmeyi destekler: PK_1, ..., PK_n açık anahtarlarından m_1, ..., m_n iletileri üzerindeki sigma_1, ..., sigma_n imzaları verildiğinde birleştirici, eliptik eğri noktalarının toplanmasıyla sigma_agg = sigma_1 + sigma_2 + ... + sigma_n hesaplar. Birleştirilmiş imza, n'in değerinden bağımsız olarak tek bir 48 baytlık değerdir. Doğrulama n+1 eşleşme işlemi gerektirir: e(sigma_agg, G) == product(e(H_i, PK_i)) denetlenir. Tüm imzalayanların aynı iletiyi imzaladığı yaygın durumda doğrulama iki eşleşmeye iner: e(sigma_agg, G) == e(H, sum(PK_i)).

Sahte Anahtar Saldırısı ve Savunma

Naif BLS birleştirmesi, sahte anahtar saldırısına açıktır. Saldırgan, PK_adv = x_adv*G - PK_honest değerini kaydettirir. Birleştirilmiş anahtar PK_agg = PK_honest + PK_adv = x_adv*G olur ve saldırgan bunu tamamen denetler. Savunma seçenekleri şunlardır: (1) Sahiplik Kanıtı (PoP): her imzalayan, kayıt sırasında kendi açık anahtarını imzalayarak gizli anahtarını bildiğini kanıtlar. (2) Mesaj genişletme: her imzalayanın açık anahtarı kendi iletisine eklenir. (3) Doğrusallıktan çıkarma (BGLS): birleştirmeden önce her açık anahtar, hash(PK_i, all_PKs) ile çarpılır ve böylece saldırıyı mümkün kılan doğrusallık bozulur. Ethereum, doğrulayıcı kaydı için PoP kullanır.

Ethereum 2.0'da BLS Kullanımı

Ethereum'un mutabakat katmanı (Beacon Chain), BLS12-381 birleştirmesinden kapsamlı biçimde yararlanır. Her zaman aralığında yaklaşık 400,000+ etkin doğrulayıcı zincir başını onaylar. Birleştirme olmadan tüm imzaların saklanması, zaman aralığı başına ~400,000 * 96 bayt = 38 MB gerektirirdi. BLS birleştirmesiyle, her komite (genellikle 512 doğrulayıcı) tek bir 96 baytlık birleştirilmiş imza üretir ve toplam imza verisi zaman aralığı başına kilobaytlara iner. Beacon Chain blok gövdesi birleştirilmiş onaylar içerir: hangi doğrulayıcıların katıldığını belirten bir bit alanı ve her komite için bir birleştirilmiş BLS imzası.

BLS ve ECDSA Performansı

BLS imza işlemleri, ECDSA'dan farklı performans özelliklerine sahiptir. BLS imzalama, bir eğriye özetleme ve bir skaler çarpma gerektirir (modern donanımda yaklaşık ~1 ms). BLS doğrulaması iki eşleşme işlemi gerektirir (her biri ~3-5 ms, toplamda ~6-10 ms). ECDSA imzalama bir nokta çarpımı gerektirir (~0.2 ms); doğrulama ise iki nokta çarpımı gerektirir (~0.4 ms). BLS doğrulaması imza başına daha yavaştır, ancak birleştirilmiş durumda çok daha hızlıdır: birleştirilmiş 1000 BLS imzasını doğrulamak toplamda yaklaşık ~10 ms sürerken 1000 ayrı ECDSA doğrulaması ~400 ms sürer. Başa baş noktası yaklaşık 2-3 imzadır.

Eşik BLS İmzaları

Eşik BLS, birleştirmeyi gizli paylaşımına genişletir. (t, n) eşik şemasında gizli anahtar, BLS skaler cismi üzerinde Shamir gizli paylaşımı kullanılarak n paya bölünür. Her paydaş i, sigma_i = sk_i * H(m) biçiminde bir kısmi imza üretir. Herhangi t kısmi imza, Lagrange aradeğerleme katsayıları kullanılarak birleştirilebilir: sigma = sum(lambda_i * sigma_i). Ortaya çıkan imza, özgün anahtar tarafından üretilen imzayla aynıdır; ancak hiçbir taraf anahtarın tamamını elinde tutmaz. Eşik BLS, dağıtık doğrulayıcı teknolojisinde (DVT), MPC cüzdanlarında ve Fireblocks ile Web3Auth gibi eşik imzalama hizmetlerinde kullanılır.

Filecoin Ağında BLS

Filecoin, depolama kanıtı sistemi ve işlem imzalama için BLS imzalarını kullanır. Depolama madencileri, BLS birleştirmesiyle birden çok kanıtı birleştirerek zincir üzerindeki doğrulama maliyetlerini azaltır. Filecoin'in mesaj havuzu da birden çok işlem imzasını tek bir birleştirilmiş imzada toplayarak blok boyutlarını küçültür. Filecoin uygulaması, IETF BLS taslak standardını (RFC 9380 uyarınca eğriye özetleme, BLS12-381 eğrisi) minimum-pubkey-size çeşidiyle kullanır; bu çeşitte açık anahtarlar G1'de (48 bayt), imzalar ise G2'de (96 bayt) bulunur. Bu, Ethereum'un kullandığı düzenin tersidir.

Zcash ve Gizlilik Protokollerinde BLS

Zcash temel olarak Groth16 zk-SNARK kanıtlarını kullansa da BLS eşleşmeleri, eşleşme tabanlı birçok sıfır bilgi yapısının temelini oluşturur. Groth16 doğrulama denklemi bir eşleşme denetimidir: e(A, B) = e(alpha, beta) * e(vk, C); burada A, B ve C kanıt elemanlarıdır. Ethereum'un EIP-4844 blob işlemlerinde ve çeşitli ZK toplama sistemlerinde kullanılan KZG polinom taahhütleri de BLS12-381 eşleşmelerine dayanır: f(x) polinomuna ilişkin taahhüt C = f(tau)*G şeklindedir ve değerlendirme kanıtları eşleşmeyle doğrulanır. BLS12-381, verimli eşleşme işlemleri ve 128 bitlik güvenlik için özel olarak seçilmiştir.

Birleştirilebilir İmzalar: BLS'nin Ötesinde

BLS, birleştirilebilir tek imza şeması değildir. Schnorr imzaları, birden çok imzalayanın tek imzalayanın imzasından ayırt edilemeyen tek bir Schnorr imzası ürettiği anahtar birleştirmesini (Bitcoin Taproot'ta kullanılan MuSig2) destekler. FROST (Esnek, Tur Açısından Eniyilenmiş Schnorr Eşiği), iki turda eşik Schnorr imzaları sağlar. Ancak Schnorr birleştirmesi, BLS'nin etkileşimsiz birleştirmesinin aksine, imzalayanlar arasında etkileşim gerektirir; bu da onu büyük doğrulayıcı kümeleri için daha az uygun hâle getirir. BLS, etkileşimsiz birleştirmesi ve verimli toplu doğrulaması sayesinde blok zinciri mutabakatında tercih edilmeye devam eder.

BLS için Kuantum Sonrası Öngörüler

BLS imzaları, Shor algoritmasını çalıştıran kuantum bilgisayarlarına karşı savunmasız olan eliptik eğri eşleşmelerine dayanır. Yeterince güçlü bir kuantum bilgisayarı, BLS12-381 üzerindeki ayrık logaritmaları hesaplayarak mevcut tüm BLS imzalarını kırabilir ve Ethereum'un mutabakat güvenliğini ortadan kaldırabilir. Zaman çizelgesi belirsizdir; ancak NIST, kriptografik açıdan kullanılabilir kuantum bilgisayarlarının ortaya çıkması için 15-20 yıl öngörmektedir. Ethereum ve BLS'ye dayanan diğer zincirlerin, bu tehdit gerçekleşmeden önce kuantum sonrası imza şemalarına (CRYSTALS-Dilithium/ML-DSA veya SPHINCS+/SLH-DSA) geçmesi gerekecektir. Geçiş için doğrulayıcı kaydı, tasdik biçimleri ve toplu doğrulama üzerinde protokol düzeyinde değişiklikler yapılması gerekir.

BLS Toplama Sınavı

Ethereum'un mutabakat katmanında BLS imza toplamanın temel avantajı nedir?

BLS İmzaları Özeti

BLS imzaları, BLS12-381 eğrileri üzerindeki bilineer eşleşmeleri kullanır. İmzalar 48 baytlık G1 noktalarıdır; açık anahtarlar ise Ethereum'un kullandığı gösterimde 96 baytlık G2 noktalarıdır. Etkileşimsiz toplama, n imzayı 48 baytlık tek bir değerde birleştirir ve bu değer n+1 eşleşmeyle doğrulanır. Sahte anahtar saldırısı, doğrulayıcı kaydı sırasında Sahiplik Kanıtı kullanılarak önlenir. Ethereum, yuva başına 400.000'den fazla doğrulayıcı tasdikini kilobaytlara sığdırmak için BLS kullanır. Eşik BLS, tek bir anahtar sahibinin bulunmadığı dağıtık doğrulayıcıları mümkün kılar. BLS eşleşme tabanlıdır ve kuantum sonrası güvenli değildir; bu nedenle gelecekte geçiş yapılması gerekir.

Sıkça Sorulan Sorular

“BLS İmzaları ve Birleştirilmiş İmza Şemaları” dersi ücretsiz mi?

Evet — “BLS İmzaları ve Birleştirilmiş İmza Şemaları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“BLS İmzaları ve Birleştirilmiş İmza Şemaları” dersinde ne öğreneceğim?

BLS12-381 eşleşmelerini, imza birleştirmeyi ve Ethereum 2.0'ın doğrulayıcı yükünü azaltmak için BLS'yi nasıl kullandığını keşfedin. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“BLS İmzaları ve Birleştirilmiş İmza Şemaları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Hisse Kanıtı Kriptografik Mekanizmaları
  2. BFT Protokolleri: PBFT ve Tendermint
  3. Uzlaşmada Doğrulanabilir Rastgele İşlevler
  4. BLS İmzaları ve Birleştirilmiş İmza Şemaları
← Cryptology Academy Sayfasına Dön