Zero-Knowledge Proofs
Kısaca ZK protokolü olarak da bilinen zero-knowledge proofs ya da Türkçe karşılığı ile sıfır bilgi ispatı, bir kanıtlayıcı ile doğrulayıcı arasında gerçekleşen bir doğrulama yöntemidir. Sıfır bilgi ispat sisteminde kanıtlayıcı, doğrulayıcıya, bilginin kendisini ifşa etmeden belirli bir bilgi parçasının (matematiksel bir denklemin çözümü gibi) bilgisine sahip olduğunu kanıtlayabilir. Bu kanıtlama sistemleri, modern kriptograflar tarafından artırılmış gizlilik ve güvenlik seviyeleri sağlamak için kullanılabilir.
Sıfır bilgi ispatı kavramı ilk olarak Shafi Goldwasser ve Silvio Micali tarafından yayınlanan 1985 tarihli bir MIT makalesinde açıklanmıştır. Bu makalede, Goldwasser ve Micali numarayı veya bu numarayla ilgili herhangi bir ek bilgiyi açıklamadan bir sayının bazı özelliklerini ispatlamanın mümkün olduğunu kanıtladılar. Bu makale ayrıca, bir kanıtlayıcı ile doğrulayıcı arasındaki etkileşimlerin, belirli bir teoremi kanıtlamak için gereken bilgi miktarını azaltabileceğine dair matematiksel olarak önemli bulguyu tanıtmıştır.
Tüm zero-knowledge prooflar üç temel önkoşul içerir:
• Tamlık: Bir ifade doğruysa, doğrulayıcı, kanıtlayıcının gerekli girdiye sahip olduğunu onaylayabilir.
• Sağlamlık: İfade tahrif edilemez ve doğrulayıcı, kanıtlayıcının gerekli girdiye sahip olmadığı durumlarda kanıtlayıcının bu bilgilere sahip olduğuna ikna edilemez.
• Sıfır bilgi: Doğrulayıcı, ifadenin doğru veya yanlış olmasının ötesinde hiçbir bilgiyi bilemez. Diğer tarafların bilgilerinin ve kişisel verilerinin ayrıntıları anonim kalır.
Tamlık, kanıtlayanın ilgili bilgilerin bilgisini yüksek derecede olası bir doğrulukla gösterme yeteneğini ifade eder. Kanıtın sağlam olması için doğrulayıcı, kanıtlayanın gerçekten bilgiye sahip olup olmadığını güvenilir bir şekilde belirleyebilmelidir. Son olarak, ispatın gerçekten sıfır bilgi olabilmesi için, kanıtın, söz konusu bilgi kanıtlayıcı ile doğrulayıcı arasında iletilmeden hem tamlığa hem de sağlamlığa ulaşması gerekir.
Sıfır bilgi ispatları çoğunlukla gizlilik ve güvenliğin gerekli olduğu uygulamalarda kullanılır. Örneğin, kimlik doğrulama sistemleri, kimlik bilgilerini veya kimlikleri doğrudan ifşa etmeden doğrulamak için ZK kanıtlarını kullanabilir. Basit bir örnek olarak, şifrenin ne olduğunu açıklamaya gerek kalmadan bir kişinin bir bilgisayar sistemine şifresi olduğunu doğrulamak için kullanılabilir.
Sıfır bilgi ispatlarının önemli bir gerçek dünya kullanım durumu, kripto para birimi ve Blokzinciri teknolojisi dünyasında görülebilir. Sıfır bilgili Özlü Etkileşimli Olmayan Bilgi Argümanı (zk-SNARK) olarak bilinen bir tür kanıt kullanarak, Zcash gibi gizlilik odaklı kripto para birimleri, kullanıcılarına artırılmış gizlilik seviyelerine sahip blok zinciri işlemleri sunabilir. Aynı zamanda Ethereum da, 2017'deki Bizans güncellemesinden bu yana zk-SNARK kanıtlarıyla çalışmaktadır.
Etkileşimli ZKP'ler, doğrulayıcıyı belirli bilgilere sahip olduklarına ikna etmek için kanıtlayıcının tamamlaması gereken bir dizi görev veya eylemi içerir. Etkileşimli ZKP'lerde üstlenilen gerekli görevlerin çoğu genellikle matematiksel olasılık kavramlarını içerir.
Etkileşimsiz ZKP'ler, kanıtlayıcı ve doğrulayıcı arasında herhangi bir etkileşim gerektirmez veya doğrulama daha sonraki bir aşamada gerçekleşebilir. Bu tür ZKP'ler ek bilgisayar veya yazılım gerektirir.
Sıfır bilgi ispatı kavramı ilk olarak Shafi Goldwasser ve Silvio Micali tarafından yayınlanan 1985 tarihli bir MIT makalesinde açıklanmıştır. Bu makalede, Goldwasser ve Micali numarayı veya bu numarayla ilgili herhangi bir ek bilgiyi açıklamadan bir sayının bazı özelliklerini ispatlamanın mümkün olduğunu kanıtladılar. Bu makale ayrıca, bir kanıtlayıcı ile doğrulayıcı arasındaki etkileşimlerin, belirli bir teoremi kanıtlamak için gereken bilgi miktarını azaltabileceğine dair matematiksel olarak önemli bulguyu tanıtmıştır.
Tüm zero-knowledge prooflar üç temel önkoşul içerir:
• Tamlık: Bir ifade doğruysa, doğrulayıcı, kanıtlayıcının gerekli girdiye sahip olduğunu onaylayabilir.
• Sağlamlık: İfade tahrif edilemez ve doğrulayıcı, kanıtlayıcının gerekli girdiye sahip olmadığı durumlarda kanıtlayıcının bu bilgilere sahip olduğuna ikna edilemez.
• Sıfır bilgi: Doğrulayıcı, ifadenin doğru veya yanlış olmasının ötesinde hiçbir bilgiyi bilemez. Diğer tarafların bilgilerinin ve kişisel verilerinin ayrıntıları anonim kalır.
Tamlık, kanıtlayanın ilgili bilgilerin bilgisini yüksek derecede olası bir doğrulukla gösterme yeteneğini ifade eder. Kanıtın sağlam olması için doğrulayıcı, kanıtlayanın gerçekten bilgiye sahip olup olmadığını güvenilir bir şekilde belirleyebilmelidir. Son olarak, ispatın gerçekten sıfır bilgi olabilmesi için, kanıtın, söz konusu bilgi kanıtlayıcı ile doğrulayıcı arasında iletilmeden hem tamlığa hem de sağlamlığa ulaşması gerekir.
Sıfır bilgi ispatları çoğunlukla gizlilik ve güvenliğin gerekli olduğu uygulamalarda kullanılır. Örneğin, kimlik doğrulama sistemleri, kimlik bilgilerini veya kimlikleri doğrudan ifşa etmeden doğrulamak için ZK kanıtlarını kullanabilir. Basit bir örnek olarak, şifrenin ne olduğunu açıklamaya gerek kalmadan bir kişinin bir bilgisayar sistemine şifresi olduğunu doğrulamak için kullanılabilir.
Sıfır bilgi ispatlarının önemli bir gerçek dünya kullanım durumu, kripto para birimi ve Blokzinciri teknolojisi dünyasında görülebilir. Sıfır bilgili Özlü Etkileşimli Olmayan Bilgi Argümanı (zk-SNARK) olarak bilinen bir tür kanıt kullanarak, Zcash gibi gizlilik odaklı kripto para birimleri, kullanıcılarına artırılmış gizlilik seviyelerine sahip blok zinciri işlemleri sunabilir. Aynı zamanda Ethereum da, 2017'deki Bizans güncellemesinden bu yana zk-SNARK kanıtlarıyla çalışmaktadır.
Etkileşimli ZKP'ler, doğrulayıcıyı belirli bilgilere sahip olduklarına ikna etmek için kanıtlayıcının tamamlaması gereken bir dizi görev veya eylemi içerir. Etkileşimli ZKP'lerde üstlenilen gerekli görevlerin çoğu genellikle matematiksel olasılık kavramlarını içerir.
Etkileşimsiz ZKP'ler, kanıtlayıcı ve doğrulayıcı arasında herhangi bir etkileşim gerektirmez veya doğrulama daha sonraki bir aşamada gerçekleşebilir. Bu tür ZKP'ler ek bilgisayar veya yazılım gerektirir.
Artılar ve Eksiler
Tüm teknoloji türleri gibi, sıfır bilgi kanıtlarının da bir dizi avantajı ve dezavantajı vardır.
Avantajlar | Dezavantajlar |
---|---|
Basitlik Karmaşık şifreleme yöntemleri gerektirmez. |
Sınırlılık ZKP'lerin protokolleri genellikle matematiksel denklemlere ve sayısal cevaplara dayanır. Başka herhangi bir yöntem çeviri gerektirir. |
Mahremiyet Halka açık blok zincirlerinde kişisel bilgilerin açığa çıkmasını önleyerek kullanıcıların gizliliğini artırır. |
Büyük miktarda bilgi işlem gücü gerektirir ZKP işlemi başına, her birinin işlenmesi belirli bir süre gerektiren yaklaşık 2000 hesaplama mevcuttur. |
Güvenlik Etkisiz kimlik doğrulama yöntemlerini değiştirerek bilgi güvenliğini güçlendirir. |
Kısıtlılık Bir işlemin yaratıcısı bilgilerini unutursa, onunla ilişkili tüm veriler kaybolur. |
Ölçeklenebilirlik Blockchain verimini ve ölçeklenebilirliğini artırır. |
Güvenlik Açığı Kuantum hesaplama gibi ileri teknolojilere karşı potansiyel güvenlik açığı bulunur. |