Modern zk-SNARKs sistemleri, 1985 yılında Goldwasser, Micali ve Rackoff'un birlikte yazdığı makaleden kaynaklanmaktadır. Bu makale, etkileşimli sistemlerde, bir ifadenin doğruluğunu kanıtlamak için gereken bilgi miktarını çoklu etkileşim yoluyla değiştirmeyi incelemektedir. Eğer sıfır bilgi değişimi gerçekleştirilebiliyorsa, buna sıfır bilgi kanıtı denir. Erken dönem zk-SNARKs sistemleri verimlilik ve pratiklik açısından yetersizlikler göstermiş, esasen teorik düzeyde kalmıştır.
Son on yılda, kriptolojinin kripto para alanındaki yükselişiyle birlikte, zk-SNARKs hızla gelişmeye başladı. Bu bağlamda, genel, etkileşimsiz ve sınırlı boyutlu zk-SNARKs protokolleri oluşturmak, önemli bir keşif yönü haline geldi. zk-SNARKs'ın temelini, kanıtlama hızı, doğrulama hızı ve kanıt boyutunun dengelenmesi oluşturur.
2010 yılında Groth'un yayınladığı makale, sıfır bilgi kanıtları alanında önemli bir atılım olup, zk-SNARK'ların teorik temellerini atmıştır. 2015 yılında Zcash, işlem gizliliğini korumak için sıfır bilgi kanıtı sistemini benimseyerek, bu teknolojinin uygulama düzeyindeki önemli bir ilerlemesini simgeliyor. Sonrasında, zk-SNARK'lar akıllı sözleşmelerle birleşerek daha geniş uygulama senaryolarını genişletti.
Diğer önemli akademik sonuçlar şunlardır:
2013'teki Pinokyo: Sıkıştırma kanıtı ve doğrulama süresini pratik bir aralığa indirmek
2016'daki Groth16: Kanıt boyutunu azaltma ve doğrulama verimliliğini artırma
2017'deki Bulletproofs: Güvenilir ayar gerektirmeyen kısa etkileşimsiz zk-SNARKs önerildi.
PLONK, Halo2 gibi teknolojilerin ortaya çıkması zk-SNARK'larda daha fazla iyileştirme sağladı.
İki, zk-SNARKs'in Uygulamaları
zk-SNARKs en yaygın iki uygulaması gizlilik koruma ve ölçeklenebilirliktir. Erken dönem gizli işlem projeleri olan Zcash ve Monero bir dönem büyük ilgi gördü, ancak gerçek talebin beklentilerin altında kalması nedeniyle giderek ana akımdan uzaklaştı. Son yıllarda, Ethereum 2.0'ın rollup merkezli bir yola geçişi ile ZK tabanlı ölçeklenebilirlik çözümleri yeniden odak noktası haline geldi.
gizli işlem
Gizli işlemlerin temsilci projeleri şunlardır:
SNARK kullanan Zcash ve Tornado
Bulletproof kullanarak Monero
Zcash örneğinde, zk-SNARKs işlem süreci şunları içerir: sistem ayarları, anahtar oluşturma, madencilik, işlem, doğrulama ve alma gibi adımlar. Ancak, Zcash'in bazı sınırlamaları vardır, örneğin UTXO modeline dayalı olması ve ölçeklenebilirliğinin zor olması gibi. Gerçekten gizli işlemler kullanan oran %10'dan azdır, bu da yaygınlaşmasının başarılı olmadığını göstermektedir.
Buna karşılık, Tornado tek bir büyük anonim havuz kullanarak daha genel bir yöntem sunmakta ve Ethereum ağına dayanmaktadır. Tornado esasen zk-SNARKs kullanan bir anonim havuzdur ve çeşitli gizlilik koruma özellikleri sunabilir.
genişletme
ZK'nın ölçeklenme alanındaki uygulamaları birinci katman ağı ( olarak Mina ) ve ikinci katman ağı ( yani zk-rollup ) olarak ikiye ayrılabilir. zk-rollup'un temel fikri ilk olarak Vitalik tarafından 2018'de ortaya atılmıştır.
zk-rollup esas olarak Sequencer ve Aggregator olmak üzere iki tür rol içerir. Sequencer işlemleri paketlemekle, Aggregator ise işlemleri birleştirip ZK kanıtı üreterek Ethereum durum ağacını güncellemekle sorumludur.
zk-rollup'un avantajları arasında: düşük maliyet, hızlı nihai sonuç, gizlilik koruma vb. dezavantajları ise: yüksek hesaplama yükü, güvenlik değerlendirmesi ( eğer SNARK güvenilir bir kurulum gerektiriyorsa ), işlem sırasını değiştirme olasılığı vb.
Piyasada mevcut olan başlıca zk-rollup projeleri şunlardır: StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll vb. Bu projeler, teknik yollarında esas olarak SNARK( ve onun geliştirilmiş versiyonları ) ile STARK arasında bir seçim yapmaktadırlar ve EVM desteği seviyeleri ile ilgilidir.
ZK sisteminin EVM ile uyumluluğu her zaman sektördeki önemli bir konu olmuştur. Şu anda iki ana çözüm bulunmaktadır: Solidity opcode'larıyla tamamen uyumlu olmak veya yeni ZK dostu bir sanal makine tasarlamak ve Solidity ile uyumlu hale getirmek. Son yıllarda teknolojinin hızlı bir şekilde evrim geçirmesi, EVM uyumluluğunu önemli ölçüde artırdı ve geliştiricilere daha fazla kolaylık sağladı.
Üç, ZK SNARKs'ın Temel Prensipleri
zk-SNARKs üç özelliği karşılamalıdır: bütünlük, güvenilirlik ve sıfır bilgi. zk-SNARK(Sıfır Bilgi Kısa Etkileşimsiz Bilgi Argümanı) önemli bir sıfır bilgi kanıtı çözümü olarak aşağıdaki özelliklere sahiptir:
zk-SNARKs: Kanıt süreci ek bilgi sızdırmaz.
Basit: doğrulama hacmi küçük
Etkileşimsiz: Çoklu etkileşime gerek yok
Güvenilirlik: Sınırlı hesaplama kapasitesine sahip kanıtlayıcılar kanıtları sahteleyemez.
Bilgi: Kanıtlayıcı, kanıtı oluşturmak için geçerli bilgileri bilmelidir.
Groth16 zk-SNARK'ı örnek olarak alırsak, kanıt prensibi aşağıdaki adımları içerir:
Sorunu devreye dönüştürmek
Devreyi R1CS formatına dönüştür
R1CS'nin QAP biçimine dönüştürülmesi
Güvenilir bir ayar oluşturun, rastgele parametreler üretin
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: Teorik Atılımdan Web3 Uygulama Senaryolarına
zk-SNARKs: Tarih, Uygulamalar ve İlkeler
Bir. zk-SNARKs'in Gelişim Süreci
Modern zk-SNARKs sistemleri, 1985 yılında Goldwasser, Micali ve Rackoff'un birlikte yazdığı makaleden kaynaklanmaktadır. Bu makale, etkileşimli sistemlerde, bir ifadenin doğruluğunu kanıtlamak için gereken bilgi miktarını çoklu etkileşim yoluyla değiştirmeyi incelemektedir. Eğer sıfır bilgi değişimi gerçekleştirilebiliyorsa, buna sıfır bilgi kanıtı denir. Erken dönem zk-SNARKs sistemleri verimlilik ve pratiklik açısından yetersizlikler göstermiş, esasen teorik düzeyde kalmıştır.
Son on yılda, kriptolojinin kripto para alanındaki yükselişiyle birlikte, zk-SNARKs hızla gelişmeye başladı. Bu bağlamda, genel, etkileşimsiz ve sınırlı boyutlu zk-SNARKs protokolleri oluşturmak, önemli bir keşif yönü haline geldi. zk-SNARKs'ın temelini, kanıtlama hızı, doğrulama hızı ve kanıt boyutunun dengelenmesi oluşturur.
2010 yılında Groth'un yayınladığı makale, sıfır bilgi kanıtları alanında önemli bir atılım olup, zk-SNARK'ların teorik temellerini atmıştır. 2015 yılında Zcash, işlem gizliliğini korumak için sıfır bilgi kanıtı sistemini benimseyerek, bu teknolojinin uygulama düzeyindeki önemli bir ilerlemesini simgeliyor. Sonrasında, zk-SNARK'lar akıllı sözleşmelerle birleşerek daha geniş uygulama senaryolarını genişletti.
Diğer önemli akademik sonuçlar şunlardır:
PLONK, Halo2 gibi teknolojilerin ortaya çıkması zk-SNARK'larda daha fazla iyileştirme sağladı.
İki, zk-SNARKs'in Uygulamaları
zk-SNARKs en yaygın iki uygulaması gizlilik koruma ve ölçeklenebilirliktir. Erken dönem gizli işlem projeleri olan Zcash ve Monero bir dönem büyük ilgi gördü, ancak gerçek talebin beklentilerin altında kalması nedeniyle giderek ana akımdan uzaklaştı. Son yıllarda, Ethereum 2.0'ın rollup merkezli bir yola geçişi ile ZK tabanlı ölçeklenebilirlik çözümleri yeniden odak noktası haline geldi.
gizli işlem
Gizli işlemlerin temsilci projeleri şunlardır:
Zcash örneğinde, zk-SNARKs işlem süreci şunları içerir: sistem ayarları, anahtar oluşturma, madencilik, işlem, doğrulama ve alma gibi adımlar. Ancak, Zcash'in bazı sınırlamaları vardır, örneğin UTXO modeline dayalı olması ve ölçeklenebilirliğinin zor olması gibi. Gerçekten gizli işlemler kullanan oran %10'dan azdır, bu da yaygınlaşmasının başarılı olmadığını göstermektedir.
Buna karşılık, Tornado tek bir büyük anonim havuz kullanarak daha genel bir yöntem sunmakta ve Ethereum ağına dayanmaktadır. Tornado esasen zk-SNARKs kullanan bir anonim havuzdur ve çeşitli gizlilik koruma özellikleri sunabilir.
genişletme
ZK'nın ölçeklenme alanındaki uygulamaları birinci katman ağı ( olarak Mina ) ve ikinci katman ağı ( yani zk-rollup ) olarak ikiye ayrılabilir. zk-rollup'un temel fikri ilk olarak Vitalik tarafından 2018'de ortaya atılmıştır.
zk-rollup esas olarak Sequencer ve Aggregator olmak üzere iki tür rol içerir. Sequencer işlemleri paketlemekle, Aggregator ise işlemleri birleştirip ZK kanıtı üreterek Ethereum durum ağacını güncellemekle sorumludur.
zk-rollup'un avantajları arasında: düşük maliyet, hızlı nihai sonuç, gizlilik koruma vb. dezavantajları ise: yüksek hesaplama yükü, güvenlik değerlendirmesi ( eğer SNARK güvenilir bir kurulum gerektiriyorsa ), işlem sırasını değiştirme olasılığı vb.
Piyasada mevcut olan başlıca zk-rollup projeleri şunlardır: StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll vb. Bu projeler, teknik yollarında esas olarak SNARK( ve onun geliştirilmiş versiyonları ) ile STARK arasında bir seçim yapmaktadırlar ve EVM desteği seviyeleri ile ilgilidir.
ZK sisteminin EVM ile uyumluluğu her zaman sektördeki önemli bir konu olmuştur. Şu anda iki ana çözüm bulunmaktadır: Solidity opcode'larıyla tamamen uyumlu olmak veya yeni ZK dostu bir sanal makine tasarlamak ve Solidity ile uyumlu hale getirmek. Son yıllarda teknolojinin hızlı bir şekilde evrim geçirmesi, EVM uyumluluğunu önemli ölçüde artırdı ve geliştiricilere daha fazla kolaylık sağladı.
Üç, ZK SNARKs'ın Temel Prensipleri
zk-SNARKs üç özelliği karşılamalıdır: bütünlük, güvenilirlik ve sıfır bilgi. zk-SNARK(Sıfır Bilgi Kısa Etkileşimsiz Bilgi Argümanı) önemli bir sıfır bilgi kanıtı çözümü olarak aşağıdaki özelliklere sahiptir:
Groth16 zk-SNARK'ı örnek olarak alırsak, kanıt prensibi aşağıdaki adımları içerir: