zk-SNARKs teknolojisinin Blok Zinciri alanındaki uygulamaları ve gelişimi
Özet
Sıfır Bilgi Kanıtı (ZKP) teknolojisi, blok zinciri alanındaki en önemli yeniliklerden biri olarak geniş çapta kabul edilmektedir. Bu makale, ZKP teknolojisinin son kırk yıla ait tarihsel literatürünü ve en son araştırmalarını sistematik bir şekilde incelemektedir.
Öncelikle ZKP'nin temel kavramları ve tarihsel arka planı tanıtıldı. Ardından devre tabanlı ZKP teknolojisi, zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs ve Ligero gibi modellerin tasarımı, uygulamaları ve optimizasyon yöntemleri üzerinde yoğunlaşarak analiz edildi. Hesaplama ortamı alanında, ZKVM ve ZKEVM tanıtılarak, bunların işlem işleme yeteneğini nasıl artırdığı, gizliliği koruduğu ve doğrulama verimliliğini artırdığı üzerinde duruldu. Makalede ayrıca ZK 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 tanıtıldı.
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 yönündeki potansiyeli incelenmiştir.
Bu makale, bu en son teknolojilerin ve gelişim trendlerinin analizini yaparak, ZKP teknolojisinin anlaşılması ve uygulanması için kapsamlı bir bakış açısı sunmakta, ayrıca blok zinciri sistemlerinin verimliliğini ve güvenliğini artırmadaki büyük potansiyelini göstermekte, gelecekteki yatırım kararları için önemli bir referans sağlamaktadır.
İçindekiler
Önsöz
Bir. zk-SNARKs Temel Bilgileri
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 Defektler 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ıtlarına dayalı çözüm
Olasılığa Dayalı Kontrol Edilebilir Kanıtlar (PCP) üzerine zk-SNARKs
CPC'ye Dayalı Ayarlama Aşaması Sınıflandırması
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'nin Çalışma Prensibi
ZKEVM'in uygulanma süreci
ZKEVM'nin Özellikleri
Yedi, zk-SNARKs İkincil Ağ Çözümünün Genel Görünümü 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 ölçeklenebilirlik teknolojisi ile ilgili gelişmeler
ZKP arasında etkileşim gelişimi
Dokuz, Sonuç
Kaynaklar
Giriş
İnternet, Web3 çağını girmekte ve blok zinciri uygulamalarının gelişimi hızlı bir şekilde ilerlemektedir. Son birkaç yılda, blok zinciri platformları her gün milyonlarca kullanıcının etkinliğini taşıyarak on milyarlarca işlem gerçekleştirmektedir. Bu işlemler sonucunda oluşan büyük veri genellikle kullanıcı kimlikleri, işlem miktarları, hesap adresleri ve hesap bakiyeleri gibi hassas kişisel bilgileri içermektedir. Blok zincirinin açık ve şeffaflık özellikleri göz önüne alındığında, saklanan 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 taraflı hesaplama ve zk-SNARKs yer almaktadır. Homomorfik şifreleme, şifrelenmiş verileri çözmeden işlemler yapmaya olanak tanır, bu da hesap bakiyeleri ve işlem miktarlarının güvenliğini korumaya yardımcı olur, ancak hesap adreslerinin güvenliğini koruyamaz. Halka imzaları, imzalayanın kimliğini gizleyerek hesap adresinin güvenliğini koruma yeteneğine sahip özel bir dijital imza biçimi sunar, ancak hesap bakiyeleri ve işlem miktarları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 olmadan, hesaplama görevlerini birden fazla katılımcı arasında dağıtılmasına olanak tanır, bu da hesap bakiyeleri ve işlem miktarları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 miktarını, hesap adresini ve hesap bakiyesini açığa çıkarmadan, bir doğrulayıcının yeterli işlem miktarına sahip olup olmadığını doğrulamak için kullanılamaz.
zk-SNARKs, belirli önermelerin doğruluğunu, herhangi bir aracılık verisi ifşa etmeden doğrulamaya olanak tanıyan daha kapsamlı bir çözümdür. Bu doğrulama protokolü karmaşık bir açık anahtar altyapısı gerektirmez ve tekrar eden uygulamaları kötü niyetli kullanıcılara ek yararlı bilgiler elde etme fırsatı vermez. ZKP aracılığıyla, doğrulayıcılar, özel işlem verilerini ifşa etmeden, kanıt sunucusunun yeterli işlem miktarına sahip olup olmadığını doğrulayabilirler. Doğrulama süreci, kanıt sunucusunun 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ış hesaplamalar yapar ve nihai hesaplama sonucunu ortaya koyarak, kanıt sunucusunun beyanını kabul edip etmeyeceğine karar verir. Eğer kanıt sunucusunun 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 sahtekarlık olmaksızın blok zincirine kaydedilebilir.
ZKP'nin bu özelliği, onu 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 sadece akademik araştırmaların odak noktası haline getirmekle kalmıyor, aynı zamanda dağıtılmış defter teknolojisinin 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.
Buna bağlı olarak, ZKP tabanlı birçok ağ projesi ortaya çıktı, bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo gibi projeler bulunuyor. Bu projelerin gelişimiyle birlikte, ZKP'ye ilişkin algoritma yenilikleri sürekli olarak ortaya çıkmakta, neredeyse her hafta yeni algoritmaların piyasaya sürüldüğü bildirilmektedir. Ayrıca, ZKP teknolojisiyle ilgili donanım geliştirmeleri de hızla ilerlemekte, ZKP'ye özel olarak optimize edilmiş çipler gibi örnekler de bulunmaktadır. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fonlama toplama işlemlerini tamamladılar, 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 gelişmeler, zk-SNARKs teknolojisinin yalnızca kriptografi alanında önemli bir atılım değil, aynı zamanda daha geniş blok zinciri teknolojisi uygulamalarının ana itici gücü olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek için zk-SNARKs ile ilgili bilgileri sistematik bir şekilde düzenlemeye karar verdik. Bunun için, ZKP ile ilgili temel akademik makaleleri kapsamlı bir şekilde gözden geçirdik; aynı zamanda, bu alandaki önde gelen projelerin belgelerini ve beyaz kağıtlarını da ayrıntılı bir şekilde analiz ettik. Bu kapsamlı veri 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, "The Knowledge Complexity of Interactive Proof-Systems" başlıklı makalelerinde ilk kez zk-SNARKs ve etkileşimli bilgi kanıtlarını önerdiler. Bu makale, zk-SNARKs'ın temelini atan bir çalışma olup, sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamaktadır. Örneğin, bilginin tanımı "hesaplanamaz bir çıktıdır" şeklindedir; yani bilgi bir çıktı olmalı ve hesaplanamaz bir işlem olmalıdır, bu da onun basit bir fonksiyon olmaması gerektiği, 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 zamanında doğrulayabilen bir problem, polinom zaman ise algoritmanın çalışma süresinin girdi boyutunun polinom fonksiyonu ile ifade edilebileceği anlamına gelir. Bu, bilgisayar biliminde algoritmanın verimliliği ve uygulanabilirliği için önemli bir ölçüttür. 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 gezgin satıcı problemidir; burada bir dizi şehri ziyaret edip başlangıç noktasına geri dönmek için en kısa yolu bulmak gerekmektedir. En kısa yolu bulmak zor olsa da, verilen bir yolun bu yolun en kısa olup olmadığını doğrulamak görece daha kolaydır. Çünkü belirli bir yolun toplam mesafesini doğrulamak çok terimli zamanda gerçekleştirilebilir.
Goldwasser ve arkadaşları, makalelerinde "bilgi karmaşıklığı" kavramını tanıtarak, etkileşimli kanıt sistemlerinde kanıtlayıcının doğrulayıcıya sızdırdığı bilgi miktarını ölçmeyi amaçladılar. Ayrıca, kanıtlayıcının ve doğrulayıcının bir ifadenin doğruluğunu kanıtlamak için çoklu etkileşimler yoluyla çalıştığı etkileşimli kanıt sistemini de önerdiler.
Yukarıda, Goldwasser ve diğerlerinin özetlediği zk-SNARKs tanımı, doğrulayıcının doğrulama sürecinde ifadelerin doğru olup olmadığı dışında herhangi bir ek bilgi edinmediği özel bir etkileşimli kanıt türüdür; ayrıca üç temel özellik önerilmiştir:
Tamlık: Eğer kanıt doğruysa, dürüst bir kanıtlayıcı dürüst bir doğrulayıcıyı bu gerçeği ikna edebilir;
2.Güvenilirlik: Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı sadece önemsiz bir seviyededir;
Sıfır Bilgi: 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 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.
Birinci Adım: Ayarlamak
Bu adımda, kanıtlayıcının amacı, belirli bir gizli sayı s'yi bildiğini kanıtlayan bir kanıt oluşturmak, ancak s'yi doğrudan göstermemektir. Gizli sayıyı belirleyin;
İki büyük asal sayı p ve q seçin, bunların çarpımını hesaplayın. Asal sayıların toplamını belirleyin, elde edilen sonucu hesaplayın;
Hesaplama, 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 tamsayı r seçin, hesaplayın ve doğrulayıcıya gönderin. Bu x değeri sonraki doğrulama süreci için kullanılır, ancak yine de s'yi ifşa etmez. Rastgele tamsayıyı belirleyin, hesaplanan değeri elde edin.
İkinci Adım: Meydan Okuma
Doğrulayıcı rastgele bir a( konumu seçebilir, bu 0 veya 1) olabilir, ardından bunu kanıtlayıcıya gönderir. Bu "meydan okuma", kanıtlayıcının sonraki adımda atması gereken adımları belirler.
Üçüncü adım: Yanıt
Doğrulayıcı tarafından gönderilen a değerine göre, kanıtlayıcı yanıt verir:
Eğer, kanıtlayıcı ( burada r'nin daha önce rastgele seçtiği sayı ) olduğunu gönderiyorsa.
Eğer, kanıtlayıcı hesaplar ve gönderirse. Doğrulayıcı tarafından gönderilen rastgele bitleri belirleyin, a'nın değerine göre, kanıtlayıcı hesaplama yapar;
Son olarak, doğrulayıcı alınan g'yi eşitlikle doğrular. Eşitlik sağlandığında, doğrulayıcı bu kanıtı kabul eder. O anda, doğrulayıcı doğrulayıcı hesaplar, sağ tarafı doğrular; O anda, doğrulayıcı doğrulayıcı hesaplar, sağ tarafı doğrular.
Burada, doğrulayıcıların hesapladıkları açıklamanın, kanıtlayıcının doğrulama sürecini başarıyla geçtiğini gösterirken, aynı zamanda onun gizli sayısı s'yi sızdırmadığını görüyoruz. Burada, a yalnızca 0 veya 1 alabileceğinden, iki olasılık vardır, kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı ('dir. Ancak doğrulayıcı daha sonra kanıtlayıcıya bir kez daha meydan okur, kanıtlayıcı ilgili sayılarını sürekli 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ığı )'den 0('e sonsuz şekilde yaklaşır, kanıtlayıcının gerçekten belirli bir gizli sayı s'yi bildiği sonucu kanıtlanı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ıtlamaktadır.
İki, Etkileşimsiz zk-SNARKs
) 1. Arka Plan
Sıfır Bilgi Kanıtları, geleneksel kavramlarda genellikle etkileşimli ve çevrimiçi protokol biçiminde bulunur; örneğin, Sigma protokolü genellikle kimlik doğrulama işlemini tamamlamak için üç ila beş etkileşim turuna ihtiyaç duyar. Ancak, anlık işlem veya oylama gibi senaryolarda, çok tur etkileşimde bulunmak için genellikle 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, etkileşimsiz zk-SNARKs kavramını ilk kez önerdiler ve çoklu etkileşim olmadan, kanıtlayıcı ile doğrulayıcı arasında doğrulama sürecinin gerçekleştirilebileceğini kanıtladılar. 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'nin üç aşamaya ayrılabileceğini önerdiler:
Ayar
Hesaplama
Doğrulama
Aşama ayarları, güvenlik parametrelerini kamu bilgisine dönüştüren bir hesaplama fonksiyonu kullanır ve genellikle ortak bir referans dizisinde kodlanır. Bu, hesaplama kanıtı oluşturmanın ve doğru parametreler ile algoritmalar kullanarak doğrulamanın bir yoludur.
Hesaplama aşaması, hesaplama fonksiyonunu, girdi ve kanıt anahtarlarını kullanarak, hesaplama sonuçları ve kanıtları çıkartır.
Doğrulama aşamasında, kanıtın geçerliliğini doğrulamak için doğrulama anahtarı kullanılır.
Önerdikleri kamu referans dizesi modeli, yani tüm katılımcıların bir dizeyi paylaşmasına dayanıyor.
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.
zk-SNARKs teknolojisiyle Blok Zinciri'nde: Algoritma'dan donanıma tüm ilerlemeler
zk-SNARKs teknolojisinin Blok Zinciri alanındaki uygulamaları ve gelişimi
Özet
Sıfır Bilgi Kanıtı (ZKP) teknolojisi, blok zinciri alanındaki en önemli yeniliklerden biri olarak geniş çapta kabul edilmektedir. Bu makale, ZKP teknolojisinin son kırk yıla ait tarihsel literatürünü ve en son araştırmalarını sistematik bir şekilde incelemektedir.
Öncelikle ZKP'nin temel kavramları ve tarihsel arka planı tanıtıldı. Ardından devre tabanlı ZKP teknolojisi, zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs ve Ligero gibi modellerin tasarımı, uygulamaları ve optimizasyon yöntemleri üzerinde yoğunlaşarak analiz edildi. Hesaplama ortamı alanında, ZKVM ve ZKEVM tanıtılarak, bunların işlem işleme yeteneğini nasıl artırdığı, gizliliği koruduğu ve doğrulama verimliliğini artırdığı üzerinde duruldu. Makalede ayrıca ZK 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 tanıtıldı.
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 yönündeki potansiyeli incelenmiştir.
Bu makale, bu en son teknolojilerin ve gelişim trendlerinin analizini yaparak, ZKP teknolojisinin anlaşılması ve uygulanması için kapsamlı bir bakış açısı sunmakta, ayrıca blok zinciri sistemlerinin verimliliğini ve güvenliğini artırmadaki büyük potansiyelini göstermekte, gelecekteki yatırım kararları için önemli bir referans sağlamaktadır.
İçindekiler
Önsöz
Bir. zk-SNARKs Temel Bilgileri
İ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ünün Genel Görünümü ve Gelişimi
Sekiz, zk-SNARKs'in gelecekteki gelişim yönleri
Dokuz, Sonuç
Kaynaklar
Giriş
İnternet, Web3 çağını girmekte ve blok zinciri uygulamalarının gelişimi hızlı bir şekilde ilerlemektedir. Son birkaç yılda, blok zinciri platformları her gün milyonlarca kullanıcının etkinliğini taşıyarak on milyarlarca işlem gerçekleştirmektedir. Bu işlemler sonucunda oluşan büyük veri genellikle kullanıcı kimlikleri, işlem miktarları, hesap adresleri ve hesap bakiyeleri gibi hassas kişisel bilgileri içermektedir. Blok zincirinin açık ve şeffaflık özellikleri göz önüne alındığında, saklanan 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 taraflı hesaplama ve zk-SNARKs yer almaktadır. Homomorfik şifreleme, şifrelenmiş verileri çözmeden işlemler yapmaya olanak tanır, bu da hesap bakiyeleri ve işlem miktarlarının güvenliğini korumaya yardımcı olur, ancak hesap adreslerinin güvenliğini koruyamaz. Halka imzaları, imzalayanın kimliğini gizleyerek hesap adresinin güvenliğini koruma yeteneğine sahip özel bir dijital imza biçimi sunar, ancak hesap bakiyeleri ve işlem miktarları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 olmadan, hesaplama görevlerini birden fazla katılımcı arasında dağıtılmasına olanak tanır, bu da hesap bakiyeleri ve işlem miktarları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 miktarını, hesap adresini ve hesap bakiyesini açığa çıkarmadan, bir doğrulayıcının yeterli işlem miktarına sahip olup olmadığını doğrulamak için kullanılamaz.
zk-SNARKs, belirli önermelerin doğruluğunu, herhangi bir aracılık verisi ifşa etmeden doğrulamaya olanak tanıyan daha kapsamlı bir çözümdür. Bu doğrulama protokolü karmaşık bir açık anahtar altyapısı gerektirmez ve tekrar eden uygulamaları kötü niyetli kullanıcılara ek yararlı bilgiler elde etme fırsatı vermez. ZKP aracılığıyla, doğrulayıcılar, özel işlem verilerini ifşa etmeden, kanıt sunucusunun yeterli işlem miktarına sahip olup olmadığını doğrulayabilirler. Doğrulama süreci, kanıt sunucusunun 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ış hesaplamalar yapar ve nihai hesaplama sonucunu ortaya koyarak, kanıt sunucusunun beyanını kabul edip etmeyeceğine karar verir. Eğer kanıt sunucusunun 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 sahtekarlık olmaksızın blok zincirine kaydedilebilir.
ZKP'nin bu özelliği, onu 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 sadece akademik araştırmaların odak noktası haline getirmekle kalmıyor, aynı zamanda dağıtılmış defter teknolojisinin 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.
Buna bağlı olarak, ZKP tabanlı birçok ağ projesi ortaya çıktı, bunlar arasında ZkSync, StarkNet, Mina, Filecoin ve Aleo gibi projeler bulunuyor. Bu projelerin gelişimiyle birlikte, ZKP'ye ilişkin algoritma yenilikleri sürekli olarak ortaya çıkmakta, neredeyse her hafta yeni algoritmaların piyasaya sürüldüğü bildirilmektedir. Ayrıca, ZKP teknolojisiyle ilgili donanım geliştirmeleri de hızla ilerlemekte, ZKP'ye özel olarak optimize edilmiş çipler gibi örnekler de bulunmaktadır. Örneğin, Ingonyama, Irreducible ve Cysic gibi projeler büyük ölçekli fonlama toplama işlemlerini tamamladılar, 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 gelişmeler, zk-SNARKs teknolojisinin yalnızca kriptografi alanında önemli bir atılım değil, aynı zamanda daha geniş blok zinciri teknolojisi uygulamalarının ana itici gücü olduğunu göstermektedir.
Bu nedenle, gelecekteki yatırım kararlarımızı daha iyi desteklemek için zk-SNARKs ile ilgili bilgileri sistematik bir şekilde düzenlemeye karar verdik. Bunun için, ZKP ile ilgili temel akademik makaleleri kapsamlı bir şekilde gözden geçirdik; aynı zamanda, bu alandaki önde gelen projelerin belgelerini ve beyaz kağıtlarını da ayrıntılı bir şekilde analiz ettik. Bu kapsamlı veri 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, "The Knowledge Complexity of Interactive Proof-Systems" başlıklı makalelerinde ilk kez zk-SNARKs ve etkileşimli bilgi kanıtlarını önerdiler. Bu makale, zk-SNARKs'ın temelini atan bir çalışma olup, sonraki akademik araştırmaları etkileyen birçok kavramı tanımlamaktadır. Örneğin, bilginin tanımı "hesaplanamaz bir çıktıdır" şeklindedir; yani bilgi bir çıktı olmalı ve hesaplanamaz bir işlem olmalıdır, bu da onun basit bir fonksiyon olmaması gerektiği, 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 zamanında doğrulayabilen bir problem, polinom zaman ise algoritmanın çalışma süresinin girdi boyutunun polinom fonksiyonu ile ifade edilebileceği anlamına gelir. Bu, bilgisayar biliminde algoritmanın verimliliği ve uygulanabilirliği için önemli bir ölçüttür. 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 gezgin satıcı problemidir; burada bir dizi şehri ziyaret edip başlangıç noktasına geri dönmek için en kısa yolu bulmak gerekmektedir. En kısa yolu bulmak zor olsa da, verilen bir yolun bu yolun en kısa olup olmadığını doğrulamak görece daha kolaydır. Çünkü belirli bir yolun toplam mesafesini doğrulamak çok terimli zamanda gerçekleştirilebilir.
Goldwasser ve arkadaşları, makalelerinde "bilgi karmaşıklığı" kavramını tanıtarak, etkileşimli kanıt sistemlerinde kanıtlayıcının doğrulayıcıya sızdırdığı bilgi miktarını ölçmeyi amaçladılar. Ayrıca, kanıtlayıcının ve doğrulayıcının bir ifadenin doğruluğunu kanıtlamak için çoklu etkileşimler yoluyla çalıştığı etkileşimli kanıt sistemini de önerdiler.
Yukarıda, Goldwasser ve diğerlerinin özetlediği zk-SNARKs tanımı, doğrulayıcının doğrulama sürecinde ifadelerin doğru olup olmadığı dışında herhangi bir ek bilgi edinmediği özel bir etkileşimli kanıt türüdür; ayrıca üç temel özellik önerilmiştir:
2.Güvenilirlik: Eğer kanıtlayıcı beyanın içeriğini bilmiyorsa, doğrulayıcıyı aldatma olasılığı sadece önemsiz bir seviyededir;
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.
Birinci Adım: Ayarlamak
Bu adımda, kanıtlayıcının amacı, belirli bir gizli sayı s'yi bildiğini kanıtlayan bir kanıt oluşturmak, ancak s'yi doğrudan göstermemektir. Gizli sayıyı belirleyin;
İki büyük asal sayı p ve q seçin, bunların çarpımını hesaplayın. Asal sayıların toplamını belirleyin, elde edilen sonucu hesaplayın;
Hesaplama, 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 tamsayı r seçin, hesaplayın ve doğrulayıcıya gönderin. Bu x değeri sonraki doğrulama süreci için kullanılır, ancak yine de s'yi ifşa etmez. Rastgele tamsayıyı belirleyin, hesaplanan değeri elde edin.
İkinci Adım: Meydan Okuma
Doğrulayıcı rastgele bir a( konumu seçebilir, bu 0 veya 1) olabilir, ardından bunu kanıtlayıcıya gönderir. Bu "meydan okuma", kanıtlayıcının sonraki adımda atması gereken adımları belirler.
Üçüncü adım: Yanıt
Doğrulayıcı tarafından gönderilen a değerine göre, kanıtlayıcı yanıt verir:
Eğer, kanıtlayıcı ( burada r'nin daha önce rastgele seçtiği sayı ) olduğunu gönderiyorsa.
Eğer, kanıtlayıcı hesaplar ve gönderirse. Doğrulayıcı tarafından gönderilen rastgele bitleri belirleyin, a'nın değerine göre, kanıtlayıcı hesaplama yapar;
Son olarak, doğrulayıcı alınan g'yi eşitlikle doğrular. Eşitlik sağlandığında, doğrulayıcı bu kanıtı kabul eder. O anda, doğrulayıcı doğrulayıcı hesaplar, sağ tarafı doğrular; O anda, doğrulayıcı doğrulayıcı hesaplar, sağ tarafı doğrular.
Burada, doğrulayıcıların hesapladıkları açıklamanın, kanıtlayıcının doğrulama sürecini başarıyla geçtiğini gösterirken, aynı zamanda onun gizli sayısı s'yi sızdırmadığını görüyoruz. Burada, a yalnızca 0 veya 1 alabileceğinden, iki olasılık vardır, kanıtlayıcının şansa bağlı olarak doğrulamayı geçme olasılığı ('dir. Ancak doğrulayıcı daha sonra kanıtlayıcıya bir kez daha meydan okur, kanıtlayıcı ilgili sayılarını sürekli 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ığı )'den 0('e sonsuz şekilde yaklaşır, kanıtlayıcının gerçekten belirli bir gizli sayı s'yi bildiği sonucu kanıtlanı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ıtlamaktadır.
İki, Etkileşimsiz zk-SNARKs
) 1. Arka Plan
Sıfır Bilgi Kanıtları, geleneksel kavramlarda genellikle etkileşimli ve çevrimiçi protokol biçiminde bulunur; örneğin, Sigma protokolü genellikle kimlik doğrulama işlemini tamamlamak için üç ila beş etkileşim turuna ihtiyaç duyar. Ancak, anlık işlem veya oylama gibi senaryolarda, çok tur etkileşimde bulunmak için genellikle 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, etkileşimsiz zk-SNARKs kavramını ilk kez önerdiler ve çoklu etkileşim olmadan, kanıtlayıcı ile doğrulayıcı arasında doğrulama sürecinin gerçekleştirilebileceğini kanıtladılar. 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'nin üç aşamaya ayrılabileceğini önerdiler:
Aşama ayarları, güvenlik parametrelerini kamu bilgisine dönüştüren bir hesaplama fonksiyonu kullanır ve genellikle ortak bir referans dizisinde kodlanır. Bu, hesaplama kanıtı oluşturmanın ve doğru parametreler ile algoritmalar kullanarak doğrulamanın bir yoludur.
Hesaplama aşaması, hesaplama fonksiyonunu, girdi ve kanıt anahtarlarını kullanarak, hesaplama sonuçları ve kanıtları çıkartır.
Doğrulama aşamasında, kanıtın geçerliliğini doğrulamak için doğrulama anahtarı kullanılır.
Önerdikleri kamu referans dizesi modeli, yani tüm katılımcıların bir dizeyi paylaşmasına dayanıyor.