zk-SNARKs teknolojisinin gelişimi ve uygulamaları: Blok Zinciri alanında bir inceleme
Öz
zk-SNARKs(ZKP), kriptografi alanındaki önemli bir atılım olarak, Blok Zinciri teknolojisinde kritik bir rol oynamaktadır. Bu makalede, ZKP'nin son kırk yıldaki gelişim süreci ve en son araştırmalar sistematik bir şekilde gözden geçirilmiştir.
Öncelikle, ZKP'nin temel kavramlarını ve tarihsel arka planını tanıttı. Ardından, devre tabanlı ZKP teknolojisini, zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs ve Ligero gibi modellerin tasarımı, uygulamaları ve optimizasyon yöntemleri üzerine yoğun bir şekilde analiz etti. Hesaplama ortamı açısından, bu makalede ZKVM ve ZKEVM'nin işlem işleme kapasitesini nasıl artırdığı, gizliliği nasıl koruduğu ve doğrulama verimliliğini nasıl artırdığı tartışılmaktadır. Ayrıca, sıfır bilgi Rollup'ın Layer 2 genişleme çözümü olarak çalışma mekanizması ve optimizasyon yöntemleri ile donanım hızlandırma, karma çözümler ve özel ZK EVM'nin en son gelişmeleri de tanıtılmıştır.
Son olarak, ZKCoprocessor, ZKML, ZKThreads, ZK Sharding ve ZK StateChannels gibi yeni kavramları inceledik ve bunların Blok Zinciri ölçeklenebilirliği, birlikte çalışabilirlik ve gizlilik koruma konusundaki potansiyelini tartıştık.
Bu teknik gelişim trendlerini analiz ederek, bu makale ZKP teknolojisini anlama ve uygulama 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
Devre modelinin temel kavramları ve özellikleri
zk-SNARKs'taki devre tasarımı ve uygulamaları
Potansiyel Kusurlar ve Zorluklar
Dört, zk-SNARKs modeli
Arka Plan
Yaygın Algoritma Modelleri
Lineer 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ının ) ayar aşamasına dayalı olarak 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'nin Özellikleri
Yedi, zk-SNARKs İkincil Ağ Çözümü Genel Görünümü ve Gelişimi
Arka Plan
ZK Rollup'ın çalışma mekanizması
ZK Rollup'un dezavantajları ve optimizasyonu
Sekiz, zk-SNARKs'ın gelecekteki gelişim yönleri
Hesaplama ortamının gelişimini hızlandırma
ZKML'nin Sunumu ve Gelişimi
ZKP genişletme teknolojisi ile ilgili gelişmeler
ZKP birlikte çalışabilirliğinin gelişimi
Dokuz, Sonuç
Giriş
İnternet, Web3 dönemine girmekte, Blok zinciri uygulamaları (DApps) hızla gelişmektedir. Son yıllarda, Blok zinciri platformları her gün milyonlarca kullanıcı etkinliğine ev sahipliği yapmakta, on milyarlarca işlem gerçekleştirmektedir. Bu işlemlerden kaynaklanan büyük miktarda veri genellikle hassas kişisel bilgileri içermektedir. Blok zincirinin açıklık ve şeffaflık özellikleri göz önüne alındığında, depolanan bu veriler herkes için açıktır ve 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 tekniği bulunmaktadır; bunlar arasında homomorfik şifreleme, halka imzaları, güvenli çok partili hesaplama ve zk-SNARKs yer almaktadır. zk-SNARKs, daha kapsamlı bir çözüm olan bir doğrulama protokolüdür; bu protokol, herhangi bir aracı veriyi ifşa etmeden belirli önermelerin doğruluğunu doğrulamak için kullanılabilir. Bu protokol, karmaşık bir açık anahtar altyapısı gerektirmemekte ve tekrar uygulanması, kötü niyetli kullanıcılara ek yararlı bilgilere erişim fırsatı sunmamaktadır. ZKP aracılığıyla, doğrulayıcılar, herhangi bir özel işlem verisini ifşa etmeden, ispatlayıcının yeterli işlem miktarına sahip olup olmadığını doğrulayabilir.
ZKP'nin bu özelliği, onu blok zinciri işlemleri ve kripto para uygulamalarında merkezi bir rol oynamasına, özellikle gizlilik koruma ve ağ ölçeklenmesi açısından, sadece akademik araştırmaların odak noktası haline getirmekle kalmayıp, dağıtık defter teknolojisinin başarılı bir şekilde uygulanmasından bu yana en önemli teknolojik yeniliklerden biri olarak geniş çapta kabul edilmesine neden olmuştur. Aynı zamanda sektör uygulamaları ve risk sermayesinin önemli bir alanıdır.
Bununla birlikte, ZKP'ye dayalı birçok ağ projesi ortaya çıktı, bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo gibi projeler bulunmaktadır. Bu projelerin gelişimiyle birlikte, ZKP'nin algoritma yenilikleri art arda gelmekte, neredeyse her hafta yeni bir algoritmanın ortaya çıktığı bildirilmektedir. Ayrıca, ZKP teknolojisi ile ilgili donanım geliştirme de hızla ilerlemekte, ZKP için özel olarak optimize edilmiş çipler dahil. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fon toplama işlemlerini tamamladı; bu gelişmeler sadece ZKP teknolojisinin hızlı ilerlemesini değil, aynı zamanda genel donanımdan GPU, FPGA ve ASIC gibi özel donanıma geçişi de yansıtmaktadır.
Bu ilerlemeler, zk-SNARKs teknolojisinin sadece kriptoloji alanında önemli bir atılım değil, aynı zamanda daha geniş Blok Zinciri teknolojisi uygulamalarını gerçekleştirmek için anahtar bir itici güç olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek için sıfır bilgi kanıtı (ZKP) ile ilgili bilgileri sistematik bir şekilde derlemeye karar verdik. Bu amaçla, ZKP ile ilgili temel akademik makaleleri kapsamlı bir şekilde inceledik; aynı zamanda, bu alandaki önde gelen projelerin belgelerini ve beyaz kitaplarını detaylı bir şekilde analiz ettik. Bu kapsamlı belge toplama ve analiz süreci, bu makalenin yazımı için sağlam bir temel sağladı.
Bir, zk-SNARKs Temel Bilgileri
1. Genel Bakış
1985 yılında, akademisyenler Goldwasser, Micali ve Rackoff ilk kez zk-SNARKs ( Zero-Knowledge Proof, ZKP ) ve etkileşimli bilgi kanıtı ( Interactive Zero-Knowledge, IZK )'i önerdiler. Bu makale, zk-SNARKs'in temelini oluşturan bir çalışmadır ve sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamıştır. Örneğin, bilginin tanımı "hesaplanamaz çıktı" olarak belirtilmiştir, yani bilgi bir çıktı olmalı ve hesaplanamaz olmalıdır; bu, onun basit bir işlev olmaması gerektiği, aksine karmaşık bir işlev olması gerektiği anlamına gelir. Hesaplanamazlık genellikle bir NP problemi olarak anlaşılabilir, yani çözümünün doğruluğunun polinom zamanda doğrulanabileceği bir sorun, 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ğini ve uygulanabilirliğini ölçmek için önemli bir standarttır. NP problemlerinin çözüm süreci karmaşık olduğu için hesaplanamaz olarak kabul edilir; ancak doğrulama süreci göreceli olarak basit olduğu için zk-SNARKs doğrulaması için çok uygundur.
NP probleminin klasik bir örneği seyahat eden satıcı problemidir; burada bir dizi şehri ziyaret edip başlangıç noktasına geri dönmenin en kısa yolunu 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 daha kolaydır. Çünkü belirli bir yolun toplam mesafesini doğrulamak polinom zamanında tamamlanabilir.
Goldwasser ve arkadaşları, 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)' nin belirli bir ifadenin doğruluğunu kanıtlamak için çoklu etkileşimler aracılığıyla çalıştığı etkileşimli kanıt sistemini (Interactive Proof Systems, IPS) önerdiler.
Yukarıda, Goldwasser ve diğerlerinin özetlediği zk-SNARKs tanımı, doğrulayıcının doğrulama sürecinde ifadelerin doğruluk değerinden başka herhangi bir ek bilgi almadığı özel bir etkileşimli kanıt türüdür; ve üç temel özellik önermiştir:
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 ( sesliliği ): Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı sadece önemsizdir;
zk-SNARKs (zero-knowledge): Kanıtlama süreci tamamlandıktan sonra, doğrulayıcı sadece "kanıtlayıcının bu bilgiye sahip olduğu" bilgisini alır ve başka hiçbir ek içerik elde edemez.
2. zk-SNARKs örneği
Sıfır bilgi kanıtlarını ve özelliklerini daha iyi anlamak için, aşağıda bir kanıtlayıcının belirli gizli bilgilere sahip olup olmadığını doğrulamak 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 aşamada, kanıtlayıcının hedefi, belirli bir gizli sayı s'yi bildiğini kanıtlayan bir kanıt oluşturmaktır, ancak s'yi doğrudan göstermemektir. Gizli sayı s olarak belirlenmiştir;
İki büyük asal sayıyı p ve q seçin, bunların çarpımını n olarak hesaplayın. Asal sayıları p ve q olarak 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 çıkarması için yeterli değildir;
Rastgele bir tamsayı r seçin, x = r^2 mod n hesaplayın ve 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 tamsayı r'yi varsayarak hesaplanan x'yi belirleyin.
İkinci adım: meydan okuma (Challenge)
Doğrulayıcı rastgele bir a( konumunu seçebilir, bu 0 veya 1) olabilir ve ardından bunu kanıtlayıcıya gönderir. Bu "meydan okuma", kanıtlayıcının sonraki adımları için ne yapması gerektiğini belirler.
Üçüncü adım: yanıt (Response)
Doğrulayıcıdan gelen 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'ya göre, kanıtlayıcı g'yi hesaplar;
Sonunda, doğrulayıcı alınan g'ye göre 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ı x=g^2 mod n'i hesaplar, sağdaki g^2 mod n'i doğrular; a=1 olduğunda, doğrulayıcı x=g^2/v mod n'i hesaplar, sağdaki (rs)^2/s^2 mod n'i doğrular.
Burada, doğrulayıcı tarafından hesaplanan x=g^2 mod n'nin, kanıtlayıcının doğrulama sürecinden başarıyla geçtiğini, aynı zamanda gizli sayısı s'yi ifşa etmediğini gösterdiğini görüyoruz. Burada, a'nın yalnızca 0 veya 1 alabileceğinden, kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı 1/2('dir ve a 0 olduğunda ). Ancak doğrulayıcı daha sonra kanıtlayıcıya k kez tekrar 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)^k(, sonsuz olarak 0)'ye yaklaşır ve kanıtlayıcının gerçekten bir gizli sayı s bildiği sonucuna varılır. 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ıtlar.
İki, Etkileşimsiz zk-SNARKs
1. Arka Plan
zk-SNARKs(ZKP) geleneksel kavramlarda genellikle etkileşimli ve çevrimiçi protokol biçimidir; örneğin, Sigma protokolü genellikle kimlik doğrulamasını tamamlamak için üç ila beş tur etkileşim gerektirir. Ancak, anlık işlem veya oylama gibi senaryolarda, genellikle çoklu etkileşimler için fırsat yoktur, özellikle blok zinciri teknolojisi uygulamalarında, çevrimdışı doğrulama işlevinin önemi daha belirgin hale gelir.
2. NIZK'in önerilmesi
1988 yılında, Blum, Feldman ve Micali ilk kez etkileşimsiz sıfır bilgi ( NIZK ) kanıtı kavramını ortaya attı ve kanıtlayıcının ( Prover ) ile doğrulayıcının ( Verifier ) çoklu etkileşime ihtiyaç duymadan doğrulama sürecini tamamlayabileceği olasılığını kanıtladı. Bu atılım, anlık işlemler, oylama ve blok zinciri uygulamalarının gerçekleştirilmesini mümkün kıldı.
Onlar, etkileşimsiz zk-SNARKs ( NIZK )'in üç aşamaya ayrılabileceğini önerdiler:
Ayarla
Hesaplama
Doğrulama
Aşama ayarlarında hesaplama fonksiyonları kullanarak güvenlik parametrelerini kamu bilgisine dönüştürün. (, hem kanıtlayıcı hem de doğrulayıcı tarafından erişilebilir, genellikle ortak bir referans dizesi )CRS( içinde kodlanır. Bu, kanıtları hesaplamak ve doğru parametreler ile algoritmalar kullanarak doğrulamak için bir yöntemdir.
Hesaplama aşamasında hesaplama fonksiyonu, giriş ve kanıt anahtarları kullanılır, çıkış hesaplama sonuçları ve kanıttır.
Doğrulama aşamasında, kanıtın geçerliliğini doğrulamak için doğrulama anahtarı kullanılır.
Önerilen kamu referans dizesi )CRS( modeli, tüm katılımcıların bir dizeyi paylaşmasına dayanarak NP probleminin etkileşimsiz sıfır bilgi kanıtını gerçekleştirmektedir. Bu modelin çalışması, CRS'nin güvenilir bir şekilde üretilmesine bağlıdır; tüm katılımcıların aynı dizeye erişebilmesi gerekmektedir. CRS doğru ve güvenli bir şekilde üretildiğinde, bu modele dayalı uygulamaların güvenliğini sağlamaktadır. Çok sayıda katılımcı için CRS üretim süreci karmaşık ve zaman alıcı olabilir, bu nedenle bu tür uygulamalar genellikle kolay çalıştırılsa da ve kanıt boyutu küçük olsa da, kurulum süreci oldukça zorludur.
Sonrasında, NIZK teknolojisi hızlı bir gelişim gösterdi ve etkileşimli sıfır bilgi kanıtlarını etkileşimsiz kanıtlara dönüştüren çeşitli yöntemler ortaya çıktı. Bu yöntemler sistemin inşasında
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.
14 Likes
Reward
14
8
Repost
Share
Comment
0/400
JustHereForAirdrops
· 08-13 20:37
zk bir pozisyon girin hızı hızlı... Başlangıçta gerçekten anlamıyordum
View OriginalReply0
LiquidityWitch
· 08-13 04:43
zk sihirli demleme... karanlık matematiksel gerçeklik havuzları, antik kriptografi ile blok zinciri simyasının buluştuğu yerler
View OriginalReply0
SigmaBrain
· 08-11 01:18
zk, L2 için en iyi çözüm mü olacak?
View OriginalReply0
NotSatoshi
· 08-11 01:16
Yıllar önce zk konusunda derinlemesine çalıştım, ama hala tam olarak anlayabilmiş değilim.
View OriginalReply0
WagmiWarrior
· 08-11 01:15
Yine birinin zk hakkında övdüğünü gördüm, önce temel araştırmayı yapalım.
zk-SNARKs teknolojisinin Derinlik analizi: Algoritma'dan uygulamalara kapsamlı bir inceleme
zk-SNARKs teknolojisinin gelişimi ve uygulamaları: Blok Zinciri alanında bir inceleme
Öz
zk-SNARKs(ZKP), kriptografi alanındaki önemli bir atılım olarak, Blok Zinciri teknolojisinde kritik bir rol oynamaktadır. Bu makalede, ZKP'nin son kırk yıldaki gelişim süreci ve en son araştırmalar sistematik bir şekilde gözden geçirilmiştir.
Öncelikle, ZKP'nin temel kavramlarını ve tarihsel arka planını tanıttı. Ardından, devre tabanlı ZKP teknolojisini, zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs ve Ligero gibi modellerin tasarımı, uygulamaları ve optimizasyon yöntemleri üzerine yoğun bir şekilde analiz etti. Hesaplama ortamı açısından, bu makalede ZKVM ve ZKEVM'nin işlem işleme kapasitesini nasıl artırdığı, gizliliği nasıl koruduğu ve doğrulama verimliliğini nasıl artırdığı tartışılmaktadır. Ayrıca, sıfır bilgi Rollup'ın Layer 2 genişleme çözümü olarak çalışma mekanizması ve optimizasyon yöntemleri ile donanım hızlandırma, karma çözümler ve özel ZK EVM'nin en son gelişmeleri de tanıtılmıştır.
Son olarak, ZKCoprocessor, ZKML, ZKThreads, ZK Sharding ve ZK StateChannels gibi yeni kavramları inceledik ve bunların Blok Zinciri ölçeklenebilirliği, birlikte çalışabilirlik ve gizlilik koruma konusundaki potansiyelini tartıştık.
Bu teknik gelişim trendlerini analiz ederek, bu makale ZKP teknolojisini anlama ve uygulama 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 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ğ Çözümü Genel Görünümü ve Gelişimi
Sekiz, zk-SNARKs'ın gelecekteki gelişim yönleri
Dokuz, Sonuç
Giriş
İnternet, Web3 dönemine girmekte, Blok zinciri uygulamaları (DApps) hızla gelişmektedir. Son yıllarda, Blok zinciri platformları her gün milyonlarca kullanıcı etkinliğine ev sahipliği yapmakta, on milyarlarca işlem gerçekleştirmektedir. Bu işlemlerden kaynaklanan büyük miktarda veri genellikle hassas kişisel bilgileri içermektedir. Blok zincirinin açıklık ve şeffaflık özellikleri göz önüne alındığında, depolanan bu veriler herkes için açıktır ve 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 tekniği bulunmaktadır; bunlar arasında homomorfik şifreleme, halka imzaları, güvenli çok partili hesaplama ve zk-SNARKs yer almaktadır. zk-SNARKs, daha kapsamlı bir çözüm olan bir doğrulama protokolüdür; bu protokol, herhangi bir aracı veriyi ifşa etmeden belirli önermelerin doğruluğunu doğrulamak için kullanılabilir. Bu protokol, karmaşık bir açık anahtar altyapısı gerektirmemekte ve tekrar uygulanması, kötü niyetli kullanıcılara ek yararlı bilgilere erişim fırsatı sunmamaktadır. ZKP aracılığıyla, doğrulayıcılar, herhangi bir özel işlem verisini ifşa etmeden, ispatlayıcının yeterli işlem miktarına sahip olup olmadığını doğrulayabilir.
ZKP'nin bu özelliği, onu blok zinciri işlemleri ve kripto para uygulamalarında merkezi bir rol oynamasına, özellikle gizlilik koruma ve ağ ölçeklenmesi açısından, sadece akademik araştırmaların odak noktası haline getirmekle kalmayıp, dağıtık defter teknolojisinin başarılı bir şekilde uygulanmasından bu yana en önemli teknolojik yeniliklerden biri olarak geniş çapta kabul edilmesine neden olmuştur. Aynı zamanda sektör uygulamaları ve risk sermayesinin önemli bir alanıdır.
Bununla birlikte, ZKP'ye dayalı birçok ağ projesi ortaya çıktı, bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo gibi projeler bulunmaktadır. Bu projelerin gelişimiyle birlikte, ZKP'nin algoritma yenilikleri art arda gelmekte, neredeyse her hafta yeni bir algoritmanın ortaya çıktığı bildirilmektedir. Ayrıca, ZKP teknolojisi ile ilgili donanım geliştirme de hızla ilerlemekte, ZKP için özel olarak optimize edilmiş çipler dahil. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fon toplama işlemlerini tamamladı; bu gelişmeler sadece ZKP teknolojisinin hızlı ilerlemesini değil, aynı zamanda genel donanımdan GPU, FPGA ve ASIC gibi özel donanıma geçişi de yansıtmaktadır.
Bu ilerlemeler, zk-SNARKs teknolojisinin sadece kriptoloji alanında önemli bir atılım değil, aynı zamanda daha geniş Blok Zinciri teknolojisi uygulamalarını gerçekleştirmek için anahtar bir itici güç olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek için sıfır bilgi kanıtı (ZKP) ile ilgili bilgileri sistematik bir şekilde derlemeye karar verdik. Bu amaçla, ZKP ile ilgili temel akademik makaleleri kapsamlı bir şekilde inceledik; aynı zamanda, bu alandaki önde gelen projelerin belgelerini ve beyaz kitaplarını detaylı bir şekilde analiz ettik. Bu kapsamlı belge toplama ve analiz süreci, bu makalenin yazımı için sağlam bir temel sağladı.
Bir, zk-SNARKs Temel Bilgileri
1. Genel Bakış
1985 yılında, akademisyenler Goldwasser, Micali ve Rackoff ilk kez zk-SNARKs ( Zero-Knowledge Proof, ZKP ) ve etkileşimli bilgi kanıtı ( Interactive Zero-Knowledge, IZK )'i önerdiler. Bu makale, zk-SNARKs'in temelini oluşturan bir çalışmadır ve sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamıştır. Örneğin, bilginin tanımı "hesaplanamaz çıktı" olarak belirtilmiştir, yani bilgi bir çıktı olmalı ve hesaplanamaz olmalıdır; bu, onun basit bir işlev olmaması gerektiği, aksine karmaşık bir işlev olması gerektiği anlamına gelir. Hesaplanamazlık genellikle bir NP problemi olarak anlaşılabilir, yani çözümünün doğruluğunun polinom zamanda doğrulanabileceği bir sorun, 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ğini ve uygulanabilirliğini ölçmek için önemli bir standarttır. NP problemlerinin çözüm süreci karmaşık olduğu için hesaplanamaz olarak kabul edilir; ancak doğrulama süreci göreceli olarak basit olduğu için zk-SNARKs doğrulaması için çok uygundur.
NP probleminin klasik bir örneği seyahat eden satıcı problemidir; burada bir dizi şehri ziyaret edip başlangıç noktasına geri dönmenin en kısa yolunu 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 daha kolaydır. Çünkü belirli bir yolun toplam mesafesini doğrulamak polinom zamanında tamamlanabilir.
Goldwasser ve arkadaşları, 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)' nin belirli bir ifadenin doğruluğunu kanıtlamak için çoklu etkileşimler aracılığıyla çalıştığı etkileşimli kanıt sistemini (Interactive Proof Systems, IPS) önerdiler.
Yukarıda, Goldwasser ve diğerlerinin özetlediği zk-SNARKs tanımı, doğrulayıcının doğrulama sürecinde ifadelerin doğruluk değerinden başka herhangi bir ek bilgi almadığı özel bir etkileşimli kanıt türüdür; ve üç temel özellik önermiştir:
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 ( sesliliği ): Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı sadece önemsizdir;
zk-SNARKs (zero-knowledge): Kanıtlama süreci tamamlandıktan sonra, doğrulayıcı sadece "kanıtlayıcının bu bilgiye sahip olduğu" bilgisini alır ve başka hiçbir ek içerik elde edemez.
2. zk-SNARKs örneği
Sıfır bilgi kanıtlarını ve özelliklerini daha iyi anlamak için, aşağıda bir kanıtlayıcının belirli gizli bilgilere sahip olup olmadığını doğrulamak 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 aşamada, kanıtlayıcının hedefi, belirli bir gizli sayı s'yi bildiğini kanıtlayan bir kanıt oluşturmaktır, ancak s'yi doğrudan göstermemektir. Gizli sayı s olarak belirlenmiştir;
İki büyük asal sayıyı p ve q seçin, bunların çarpımını n olarak hesaplayın. Asal sayıları p ve q olarak 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 çıkarması için yeterli değildir;
Rastgele bir tamsayı r seçin, x = r^2 mod n hesaplayın ve 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 tamsayı r'yi varsayarak hesaplanan x'yi belirleyin.
İkinci adım: meydan okuma (Challenge)
Doğrulayıcı rastgele bir a( konumunu seçebilir, bu 0 veya 1) olabilir ve ardından bunu kanıtlayıcıya gönderir. Bu "meydan okuma", kanıtlayıcının sonraki adımları için ne yapması gerektiğini belirler.
Üçüncü adım: yanıt (Response)
Doğrulayıcıdan gelen 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'ya göre, kanıtlayıcı g'yi hesaplar;
Sonunda, doğrulayıcı alınan g'ye göre 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ı x=g^2 mod n'i hesaplar, sağdaki g^2 mod n'i doğrular; a=1 olduğunda, doğrulayıcı x=g^2/v mod n'i hesaplar, sağdaki (rs)^2/s^2 mod n'i doğrular.
Burada, doğrulayıcı tarafından hesaplanan x=g^2 mod n'nin, kanıtlayıcının doğrulama sürecinden başarıyla geçtiğini, aynı zamanda gizli sayısı s'yi ifşa etmediğini gösterdiğini görüyoruz. Burada, a'nın yalnızca 0 veya 1 alabileceğinden, kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı 1/2('dir ve a 0 olduğunda ). Ancak doğrulayıcı daha sonra kanıtlayıcıya k kez tekrar 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)^k(, sonsuz olarak 0)'ye yaklaşır ve kanıtlayıcının gerçekten bir gizli sayı s bildiği sonucuna varılır. 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ıtlar.
İki, Etkileşimsiz zk-SNARKs
1. Arka Plan
zk-SNARKs(ZKP) geleneksel kavramlarda genellikle etkileşimli ve çevrimiçi protokol biçimidir; örneğin, Sigma protokolü genellikle kimlik doğrulamasını tamamlamak için üç ila beş tur etkileşim gerektirir. Ancak, anlık işlem veya oylama gibi senaryolarda, genellikle çoklu etkileşimler için fırsat yoktur, özellikle blok zinciri teknolojisi uygulamalarında, çevrimdışı doğrulama işlevinin önemi daha belirgin hale gelir.
2. NIZK'in önerilmesi
1988 yılında, Blum, Feldman ve Micali ilk kez etkileşimsiz sıfır bilgi ( NIZK ) kanıtı kavramını ortaya attı ve kanıtlayıcının ( Prover ) ile doğrulayıcının ( Verifier ) çoklu etkileşime ihtiyaç duymadan doğrulama sürecini tamamlayabileceği olasılığını kanıtladı. Bu atılım, anlık işlemler, oylama ve blok zinciri uygulamalarının gerçekleştirilmesini mümkün kıldı.
Onlar, etkileşimsiz zk-SNARKs ( NIZK )'in üç aşamaya ayrılabileceğini önerdiler:
Aşama ayarlarında hesaplama fonksiyonları kullanarak güvenlik parametrelerini kamu bilgisine dönüştürün. (, hem kanıtlayıcı hem de doğrulayıcı tarafından erişilebilir, genellikle ortak bir referans dizesi )CRS( içinde kodlanır. Bu, kanıtları hesaplamak ve doğru parametreler ile algoritmalar kullanarak doğrulamak için bir yöntemdir.
Hesaplama aşamasında hesaplama fonksiyonu, giriş ve kanıt anahtarları kullanılır, çıkış hesaplama sonuçları ve kanıttır.
Doğrulama aşamasında, kanıtın geçerliliğini doğrulamak için doğrulama anahtarı kullanılır.
Önerilen kamu referans dizesi )CRS( modeli, tüm katılımcıların bir dizeyi paylaşmasına dayanarak NP probleminin etkileşimsiz sıfır bilgi kanıtını gerçekleştirmektedir. Bu modelin çalışması, CRS'nin güvenilir bir şekilde üretilmesine bağlıdır; tüm katılımcıların aynı dizeye erişebilmesi gerekmektedir. CRS doğru ve güvenli bir şekilde üretildiğinde, bu modele dayalı uygulamaların güvenliğini sağlamaktadır. Çok sayıda katılımcı için CRS üretim süreci karmaşık ve zaman alıcı olabilir, bu nedenle bu tür uygulamalar genellikle kolay çalıştırılsa da ve kanıt boyutu küçük olsa da, kurulum süreci oldukça zorludur.
Sonrasında, NIZK teknolojisi hızlı bir gelişim gösterdi ve etkileşimli sıfır bilgi kanıtlarını etkileşimsiz kanıtlara dönüştüren çeşitli yöntemler ortaya çıktı. Bu yöntemler sistemin inşasında