ZK (sıfır bilgi) nedir
Not: Bu belge orijinal İngilizce versiyonun otomatik bir çevirisidir.
ZK (sıfır bilgi) nedir
Sıfır bilgi kanıtları (ZK kanıtları), bir tarafın (kanıtlayan) başka bir tarafı (doğrulayan) bir ifadenin doğru olduğuna — ifadenin doğruluğunun ötesinde hiçbir bilgi açığa çıkarmadan — ikna etmesine olanak tanıyan bir kriptografik tekniktir. Blok zincirinde ZK kanıtları üç ana amaçla kullanılır: gizlilik (işlem ayrıntılarını gizlerken geçerli olduklarını kanıtlama), ölçekleme (birçok işlemi zincir üstünde doğrulanan tek bir kanıta sıkıştırma) ve doğrulanabilir hesaplama (zincir dışı bir hesaplamanın doğru gerçekleştirildiğini kanıtlama).
Kısaca: ZK kanıtları, bir şeyin doğru olduğunu nasıl veya neden olduğunu göstermeden kanıtlamanızı sağlar. Kriptoda özel işlemleri, ölçeklenebilir rollup'ları ve doğrulanabilir AI çıkarımını mümkün kılar — ve bunların hiçbiri kanıtlayana güven gerektirmez.
Temel fikir
Kavram sezgiye aykırıdır: bir şeyi bildiğinizi, onu açığa çıkarmadan nasıl kanıtlayabilirsiniz? Klasik bir benzetme yardımcı olur.
Arkada kilitli bir kapıda buluşan iki yolu (sol ve sağ) olan bir mağara hayal edin. Kapının şifresini bildiğinizi iddia ediyorsunuz. Şifreyi açığa çıkarmadan kanıtlamak için doğrulayan mağara girişinde durur ve siz rastgele bir yoldan girersiniz. Doğrulayan ardından hangi yoldan çıkmanızı istediğini bağırır. Şifreyi biliyorsanız, her zaman istenen taraftan çıkabilirsiniz — gerekirse kapıdan geçersiniz. Şifreyi bilmiyorsanız, yalnızca girdiğiniz taraftan çıkabilirsiniz. Birçok turdan sonra doğrulayan şifreyi bildiğinize ikna olur; ancak şifrenin ne olduğunu asla öğrenmez.
ZK kanıtları bu sezgiyi matematiksel olarak biçimselleştirir. Üç özelliği karşılarlar:
- Tamlık (completeness). İfade doğruysa ve her iki taraf da protokolü izlerse, doğrulayan ikna olur.
- Sağlamlık (soundness). İfade yanlışsa, hile yapan hiçbir kanıtlayan doğrulayanı ikna edemez (ihmal edilebilir bir olasılık dışında).
- Sıfır bilgi (zero-knowledge). Doğrulayan, ifadenin doğru olduğu gerçeğinin ötesinde hiçbir şey öğrenmez.
ZK kanıtları nasıl çalışır (basitleştirilmiş)
Bir ZK kanıt sistemi şu adımları içerir:
- İfadenin formüle edilmesi. Kanıtlanacak iddia matematiksel bir ifade olarak — tipik olarak bir devre (bir dizi aritmetik işlem) veya bir polinom denklemleri kümesi olarak — dile getirilir.
- Tanık (witness). Kanıtlayanın, ifadeyi doğru kılan özel bilgisi ("tanık") vardır. Örneğin tanık, bilinen bir çıktıyı üreten bir hesaplamanın girdileri olabilir.
- Kanıt üretimi. Kanıtlayan, tanığı ve ifadeyi kullanarak bir kanıt — kompakt bir matematiksel nesne — üretir. Bu, kanıtlayan için hesaplama açısından pahalıdır.
- Kanıt doğrulaması. Doğrulayan, kanıtı ifadeye karşı kontrol eder. Doğrulama hızlıdır ve tanığı gerektirmez. Kanıt geçerliyse doğrulayan, tanığı öğrenmeden ifadenin doğru olduğuna ikna olur.
Kanıt tipik olarak tanıktan çok daha küçüktür ve doğrulama, hesaplamayı yeniden yürütmekten çok daha ucuzdur. ZK kanıtlarını blok zinciri ölçeklemesi ve doğrulaması için yararlı kılan bu asimetridir.
zk-SNARK'lar ve zk-STARK'lar
Blok zinciri alanına iki büyük ZK kanıt sistemi ailesi hâkimdir:
zk-SNARK'lar
Succinct Non-interactive Arguments of Knowledge. SNARK'lar, doğrulanması ucuz, çok küçük kanıtlar (birkaç yüz bayt) üretir. "Etkileşimsizdirler" — kanıtlayan, doğrulayanla karşılıklı iletişim olmadan kanıtı tek adımda üretir. Çoğu SNARK yapısı güvenilir kurulum (trusted setup) gerektirir — kamusal parametreleri üreten tek seferlik bir tören. Kurulum ele geçirilirse, sağlamlık garantisi bozulur. Modern SNARK'lar (PLONK ve türevleri gibi) herhangi bir devre için çalışan evrensel bir güvenilir kurulum kullanarak bu endişeyi azaltır ancak ortadan kaldırmaz.
zk-STARK'lar
Scalable Transparent Arguments of Knowledge. STARK'lar güvenilir kurulum gerektirmez — "şeffaftırlar". Ayrıca kuantum sonrası güvenlik sunarlar (kuantum bilgisayar saldırılarına dirençlidirler). Ödünleşim, STARK kanıtlarının SNARK kanıtlarından daha büyük olması ve doğrulamanın biraz daha pahalı olmasıdır. STARK'lar, kanıtlayan süresi hesaplama boyutuyla yarı-doğrusal ölçeklendiği için özellikle büyük hesaplamalara uygundur.
Karşılaştırma
| Özellik | zk-SNARK'lar | zk-STARK'lar |
|---|---|---|
| Kanıt boyutu | Küçük (yüzlerce bayt) | Daha büyük (onlarca ila yüzlerce kilobayt) |
| Doğrulama maliyeti | Düşük | Orta |
| Güvenilir kurulum | Gerekli (çoğu yapıda) | Gerekli değil (şeffaf) |
| Kuantum sonrası güvenlik | Hayır (çoğu yapıda) | Evet |
| Kanıtlayan maliyeti | Orta | Daha yüksek, ancak büyük devreler için daha iyi ölçeklenir |
Pratikte birçok proje, küçük kanıt boyutları ve düşük doğrulama maliyetleri nedeniyle SNARK tabanlı sistemleri kullanırken, şeffaflığın ve kuantum sonrası güvenliğin öncelik olduğu yerlerde STARK'lar benimsenmektedir.
Blok zincirinde ZK: başlıca uygulamalar
Gizlilik
ZK kanıtları, halka açık blok zincirlerinde özel işlemleri mümkün kılar. Bir kullanıcı, göndereni, alıcıyı veya tutarı açığa çıkarmadan işleminin geçerli olduğunu (doğru bakiyeler, çifte harcama yok) kanıtlayabilir. Gizlilik odaklı protokoller bunu, aksi halde şeffaf olan zincirlerde gizli transferler yaratmak için kullanır.
Ölçekleme (zk-rollup'lar)
ZK-rollup'lar, işlemleri zincir dışında yürüten, toplu hale getiren ve tüm kümenin doğru işlendiğine dair bir ZK kanıtı üreten Layer 2 ölçekleme çözümleridir. Temel katmana (Layer 1) yalnızca kanıt ve durum değişikliklerinin bir özeti gönderilir. L1 akıllı sözleşmesi kanıtı doğrular ve durum güncellemesini kabul eder. Bu, binlerce işlemi tek bir kanıt doğrulamasına sıkıştırır; temel katmanın güvenliğini devralırken işleme kapasitesini çarpıcı biçimde artırır. Başlıca zk-rollup uygulamaları arasında zkSync, StarkNet, Polygon zkEVM, Scroll ve Linea yer alır.
Layer 2 ölçekleme hakkında daha fazlası için bkz. L2.
Doğrulanabilir hesaplama ve zkML
ZK kanıtları, herhangi bir hesaplamanın doğru gerçekleştirildiğini doğrulayabilir. Bu, AI'ya da uzanır: zkML, bir makine öğrenmesi modelinin belirli bir girdiden belirli bir çıktıyı ürettiğini — model ağırlıklarını veya girdi verilerini açığa çıkarmadan — doğrulamak için ZK kanıtlarını kullanır. Bir akıllı sözleşme kanıtı zincir üstünde doğrulayabilir; bu, AI çıkarımının doğru hesaplandığına dair güven gerektirmeyen bir garanti yaratır.
zkML, kripto AI'da ZK'nın teknik açıdan en iddialı uygulamalarından birini temsil eder. Doğru çıkarımın matematiksel (güven gerektirmeyen) garantisini sağlar; ancak kanıt üretiminin hesaplama maliyeti nedeniyle şu an için küçük modellerle sınırlıdır.
ZK kripto AI için neden önemlidir
ZK kanıtları, merkeziyetsiz AI'daki iki kritik ihtiyacı karşılar:
- Doğrulanabilir AI. AI çıkarımı güvenilmeyen üçüncü taraf donanımında çalıştığında, ZK kanıtları hesaplamayı yeniden çalıştırmadan sonucun doğru olduğunu garanti edebilir. Bu, AI çıktılarının akıllı sözleşme eylemlerini tetiklediği zincir üstü uygulamalar için hayati önemdedir.
- Gizlilik. ZK kanıtları, modelin, girdinin veya her ikisinin gizli kaldığı AI hesaplamalarını mümkün kılar. Bir kullanıcı, hesaplama sağlayıcısı sorguyu görmeden AI tarafından üretilmiş bir sonuç alabilir; bir model sahibi, ağırlıkları açığa çıkarmadan modelinin kullanıldığını kanıtlayabilir.
DecAIHub değerlendirme çerçevesinde ZK tabanlı doğrulama, gerçek zincir üstü AI entegrasyonunun bir göstergesi işlevi görür — zincir dışı AI hesaplaması ile zincir üstü durum arasında matematiksel olarak doğrulanabilir bir bağ yaratır.
DecAIHub proje kartlarında nerede görünür
ZK ile ilgili özellikler birkaç yerde karşımıza çıkar:
- AI component — "zkML inference", "ZK-verified computation" veya "zero-knowledge proof of inference" gibi değerler, ZK tabanlı AI doğrulamasını gösterir.
- Category — AI için ZK kullanan projeler, doğrulama mekanizması olarak ZK ile AI/Inference veya AI/Compute kategorilerinde görünebilir.
- Evidence tablosu — ZK için Tier-1 kanıtları arasında dağıtılmış doğrulayıcı sözleşmeleri, yayımlanmış kanıt benchmark'ları, devre uygulamaları ve zincir üstü doğrulama işlemleri yer alır.
- Zincir üstü artefaktlar — zincir üstündeki ZK doğrulayıcı sözleşmeleri, gerçek ZK entegrasyonunun somut kanıtıdır ve Onchain necessity boyutuna katkıda bulunur.
ZK neyi kanıtlamaz
- ZK, bir hesaplamanın doğru çalıştığını kanıtlar — hesaplamanın yararlı, modelin iyi veya verilerin doğru olduğunu kanıtlamaz. Doğrulanmış çöp yine çöptür.
- ZK, bir tokenin gerekli olduğunu kanıtlamaz. ZK kanıtları blok zinciri olmadan da çalışır; doğrulamayı zincire koymak mimari bir tercihtir.
- ZK, merkeziyetsizliği kanıtlamaz. Merkezî bir sağlayıcı kendi hesaplamaları için ZK kanıtları üretebilir.
- Model taahhüdü (ağırlıkların hash'i) kamusal olarak sabitlenmedikçe ve kanıt bu taahhüde bağlanmadıkça, ZK modelin iddia edilen model olduğunu kanıtlamaz.
- Bir projenin whitepaper'ında ZK'dan bahsetmesi, ZK'nın uygulandığı anlamına gelmez. Kanıt olarak dağıtılmış doğrulayıcı sözleşmelerine, kanıt benchmark'larına ve devre koduna bakın.
Karıştırmayın
- Gizlilik — gizlilik daha geniş hedeftir. ZK ona ulaşmanın araçlarından biridir. Diğer gizlilik mekanizmaları arasında TEE, MPC ve homomorfik şifreleme bulunur.
- TEE (Trusted Execution Environment) — TEE donanım tabanlı gizlilik sağlar. ZK matematiksel kanıtlar sağlar. Her ikisi de farklı güven varsayımları ve performans ödünleşimleriyle doğrulanabilir AI için kullanılabilir.
- zkML — ZK kanıtlarının makine öğrenmesi çıkarımına özgü uygulaması. ZK genel kriptografik tekniktir; zkML özelleşmiş kullanım senaryosudur.
- Şifreleme — şifreleme verileri gizler. ZK kanıtları, verileri açığa çıkarmadan onlar hakkındaki ifadeleri kanıtlar. Bunlar farklı işlemlerdir: şifreleme verileri okunamaz bir biçime dönüştürürken, ZK kanıtları verileri ifşa etmeden onlar hakkında matematiksel kanıt üretir.
- İyimser doğrulama (optimistic verification) — sonuçların doğru olduğunu varsayar ve yalnızca itiraz edildiğinde sahtecilik kanıtları kullanır. ZK, doğruluğu baştan proaktif olarak kanıtlar. Bunlar, farklı L2 tasarımlarında (optimistic rollup'lar ile zk-rollup'lar) kullanılan tamamlayıcı yaklaşımlardır.
Sık sorulan sorular
zk-SNARK'lar ile zk-STARK'lar arasındaki fark nedir?
Her ikisi de sıfır bilgi kanıt sistemi ailesidir; ancak temel özelliklerde farklılık gösterirler. zk-SNARK'lar daha küçük kanıtlar üretir ve daha düşük doğrulama maliyetlerine sahiptir; ancak tipik olarak güvenilir kurulum — sistem parametrelerini üretmek için tek seferlik bir tören — gerektirir. zk-STARK'lar güvenilir kurulum gerektirmez (şeffaftırlar) ve kuantum sonrası güvenlik sunar; ancak kanıtları daha büyüktür ve doğrulanması daha pahalıdır. Seçim uygulamaya bağlıdır: kanıt boyutu ve doğrulama maliyeti kritik olduğunda (örn. zincir üstü doğrulama) SNARK'lar tercih edilirken, şeffaflık ve uzun vadeli güvenlik öncelik olduğunda STARK'lar tercih edilir.
ZK kanıtları blok zinciri ölçeklemesinde nasıl kullanılır?
ZK-rollup'lar işlemleri zincir dışında toplu olarak yürütür, ardından tüm kümenin doğru işlendiğine dair tek bir ZK kanıtı üretir. Bu kanıt, durum değişikliklerinin sıkıştırılmış bir özetiyle birlikte Layer 1 blok zincirine gönderilir. L1 akıllı sözleşmesi kanıtı doğrular — bu, tüm işlemleri yeniden yürütmekten çok daha ucuzdur — ve durum güncellemesini kabul eder. Bu, L1'in binlerce işlemin etkisini tek bir kanıtı doğrulayarak işlemesine olanak tanır ve işleme kapasitesini çarpıcı biçimde artırır.
ZK ile AI arasındaki bağlantı nedir?
ZK kanıtları, bir AI modeli çıkarımının doğru gerçekleştirildiğini — modeli veya girdi verilerini açığa çıkarmadan — doğrulayabilir. zkML olarak adlandırılan bu uygulama, zincir üstünde güven gerektirmeyen AI doğrulamasını mümkün kılar: bir akıllı sözleşme, belirli bir modelin belirli bir çıktıyı ürettiğini teyit edebilir. Şu anda zkML, model işlemlerini ZK devrelerine dönüştürmenin ve kanıt üretmenin hesaplama maliyeti nedeniyle yalnızca küçük modeller için pratiktir. Kanıt sistemleri geliştikçe, doğrulanabilir AI modellerinin kapsamı genişleyecektir.
ZK kanıtları hesaplama açısından pahalı mıdır?
Kanıt üretimi pahalıdır — temeldeki hesaplamadan önemli ölçüde daha pahalı. Bir hesaplama için ZK kanıtı üretmek, hesaplamayı yalnızca çalıştırmaktan on ila bin kat daha uzun sürebilir. Ancak kanıt doğrulaması ucuz ve hızlıdır. Bu asimetri tasarım gereğidir: kanıtlayan ağır işi bir kez yapar ve herhangi bir sayıda doğrulayan sonucu verimli biçimde kontrol edebilir. Blok zinciri uygulamalarında bu, pahalı kanıt üretiminin zincir dışında, ucuz doğrulamanın ise zincir üstünde gerçekleştiği anlamına gelir.
Dış kaynaklar
- Ethereum.org — Zero-knowledge proofs — ZK kanıt kavramlarına, türlerine ve Ethereum'daki uygulamalarına kapsamlı giriş.
- ZKProof Standards — sıfır bilgi kanıtı terminolojisini, çerçevelerini ve güvenlik tanımlarını standartlaştırmaya yönelik topluluk odaklı girişim.
- Vitalik Buterin — An incomplete guide to rollups — Ethereum kurucu ortağının optimistic ve ZK rollup'ları karşılaştıran temel yazısı.
No comments to display
No comments to display