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.
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:
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.
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ı
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:
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ı:
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.
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.
Goldwasser, Micali ve Rackoff, sıfır bilgi kanıtlarının üç özelliğe sahip olduğunu öne sürdü:
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.
Groth16'nın zk-SNARK'ının ispat prensibi aşağıdaki gibidir:
Kaynak: https://learnblockchain.cn/article/3220
Adımlar şunlardır:
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.
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.
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:
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.
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ı
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:
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ı:
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.
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.
Goldwasser, Micali ve Rackoff, sıfır bilgi kanıtlarının üç özelliğe sahip olduğunu öne sürdü:
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.
Groth16'nın zk-SNARK'ının ispat prensibi aşağıdaki gibidir:
Kaynak: https://learnblockchain.cn/article/3220
Adımlar şunlardır:
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.