ZK Nedir?

Zero-Knowledge (ZK) protokolü nedir?

Zero-Knowledge (ZK) protokolü, iki taraf arasında yapılan bir etkileşimde bir tarafın diğerine herhangi bir bilgi vermeksizin, sadece belirli bir iddianın doğru olduğunu kanıtlamasını sağlayan bir matematiksel protokoldür. Bu protokol, özellikle blok zinciri teknolojisinde gizlilik ve veri bütünlüğü açısından büyük önem taşır. Örneğin, bir kişi başka bir kişiye, bir belge sahibi olduğunu kanıtlamak isteyebilir. Ancak, belge sahibi özel bilgileri paylaşmak istemeyebilir. Bu durumda ZK Proof, belge sahibinin belge sahibi olduğunu kanıtlamasına izin verirken, belgeyi göstermek veya özel bilgileri paylaşmak zorunda kalmaz.

 

ZK protokolü nasıl çalışır?

ZK protokolü, iki taraf arasında gerçekleşen bir etkileşimde, bir tarafın belirli bir bilgiye sahip olduğunu, diğer tarafın ise bu bilgiye sahip olmadan doğrulama yapabileceğini gösterir.

ZK protokolü, matematiksel bir hesaplama kullanarak bu işlemi gerçekleştirir. İki taraf arasındaki etkileşim sırasında, ispatlamak istenilen bilgi rastgele seçilmiş bir sayı ile birleştirilir ve bu sayı diğer tarafa gönderilir. Diğer taraf, bu sayıyı kullanarak yapılan matematiksel hesaplamalar sonucunda, ispatlanan bilginin doğru olup olmadığını kontrol eder. Ancak, bu hesaplamalar sonucunda ortaya çıkan sonuçlar, ispatlanan bilginin ne olduğu hakkında hiçbir şey ifade etmez. Sıfır bilgi protokolü aşağıdaki kriterlere sahip olmalıdır:

 

Tamlık: Giriş geçerliyse, sıfır bilgi protokolü her zaman “doğru” değerini döndürür. Bu nedenle altta yatan ifade doğru ve kanıtlayıcı ve doğrulayıcı dürüst ise, kanıt kabul edilebilir.

Sağlamlık: Giriş geçersiz ise, sıfır bilgi protokolünü ‘doğru’ döndürmek için aldatmaya çalışmak teorik olarak imkansızdır. Bu nedenle, yalancı bir kanıtlayıcı, dürüst bir doğrulayıcıyı geçersiz bir ifadenin geçerli olduğuna inandırmak amaçlı aldatamaz. (Küçük bir olasılık dışında).

Sıfır bilgi: Doğrulayıcı, ifade hakkında geçerliliği veya yanlışlığı dışında herhangi bilgi öğrenmez (ifade hakkında “sıfır bilgiye” sahiptirler). Bu gereklilik aynı zamanda doğrulayıcının kanıttan orijinal ifadenin içeriğini türetmesini de engeller.

Temelde sıfır bilgi kanıtı üç ana öğeden oluşur: tanık, meydan okuma ve yanıt.

Tanık: Sıfır bilgi kanıtı ile kanıtlayıcı, bazı gizli bilgilerin bilgisini kanıtlamak ister. Gizli bilgi, kanıtın “tanığıdır” ve kanıtlayıcının tanığa ilişkin varsayılan bilgisi, yalnızca bilgi sahibi olan bir tarafça yanıtlanabilecek bir dizi soru oluşturur. Böylece ispatlayan, cevabı hesaplayarak ve bunu doğrulayıcıya göndererek ispat sürecini başlatır.

Meydan Okuma: Doğrulayıcı, kümeden rastgele başka bir soru seçer ve kanıtlayıcıdan bu soruyu yanıtlamasını ister.

Yanıt: Kanıtlayan soruyu kabul eder, cevabı hesaplar ve doğrulayıcıya geri gönderir. Kanıtlayanın yanıtı, doğrulayıcının, kanıtlayıcının gerçekten tanığa erişimi olup olmadığını kontrol etmesine izin verir. Kanıtlayıcının körü körüne tahminde bulunmamasını ve doğru yanıtları tesadüfen almamasını sağlamak için doğrulayıcı sorulacak daha fazla soru seçer. Bu etkileşimi birçok kez tekrarlayarak, kanıtlayıcının tanığın bilgisini taklit etme olasılığı, doğrulayıcı tatmin olana kadar önemli ölçüde azalır.

 

ZK protokolü blok zincirinde nasıl kullanılır?

ZK protokolü, blok zincirinde gizlilik açısından son derece önemli bir rol oynar. Örneğin, bir blok zincirindeki işlemlerin tamamen şeffaf olması, bir kullanıcının kimlik bilgilerinin ifşa olmasına neden olabilir. Ancak, ZK protokolü kullanılarak işlemlerin gizliliği sağlanabilir. Bu şekilde, bir kullanıcının kimliği korunarak blok zincirindeki işlemler tamamlanabilir. Zero-knowledge proof protokolleri, birkaç farklı şekilde uygulanabilir. Bunlardan bazıları şunlardır:

 

zk-SNARKs: Bu protokol, Ethereum gibi kripto para birimlerinde kullanılır. Bu protokol, işlemlerin gizliliğini koruyarak blok zincirindeki veri akışını hızlandırır.

zk-STARKs: Bu protokol, büyük veri kümelerinde kullanılır ve blok zincirindeki veri akışını hızlandırmak için tasarlanmıştır.

Bulletproofs: Bu protokol, işlem doğrulama sürecini daha az kaynak tüketen bir şekilde gerçekleştirir ve aynı zamanda daha az depolama alanı kullanır.

Leave A Comment