zk-SNARKs teknolojisinin Blok Zinciri alanındaki gelişimi ve uygulamaları üzerine bir inceleme
Özet
zk-SNARKs(ZKP) teknolojisi, blok zinciri alanında dağıtık defter teknolojisinden sonraki en önemli yeniliklerden biri olarak geniş çapta kabul görmektedir ve şu anda risk sermayesi odak alanlarından biridir. Bu makale, ZKP'nin son kırk yılındaki gelişim sürecini ve en son araştırma bulgularını sistematik olarak gözden geçirmektedir.
Makale, öncelikle ZKP'nin temel kavramlarını ve tarihsel arka planını tanıtmaktadır, özellikle devre tabanlı ZKP teknolojisini analiz etmekte, zkSNARK, Ben-Sasson modeli, Pinocchio, Bulletproofs ve Ligero gibi çözümlerin tasarımını, uygulamalarını ve optimizasyon yöntemlerini vurgulamaktadır. Hesaplama ortamları açısından, bu çalışma ZKVM ve ZKEVM'nin işlem işleme kapasitesini nasıl artırdığını, gizliliği koruduğunu ve doğrulama verimliliğini artırdığını incelemektedir. Makale ayrıca ZK Rollup'un Layer 2 genişleme çözümü olarak çalışma mekanizmasını ve optimizasyon yöntemlerini, ayrıca donanım hızlandırma, karma çözümler ve özel ZK EVM ile ilgili en son gelişmeleri açıklamaktadır.
Son olarak, makale ZKCoprocessor, ZKML, ZKThreads, ZK Sharding ve ZK StateChannels gibi yeni kavramlara bakış sundu ve bunların Blok Zinciri ölçeklenebilirliği, birlikte çalışabilirlik ve gizlilik koruma alanlarındaki potansiyelini tartıştı.
Bu makale, bu öncü teknolojilerin ve gelişim trendlerinin kapsamlı bir analizini yaparak ZKP teknolojisinin anlaşılması ve uygulanması için sistematik 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
Devre modelinin temel kavramları ve özellikleri
zk-SNARKs'te devre tasarımı ve uygulamaları
Potansiyel Hatalar ve Zorluklar
Dört, zk-SNARKs modeli
Arka Plan
Yaygın Algoritma Modelleri
Doğrusal PCP ve Ayrık Logaritma Problemi Tabanlı Çözüm
Sıradan insanların kanıtına dayalı çözüm
Olasılığa dayalı doğrulanabilir kanıt (PCP)'in zk-SNARKs
CPC( genel kanıt yapısına dayalı ) ayar aşamasının sınıflandırılması
Beş, zk-SNARKs Sanal Makinesi'nin Genel Görünümü ve Gelişimi
Arka Plan
Mevcut ZKVM sınıflandırması
Ön Uç ve Arka Uç Paradigması
ZKVM Paradigması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'in Özellikleri
Yedi, zk-SNARKs İkincil Ağı Planı Özeti ve Gelişimi
Arka Plan
ZK Rollup'un çalışma mekanizması
ZK Rollup'un dezavantajları ve optimizasyonu
Sekiz, zk-SNARKs'in gelecekteki gelişim yönleri
Hesaplama ortamının gelişimini hızlandırmak
ZKML'nin önerilmesi ve gelişimi
ZKP genişletme teknolojisi ile ilgili gelişmeler
ZKP birbirleriyle çalışabilirliğinin gelişimi
Dokuz, Sonuç
Giriş
Web3 çağının gelmesiyle birlikte, Blok Zinciri uygulamaları (DApps) hızla gelişiyor, her gün yeni uygulamalar ortaya çıkıyor. Son yıllarda, Blok Zinciri platformları her gün milyonlarca kullanıcının etkinliğini taşıyor ve milyarlarca işlem gerçekleştiriyor. Bu işlemlerden oluşan büyük miktarda veri genellikle kullanıcı kimlikleri, işlem tutarları, hesap adresleri ve bakiyeler gibi hassas kişisel bilgileri içeriyor. Blok Zinciri'nin açıklığı ve şeffaflığı göz önüne alındığında, depolanan veriler herkes tarafından görülebiliyor, bu nedenle çeşitli güvenlik ve gizlilik sorunlarını gündeme getiriyor.
Şu anda bu zorluklarla başa çıkmak için birkaç kriptografi tekniği bulunmaktadır; bunlar arasında homomorfik şifreleme, halka imzaları, güvenli çok taraflı hesaplama ve zk-SNARKs yer almaktadır. Homomorfik şifreleme, şifreli verileri çözmeden işlemler yapmayı sağlar, bu da hesap bakiyeleri ve işlem tutarlarının güvenliğini korumaya yardımcı olur, ancak hesap adresinin güvenliğini koruyamaz. Halka imzaları, imzalayanın kimliğini gizleyerek hesap adresinin güvenliğini koruyan özel bir dijital imza biçimi sunar, ancak hesap bakiyeleri ve işlem tutarlarının korunmasında etkisizdir. Güvenli çok taraflı hesaplama, hiçbir katılımcının diğer katılımcıların verilerini bilmesine gerek kalmadan birden fazla katılımcı arasında hesaplama görevlerini dağıtmayı mümkün kılarak hesap bakiyeleri ve işlem tutarlarının güvenliğini etkin bir şekilde korur, ancak yine de hesap adresinin güvenliğini koruyamaz. Ayrıca, homomorfik şifreleme, halka imzaları ve güvenli çok taraflı hesaplama, işlem tutarlarını, hesap adreslerini ve hesap bakiyelerini ifşa etmeden blok zinciri ortamında kanıtlayıcının yeterli işlem tutarına sahip olup olmadığını doğrulamak için kullanılamaz.
zk-SNARKs, belirli önermelerin doğruluğunu, herhangi bir ara veriyi ifşa etmeden doğrulamaya olanak tanıyan daha kapsamlı bir çözümdür. Bu doğrulama protokolü karmaşık bir genel anahtar altyapısı gerektirmez ve kötü niyetli kullanıcıların ek faydalı bilgilere erişim sağlaması için tekrar uygulanması durumunda fırsatlar sunmaz. ZKP aracılığıyla, doğrulayıcı, özel işlem verilerini ifşa etmeden, kanıtlayıcının yeterli işlem miktarına sahip olup olmadığını doğrulayabilir. Doğrulama süreci, kanıtlayıcının iddia ettiği işlem miktarını içeren bir kanıtın üretilmesini ve ardından bu kanıtın doğrulayıcıya iletilmesini içerir. Doğrulayıcı, kanıt üzerinde önceden tanımlanmış bir hesaplama gerçekleştirir ve nihai hesaplama sonucunu üreterek, kanıtlayıcının beyanını kabul edip etmeyeceğine karar verir. Eğer kanıtlayı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, herhangi bir sahtecilik olmaksızın Blok Zinciri üzerinde kaydedilebilir.
ZKP bu özelliği ile Blok Zinciri işlemleri ve kripto para uygulamalarında anahtar bir rol oynamaktadır, özellikle gizlilik koruma ve ağ genişletme konularında, bu da onu sadece akademik araştırmaların odak noktası haline getirmekle kalmayıp, dağıtık defter teknolojisi (, özellikle Bitcoin ) başarılı bir şekilde uygulandığından beri en önemli teknolojik yeniliklerden biri olarak geniş çapta kabul edilmektedir. Aynı zamanda sektör uygulamaları ve risk sermayesi için önemli bir yol olmaktadır.
Bu nedenle, ZKP tabanlı birçok ağ projesi ortaya çıkmıştır, bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo gibi projeler bulunmaktadır. Bu projelerin gelişimiyle birlikte, ZKP algoritmaları konusunda sürekli yenilikler ortaya çıkmakta, neredeyse her hafta yeni bir algoritmanın piyasaya çıktığı bildirilmektedir. Ayrıca, ZKP teknolojisi ile ilgili donanım geliştirme de hızlı bir şekilde ilerlemekte, ZKP için optimize edilmiş özel çipleri içermektedir. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fon toplama süreçlerini tamamlamıştır; bu gelişmeler sadece ZKP teknolojisinin hızlı ilerlemesini göstermekle kalmayıp, aynı zamanda genel donanımdan özel donanıma, örneğin GPU, FPGA ve ASIC gibi geçişi de yansıtmaktadır.
Bu gelişmeler, zk-SNARKs teknolojisinin sadece kriptografi alanında önemli bir atılım değil, aynı zamanda daha geniş Blok Zinciri teknolojisi uygulamalarını (, özellikle gizlilik koruma ve işleme kapasitesini artırma açısından ) sağlamak için kritik bir itici güç olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek için zk-SNARKs ( ZKP ) ile ilgili bilgileri sistematik olarak derlemeye karar verdik. Bu amaçla, ZKP ile ilgili anahtar akademik makaleleri ( alaka düzeyine ve atıf sayısına göre sıralayarak kapsamlı bir şekilde inceledik ); aynı zamanda, bu alandaki önde gelen projelerin bilgilerini ve beyaz belgelerini finansman büyüklüğüne göre sıralayarak detaylı bir şekilde analiz ettik (. Bu kapsamlı bilgi toplama ve analiz süreci, bu makalenin yazımına sağlam bir temel sağlamıştır.
Bir, zk-SNARKs Temel Bilgisi
) 1. Genel Bakış
1985 yılında, Goldwasser, Micali ve Rackoff, makalelerinde ilk kez zk-SNARKs ###ZKP( ve etkileşimli bilgi kanıtı )IZK( kavramlarını ortaya koydular. Bu makale, zk-SNARKs'ın temeli olup, sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamıştır. Örneğin, bilgi "hesaplanamaz bir çıktı" olarak tanımlanmıştır; yani bilgi bir çıktı olmalı ve hesaplanamaz bir işlem olmalıdır, bu da basit bir fonksiyon olamayacağı, karmaşık bir fonksiyon olması gerektiği anlamına gelir. Hesaplanamaz işlem genellikle bir NP problemi olarak anlaşılabilir, yani çözümünün doğruluğunu polinom zamanda doğrulayabilen bir problem, polinom zaman algoritmanın çalışma süresinin giriş boyutunun polinom fonksiyonu ile ifade edilebileceği anlamına gelir. Bu, bilgisayar biliminde algoritma verimliliği ve uygulanabilirliği ölçmek için önemli bir kriterdir. NP problemlerinin çözüm süreci karmaşık olduğundan, hesaplanamaz işlem olarak kabul edilir; ancak doğrulama süreci görece basit olduğundan, 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 edip başlangıç noktasına dönecek en kısa yolu bulmak gerekmektedir. En kısa yolu bulmak zor olsa da, verilen bir yolun en kısa yol olup olmadığını doğrulamak görece daha kolaydır. Çünkü belirli bir yolun toplam mesafesinin doğrulanması çok terimli zamanda gerçekleştirilebilir.
Goldwasser ve diğerleri, etkileşimli kanıt sistemlerinde kanıtlayıcının doğrulayıcıya sızdırdığı bilgi miktarını nicelendirerek "bilgi karmaşıklığı" kavramını tanıttılar. Ayrıca, kanıtlayıcı )Prover( ve doğrulayıcı )Verifier('nın bir ifadenin doğruluğunu kanıtlamak için çoklu etkileşim yoluyla çalıştığı etkileşimli kanıt sistemi )IPS('i önerdiler.
Yukarıda, Goldwasser ve diğerlerinin ö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ıtlama türüdür; ayrıca üç temel özellik önermişlerdir:
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 ikna edebilir;
Güvenilirlik ) sağlamlık (: Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı yalnızca önemsiz bir düzeyde olabilir;
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 herhangi bir ek içerik elde edemez.
) 2. zk-SNARKs örneği
Sıfır bilgi kanıtlarının ve özelliklerinin daha iyi anlaşılması için, aşağıda bir doğrulayıcının belirli özel bilgilere sahip olup olmadığını kontrol etme örneği 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ı, bir sırrı olan s sayısını bildiğini kanıtlayan bir kanıt oluşturmak, ancak s'yi doğrudan göstermemektir.
Gizli sayıyı s olarak belirle;
İ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 doğrulayıcı 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 açığa çıkarmaz. Rastgele tam sayı r'yi seçin, elde edilen x'i hesaplayın.
İkinci adım: meydan oku )Challenge(
Doğrulayıcı, a) yerine 0 veya 1( olabilecek rastgele bir yer seçer ve bunu kanıtlayıcıya gönderir. Bu " meydan okuma", kanıtlayıcının sonraki adımlarında ne yapması gerektiğini belirler.
Üçüncü adım: yanıt )Response(
Verici tarafından gönderilen a değerine göre, 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ı ('dir.
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 varsayılsın, a'nın değerine göre kanıtlayıcı g'yi hesaplar;
Son olarak, doğrulayıcı g'yi alarak x'in g^2 mod n'e eşit olup olmadığını doğrular. Eğer eşitlik sağlanıyorsa, doğrulayıcı bu kanıtı kabul eder. a=0 olduğunda, doğrulayıcı g^2 mod n hesaplar, sağ tarafta x'i doğrular; a=1 olduğunda, doğrulayıcı g^2 mod n hesaplar, sağ tarafta xv'yi doğrular.
Burada, doğrulayıcının hesapladığı x=g^2 mod n değerini görüyoruz, bu, kanıtlayıcının doğrulama sürecini başarıyla geçtiğini ve aynı zamanda gizli sayısı s'yi ifşa etmediğini gösteriyor. Burada, a'nın yalnızca 0 veya 1 alabileceği nedeniyle, iki olasılık vardır; kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı ) a 0 olduğunda ( 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ürecini 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 yaklaşıyor 0(, bu da kanıtlayıcının belirli bir gizli sayı s'yi gerçekten bildiği sonucunu kanıtlıyor. Bu örnek, sıfır bilgi kanıtı sisteminin bütünlüğünü, güvenilirliğini ve sıfır bilgi olma özelliğini kanıtlamaktadır.
İkincisi, Etkileşimsiz Zk-SNARKs
) 1. Arka plan
zk-SNARKs###ZKP(genellikle geleneksel kavramda etkileşimli ve çevrimiçi protokol biçimlerinde bulunur; örneğin, Sigma protokolü genellikle 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
1988 yılında, Blum, Feldman ve Micali, çoklu etkileşim gerektirmeden, ispatlayıcının ### Prover ( olduğu durumu kanıtlayan etkileşimsiz sıfır bilgi ) NIZK ( ispatı kavramını ilk kez ortaya koydular.
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.
7 Likes
Reward
7
6
Repost
Share
Comment
0/400
NFTRegretter
· 17h ago
zksnark yine gündemde. Acaba yine enayileri oyuna getirecekler mi?
View OriginalReply0
TokenToaster
· 08-07 02:39
zk dönemi nihayet geldi
View OriginalReply0
ChainSpy
· 08-07 02:34
Gerçekten başkalarının neden deli gibi zk ile uğraştığını anlamıyorum.
View OriginalReply0
GasFeeCrier
· 08-07 02:34
Şu anda ücretler çok yüksek, beni deli ediyor.
View OriginalReply0
StakeWhisperer
· 08-07 02:15
Yine zk toparlandı.
View OriginalReply0
GreenCandleCollector
· 08-07 02:12
Yine bir zkvm yeni arkadaşı, cüzdanın kokusunu duyan var mı?
zk-SNARKs teknolojisinin Blok Zinciri alanındaki uygulamaları ve gelişim trendleri
zk-SNARKs teknolojisinin Blok Zinciri alanındaki gelişimi ve uygulamaları üzerine bir inceleme
Özet
zk-SNARKs(ZKP) teknolojisi, blok zinciri alanında dağıtık defter teknolojisinden sonraki en önemli yeniliklerden biri olarak geniş çapta kabul görmektedir ve şu anda risk sermayesi odak alanlarından biridir. Bu makale, ZKP'nin son kırk yılındaki gelişim sürecini ve en son araştırma bulgularını sistematik olarak gözden geçirmektedir.
Makale, öncelikle ZKP'nin temel kavramlarını ve tarihsel arka planını tanıtmaktadır, özellikle devre tabanlı ZKP teknolojisini analiz etmekte, zkSNARK, Ben-Sasson modeli, Pinocchio, Bulletproofs ve Ligero gibi çözümlerin tasarımını, uygulamalarını ve optimizasyon yöntemlerini vurgulamaktadır. Hesaplama ortamları açısından, bu çalışma ZKVM ve ZKEVM'nin işlem işleme kapasitesini nasıl artırdığını, gizliliği koruduğunu ve doğrulama verimliliğini artırdığını incelemektedir. Makale ayrıca ZK Rollup'un Layer 2 genişleme çözümü olarak çalışma mekanizmasını ve optimizasyon yöntemlerini, ayrıca donanım hızlandırma, karma çözümler ve özel ZK EVM ile ilgili en son gelişmeleri açıklamaktadır.
Son olarak, makale ZKCoprocessor, ZKML, ZKThreads, ZK Sharding ve ZK StateChannels gibi yeni kavramlara bakış sundu ve bunların Blok Zinciri ölçeklenebilirliği, birlikte çalışabilirlik ve gizlilik koruma alanlarındaki potansiyelini tartıştı.
Bu makale, bu öncü teknolojilerin ve gelişim trendlerinin kapsamlı bir analizini yaparak ZKP teknolojisinin anlaşılması ve uygulanması için sistematik 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 Makinesi'nin 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 İkincil Ağı Planı Özeti ve Gelişimi
Sekiz, zk-SNARKs'in gelecekteki gelişim yönleri
Dokuz, Sonuç
Giriş
Web3 çağının gelmesiyle birlikte, Blok Zinciri uygulamaları (DApps) hızla gelişiyor, her gün yeni uygulamalar ortaya çıkıyor. Son yıllarda, Blok Zinciri platformları her gün milyonlarca kullanıcının etkinliğini taşıyor ve milyarlarca işlem gerçekleştiriyor. Bu işlemlerden oluşan büyük miktarda veri genellikle kullanıcı kimlikleri, işlem tutarları, hesap adresleri ve bakiyeler gibi hassas kişisel bilgileri içeriyor. Blok Zinciri'nin açıklığı ve şeffaflığı göz önüne alındığında, depolanan veriler herkes tarafından görülebiliyor, bu nedenle çeşitli güvenlik ve gizlilik sorunlarını gündeme getiriyor.
Şu anda bu zorluklarla başa çıkmak için birkaç kriptografi tekniği bulunmaktadır; bunlar arasında homomorfik şifreleme, halka imzaları, güvenli çok taraflı hesaplama ve zk-SNARKs yer almaktadır. Homomorfik şifreleme, şifreli verileri çözmeden işlemler yapmayı sağlar, bu da hesap bakiyeleri ve işlem tutarlarının güvenliğini korumaya yardımcı olur, ancak hesap adresinin güvenliğini koruyamaz. Halka imzaları, imzalayanın kimliğini gizleyerek hesap adresinin güvenliğini koruyan özel bir dijital imza biçimi sunar, ancak hesap bakiyeleri ve işlem tutarlarının korunmasında etkisizdir. Güvenli çok taraflı hesaplama, hiçbir katılımcının diğer katılımcıların verilerini bilmesine gerek kalmadan birden fazla katılımcı arasında hesaplama görevlerini dağıtmayı mümkün kılarak hesap bakiyeleri ve işlem tutarlarının güvenliğini etkin bir şekilde korur, ancak yine de hesap adresinin güvenliğini koruyamaz. Ayrıca, homomorfik şifreleme, halka imzaları ve güvenli çok taraflı hesaplama, işlem tutarlarını, hesap adreslerini ve hesap bakiyelerini ifşa etmeden blok zinciri ortamında kanıtlayıcının yeterli işlem tutarına sahip olup olmadığını doğrulamak için kullanılamaz.
zk-SNARKs, belirli önermelerin doğruluğunu, herhangi bir ara veriyi ifşa etmeden doğrulamaya olanak tanıyan daha kapsamlı bir çözümdür. Bu doğrulama protokolü karmaşık bir genel anahtar altyapısı gerektirmez ve kötü niyetli kullanıcıların ek faydalı bilgilere erişim sağlaması için tekrar uygulanması durumunda fırsatlar sunmaz. ZKP aracılığıyla, doğrulayıcı, özel işlem verilerini ifşa etmeden, kanıtlayıcının yeterli işlem miktarına sahip olup olmadığını doğrulayabilir. Doğrulama süreci, kanıtlayıcının iddia ettiği işlem miktarını içeren bir kanıtın üretilmesini ve ardından bu kanıtın doğrulayıcıya iletilmesini içerir. Doğrulayıcı, kanıt üzerinde önceden tanımlanmış bir hesaplama gerçekleştirir ve nihai hesaplama sonucunu üreterek, kanıtlayıcının beyanını kabul edip etmeyeceğine karar verir. Eğer kanıtlayı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, herhangi bir sahtecilik olmaksızın Blok Zinciri üzerinde kaydedilebilir.
ZKP bu özelliği ile Blok Zinciri işlemleri ve kripto para uygulamalarında anahtar bir rol oynamaktadır, özellikle gizlilik koruma ve ağ genişletme konularında, bu da onu sadece akademik araştırmaların odak noktası haline getirmekle kalmayıp, dağıtık defter teknolojisi (, özellikle Bitcoin ) başarılı bir şekilde uygulandığından beri en önemli teknolojik yeniliklerden biri olarak geniş çapta kabul edilmektedir. Aynı zamanda sektör uygulamaları ve risk sermayesi için önemli bir yol olmaktadır.
Bu nedenle, ZKP tabanlı birçok ağ projesi ortaya çıkmıştır, bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo gibi projeler bulunmaktadır. Bu projelerin gelişimiyle birlikte, ZKP algoritmaları konusunda sürekli yenilikler ortaya çıkmakta, neredeyse her hafta yeni bir algoritmanın piyasaya çıktığı bildirilmektedir. Ayrıca, ZKP teknolojisi ile ilgili donanım geliştirme de hızlı bir şekilde ilerlemekte, ZKP için optimize edilmiş özel çipleri içermektedir. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fon toplama süreçlerini tamamlamıştır; bu gelişmeler sadece ZKP teknolojisinin hızlı ilerlemesini göstermekle kalmayıp, aynı zamanda genel donanımdan özel donanıma, örneğin GPU, FPGA ve ASIC gibi geçişi de yansıtmaktadır.
Bu gelişmeler, zk-SNARKs teknolojisinin sadece kriptografi alanında önemli bir atılım değil, aynı zamanda daha geniş Blok Zinciri teknolojisi uygulamalarını (, özellikle gizlilik koruma ve işleme kapasitesini artırma açısından ) sağlamak için kritik bir itici güç olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek için zk-SNARKs ( ZKP ) ile ilgili bilgileri sistematik olarak derlemeye karar verdik. Bu amaçla, ZKP ile ilgili anahtar akademik makaleleri ( alaka düzeyine ve atıf sayısına göre sıralayarak kapsamlı bir şekilde inceledik ); aynı zamanda, bu alandaki önde gelen projelerin bilgilerini ve beyaz belgelerini finansman büyüklüğüne göre sıralayarak detaylı bir şekilde analiz ettik (. Bu kapsamlı bilgi toplama ve analiz süreci, bu makalenin yazımına sağlam bir temel sağlamıştır.
Bir, zk-SNARKs Temel Bilgisi
) 1. Genel Bakış
1985 yılında, Goldwasser, Micali ve Rackoff, makalelerinde ilk kez zk-SNARKs ###ZKP( ve etkileşimli bilgi kanıtı )IZK( kavramlarını ortaya koydular. Bu makale, zk-SNARKs'ın temeli olup, sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamıştır. Örneğin, bilgi "hesaplanamaz bir çıktı" olarak tanımlanmıştır; yani bilgi bir çıktı olmalı ve hesaplanamaz bir işlem olmalıdır, bu da basit bir fonksiyon olamayacağı, karmaşık bir fonksiyon olması gerektiği anlamına gelir. Hesaplanamaz işlem genellikle bir NP problemi olarak anlaşılabilir, yani çözümünün doğruluğunu polinom zamanda doğrulayabilen bir problem, polinom zaman algoritmanın çalışma süresinin giriş boyutunun polinom fonksiyonu ile ifade edilebileceği anlamına gelir. Bu, bilgisayar biliminde algoritma verimliliği ve uygulanabilirliği ölçmek için önemli bir kriterdir. NP problemlerinin çözüm süreci karmaşık olduğundan, hesaplanamaz işlem olarak kabul edilir; ancak doğrulama süreci görece basit olduğundan, 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 edip başlangıç noktasına dönecek en kısa yolu bulmak gerekmektedir. En kısa yolu bulmak zor olsa da, verilen bir yolun en kısa yol olup olmadığını doğrulamak görece daha kolaydır. Çünkü belirli bir yolun toplam mesafesinin doğrulanması çok terimli zamanda gerçekleştirilebilir.
Goldwasser ve diğerleri, etkileşimli kanıt sistemlerinde kanıtlayıcının doğrulayıcıya sızdırdığı bilgi miktarını nicelendirerek "bilgi karmaşıklığı" kavramını tanıttılar. Ayrıca, kanıtlayıcı )Prover( ve doğrulayıcı )Verifier('nın bir ifadenin doğruluğunu kanıtlamak için çoklu etkileşim yoluyla çalıştığı etkileşimli kanıt sistemi )IPS('i önerdiler.
Yukarıda, Goldwasser ve diğerlerinin ö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ıtlama türüdür; ayrıca üç temel özellik önermişlerdir:
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 ikna edebilir;
Güvenilirlik ) sağlamlık (: Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı yalnızca önemsiz bir düzeyde olabilir;
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 herhangi bir ek içerik elde edemez.
) 2. zk-SNARKs örneği
Sıfır bilgi kanıtlarının ve özelliklerinin daha iyi anlaşılması için, aşağıda bir doğrulayıcının belirli özel bilgilere sahip olup olmadığını kontrol etme örneği 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ı, bir sırrı olan s sayısını bildiğini kanıtlayan bir kanıt oluşturmak, ancak s'yi doğrudan göstermemektir.
Gizli sayıyı s olarak belirle; İ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 doğrulayıcı 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 açığa çıkarmaz. Rastgele tam sayı r'yi seçin, elde edilen x'i hesaplayın.
İkinci adım: meydan oku )Challenge(
Doğrulayıcı, a) yerine 0 veya 1( olabilecek rastgele bir yer seçer ve bunu kanıtlayıcıya gönderir. Bu " meydan okuma", kanıtlayıcının sonraki adımlarında ne yapması gerektiğini belirler.
Üçüncü adım: yanıt )Response(
Verici tarafından gönderilen a değerine göre, 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ı ('dir.
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 varsayılsın, a'nın değerine göre kanıtlayıcı g'yi hesaplar;
Son olarak, doğrulayıcı g'yi alarak x'in g^2 mod n'e eşit olup olmadığını doğrular. Eğer eşitlik sağlanıyorsa, doğrulayıcı bu kanıtı kabul eder. a=0 olduğunda, doğrulayıcı g^2 mod n hesaplar, sağ tarafta x'i doğrular; a=1 olduğunda, doğrulayıcı g^2 mod n hesaplar, sağ tarafta xv'yi doğrular.
Burada, doğrulayıcının hesapladığı x=g^2 mod n değerini görüyoruz, bu, kanıtlayıcının doğrulama sürecini başarıyla geçtiğini ve aynı zamanda gizli sayısı s'yi ifşa etmediğini gösteriyor. Burada, a'nın yalnızca 0 veya 1 alabileceği nedeniyle, iki olasılık vardır; kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı ) a 0 olduğunda ( 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ürecini 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 yaklaşıyor 0(, bu da kanıtlayıcının belirli bir gizli sayı s'yi gerçekten bildiği sonucunu kanıtlıyor. Bu örnek, sıfır bilgi kanıtı sisteminin bütünlüğünü, güvenilirliğini ve sıfır bilgi olma özelliğini kanıtlamaktadır.
İkincisi, Etkileşimsiz Zk-SNARKs
) 1. Arka plan
zk-SNARKs###ZKP(genellikle geleneksel kavramda etkileşimli ve çevrimiçi protokol biçimlerinde bulunur; örneğin, Sigma protokolü genellikle 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
1988 yılında, Blum, Feldman ve Micali, çoklu etkileşim gerektirmeden, ispatlayıcının ### Prover ( olduğu durumu kanıtlayan etkileşimsiz sıfır bilgi ) NIZK ( ispatı kavramını ilk kez ortaya koydular.