Sıfır Bilgi Kanıtlarına Yeni Başlayanlar Kılavuzu: Geliştirme Tarihi, Uygulamalar ve Temel İlkeler

Yeni BaşlayanJan 06, 2024
Bu makale sıfır bilgi kanıtlarının gelişim tarihini ve temel ilkelerini sistematik olarak tanıtmaktadır.
Sıfır Bilgi Kanıtlarına Yeni Başlayanlar Kılavuzu: Geliştirme Tarihi, Uygulamalar ve Temel İlkeler

Blockchain endüstrisindeki sıfır bilgi kanıtı projelerinin (ZKP) mevcut büyüme oranı şaşırtıcıdır, özellikle ZKP uygulamalarının iki genişleme ve gizlilik koruma seviyesindeki yükselişi bizi çeşitli sıfır bilgi kanıtı projelerine maruz bıraktı. ZKP'nin son derece matematiksel doğasından dolayı, şifreleme meraklılarının ZK'yi derinlemesine anlaması çok daha zordur. Bu nedenle, ZKP teorisi ve uygulamasındaki bazı değişiklikleri en başından itibaren çözmeyi ve kripto endüstrisi üzerindeki etkiyi ve değeri okuyucularla birlikte keşfetmeyi - aynı zamanda HashKey'in düşüncelerinin bir özeti olarak da hizmet veren çeşitli raporlarla birlikte öğrenmeyi umuyoruz. Sermaye araştırma ekibi. Bu makale serinin ilkidir ve esas olarak ZKP'nin gelişim tarihini, uygulamalarını ve bazı temel ilkelerini tanıtmaktadır.

1. Sıfır bilgi kanıtlarının tarihi

Modern sıfır bilgi kanıt sistemi, Goldwasser, Micali ve Rackoff tarafından ortaklaşa yayınlanan ve 1985'te önerilen ve 1989'da yayınlanan The Knowledge Complexity of Interactive Proof Systems (GMR85) adlı makaleden kaynaklanmıştır. Bu makale temel olarak etkileşimli bir sistemdeki K tur etkileşimden sonra bir ifadenin doğru olduğunu kanıtlamak için ne kadar bilginin paylaşılması gerektiğini açıklamaktadır. Eğer değiş tokuş edilen bilgi sıfırlanabiliyorsa buna sıfır bilgi kanıtı denir. Kanıtlayıcının sınırsız kaynaklara, doğrulayıcının ise yalnızca sınırlı kaynaklara sahip olduğu varsayılmaktadır. Etkileşimli sistemlerle ilgili sorun, kanıtın tamamen matematiksel olarak kanıtlanabilir olmaması, ancak olasılık çok küçük olmasına rağmen (1/2^n) olasılıksal anlamda doğru olmasıdır.

Bu nedenle etkileşimli sistem mükemmel değildir ve yalnızca yaklaşık bir bütünlüğe sahiptir. Bu temelde doğan etkileşimli olmayan sistem (NP) sistemi eksiksizliğe sahiptir ve sıfır bilgi kanıtı sistemi için mükemmel bir seçim haline gelir.

İlk sıfır bilgi kanıt sistemleri verimlilik ve kullanılabilirlik açısından eksikti, bu nedenle her zaman teorik düzeyde kaldılar. Son 10 yıla kadar gelişmeye başlamadılar. Kriptografi kriptoda öne çıktıkça sıfır bilgi kanıtları da ön plana çıktı ve önemli bir yön haline geldi. Özellikle, sınırlı kanıt boyutuna sahip genel, etkileşimli olmayan, sıfır bilgi kanıt protokolü geliştirmek, en kritik keşif yönlerinden biridir.

Temel olarak sıfır bilgi kanıtı, kanıtın hızı, doğrulama hızı ve kanıtın boyutu arasında bir dengedir. İdeal protokol hızlı prova, hızlı doğrulama ve küçük prova boyutudur.

Sıfır bilgi kanıtındaki en önemli buluş, aynı zamanda ZKP'deki en önemli zk-SNARK grubunun teorik öncüsü olan Groth'un 2010 tarihli Kısa Eşleştirme Tabanlı Etkileşimli Olmayan Sıfır Bilgi Argümanları adlı makalesidir.

Sıfır bilgi kanıtının uygulanmasındaki en önemli gelişme, Z-cash'in 2015 yılında kullandığı, işlemlerin ve tutarların gizliliğini koruyan sıfır bilgi kanıtı sistemidir. Daha sonra zk-SNARK ve akıllı sözleşmelerin birleşimine dönüştü ve zk-SNARK Daha Geniş uygulama senaryolarına girdi.

Bu dönemdeki bazı önemli akademik başarılar şunlardır:

  1. 2013'te Pinokyo (PGHR13): Pinokyo: Kanıt ve doğrulama süresini uygulanabilir kapsama sıkıştıran Neredeyse Pratik Doğrulanabilir Hesaplama, aynı zamanda Zcash tarafından kullanılan temel protokoldür.
  2. 2016'da Groth16: Eşleştirme Tabanlı Etkileşimsiz Argümanların Boyutu Üzerine Kanıtın boyutunu basitleştiren ve doğrulama verimliliğini artıran, şu anda en yaygın kullanılan ZK temel algoritmasıdır.
  3. Kurşun Geçirmezler (BBBPWM17) Kurşun Geçirmezler: Gizli İşlemler için Kısa Kanıtlar ve Daha Fazlası 2017'de, güvenilir bir kurulum gerektirmeyen çok kısa, etkileşimli olmayan bir sıfır bilgi kanıtı olan Kurşun Geçirmez algoritmasını önerdi. Monero’ya 6 ay sonra uygulanacaktır ve oldukça hızlıdır. Teori ve uygulamanın birleşimi.
  4. 2018 yılında zk-STARK'lar (BBHR18) Ölçeklenebilir, şeffaf ve kuantum sonrası güvenli hesaplama bütünlüğü, güvenilir ayarlar gerektirmeyen bir ZK-STARK algoritma protokolü önerdi. Bu, şu anda ZK gelişiminin bir başka dikkat çekici yönüdür ve aynı zamanda buna dayanmaktadır. En önemli ZK projesi olan StarkWare doğdu.

PLONK, Halo2 vb. gibi diğer gelişmeler de son derece önemli ilerlemelerdir ve zk-SNARK'ta da bazı iyileştirmeler sağlamıştır.

2. Sıfır bilgi kanıtının uygulanmasına ilişkin kısa açıklama

Sıfır bilgi kanıtlarının en yaygın iki uygulaması gizlilik koruması ve kapasite genişletmedir. İlk günlerde, gizlilik işlemlerinin ve Zcash ve Monero gibi birçok tanınmış projenin piyasaya sürülmesiyle birlikte, gizlilik işlemleri bir zamanlar çok önemli bir kategori haline geldi. Ancak gizlilik işlemlerinin gerekliliği sektörün umduğu kadar belirgin olmadığından bu tür temsili projeler yavaşlamaya başladı. Yavaş yavaş ikinci ve üçüncü kademe kamplara girin (tarih sahnesinden çekilmeyin). Uygulama düzeyinde genişleme ihtiyacı, Ethereum 2.0'ın (uzlaşı katmanı olarak yeniden adlandırıldı) 2020'de toplama merkezli bir rotaya dönüştüğü noktaya kadar arttı. ZK serisi resmi olarak sektörün dikkatine geri döndü ve odak noktası haline geldi.

Gizlilik işlemleri: SNARK kullanan Zcash, Tornado, kurşun geçirmez kullanan Monero ve Dash dahil olmak üzere gizlilik işlemlerini uygulayan birçok proje var. Dash, ZKP'yi tam anlamıyla değil, yalnızca adresi gizleyebilen, tutarı gizleyebilen basit ve kaba bir para birimi karıştırma sistemi kullanıyor. Burada bahsetmeyeceğim.

Zcash'in uyguladığı zk-SNARKs işlem adımları aşağıdaki gibidir:

Kaynak: Zk-SNARK'ların Zcash'teki Rolünün Aydınlatılması

  1. Sistem kurulum aşaması, KeyGen işlevini kullanarak kanıt anahtarını (şifreleme kanıt polinomu) ve doğrulama anahtarını oluşturur.
  2. Genel ve özel anahtarlar oluşturmak için CPA aşaması ECIES şifreleme yöntemi (Eliptik Eğri Entegre Şifreleme Şeması) kullanılır
  3. Madeni Para Basma aşaması, üretilen yeni madeni paraların sayısıdır. Genel seslendirme ve madeni para taahhüdü
  4. Pouring aşamasında zk-SNARK sertifikası oluşturularak pour işlem defterine eklenir.
  5. Doğrulama aşamasında, doğrulayıcı, Mint ve Pour'un işlem hacimlerinin doğru olup olmadığını doğrular.
  6. Alma aşamasında, alıcı paraları alır. Alınan paraları kullanmak istiyorsanız, zk-SNARK doğrulaması oluşturmak için Pouring'i aramaya devam edin, işlemi tamamlamak için yukarıdaki 4-6. adımları tekrarlayın.

Zcash'in sıfır bilgiyi kullanma konusunda hala sınırlamaları var, yani UTXO'ya dayanıyor, dolayısıyla işlem bilgilerinin bir kısmı yalnızca korunuyor, gerçekten örtülmüyor. Bitcoin tasarımına dayalı ayrı bir ağ olduğundan genişletilmesi (diğer uygulamalarla birleştirilmesi) zordur. Korumanın (yani özel işlemlerin) gerçek kullanım oranının %10'un altında olması, özel işlemlerin başarıyla genişletilemediğini gösteriyor. (2202'den itibaren)

Tornado tarafından kullanılan tek büyük karıştırma havuzu daha çok yönlüdür ve Ethereum gibi "denenmiş ve test edilmiş" bir ağa dayanmaktadır. Torndao aslında zk-SNARK kullanan bir para birimi karıştırma havuzudur ve güven ayarı Groth 16 belgesini temel alır. Tornado Cash'in sunduğu özellikler şunları içerir:

  1. Yalnızca yatırılan paralar çekilebilir.
  2. Hiçbir para iki kez çekilemez
  3. Kanıt süreci, para biriminin iptal bildirimine (Nullifier) bağlıdır. Aynı kanıtın ancak farklı Nullifier'ın hash'i, madeni paraların çekilmesine izin vermeyecektir.
  4. Güvenlik 126 bittir ve bileşim nedeniyle bozulmayacaktır.

Vitalik, genişlemeyle karşılaştırıldığında gizliliğin uygulanmasının nispeten kolay olduğunu belirtti. Bazı genişleme protokolleri oluşturulabilirse gizlilik temelde sorun olmayacaktır.

Genişletme: ZK'nın genişletilmesi Mina gibi birinci kademe ağ üzerinde yapılabileceği gibi ikinci kademe ağ yani zk-roll up üzerinde de yapılabilir. ZK toplama fikri, Vitalik'in 2018'deki gönderisinden kaynaklanmış olabilir: Toplu tx doğrulama yoluyla zincir üzerinde potansiyel olarak ~500 tx/sn'ye ölçeklendirme.

ZK-rollup'ın iki tür rolü vardır; biri Sıralayıcı, diğeri Toplayıcı. Sıralayıcı, işlemlerin paketlenmesinden sorumludur ve Toplayıcı, çok sayıda işlemin birleştirilmesinden, bir toplamanın oluşturulmasından ve bir SNARK kanıtının oluşturulmasından sorumludur (bu aynı zamanda diğer algoritmalara dayalı bir sıfır bilgi kanıtı da olabilir). Bu kanıt, Layer1'in önceki durumuyla karşılaştırılacak ve ardından Ethereum Merkle ağacı güncellenerek yeni bir durum ağacı hesaplanacak.

Kaynak: Poligon

ZK toplamasının avantajları ve dezavantajları:

  1. Avantajları: Düşük maliyet, ekonomik olarak saldırıya uğrayacak olan OP'nin aksine, işlemleri geciktirmeye gerek yok, mahremiyet korunabilir ve kesinliğe hızlı bir şekilde ulaşılabilir
  2. Dezavantajları: ZK kanıtını oluşturmak büyük miktarda hesaplama gerektirir, güvenlik sorunları vardır (SNARK güvenilir bir ayar gerektirir), kuantum saldırılarına karşı dayanıklı değildir (SNARK, STARK yapabilir), işlem sırası değişebilir

Kaynak: Ethereum araştırması

Veri kullanılabilirliği ve kanıt yöntemlerine dayalı olarak Starkware, L2 için klasik bir sınıflandırma şemasına sahiptir (Volition'ın veri kullanılabilirliği katmanı zincir içi veya zincir dışı seçilebilir):

Kaynak: Starkware

Şu anda piyasada bulunan en rekabetçi ZK toplama projeleri şunları içerir: Starkware'in StarkNet'i, Matterlabs'ın zkSync'i ve Aztec'in Aztec connect'i, Polygon'un Hermez ve Miden, Loopring, Scroll, vb.

Temel olarak teknik yol, SNARK (ve geliştirilmiş versiyonları) ve STARK'ın yanı sıra EVM desteğinin (uyumluluk veya eşdeğerlik dahil) seçiminde yatmaktadır.

  1. Aztec, genelleştirilmiş bir SNARK protokolü-Plonk protokolü geliştirdi. Çalışan Aztec3, EVM'yi destekleyebilir ancak gizlilik, EVM uyumluluğuna göre önceliklidir.
  2. Starnet, güvenilir ayarlar gerektirmeyen ancak şu anda EVM'yi desteklemeyen ve kendi derleyicisine ve geliştirme diline sahip bir zkp olan zk-STARK'ı kullanıyor.
  3. zkSync ayrıca plonk kullanır ve EVM'yi destekler. zkSync 2.0 EVM uyumludur ve kendi zkEVM'sine sahiptir
  4. EVM uyumlu bir ZK toplaması olan Scroll, ekip aynı zamanda Ethereum Vakfı'nın zkEVM projesine de önemli bir katkıda bulunuyor.

EVM uyumluluk sorunlarını kısaca tartışın:

ZK sistemi ile EVM arasındaki uyumluluk her zaman baş ağrısı olmuştur ve çoğu proje ikisi arasında seçim yapacaktır. ZK'yi vurgulayanlar kendi sistemlerinde sanal makine kurabilir, kendi ZK dillerine ve derleyicilerine sahip olabilirler ancak bu geliştiricilerin öğrenmesini zorlaştıracak ve temelde açık kaynak olmadığı için bir kara kutu haline gelecektir. . Genel olarak konuşursak, sektörün şu anda iki seçeneği var. Biri Solidity'nin işlem kodlarıyla tam uyumlu olmak, diğeri ise ZK dostu ve Solidity ile uyumlu yeni bir sanal makine tasarlamak. Endüstri başlangıçta bu kadar hızlı bir entegrasyon beklemiyordu, ancak teknolojinin son bir veya iki yılda hızlı bir şekilde yinelenmesi EVM uyumluluğunu yeni bir seviyeye getirdi ve geliştiriciler belirli bir dereceye kadar kesintisiz geçiş (yani Ethereum ana Chain to ZK rollup) ZK'nin gelişim ekolojisini ve rekabet ortamını etkileyecek heyecan verici bir gelişmedir. Bu konuyu daha sonraki raporlarımızda detaylı olarak ele alacağız.

3. ZK SNARK uygulamasının temel ilkeleri

Goldwasser, Micali ve Rackoff, sıfır bilgi kanıtlarının üç özelliğe sahip olduğunu öne sürdü:

  1. Tamlık: Makul tanıkların bulunduğu her ifadenin doğrulayıcı tarafından doğrulanabilmesi
  2. Sağlamlık: Yalnızca makul olmayan tanıkların olduğu her iddia, doğrulayıcı tarafından doğrulanmamalıdır
  3. Sıfır bilgi: Doğrulama süreci sıfır bilgidir

Dolayısıyla ZKP'yi anlamak için zk-SNARK ile başlıyoruz çünkü mevcut birçok blockchain uygulaması SNARK ile başlıyor. Öncelikle zk-SNARK'a bir göz atalım.

zk-SNARK şu anlama gelir: Sıfır bilgi kanıtı (zh-SNARK), sıfır bilgidir Kısa ve Etkileşimli Olmayan Bilgi Argümanlarıdır.

  1. Sıfır Bilgi: Kanıt süreci sıfır bilgidir ve gereksiz bilgileri açığa çıkarmaz.
  2. Kısa ve öz: Küçük doğrulama boyutu
  3. Etkileşimli olmayan: etkileşimli olmayan süreç
  4. Argümanlar: Hesaplama güvenilirdir, yani sınırlı hesaplama gücüne sahip kanıtlayıcı ispatı oluşturamaz ve sınırsız hesaplama gücüne sahip kanıtlayıcı kanıtı taklit edebilir.
  5. Bilgi: Kanıtlayıcı, geçerli bilgiyi bilmeden bir parametre ve kanıt oluşturamaz
  6. Kanıtlayıcının, tanığı bilmeden bir dizi parametre ve kanıt oluşturması imkansızdır (örneğin, bir karma fonksiyonunun girişi veya bir Merkle ağacı düğümünü belirlemek için bir yol).

Groth16'nın zk-SNARK'ının ispat prensibi aşağıdaki gibidir:

Kaynak: https://learnblockchain.cn/article/3220

Adımlar şunlardır:

  1. Sorunu bir devreye dönüştürün
  2. Devreyi R1CS biçiminde düzleştirin.
  3. R1CS'yi QAP (İkinci Dereceden Aritmetik Programlar) formatına dönüştürün
  4. Güvenilir bir kurulum oluşturun ve PK (kanıtlama anahtarı) ve VK (doğrulama anahtarı) dahil olmak üzere rastgele parametreler oluşturun
  5. zk-SNARK'ın kanıt üretimi ve doğrulanması

Bir sonraki makalede zk-SNARK'ın ilkelerini ve uygulamalarını incelemeye başlayacağız, ZK-SNARK'ın gelişimini çeşitli örnekler üzerinden inceleyeceğiz ve zk-STARK ile olan ilişkisini araştıracağız.

Yasal Uyarı:

  1. Bu makale [HashKey Capital]'den yeniden basılmıştır. Tüm telif hakları orijinal yazara [HashKey Capital] aittir. Bu yeniden basıma itirazlarınız varsa lütfen Gate Learn ekibiyle iletişime geçin; onlar konuyu hemen halledeceklerdir.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve görüşler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirileri Gate Learn ekibi tarafından yapılır. Aksi belirtilmedikçe tercüme edilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.

Sıfır Bilgi Kanıtlarına Yeni Başlayanlar Kılavuzu: Geliştirme Tarihi, Uygulamalar ve Temel İlkeler

Yeni BaşlayanJan 06, 2024
Bu makale sıfır bilgi kanıtlarının gelişim tarihini ve temel ilkelerini sistematik olarak tanıtmaktadır.
Sıfır Bilgi Kanıtlarına Yeni Başlayanlar Kılavuzu: Geliştirme Tarihi, Uygulamalar ve Temel İlkeler

Blockchain endüstrisindeki sıfır bilgi kanıtı projelerinin (ZKP) mevcut büyüme oranı şaşırtıcıdır, özellikle ZKP uygulamalarının iki genişleme ve gizlilik koruma seviyesindeki yükselişi bizi çeşitli sıfır bilgi kanıtı projelerine maruz bıraktı. ZKP'nin son derece matematiksel doğasından dolayı, şifreleme meraklılarının ZK'yi derinlemesine anlaması çok daha zordur. Bu nedenle, ZKP teorisi ve uygulamasındaki bazı değişiklikleri en başından itibaren çözmeyi ve kripto endüstrisi üzerindeki etkiyi ve değeri okuyucularla birlikte keşfetmeyi - aynı zamanda HashKey'in düşüncelerinin bir özeti olarak da hizmet veren çeşitli raporlarla birlikte öğrenmeyi umuyoruz. Sermaye araştırma ekibi. Bu makale serinin ilkidir ve esas olarak ZKP'nin gelişim tarihini, uygulamalarını ve bazı temel ilkelerini tanıtmaktadır.

1. Sıfır bilgi kanıtlarının tarihi

Modern sıfır bilgi kanıt sistemi, Goldwasser, Micali ve Rackoff tarafından ortaklaşa yayınlanan ve 1985'te önerilen ve 1989'da yayınlanan The Knowledge Complexity of Interactive Proof Systems (GMR85) adlı makaleden kaynaklanmıştır. Bu makale temel olarak etkileşimli bir sistemdeki K tur etkileşimden sonra bir ifadenin doğru olduğunu kanıtlamak için ne kadar bilginin paylaşılması gerektiğini açıklamaktadır. Eğer değiş tokuş edilen bilgi sıfırlanabiliyorsa buna sıfır bilgi kanıtı denir. Kanıtlayıcının sınırsız kaynaklara, doğrulayıcının ise yalnızca sınırlı kaynaklara sahip olduğu varsayılmaktadır. Etkileşimli sistemlerle ilgili sorun, kanıtın tamamen matematiksel olarak kanıtlanabilir olmaması, ancak olasılık çok küçük olmasına rağmen (1/2^n) olasılıksal anlamda doğru olmasıdır.

Bu nedenle etkileşimli sistem mükemmel değildir ve yalnızca yaklaşık bir bütünlüğe sahiptir. Bu temelde doğan etkileşimli olmayan sistem (NP) sistemi eksiksizliğe sahiptir ve sıfır bilgi kanıtı sistemi için mükemmel bir seçim haline gelir.

İlk sıfır bilgi kanıt sistemleri verimlilik ve kullanılabilirlik açısından eksikti, bu nedenle her zaman teorik düzeyde kaldılar. Son 10 yıla kadar gelişmeye başlamadılar. Kriptografi kriptoda öne çıktıkça sıfır bilgi kanıtları da ön plana çıktı ve önemli bir yön haline geldi. Özellikle, sınırlı kanıt boyutuna sahip genel, etkileşimli olmayan, sıfır bilgi kanıt protokolü geliştirmek, en kritik keşif yönlerinden biridir.

Temel olarak sıfır bilgi kanıtı, kanıtın hızı, doğrulama hızı ve kanıtın boyutu arasında bir dengedir. İdeal protokol hızlı prova, hızlı doğrulama ve küçük prova boyutudur.

Sıfır bilgi kanıtındaki en önemli buluş, aynı zamanda ZKP'deki en önemli zk-SNARK grubunun teorik öncüsü olan Groth'un 2010 tarihli Kısa Eşleştirme Tabanlı Etkileşimli Olmayan Sıfır Bilgi Argümanları adlı makalesidir.

Sıfır bilgi kanıtının uygulanmasındaki en önemli gelişme, Z-cash'in 2015 yılında kullandığı, işlemlerin ve tutarların gizliliğini koruyan sıfır bilgi kanıtı sistemidir. Daha sonra zk-SNARK ve akıllı sözleşmelerin birleşimine dönüştü ve zk-SNARK Daha Geniş uygulama senaryolarına girdi.

Bu dönemdeki bazı önemli akademik başarılar şunlardır:

  1. 2013'te Pinokyo (PGHR13): Pinokyo: Kanıt ve doğrulama süresini uygulanabilir kapsama sıkıştıran Neredeyse Pratik Doğrulanabilir Hesaplama, aynı zamanda Zcash tarafından kullanılan temel protokoldür.
  2. 2016'da Groth16: Eşleştirme Tabanlı Etkileşimsiz Argümanların Boyutu Üzerine Kanıtın boyutunu basitleştiren ve doğrulama verimliliğini artıran, şu anda en yaygın kullanılan ZK temel algoritmasıdır.
  3. Kurşun Geçirmezler (BBBPWM17) Kurşun Geçirmezler: Gizli İşlemler için Kısa Kanıtlar ve Daha Fazlası 2017'de, güvenilir bir kurulum gerektirmeyen çok kısa, etkileşimli olmayan bir sıfır bilgi kanıtı olan Kurşun Geçirmez algoritmasını önerdi. Monero’ya 6 ay sonra uygulanacaktır ve oldukça hızlıdır. Teori ve uygulamanın birleşimi.
  4. 2018 yılında zk-STARK'lar (BBHR18) Ölçeklenebilir, şeffaf ve kuantum sonrası güvenli hesaplama bütünlüğü, güvenilir ayarlar gerektirmeyen bir ZK-STARK algoritma protokolü önerdi. Bu, şu anda ZK gelişiminin bir başka dikkat çekici yönüdür ve aynı zamanda buna dayanmaktadır. En önemli ZK projesi olan StarkWare doğdu.

PLONK, Halo2 vb. gibi diğer gelişmeler de son derece önemli ilerlemelerdir ve zk-SNARK'ta da bazı iyileştirmeler sağlamıştır.

2. Sıfır bilgi kanıtının uygulanmasına ilişkin kısa açıklama

Sıfır bilgi kanıtlarının en yaygın iki uygulaması gizlilik koruması ve kapasite genişletmedir. İlk günlerde, gizlilik işlemlerinin ve Zcash ve Monero gibi birçok tanınmış projenin piyasaya sürülmesiyle birlikte, gizlilik işlemleri bir zamanlar çok önemli bir kategori haline geldi. Ancak gizlilik işlemlerinin gerekliliği sektörün umduğu kadar belirgin olmadığından bu tür temsili projeler yavaşlamaya başladı. Yavaş yavaş ikinci ve üçüncü kademe kamplara girin (tarih sahnesinden çekilmeyin). Uygulama düzeyinde genişleme ihtiyacı, Ethereum 2.0'ın (uzlaşı katmanı olarak yeniden adlandırıldı) 2020'de toplama merkezli bir rotaya dönüştüğü noktaya kadar arttı. ZK serisi resmi olarak sektörün dikkatine geri döndü ve odak noktası haline geldi.

Gizlilik işlemleri: SNARK kullanan Zcash, Tornado, kurşun geçirmez kullanan Monero ve Dash dahil olmak üzere gizlilik işlemlerini uygulayan birçok proje var. Dash, ZKP'yi tam anlamıyla değil, yalnızca adresi gizleyebilen, tutarı gizleyebilen basit ve kaba bir para birimi karıştırma sistemi kullanıyor. Burada bahsetmeyeceğim.

Zcash'in uyguladığı zk-SNARKs işlem adımları aşağıdaki gibidir:

Kaynak: Zk-SNARK'ların Zcash'teki Rolünün Aydınlatılması

  1. Sistem kurulum aşaması, KeyGen işlevini kullanarak kanıt anahtarını (şifreleme kanıt polinomu) ve doğrulama anahtarını oluşturur.
  2. Genel ve özel anahtarlar oluşturmak için CPA aşaması ECIES şifreleme yöntemi (Eliptik Eğri Entegre Şifreleme Şeması) kullanılır
  3. Madeni Para Basma aşaması, üretilen yeni madeni paraların sayısıdır. Genel seslendirme ve madeni para taahhüdü
  4. Pouring aşamasında zk-SNARK sertifikası oluşturularak pour işlem defterine eklenir.
  5. Doğrulama aşamasında, doğrulayıcı, Mint ve Pour'un işlem hacimlerinin doğru olup olmadığını doğrular.
  6. Alma aşamasında, alıcı paraları alır. Alınan paraları kullanmak istiyorsanız, zk-SNARK doğrulaması oluşturmak için Pouring'i aramaya devam edin, işlemi tamamlamak için yukarıdaki 4-6. adımları tekrarlayın.

Zcash'in sıfır bilgiyi kullanma konusunda hala sınırlamaları var, yani UTXO'ya dayanıyor, dolayısıyla işlem bilgilerinin bir kısmı yalnızca korunuyor, gerçekten örtülmüyor. Bitcoin tasarımına dayalı ayrı bir ağ olduğundan genişletilmesi (diğer uygulamalarla birleştirilmesi) zordur. Korumanın (yani özel işlemlerin) gerçek kullanım oranının %10'un altında olması, özel işlemlerin başarıyla genişletilemediğini gösteriyor. (2202'den itibaren)

Tornado tarafından kullanılan tek büyük karıştırma havuzu daha çok yönlüdür ve Ethereum gibi "denenmiş ve test edilmiş" bir ağa dayanmaktadır. Torndao aslında zk-SNARK kullanan bir para birimi karıştırma havuzudur ve güven ayarı Groth 16 belgesini temel alır. Tornado Cash'in sunduğu özellikler şunları içerir:

  1. Yalnızca yatırılan paralar çekilebilir.
  2. Hiçbir para iki kez çekilemez
  3. Kanıt süreci, para biriminin iptal bildirimine (Nullifier) bağlıdır. Aynı kanıtın ancak farklı Nullifier'ın hash'i, madeni paraların çekilmesine izin vermeyecektir.
  4. Güvenlik 126 bittir ve bileşim nedeniyle bozulmayacaktır.

Vitalik, genişlemeyle karşılaştırıldığında gizliliğin uygulanmasının nispeten kolay olduğunu belirtti. Bazı genişleme protokolleri oluşturulabilirse gizlilik temelde sorun olmayacaktır.

Genişletme: ZK'nın genişletilmesi Mina gibi birinci kademe ağ üzerinde yapılabileceği gibi ikinci kademe ağ yani zk-roll up üzerinde de yapılabilir. ZK toplama fikri, Vitalik'in 2018'deki gönderisinden kaynaklanmış olabilir: Toplu tx doğrulama yoluyla zincir üzerinde potansiyel olarak ~500 tx/sn'ye ölçeklendirme.

ZK-rollup'ın iki tür rolü vardır; biri Sıralayıcı, diğeri Toplayıcı. Sıralayıcı, işlemlerin paketlenmesinden sorumludur ve Toplayıcı, çok sayıda işlemin birleştirilmesinden, bir toplamanın oluşturulmasından ve bir SNARK kanıtının oluşturulmasından sorumludur (bu aynı zamanda diğer algoritmalara dayalı bir sıfır bilgi kanıtı da olabilir). Bu kanıt, Layer1'in önceki durumuyla karşılaştırılacak ve ardından Ethereum Merkle ağacı güncellenerek yeni bir durum ağacı hesaplanacak.

Kaynak: Poligon

ZK toplamasının avantajları ve dezavantajları:

  1. Avantajları: Düşük maliyet, ekonomik olarak saldırıya uğrayacak olan OP'nin aksine, işlemleri geciktirmeye gerek yok, mahremiyet korunabilir ve kesinliğe hızlı bir şekilde ulaşılabilir
  2. Dezavantajları: ZK kanıtını oluşturmak büyük miktarda hesaplama gerektirir, güvenlik sorunları vardır (SNARK güvenilir bir ayar gerektirir), kuantum saldırılarına karşı dayanıklı değildir (SNARK, STARK yapabilir), işlem sırası değişebilir

Kaynak: Ethereum araştırması

Veri kullanılabilirliği ve kanıt yöntemlerine dayalı olarak Starkware, L2 için klasik bir sınıflandırma şemasına sahiptir (Volition'ın veri kullanılabilirliği katmanı zincir içi veya zincir dışı seçilebilir):

Kaynak: Starkware

Şu anda piyasada bulunan en rekabetçi ZK toplama projeleri şunları içerir: Starkware'in StarkNet'i, Matterlabs'ın zkSync'i ve Aztec'in Aztec connect'i, Polygon'un Hermez ve Miden, Loopring, Scroll, vb.

Temel olarak teknik yol, SNARK (ve geliştirilmiş versiyonları) ve STARK'ın yanı sıra EVM desteğinin (uyumluluk veya eşdeğerlik dahil) seçiminde yatmaktadır.

  1. Aztec, genelleştirilmiş bir SNARK protokolü-Plonk protokolü geliştirdi. Çalışan Aztec3, EVM'yi destekleyebilir ancak gizlilik, EVM uyumluluğuna göre önceliklidir.
  2. Starnet, güvenilir ayarlar gerektirmeyen ancak şu anda EVM'yi desteklemeyen ve kendi derleyicisine ve geliştirme diline sahip bir zkp olan zk-STARK'ı kullanıyor.
  3. zkSync ayrıca plonk kullanır ve EVM'yi destekler. zkSync 2.0 EVM uyumludur ve kendi zkEVM'sine sahiptir
  4. EVM uyumlu bir ZK toplaması olan Scroll, ekip aynı zamanda Ethereum Vakfı'nın zkEVM projesine de önemli bir katkıda bulunuyor.

EVM uyumluluk sorunlarını kısaca tartışın:

ZK sistemi ile EVM arasındaki uyumluluk her zaman baş ağrısı olmuştur ve çoğu proje ikisi arasında seçim yapacaktır. ZK'yi vurgulayanlar kendi sistemlerinde sanal makine kurabilir, kendi ZK dillerine ve derleyicilerine sahip olabilirler ancak bu geliştiricilerin öğrenmesini zorlaştıracak ve temelde açık kaynak olmadığı için bir kara kutu haline gelecektir. . Genel olarak konuşursak, sektörün şu anda iki seçeneği var. Biri Solidity'nin işlem kodlarıyla tam uyumlu olmak, diğeri ise ZK dostu ve Solidity ile uyumlu yeni bir sanal makine tasarlamak. Endüstri başlangıçta bu kadar hızlı bir entegrasyon beklemiyordu, ancak teknolojinin son bir veya iki yılda hızlı bir şekilde yinelenmesi EVM uyumluluğunu yeni bir seviyeye getirdi ve geliştiriciler belirli bir dereceye kadar kesintisiz geçiş (yani Ethereum ana Chain to ZK rollup) ZK'nin gelişim ekolojisini ve rekabet ortamını etkileyecek heyecan verici bir gelişmedir. Bu konuyu daha sonraki raporlarımızda detaylı olarak ele alacağız.

3. ZK SNARK uygulamasının temel ilkeleri

Goldwasser, Micali ve Rackoff, sıfır bilgi kanıtlarının üç özelliğe sahip olduğunu öne sürdü:

  1. Tamlık: Makul tanıkların bulunduğu her ifadenin doğrulayıcı tarafından doğrulanabilmesi
  2. Sağlamlık: Yalnızca makul olmayan tanıkların olduğu her iddia, doğrulayıcı tarafından doğrulanmamalıdır
  3. Sıfır bilgi: Doğrulama süreci sıfır bilgidir

Dolayısıyla ZKP'yi anlamak için zk-SNARK ile başlıyoruz çünkü mevcut birçok blockchain uygulaması SNARK ile başlıyor. Öncelikle zk-SNARK'a bir göz atalım.

zk-SNARK şu anlama gelir: Sıfır bilgi kanıtı (zh-SNARK), sıfır bilgidir Kısa ve Etkileşimli Olmayan Bilgi Argümanlarıdır.

  1. Sıfır Bilgi: Kanıt süreci sıfır bilgidir ve gereksiz bilgileri açığa çıkarmaz.
  2. Kısa ve öz: Küçük doğrulama boyutu
  3. Etkileşimli olmayan: etkileşimli olmayan süreç
  4. Argümanlar: Hesaplama güvenilirdir, yani sınırlı hesaplama gücüne sahip kanıtlayıcı ispatı oluşturamaz ve sınırsız hesaplama gücüne sahip kanıtlayıcı kanıtı taklit edebilir.
  5. Bilgi: Kanıtlayıcı, geçerli bilgiyi bilmeden bir parametre ve kanıt oluşturamaz
  6. Kanıtlayıcının, tanığı bilmeden bir dizi parametre ve kanıt oluşturması imkansızdır (örneğin, bir karma fonksiyonunun girişi veya bir Merkle ağacı düğümünü belirlemek için bir yol).

Groth16'nın zk-SNARK'ının ispat prensibi aşağıdaki gibidir:

Kaynak: https://learnblockchain.cn/article/3220

Adımlar şunlardır:

  1. Sorunu bir devreye dönüştürün
  2. Devreyi R1CS biçiminde düzleştirin.
  3. R1CS'yi QAP (İkinci Dereceden Aritmetik Programlar) formatına dönüştürün
  4. Güvenilir bir kurulum oluşturun ve PK (kanıtlama anahtarı) ve VK (doğrulama anahtarı) dahil olmak üzere rastgele parametreler oluşturun
  5. zk-SNARK'ın kanıt üretimi ve doğrulanması

Bir sonraki makalede zk-SNARK'ın ilkelerini ve uygulamalarını incelemeye başlayacağız, ZK-SNARK'ın gelişimini çeşitli örnekler üzerinden inceleyeceğiz ve zk-STARK ile olan ilişkisini araştıracağız.

Yasal Uyarı:

  1. Bu makale [HashKey Capital]'den yeniden basılmıştır. Tüm telif hakları orijinal yazara [HashKey Capital] aittir. Bu yeniden basıma itirazlarınız varsa lütfen Gate Learn ekibiyle iletişime geçin; onlar konuyu hemen halledeceklerdir.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve görüşler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirileri Gate Learn ekibi tarafından yapılır. Aksi belirtilmedikçe tercüme edilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500