Zero-Knowledge Proof (Sıfır Bilgi Kanıtı) Nedir?

Av. Elif Hilal Umucu
Chainlink Community
6 min readAug 25, 2021

Blok zincirlerinin doğal şeffaflığı birçok durumda bir avantaj sağlıyor, bunun yanı sıra akıllı bir sözleşmenin yürütülmesini tetiklemek için özel verileri girdi olarak kullanmak gibi çeşitli ticari ya da yasal nedenlerle gizlilik gerektiren bir dizi akıllı sözleşme kullanım durumu da vardır.

Öncelikle ; kamuya açık blok zinciri ağlarında gizliliğin elde edilmesinin giderek yaygınlaşan bir yolu da Sıfır Bilgi Kanıtları (ZKP’ler) aracılığıyla gerçekleşmektedir. (Sıfır İşlem Kanıtı ya da Sıfır Bilgi Kanıtı olarak bilinir.)

Sıfır Bilgi Kanıtları bir tarafın diğer tarafa gerçek temel bilgileri ifşa etmeden, bir bilgi parçası hakkında bilgiye sahip olduğunu; kriptografik olarak kanıtladığı bir yöntemdir.

Blockchain ağları bağlamında, bir ZKP (Zero-Knowledge Proof) tarafından zincir üzerinde açığa çıkan tek bilgi, bazı gizli bilgilerin geçerli olduğu ve kanıtlayıcı tarafından yüksek derecede kesinlik ile bilindiğidir.

Bu yazıda, sıfır bilgi kanıtlarının gizlilik garantileri sağlamak için nasıl çalıştığını, kullanıcılara sundukları temel faydaları ve ZKP’lerden yararlanan bir dizi blok zinciri kullanım senaryosunu yazacağız :) Ek olarak, Chainlink’in DECO teknolojisinin, verilerin belirli bir web sunucusundan gizli ve geriye dönük uyumlu bir şekilde geldiğini kanıtlayabilen gizliliği koruyan oracle ağlarının oluşturulmasına nasıl izin verdiğini de göstereceğim.

Sıfır Bilgi Kanıtı Nasıl Çalışır?

Sıfır Bilgi Kanıtları ilk olarak Shafi Goldwasser ve Silvio Micali’nin 1985 MIT makalesinde Etkileşimli Kanıt Sistemlerinin Bilgi Karmaşıklığı olarak tanımlanmıştır. Bu makalede yazarlar, bir kanıtlayıcının bir doğrulayıcıyı, veri hakkında herhangi bir ek bilgi ifşa etmeden bir veri noktası hakkındaki belirli bir ifadenin doğru olduğuna ikna etmesinin mümkün olduğunu göstermektedirler.

ZKP’ler, bir kanıtlayıcının belirli bir doğrulayıcıyı ikna ettiği ancak bu işlemi her bir doğrulayıcı için tekrarlaması gerektiği durumlarda etkileşimli olabilirler veya bir kanıtlayıcının aynı kanıtı kullanan herkes tarafından doğrulanabilecek bir kanıt oluşturduğu etkileşimli olmayabilir.

Ek olarak, günümüzde artık zk-SNARKS, zk-STARKS, PLONK ve Bulletproofs dahil olmak üzere çeşitli ZKP uygulamaları vardır ve bunların her birinin kendi işlem kanıt boyutu, kanıtlama süresi, doğrulama süresi ve daha fazlası kendi sistemlerinde farklı mekanizmalarla çalışmaktadır.

Bir ZKP’yi tanımlayan üç temel özellik şunları içermektedir:

  • Bütünlük: Bir ifade doğruysa eğer, o zaman dürüst bir doğrulayıcı, doğru girdi hakkında bilgiye sahip olduğuna; dürüst bir kanıtlayıcı tarafından ikna edilebilir.
  • Doğruluk: Bir ifade yanlışsa, o zaman dürüst olmayan hiçbir kanıtlayıcı, doğru girdi hakkında bilgiye sahip oldukları konusunda dürüst bir doğrulayıcıyı tek taraflı olarak ikna edemez.
  • Sıfır bilgi: Eğer durum doğruysa, o zaman doğrulayıcı; ispattan, ifadenin doğru olması dışında hiçbir şey öğrenemez.

Yüksek düzeyde, bir ZKP’nin oluşturulması, kanıtlayıcıdan yalnızca kanıtlayıcı temel bilgileri biliyorsa doğru bir şekilde gerçekleştirilebilecek bir dizi eylemi gerçekleştirmesini isteyen bir doğrulayıcıyı içerir. Kanıtlayıcı bu eylemlerin sonucunu yalnızca tahmin ediyorsa, sonunda doğrulayıcının testi tarafından yüksek bir olasılıkla, yanlış oldukları kanıtlanacaktır.

Sıfır Bilgi Kanıtının, verileri başka bir tarafa ifşa etmeden veriler hakkındaki bilgileri kanıtlamak için nasıl çalıştığına dair kavramsal bir örnek

Sıfır bilgide kanıtlamayı sezgisel olarak anlamak için kavramsal bir örnek şöyle, tek bir girişi olan ancak bir parola ile kilitlenmiş ortak bir kapıya bağlanan iki yolu (A ve B yolu) olan bir mağara hayal edelim. Ve bu örneğimizde Alice, Bob’a kapının şifresini bildiğini açıklamak istiyor ancak kodu Bob’a açıklamadan kanıtlamaya çalışıyor. Bunu yapmak için Bob mağaranın dışında durur ve Alice iki yoldan birine girerek mağaranın içinde yürür (Bob hangi yoldan gittiğini bilmeden tabiki). Bob daha sonra Alice’den mağaranın girişine giden iki yoldan birini (rastgele seçilmiş) kullanmasını ister. Alice başlangıçta kapıya giden A yolunu seçtiyse, ancak Bob ondan B yolunu geri almasını isterse, bulmacayı tamamlamanın tek yolu Alice’in kilitli kapının şifresini bilmesidir.Bu işlem tamamlandıktan sonra Bob, Alice’in, Bob’a parolayı açıklamadan kapının parolasını bildiğine dair yüksek derecede güvene sahiptir.

Yukarıdaki, yalnızca kavramsal bir örnek olmakla beraber, ZKP’ler de aynı stratejiyi uygularlar, ancak veri noktasını ifşa etmeden bir veri noktası hakkındaki bilgiyi kanıtlamak için kriptografi kullanırlar. Bu mağara örneğinde bir girdi, bir yol ve bir çıktı var. Hesaplamada, bir miktar girdi alan, girdi sinyalini bir elektrik kapısı yolundan geçiren ve bir çıktı üreten benzer sistemler, devreler vardır. Sıfır Bilgi Kanıtları, ifadeleri kanıtlamak için bunun gibi devrelerden yararlanır.

Mesela şimdi de belirli bir girdi için bir eğri üzerinde bir değer veren hesaplama devresi hayal edelim. Herhangi bir kullanıcı, eğri üzerindeki bir noktaya tutarlı bir şekilde doğru cevabı verebiliyorsa şayet, her ardışık sorgulama turunda doğru cevabı tahmin etmesi giderek daha olası hale geldiğinden, kullanıcının eğri hakkında biraz bilgi sahibi olduğundan emin olunabilir. Değil mi? Devreyi, Alice’in mağarada yürüdüğü yol gibi düşünebiliriz, eğer girdisiyle devreyi geçebiliyorsa, yüksek bir olasılıkla devrenin “parolasını”, biraz bilgiye sahip olduğunu kanıtlar. Veri bilgisinin yanı sıra herhangi bir ek bilgi ifşa etmeden bir veri noktası hakkındaki bilgiyi kanıtlayabilmek, özellikle blok zinciri ağları bağlamında bir dizi önemli fayda sağlayacaktır.

Sıfır Bilgi Kanıtlarının Faydaları ?

Sıfır Bilgi Kanıtlarının birincil yararı, Ethereum gibi halka açık blok zincir ağları gibi şeffaf sistemlerde gizliliği koruyan veri kümelerinden yararlanma yeteneğidir.

Blok zincirler, kendi blok zinciri düğümünü çalıştıran herkesin defterde depolanan tüm verileri görebileceği ve indirebileceği son derece şeffaf olacak şekilde tasarlanırken, ZKP teknolojisinin eklenmesi, kullanıcıların ve işletmelerin, akıllı sözleşmelerin yürütülmesinde özel veri kümelerini ve temel verileri ifşa etmeden kullanmalarına olanak tanır.

Blockchain ağlarında gizliliğin sağlanması, akıllı sözleşmelerle etkileşime geçmek ve başlatmak isteyen ancak rekabet edebilmek için ticari sırlarını gizli tutması gereken tedarik zinciri şirketleri, işletmeler ve bankalar gibi geleneksel kurumlar için çok önemlidir. Bu duruma ek olarak, bu tür kurumların genellikle müşterilerinin Kişisel Tanımlanabilir Bilgilerini (PII) korumaları ve Avrupa Birliği Genel Veri Koruma Yönetmeliği (GDPR) ve Amerika Birleşik Devletleri Sağlık Sigortası Taşınabilirlik ve Sorumluluk Yasası (HIPAA) gibi düzenlemelere de uymaları gerekmektedir.

İzinli blok zinciri ağları, kurumlar için işlem gizliliğini halkın gözünden korumanın bir aracı olarak ortaya çıkmış olsa da, ZKP’ler, kurumların hassas kontrollerden vazgeçmeden, genellikle dünya çapındaki kullanıcıların büyük bir ağ etkisinden yararlanan kamu blok zinciri ağlarıyla güvenli bir şekilde etkileşime girmesine izin verir. Sonuç olarak, ZKP teknolojisi, daha önce erişilemeyen kamu blok zinciri ağları için çok çeşitli kurumsal kullanım durumlarını başarılı bir şekilde açıyor ve inovasyonu teşvik ediyor ve bunların doğal sonucu olarak da daha verimli bir küresel ekonomi yaratıyor.

Sıfır Bilgi Kanıtı Uygulamaları Neler?

ZKP’ler, kullanıcıların parasal miktarı, gönderici ve alıcı adreslerini gizli tutan gizliliği koruyan işlemler oluşturmasına izin vermek için Zcash gibi blok zincirler tarafından kullanılmıştır . Zincir dışı verilere ve hesaplamaya erişim ile akıllı sözleşmeler sağlayan merkezi olmayan oracle ağları , zincir dışı veri noktası hakkında bazı gerçekleri kanıtlamak için zincirdeki temel verileri ifşa etmeden ZKP’lerden de yararlanabilir.

Geliştirme aşamasındaki Sıfır Bilgi Kanıtı tabanlı bir oracle çözümünün bir uygulaması, Chainlink Network’ün güvenli zincir dışı hesaplamalar paketi içindeki gizliliği koruyan bir Oracle protokolü DECO’dur.
DECO, İnternet üzerinden veri aktarmak için kullanılan en yaygın protokol olan HTTPS/TLS’yi genişleterek, verilerin çeşitli özel ve premium veri kaynaklarından teslimi sırasında gizli ve kurcalanmaya karşı korumalı kalmasını garanti eder.

DECO, modern TLS sürümleriyle çalışır, güvenilir donanım gerektirmez ve sunucu tarafında değişiklik gerektirmeyen geriye dönük uyumlu bir şekilde çalışır. Sonuç olarak, DECO etkin Chainlink oracle düğümleri, zincirdeki verileri ifşa etmeden güvenilir sunuculardan alınan veriler hakkındaki gerçekleri kanıtlayabilir ve aynı zamanda TLS gözetim zinciri korunduğundan verilerin kaynağını da kanıtlayabilir.

DECO gibi ZKP’ler ile, aslında borçluların mahremiyeti koruyan bir şekilde kredi itibarlarını doğrulayan yüksek güvence kimlik bilgileri oluşturduğu eksik teminatlı krediler de dahil olmak üzere çok çeşitli akıllı sözleşme kullanım durumları mümkün hale getirilmiştir. Özellikle, borçlular bu kimlik bilgilerini, yerleşik kurumlar gibi yetkili çevrimiçi kaynaklardan gelen kayıtlara dayanarak, adları, konumları veya tam kredi puanı değeri (yalnızca önceden tanımlanmış bir eşiği aştığı) gibi potansiyel olarak hassas verileri ifşa etmeden oluşturabilirler.

DECO ayrıca , kullanıcıların merkezi bir üçüncü tarafa güvenmek yerine kendi kimlik bilgilerini alıp yönetebilecekleri CanDID gibi merkezi olmayan kimlik (DID) protokollerinin oluşturulmasına güç sağlamak için de kullanılabilir . Bu tür kimlik bilgileri, iddiaları vatandaşlık, meslek, üniversite dereceleri ve daha fazlası gibi kullanıcılarla yetkili bir şekilde ilişkilendirebilen, yayıncılar olarak adlandırılan kuruluşlar tarafından imzalanır.

DECO, mevcut herhangi bir web sunucusunun bir yayıncı olmasına izin verir ve hesapları yedeklemek için anahtar paylaşım yönetimi ve ayrıca Sosyal Güvenlik Numaraları (SSN’ler) gibi kesin benzersiz tanımlayıcılara dayanan gizliliği koruyan bir Sybil direnci biçimi sağlar.

Son olarak, DECO gibi ZKP çözümleri yalnızca kullanıcılara fayda sağlamakla kalmaz, aynı zamanda geleneksel kurumların ve veri sağlayıcıların tescilli ve hassas veri kümelerinden gizli bir şekilde para kazanmalarını sağlar. :) Verileri doğrudan zincir üzerinde yayınlamak yerine, yalnızca verilerle ilgili gerçekleri kanıtlayan ZKP’lerden türetilen onayların yayınlanması gerekir. Bu, sıfır veri sızıntısı sağlarken mevcut veri kümelerinden para kazanabilen ve gelirlerini artırabilen veri sağlayıcılar için yeni pazarlar açar. Chainlink Mixicles ile birleştirildiğinde , gizlilik, bir sözleşmeyi yürüten girdi verilerinin ötesine geçerek sözleşmenin şartlarını da içerecek şekilde genişletilir.

Blok zinciri ağlarının doğası gereği şeffaf yapısını Sıfır Bilgi Kanıtı’nın gizliliği koruyan tasarımıyla birleştirerek işletmeler ve kurumlar her iki ekosistemin de en iyi yanlarından yararlanabilirler : örneğin, akıllı sözleşme uygulamalarının güvenilir yürütme ortamlarından yararlanmaya devam ederken dahili veri kümelerini gizli tutabilirler. Bu ve daha fazlası da ileride karşımıza çıkacaktır :)

Blockchain ve Smart Contract üzerine Chainlink ekosisteminde yapılacak olan etkinliklerimizden haberdar olmak için Meetup sayfamıza kaydolabilir (kesinlikle kaydolmalısınız), Telegram grubuna girebilir ve diğer yazıları Twitter’dan takip edebilirsiniz.

Diğer makalelerde görüşmek üzereeee hoşçakalın!

--

--