zk-SNARKs teknolojisinin kapsamlı incelemesi ve geleceğe yönelik bakış
Özeti
zk-SNARKs(ZKP) teknolojisi, blokzincir alanında dağıtık defter teknolojisinden sonraki en önemli teknolojik yeniliklerden biri olarak geniş çapta görülmektedir ve aynı zamanda risk sermayesinin odak noktasıdır. Bu makale, zk-SNARKs teknolojisinin son kırk yılındaki tarihsel literatürü ve en son araştırmaları sistematik bir şekilde incelemektedir.
Öncelikle, zk-SNARKs'in temel kavramı ve tarihsel arka planı tanıtılmaktadır. Ardından, devre tabanlı zk-SNARKs teknolojisi, zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs ve Ligero gibi modellerin tasarımı, uygulamaları ve optimizasyon yöntemleri üzerinde durulmaktadır. Hesaplama ortamı alanında, ZKVM ve ZKEVM tanıtılmakta, bunların işlem işleme yeteneğini nasıl artırdığı, gizliliği koruduğu ve doğrulama verimliliğini artırdığı ele alınmaktadır. Makalede ayrıca, zk-Rollup(ZK Rollup)'un Layer 2 genişleme çözümü olarak çalışma mekanizması ve optimizasyon yöntemleri, donanım hızlandırması, karma çözümler ve özel ZK EVM'nin en son gelişmeleri de tanıtılmaktadır.
Son olarak, bu makalede ZKCoprocessor, ZKML, ZKThreads, ZK Sharding ve ZK StateChannels gibi yeni kavramlar ele alınmış ve bunların blok zinciri ölçeklenebilirliği, birlikte çalışabilirlik ve gizlilik koruma alanındaki potansiyeli tartışılmıştır.
Bu makale, bu en son teknolojilerin ve gelişim trendlerinin analizine dayanarak, zk-SNARKs teknolojisinin anlaşılması ve uygulanması için kapsamlı bir bakış açısı sunmakta, blok zinciri sistemlerinin verimliliğini ve güvenliğini artırmadaki büyük potansiyelini göstermekte ve gelecekteki yatırım kararları için önemli bir referans sağlamaktadır.
İçindekiler
Önsöz
Bir, zk-SNARKs Temel Bilgisi
Genel Bakış
zk-SNARKs örneği
İkincisi, etkileşimsiz zk-SNARKs
Arka plan
NIZK'nin önerilmesi
Fiat-Shamir dönüşümü
Jens Groth ve araştırmaları
Diğer Araştırmalar
Üç, devre tabanlı zk-SNARKs
Arka plan
2.Devre modelinin temel kavramları ve özellikleri
zk-SNARKs'taki devre tasarımı ve uygulamaları
Potansiyel Defektler ve Zorluklar
Dört, zk-SNARKs modeli
Arka plan
Yaygın Algoritma Modelleri
Lineer PCP ve Ayrık Logaritma Problemi Tabanlı Çözüm
Normal insanların kanıtlarına dayanan çözüm
Olasılığa dayalı olarak doğrulanabilir kanıt ( PCP ) zk-SNARKs
CPC( genel kanıt yapısının ) ayar aşamasına dayalı olarak sınıflandırma
Beş, zk-SNARKs sanal makinesinin genel görünümü ve gelişimi
Arka plan
Mevcut ZKVM sınıflandırması
Ön Uç ve Arka Uç Paradigması
ZKVM paradigmının avantajları ve dezavantajları
Altı, zk-SNARKs Ethereum Sanal Makinesi'nin Genel Görünümü ve Gelişimi
Arka Plan
ZKEVM'in çalışma prensibi
ZKEVM'nin uygulanma süreci
ZKEVM'nin özellikleri
Yedi, zk-SNARKs İki Katmanlı Ağ Planı Özeti ve Gelişimi
Arka plan
ZK Rollup'un çalışma mekanizması
ZK Rollup'un dezavantajları ve optimizasyonu
Sekiz, zk-SNARKs'ın gelecekteki gelişim yönü
Hesaplama ortamının gelişimini hızlandırmak
ZKML'in Önerilmesi ve Gelişimi
ZKP ölçekleme teknolojisi ile ilgili gelişmeler
ZKP'nin birlikte çalışabilirliğinin geliştirilmesi
Dokuz, Sonuç
Kaynaklar
Giriş
İnternet, Web3 çağına girmekte, blok zinciri uygulamaları (DApps) hızla gelişmektedir, her gün yeni uygulamalar ortaya çıkmaktadır. Son yıllarda, blok zinciri platformları her gün milyonlarca kullanıcının etkinliğine ev sahipliği yapmakta, milyarlarca işlem gerçekleştirmektedir. Bu işlemler sonucunda oluşan büyük miktardaki veri genellikle kullanıcı kimlikleri, işlem tutarları, hesap adresleri ve hesap bakiyesi gibi hassas kişisel bilgileri içermektedir. Blok zincirinin açıklık ve şeffaflık özellikleri göz önüne alındığında, depolanan veriler herkesin erişimine açıktır, bu nedenle çeşitli güvenlik ve gizlilik sorunlarına yol açmaktadır.
Şu anda, bu zorluklarla başa çıkmak için birkaç kriptografi teknolojisi bulunmaktadır; bunlar arasında homomorfik şifreleme, halka imzaları, güvenli çok taraflı hesaplama ve zk-SNARKs yer almaktadır. Homomorfik şifreleme, şifrelenmiş verileri çözmeden işlemler gerçekleştirilmesine olanak tanır ve bu da hesap bakiyelerinin ve işlem tutarlarının güvenliğini korumaya yardımcı olur, ancak hesap adreslerinin güvenliğini koruyamaz. Halka imzaları, imzacıların kimliğini gizleyebilen özel bir dijital imza biçimi sunarak hesap adreslerinin güvenliğini korur, ancak hesap bakiyesi ve işlem tutarları için koruma sağlayamaz. Güvenli çok taraflı hesaplama, birden fazla katılımcı arasında hesaplama görevlerini dağıtarak, hiçbir katılımcının diğer katılımcıların verilerini bilmesine gerek kalmadan, hesap bakiyelerinin ve işlem tutarlarının güvenliğini etkin bir şekilde korur, ancak yine de hesap adreslerinin güvenliğini koruyamaz. Ayrıca, homomorfik şifreleme, halka imzaları ve güvenli çok taraflı hesaplama, bir blockchain ortamında kanıtlayıcının yeterli işlem tutarına sahip olup olmadığını doğrulamak için işlem tutarlarını, hesap adreslerini ve hesap bakiyelerini ifşa etmeden kullanılamaz.
zk-SNARKs, belirli önermelerin doğruluğunu, herhangi bir ara veriyi ifşa etmeden doğrulamaya izin veren daha kapsamlı bir çözümdür. Bu doğrulama protokolü, karmaşık bir kamu anahtarı altyapısı gerektirmez ve tekrar eden uygulamalar, kötü niyetli kullanıcıların ek yararlı bilgilere erişim fırsatı sağlamaz. ZKP aracılığıyla, doğrulayıcı, özel işlem verilerini ifşa etmeden, ispatlayıcının yeterli işlem miktarına sahip olup olmadığını doğrulayabilir. Doğrulama süreci, ispatlayıcının iddia ettiği işlem miktarını içeren bir ispatın üretilmesini içerir ve ardından bu ispat doğrulayıcıya iletilir. Doğrulayıcı, ispat üzerinde önceden tanımlanmış hesaplamalar yapar ve nihai hesaplama sonucunu çıkararak ispatlayıcının beyanını kabul edip etmeyeceğine karar verir. Eğer ispatlayıcının beyanı kabul edilirse, bu onların yeterli işlem miktarına sahip oldukları anlamına gelir. Yukarıda belirtilen doğrulama süreci, hiçbir sahtekarlık olmaksızın blok zincirine kaydedilebilir.
ZKP'nin bu özelliği, blok zinciri işlemleri ve kripto para uygulamalarında merkezi bir rol oynamasını sağlıyor, özellikle gizlilik koruma ve ağ genişletme açısından, bu da onu yalnızca akademik araştırmaların odak noktası haline getirmekle kalmıyor, aynı zamanda dağıtık defter teknolojisinin - özellikle Bitcoin'in - başarılı bir şekilde uygulanmasından bu yana en önemli teknolojik yeniliklerden biri olarak geniş çapta kabul ediliyor. Aynı zamanda sektör uygulamaları ve risk sermayesi için önemli bir alan.
Bu nedenle, ZKP tabanlı birçok ağ projesi ortaya çıkmıştır; bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo bulunmaktadır. Bu projelerin gelişimiyle birlikte, ZKP algoritmalarında sürekli yenilikler meydana gelmekte ve neredeyse her hafta yeni bir algoritmanın ortaya çıktığı bildirilmiştir. Ayrıca, ZKP teknolojisiyle ilgili donanım geliştirme de hızla ilerlemektedir; ZKP için optimize edilmiş çipler dahil. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fonlama toplama işlemlerini tamamlamıştır. Bu gelişmeler, ZKP teknolojisinin hızlı ilerlemesini sergilemekle kalmayıp, aynı zamanda genel donanımdan, GPU, FPGA ve ASIC gibi özel donanıma geçişi de yansıtmaktadır.
Bu gelişmeler, zk-SNARKs teknolojisinin yalnızca kriptografi alanında önemli bir atılım olmadığını, aynı zamanda daha geniş blockchain teknolojisi uygulamalarının - özellikle gizlilik koruma ve işlem kapasitesini artırma konularında - sağlanmasında kritik bir itici güç olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek amacıyla, zk-SNARKs ( ZKP ) ile ilgili bilgileri sistematik olarak derlemeye karar verdik. Bunun için, ZKP ile ilgili temel akademik makaleleri ( ilgiliğe ve atıf sayısına göre sıralayarak kapsamlı bir inceleme yaptık ); aynı zamanda, bu alandaki önde gelen projelerin belgeleri ve beyaz kitaplarını ( finansman ölçeğine göre sıralayarak detaylı bir analiz gerçekleştirdik ). Bu kapsamlı veri toplama ve analiz, bu makalenin yazımına sağlam bir temel sağladı.
Bir. zk-SNARKs temel bilgileri
1. Genel Bakış
1985 yılında, araştırmacılar Goldwasser, Micali ve Rackoff, "The Knowledge Complexity of Interactive Proof-Systems" adlı makalelerinde ilk kez zk-SNARKs ( Zero-Knowledge Proof, ZKP ) ve etkileşimli bilgi kanıtı ( Interactive Zero-Knowledge, IZK ) kavramlarını ortaya koydular. Bu makale, zk-SNARKs'in temelini atan bir çalışmadır ve sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamaktadır. Örneğin, bilginin tanımı "geçersiz hesaplama ( unfeasible computation ) çıktısı" olarak yapılmıştır; yani bilgi bir çıktı olmalı ve geçersiz bir hesaplama olmalıdır, bu da basit bir fonksiyon olmaması gerektiği, karmaşık bir fonksiyon olması gerektiği anlamına gelir. Geçersiz hesaplama genellikle bir NP problemi olarak anlaşılabilir; yani çözümünün doğruluğunun polinom zamanda doğrulanabildiği bir problem, polinom zaman, algoritmanın çalışma süresinin girdi boyutunun polinom fonksiyonu ile ifade edilebileceği anlamına gelir. Bu, bilgisayar bilimlerinde algoritmanın verimliliği ve uygulanabilirliği açısından önemli bir ölçüttür. NP problemlerinin çözüm süreci karmaşık olduğu için geçersiz hesaplama olarak kabul edilmektedir; ancak doğrulama süreci nispeten basit olduğu için zk-SNARKs doğrulama için oldukça uygundur.
NP probleminin klasik bir örneği seyahat eden satıcı problemidir; burada bir dizi şehri ziyaret etmek ve başlangıç noktasına geri dönmek için en kısa yolu bulmak gerekmektedir. En kısa yolu bulmak zor olabilir, ancak bir yol verildiğinde, bu yolun en kısa olup olmadığını doğrulamak görece kolaydır. Çünkü belirli bir yolun toplam mesafesinin doğrulanması polinom zamanında gerçekleştirilebilir.
Goldwasser ve arkadaşları, makalelerinde "bilgi karmaşıklığı" ( knowledge complexity ) kavramını tanıtarak, etkileşimli kanıt sistemlerinde, kanıtlayıcının doğrulayıcıya sızdırdığı bilgi miktarını nicelleştirmiştir. Ayrıca, kanıtlayıcı ( Prover ) ve doğrulayıcı ( Verifier ) arasında çoklu etkileşimler aracılığıyla belirli bir ifadenin doğruluğunu kanıtlamak için etkileşimli kanıt sistemleri ( Interactive Proof Systems, IPS ) önerilmiştir.
Yukarıda, Goldwasser ve arkadaşlarının özetlediği zk-SNARKs tanımı, doğrulayıcının doğrulama sürecinde ifadenin doğru olup olmadığı dışında hiçbir ek bilgi edinmeyeceği özel bir etkileşimli kanıttır; ayrıca şu üç temel özelliği öne sürmüştür:
Tamlık ( completeness ): Eğer kanıt doğruysa, dürüst bir kanıtlayıcı dürüst bir doğrulayıcıyı bu gerçeğe inandırabilir;
2.Güvenilirlik ( sağlamlık ): Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı sadece önemsiz bir seviyede olabilir;
3.zk-SNARKs(zero-knowledge): Kanıtlama süreci tamamlandıktan sonra, doğrulayıcı yalnızca "kanıtlayıcının bu bilgiye sahip olduğu" bilgisini alır ve ek hiçbir içerik elde edemez.
2.zk-SNARKs örneği
Sıfır bilgi kanıtı ve özelliklerini daha iyi anlamak için, aşağıda bir doğrulayıcının belirli gizli bilgilere sahip olup olmadığını kontrol etmek için bir örnek verilmiştir. Bu örnek üç aşamaya ayrılmıştır: kurulum, meydan okuma ve yanıt.
İlk adım: (Setup)
Bu adımda, kanıtlayıcının amacı, belirli bir gizli sayı s'yi bildiğini kanıtlayan bir kanıt oluşturmaktır, ancak s'yi doğrudan göstermeden. Gizli sayı s olarak tanımlansın;
İki büyük asal sayı p ve q seçin, bunların çarpımını n olarak hesaplayın. Asal sayılar p ve q'yu belirleyin, elde edilen n'yi hesaplayın;
v=s^2 mod n hesaplanır, burada v, bir kanıtın parçası olarak doğrulayıcıya gönderilir, ancak bu, doğrulayıcının veya herhangi bir gözlemcinin s'yi çıkarım yapması için yeterli değildir.
Rastgele bir tam sayı r seçin, x = r^2 mod n hesaplayın ve bunu doğrulayıcıya gönderin. Bu x değeri sonraki doğrulama süreci için kullanılır, ancak s'yi de ifşa etmez. Rastgele tam sayı r'yi alarak hesaplanan x'i belirleyin.
İkinci adım: meydan oku (Challenge)
Doğrulayıcı rastgele bir a( konumu seçer, bu 0 veya 1) olabilir, ardından bunu kanıtlayıcıya gönderir. Bu "meydan okuma", kanıtlayıcının sonraki adımları alması gereken adımları belirler.
Üçüncü adım: yanıt (Response)
Doğrulayıcıdan gelen a değeri doğrultusunda, kanıtlayıcı yanıt verir:
Eğer a=0 ise, kanıtlayıcı g=r( gönderir, burada r daha önce rastgele seçtiği sayıdır ).
Eğer a=1 ise, kanıtlayıcı g=rs mod n hesaplar ve gönderir. Doğrulayıcı tarafından gönderilen rastgele bit a olarak belirlendiğinde, a'nın değerine göre kanıtlayıcı g hesaplar;
Sonunda, doğrulayıcı aldığı g'ye göre g^2 mod n'nin xa^v mod n'ye eşit olup olmadığını doğrular. Eşitlik sağlanırsa, doğrulayıcı bu kanıtı kabul eder. a=0 olduğunda, doğrulayıcı g^2 mod n'yi hesaplar, sağ tarafta xa^v mod n'yi doğrular; a=1 olduğunda, doğrulayıcı g^2 mod n'yi hesaplar, sağ tarafta xa^v mod n'yi doğrular.
Burada, doğrulayıcının hesapladığı g^2 mod n=xa^v mod n'nin, kanıtlayıcının doğrulama sürecini başarıyla geçtiğini gösterdiğini ve aynı zamanda gizli sayısı s'yi ifşa etmediğini görüyoruz. Burada, a'nın yalnızca 0 veya 1 alabileceği ve yalnızca iki olasılık bulunduğu için, kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı (, a 0 olduğunda )'dir ve bu 1/2'dir. Ancak doğrulayıcı daha sonra kanıtlayıcıya n kez meydan okur, kanıtlayıcı sürekli olarak ilgili sayıları değiştirir, doğrulayıcıya sunar ve her seferinde doğrulama sürecinden başarıyla geçer, böylece kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı (1/2)^n ( sonsuza yakınsar 0), kanıtlayıcının gerçekten de bir gizli sayı s bildiği sonucunu kanıtlar. Bu örnek, sıfır bilgi kanıtı sisteminin bütünlüğünü, güvenilirliğini ve sıfır bilgiliğini kanıtlamaktadır.
İki, etkileşimsiz zk-SNARKs
1. Arka Plan
zk-SNARKs(ZKP) geleneksel kavramda genellikle etkileşimli ve çevrimiçi protokol biçimindedir; örneğin, Sigma protokolü genellikle kimlik doğrulama işlemini tamamlamak için üç ila beş tur etkileşim gerektirir. Ancak, anlık işlemler veya oylama gibi senaryolarda, genellikle çok turlu etkileşim için fırsat yoktur, özellikle blok zinciri teknolojisi uygulamalarında, çevrimdışı doğrulama işlevi son derece önemlidir.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
19 Likes
Reward
19
7
Share
Comment
0/400
CommunityLurker
· 8h ago
Bu sıfır sayısını 5 yıl önce araştırıyordum.
View OriginalReply0
LiquidationWatcher
· 07-13 12:17
Yazmayı bitirdin, şimdi para konuşma zamanı değil mi?
View OriginalReply0
BoredWatcher
· 07-13 12:17
Daha yeni zk'dan bahsetmiştik, şimdi hava kalmadı.
View OriginalReply0
SybilSlayer
· 07-13 12:16
Çok yoğun, dostum
View OriginalReply0
BrokenYield
· 07-13 12:14
başka bir zk heyecan döngüsü... 2019'da bu filmi daha önce gördük ve bunun nasıl bittiğini hepimiz biliyoruz smh
Sıfır Bilgi Kanıtı Teknolojisi 40 Yıllık Kapsamlı İnceleme: ZKSNARK'tan ZKEVM'e Gelişim ve Gelecek Beklentileri
zk-SNARKs teknolojisinin kapsamlı incelemesi ve geleceğe yönelik bakış
Özeti
zk-SNARKs(ZKP) teknolojisi, blokzincir alanında dağıtık defter teknolojisinden sonraki en önemli teknolojik yeniliklerden biri olarak geniş çapta görülmektedir ve aynı zamanda risk sermayesinin odak noktasıdır. Bu makale, zk-SNARKs teknolojisinin son kırk yılındaki tarihsel literatürü ve en son araştırmaları sistematik bir şekilde incelemektedir.
Öncelikle, zk-SNARKs'in temel kavramı ve tarihsel arka planı tanıtılmaktadır. Ardından, devre tabanlı zk-SNARKs teknolojisi, zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs ve Ligero gibi modellerin tasarımı, uygulamaları ve optimizasyon yöntemleri üzerinde durulmaktadır. Hesaplama ortamı alanında, ZKVM ve ZKEVM tanıtılmakta, bunların işlem işleme yeteneğini nasıl artırdığı, gizliliği koruduğu ve doğrulama verimliliğini artırdığı ele alınmaktadır. Makalede ayrıca, zk-Rollup(ZK Rollup)'un Layer 2 genişleme çözümü olarak çalışma mekanizması ve optimizasyon yöntemleri, donanım hızlandırması, karma çözümler ve özel ZK EVM'nin en son gelişmeleri de tanıtılmaktadır.
Son olarak, bu makalede ZKCoprocessor, ZKML, ZKThreads, ZK Sharding ve ZK StateChannels gibi yeni kavramlar ele alınmış ve bunların blok zinciri ölçeklenebilirliği, birlikte çalışabilirlik ve gizlilik koruma alanındaki potansiyeli tartışılmıştır.
Bu makale, bu en son teknolojilerin ve gelişim trendlerinin analizine dayanarak, zk-SNARKs teknolojisinin anlaşılması ve uygulanması için kapsamlı bir bakış açısı sunmakta, blok zinciri sistemlerinin verimliliğini ve güvenliğini artırmadaki büyük potansiyelini göstermekte ve gelecekteki yatırım kararları için önemli bir referans sağlamaktadır.
İçindekiler
Önsöz
Bir, zk-SNARKs Temel Bilgisi
İkincisi, etkileşimsiz zk-SNARKs
Üç, devre tabanlı zk-SNARKs
Dört, zk-SNARKs modeli
Beş, zk-SNARKs sanal makinesinin genel görünümü ve gelişimi
Altı, zk-SNARKs Ethereum Sanal Makinesi'nin Genel Görünümü ve Gelişimi
Yedi, zk-SNARKs İki Katmanlı Ağ Planı Özeti ve Gelişimi
Sekiz, zk-SNARKs'ın gelecekteki gelişim yönü
Dokuz, Sonuç
Kaynaklar
Giriş
İnternet, Web3 çağına girmekte, blok zinciri uygulamaları (DApps) hızla gelişmektedir, her gün yeni uygulamalar ortaya çıkmaktadır. Son yıllarda, blok zinciri platformları her gün milyonlarca kullanıcının etkinliğine ev sahipliği yapmakta, milyarlarca işlem gerçekleştirmektedir. Bu işlemler sonucunda oluşan büyük miktardaki veri genellikle kullanıcı kimlikleri, işlem tutarları, hesap adresleri ve hesap bakiyesi gibi hassas kişisel bilgileri içermektedir. Blok zincirinin açıklık ve şeffaflık özellikleri göz önüne alındığında, depolanan veriler herkesin erişimine açıktır, bu nedenle çeşitli güvenlik ve gizlilik sorunlarına yol açmaktadır.
Şu anda, bu zorluklarla başa çıkmak için birkaç kriptografi teknolojisi bulunmaktadır; bunlar arasında homomorfik şifreleme, halka imzaları, güvenli çok taraflı hesaplama ve zk-SNARKs yer almaktadır. Homomorfik şifreleme, şifrelenmiş verileri çözmeden işlemler gerçekleştirilmesine olanak tanır ve bu da hesap bakiyelerinin ve işlem tutarlarının güvenliğini korumaya yardımcı olur, ancak hesap adreslerinin güvenliğini koruyamaz. Halka imzaları, imzacıların kimliğini gizleyebilen özel bir dijital imza biçimi sunarak hesap adreslerinin güvenliğini korur, ancak hesap bakiyesi ve işlem tutarları için koruma sağlayamaz. Güvenli çok taraflı hesaplama, birden fazla katılımcı arasında hesaplama görevlerini dağıtarak, hiçbir katılımcının diğer katılımcıların verilerini bilmesine gerek kalmadan, hesap bakiyelerinin ve işlem tutarlarının güvenliğini etkin bir şekilde korur, ancak yine de hesap adreslerinin güvenliğini koruyamaz. Ayrıca, homomorfik şifreleme, halka imzaları ve güvenli çok taraflı hesaplama, bir blockchain ortamında kanıtlayıcının yeterli işlem tutarına sahip olup olmadığını doğrulamak için işlem tutarlarını, hesap adreslerini ve hesap bakiyelerini ifşa etmeden kullanılamaz.
zk-SNARKs, belirli önermelerin doğruluğunu, herhangi bir ara veriyi ifşa etmeden doğrulamaya izin veren daha kapsamlı bir çözümdür. Bu doğrulama protokolü, karmaşık bir kamu anahtarı altyapısı gerektirmez ve tekrar eden uygulamalar, kötü niyetli kullanıcıların ek yararlı bilgilere erişim fırsatı sağlamaz. ZKP aracılığıyla, doğrulayıcı, özel işlem verilerini ifşa etmeden, ispatlayıcının yeterli işlem miktarına sahip olup olmadığını doğrulayabilir. Doğrulama süreci, ispatlayıcının iddia ettiği işlem miktarını içeren bir ispatın üretilmesini içerir ve ardından bu ispat doğrulayıcıya iletilir. Doğrulayıcı, ispat üzerinde önceden tanımlanmış hesaplamalar yapar ve nihai hesaplama sonucunu çıkararak ispatlayıcının beyanını kabul edip etmeyeceğine karar verir. Eğer ispatlayıcının beyanı kabul edilirse, bu onların yeterli işlem miktarına sahip oldukları anlamına gelir. Yukarıda belirtilen doğrulama süreci, hiçbir sahtekarlık olmaksızın blok zincirine kaydedilebilir.
ZKP'nin bu özelliği, blok zinciri işlemleri ve kripto para uygulamalarında merkezi bir rol oynamasını sağlıyor, özellikle gizlilik koruma ve ağ genişletme açısından, bu da onu yalnızca akademik araştırmaların odak noktası haline getirmekle kalmıyor, aynı zamanda dağıtık defter teknolojisinin - özellikle Bitcoin'in - başarılı bir şekilde uygulanmasından bu yana en önemli teknolojik yeniliklerden biri olarak geniş çapta kabul ediliyor. Aynı zamanda sektör uygulamaları ve risk sermayesi için önemli bir alan.
Bu nedenle, ZKP tabanlı birçok ağ projesi ortaya çıkmıştır; bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo bulunmaktadır. Bu projelerin gelişimiyle birlikte, ZKP algoritmalarında sürekli yenilikler meydana gelmekte ve neredeyse her hafta yeni bir algoritmanın ortaya çıktığı bildirilmiştir. Ayrıca, ZKP teknolojisiyle ilgili donanım geliştirme de hızla ilerlemektedir; ZKP için optimize edilmiş çipler dahil. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fonlama toplama işlemlerini tamamlamıştır. Bu gelişmeler, ZKP teknolojisinin hızlı ilerlemesini sergilemekle kalmayıp, aynı zamanda genel donanımdan, GPU, FPGA ve ASIC gibi özel donanıma geçişi de yansıtmaktadır.
Bu gelişmeler, zk-SNARKs teknolojisinin yalnızca kriptografi alanında önemli bir atılım olmadığını, aynı zamanda daha geniş blockchain teknolojisi uygulamalarının - özellikle gizlilik koruma ve işlem kapasitesini artırma konularında - sağlanmasında kritik bir itici güç olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek amacıyla, zk-SNARKs ( ZKP ) ile ilgili bilgileri sistematik olarak derlemeye karar verdik. Bunun için, ZKP ile ilgili temel akademik makaleleri ( ilgiliğe ve atıf sayısına göre sıralayarak kapsamlı bir inceleme yaptık ); aynı zamanda, bu alandaki önde gelen projelerin belgeleri ve beyaz kitaplarını ( finansman ölçeğine göre sıralayarak detaylı bir analiz gerçekleştirdik ). Bu kapsamlı veri toplama ve analiz, bu makalenin yazımına sağlam bir temel sağladı.
Bir. zk-SNARKs temel bilgileri
1. Genel Bakış
1985 yılında, araştırmacılar Goldwasser, Micali ve Rackoff, "The Knowledge Complexity of Interactive Proof-Systems" adlı makalelerinde ilk kez zk-SNARKs ( Zero-Knowledge Proof, ZKP ) ve etkileşimli bilgi kanıtı ( Interactive Zero-Knowledge, IZK ) kavramlarını ortaya koydular. Bu makale, zk-SNARKs'in temelini atan bir çalışmadır ve sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamaktadır. Örneğin, bilginin tanımı "geçersiz hesaplama ( unfeasible computation ) çıktısı" olarak yapılmıştır; yani bilgi bir çıktı olmalı ve geçersiz bir hesaplama olmalıdır, bu da basit bir fonksiyon olmaması gerektiği, karmaşık bir fonksiyon olması gerektiği anlamına gelir. Geçersiz hesaplama genellikle bir NP problemi olarak anlaşılabilir; yani çözümünün doğruluğunun polinom zamanda doğrulanabildiği bir problem, polinom zaman, algoritmanın çalışma süresinin girdi boyutunun polinom fonksiyonu ile ifade edilebileceği anlamına gelir. Bu, bilgisayar bilimlerinde algoritmanın verimliliği ve uygulanabilirliği açısından önemli bir ölçüttür. NP problemlerinin çözüm süreci karmaşık olduğu için geçersiz hesaplama olarak kabul edilmektedir; ancak doğrulama süreci nispeten basit olduğu için zk-SNARKs doğrulama için oldukça uygundur.
NP probleminin klasik bir örneği seyahat eden satıcı problemidir; burada bir dizi şehri ziyaret etmek ve başlangıç noktasına geri dönmek için en kısa yolu bulmak gerekmektedir. En kısa yolu bulmak zor olabilir, ancak bir yol verildiğinde, bu yolun en kısa olup olmadığını doğrulamak görece kolaydır. Çünkü belirli bir yolun toplam mesafesinin doğrulanması polinom zamanında gerçekleştirilebilir.
Goldwasser ve arkadaşları, makalelerinde "bilgi karmaşıklığı" ( knowledge complexity ) kavramını tanıtarak, etkileşimli kanıt sistemlerinde, kanıtlayıcının doğrulayıcıya sızdırdığı bilgi miktarını nicelleştirmiştir. Ayrıca, kanıtlayıcı ( Prover ) ve doğrulayıcı ( Verifier ) arasında çoklu etkileşimler aracılığıyla belirli bir ifadenin doğruluğunu kanıtlamak için etkileşimli kanıt sistemleri ( Interactive Proof Systems, IPS ) önerilmiştir.
Yukarıda, Goldwasser ve arkadaşlarının özetlediği zk-SNARKs tanımı, doğrulayıcının doğrulama sürecinde ifadenin doğru olup olmadığı dışında hiçbir ek bilgi edinmeyeceği özel bir etkileşimli kanıttır; ayrıca şu üç temel özelliği öne sürmüştür:
2.Güvenilirlik ( sağlamlık ): Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı sadece önemsiz bir seviyede olabilir;
3.zk-SNARKs(zero-knowledge): Kanıtlama süreci tamamlandıktan sonra, doğrulayıcı yalnızca "kanıtlayıcının bu bilgiye sahip olduğu" bilgisini alır ve ek hiçbir içerik elde edemez.
2.zk-SNARKs örneği
Sıfır bilgi kanıtı ve özelliklerini daha iyi anlamak için, aşağıda bir doğrulayıcının belirli gizli bilgilere sahip olup olmadığını kontrol etmek için bir örnek verilmiştir. Bu örnek üç aşamaya ayrılmıştır: kurulum, meydan okuma ve yanıt.
İlk adım: (Setup)
Bu adımda, kanıtlayıcının amacı, belirli bir gizli sayı s'yi bildiğini kanıtlayan bir kanıt oluşturmaktır, ancak s'yi doğrudan göstermeden. Gizli sayı s olarak tanımlansın;
İki büyük asal sayı p ve q seçin, bunların çarpımını n olarak hesaplayın. Asal sayılar p ve q'yu belirleyin, elde edilen n'yi hesaplayın;
v=s^2 mod n hesaplanır, burada v, bir kanıtın parçası olarak doğrulayıcıya gönderilir, ancak bu, doğrulayıcının veya herhangi bir gözlemcinin s'yi çıkarım yapması için yeterli değildir.
Rastgele bir tam sayı r seçin, x = r^2 mod n hesaplayın ve bunu doğrulayıcıya gönderin. Bu x değeri sonraki doğrulama süreci için kullanılır, ancak s'yi de ifşa etmez. Rastgele tam sayı r'yi alarak hesaplanan x'i belirleyin.
İkinci adım: meydan oku (Challenge)
Doğrulayıcı rastgele bir a( konumu seçer, bu 0 veya 1) olabilir, ardından bunu kanıtlayıcıya gönderir. Bu "meydan okuma", kanıtlayıcının sonraki adımları alması gereken adımları belirler.
Üçüncü adım: yanıt (Response)
Doğrulayıcıdan gelen a değeri doğrultusunda, kanıtlayıcı yanıt verir:
Eğer a=0 ise, kanıtlayıcı g=r( gönderir, burada r daha önce rastgele seçtiği sayıdır ).
Eğer a=1 ise, kanıtlayıcı g=rs mod n hesaplar ve gönderir. Doğrulayıcı tarafından gönderilen rastgele bit a olarak belirlendiğinde, a'nın değerine göre kanıtlayıcı g hesaplar;
Sonunda, doğrulayıcı aldığı g'ye göre g^2 mod n'nin xa^v mod n'ye eşit olup olmadığını doğrular. Eşitlik sağlanırsa, doğrulayıcı bu kanıtı kabul eder. a=0 olduğunda, doğrulayıcı g^2 mod n'yi hesaplar, sağ tarafta xa^v mod n'yi doğrular; a=1 olduğunda, doğrulayıcı g^2 mod n'yi hesaplar, sağ tarafta xa^v mod n'yi doğrular.
Burada, doğrulayıcının hesapladığı g^2 mod n=xa^v mod n'nin, kanıtlayıcının doğrulama sürecini başarıyla geçtiğini gösterdiğini ve aynı zamanda gizli sayısı s'yi ifşa etmediğini görüyoruz. Burada, a'nın yalnızca 0 veya 1 alabileceği ve yalnızca iki olasılık bulunduğu için, kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı (, a 0 olduğunda )'dir ve bu 1/2'dir. Ancak doğrulayıcı daha sonra kanıtlayıcıya n kez meydan okur, kanıtlayıcı sürekli olarak ilgili sayıları değiştirir, doğrulayıcıya sunar ve her seferinde doğrulama sürecinden başarıyla geçer, böylece kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı (1/2)^n ( sonsuza yakınsar 0), kanıtlayıcının gerçekten de bir gizli sayı s bildiği sonucunu kanıtlar. Bu örnek, sıfır bilgi kanıtı sisteminin bütünlüğünü, güvenilirliğini ve sıfır bilgiliğini kanıtlamaktadır.
İki, etkileşimsiz zk-SNARKs
1. Arka Plan
zk-SNARKs(ZKP) geleneksel kavramda genellikle etkileşimli ve çevrimiçi protokol biçimindedir; örneğin, Sigma protokolü genellikle kimlik doğrulama işlemini tamamlamak için üç ila beş tur etkileşim gerektirir. Ancak, anlık işlemler veya oylama gibi senaryolarda, genellikle çok turlu etkileşim için fırsat yoktur, özellikle blok zinciri teknolojisi uygulamalarında, çevrimdışı doğrulama işlevi son derece önemlidir.
2. NIZK'nin önerilmesi
1