Zero-Knowledge Proof (Sıfır Bilgi İspatı) Nedir?
Zero-knowledge proof (sıfır bilgi ispatı), bir iddianın doğru olduğunu iddianın dayandığı gizli bilgiyi açıklamadan kanıtlamayı sağlayan kriptografik yöntemdir. Blockchain’de hem gizlilik hem de ölçekleme amacıyla kullanılır.
Bu sayfada 6
Zero-knowledge proof (ZKP), Türkçesiyle sıfır bilgi ispatı, bir iddianın doğru olduğunu o iddianın dayandığı gizli bilgiyi açıklamadan kanıtlamayı sağlayan kriptografik yöntemdir. Kanıtı kontrol eden taraf, iddianın doğruluğundan emin olur ama gizli bilginin kendisini öğrenmez. Blockchain’de bu özellik hem gizlilik hem de ölçekleme için kullanılır; bugün Ethereum ekosistemindeki birçok rollup ZK teknolojisine dayanır.
Sıfır bilgi ispatı nasıl çalışır?
Bir ZK sisteminde iki taraf vardır: kanıtlayan (prover) ve doğrulayan (verifier). Kanıtlayan, gizli bir bilgiye sahip olduğunu ya da bir hesaplamayı doğru yaptığını gösteren kısa bir kanıt üretir. Doğrulayan bu kanıtı kontrol eder ve sonuç “doğru” ya da “yanlış” olarak çıkar.
İyi bir ZK sistemi üç özellik taşır. Tamlık: İddia doğruysa dürüst kanıtlayan doğrulayanı ikna edebilir. Sağlamlık: İddia yanlışsa hile yapan taraf doğrulayanı pratikte kandıramaz. Sıfır bilgi: Doğrulayan, iddianın doğru olduğu dışında hiçbir şey öğrenmez. Kavram ilk olarak 1985’te Goldwasser, Micali ve Rackoff’un akademik çalışmasıyla ortaya kondu.
Gündelik bir örnek: Bir hizmete 18 yaşından büyük olduğunuzu kanıtlamak istiyorsunuz. ZK tabanlı bir kimlik sistemiyle doğum tarihinizi paylaşmadan yalnızca “18 yaşından büyük” bilgisini doğrulatabilirsiniz. Bunun işe yaraması için kimlik bilgisinin baştan güvenilir bir kurum tarafından onaylanmış olması gerekir.
zk-SNARK ile zk-STARK arasındaki fark
En yaygın iki ZK kanıt ailesi zk-SNARK ve zk-STARK’tır. zk-SNARK kanıtları çok küçüktür ve hızlı doğrulanır; ancak birçok uygulaması başlangıçta “güvenilir kurulum” (trusted setup) adı verilen bir tören gerektirir. Bu törende üretilen gizli parametreler imha edilmezse sahte kanıt üretme riski doğar.
zk-STARK’lar güvenilir kuruluma ihtiyaç duymaz ve kuantum bilgisayarlara karşı daha dayanıklı kabul edilen varsayımlara dayanır. Karşılığında kanıt boyutları daha büyüktür. Hangi yöntemin seçildiği, ağın maliyetini ve güven varsayımlarını doğrudan etkiler.
Blockchain’de nerelerde kullanılır?
- Ölçekleme (ZK rollup): Binlerce işlem ana ağ dışında yürütülür ve Ethereum’a yalnızca bunların doğru hesaplandığını gösteren kısa bir kanıt gönderilir. ZKsync, Starknet, Scroll ve Linea bu yaklaşımı kullanan ağlardandır. Ayrıntılar için Layer 2 rehberine bakabilirsiniz.
- Gizlilik: 2016’da yayına giren Zcash, zk-SNARK’lar sayesinde gönderen, alıcı ve tutarı gizleyen korumalı işlemlere olanak tanır.
- Kimlik ve uyum: Kullanıcının kişisel verisini açmadan belirli bir koşulu sağladığını kanıtlaması.
ZK her zaman anonimlik demek mi?
Hayır. ZK rollup’lar kanıtları işlemlerin geçerliliğini doğrulamak için kullanır; adresler ve transferler çoğunlukla herkese açık kalır. Gizlilik ve geçerlilik doğrulaması aynı teknolojinin iki ayrı kullanım alanıdır. Bir projenin “ZK” etiketini gördüğünüzde neyin gizlendiğini ve neyin kanıtlandığını ayrıca kontrol etmek gerekir.
Kanıt yalnızca tanımlanan iddiayı doğrular. Uygulamanın kodunda hata olmadığını, sözleşmeyi güncelleme yetkisinin güvenli ellerde olduğunu ya da girdi verisinin doğru olduğunu kanıtlamaz.
Sık sorulan sorular
ZK rollup ile optimistic rollup arasındaki fark nedir?
ZK rollup her işlem paketi için geçerlilik kanıtı üretir; optimistic rollup ise sonuçları varsayılan olarak kabul edip itiraz süresi tanır. Bu yüzden ZK rollup’larda ana ağa çıkış genellikle daha hızlıdır.
Sıfır bilgi ispatı kırılabilir mi?
Matematiksel varsayımlar sağlam olduğu sürece sahte kanıt üretmek pratikte mümkün değildir. Ancak hatalı yazılmış devreler veya kötü yönetilmiş bir güvenilir kurulum açık yaratabilir.