ZK-Rollups: sıfır bilgi kanıtına dayalı katman 2 genişletme çözümü

Zk-Rollup, sahtekarlıktan farklı olarak geçerlilik kanıtını kullanır ve işlemin geçerliliğini sağlamak için verileri zincire yüklenmeden önce sıfır bilgi kanıtı yoluyla doğrular ve ilk olarak kanıtlar. işlemde herhangi bir sorun olmadığını teyit edin ve ardından zincirdeki ilgili verilerin geçerliliğini ve fonların güvenliğini sağlamak için güncellenmiş durumu, işlem kanıtını ve sıkıştırılmış işlem verilerini ana zincire iletin.

Zk-Rollup'ın güvenliği kriptografik ilkelere dayanır ve temel avantajlarından biri de bir sorgulama süresi gerektirmemesidir [2].

Şu anda Zk-Rollup'ın genel bilgi işlem yetenekleri zayıf. Çevrimiçi sürümlerin çoğu yalnızca aktarımları ve belirli uygulama senaryolarını uygulayabiliyor ve bu da geliştiriciler için pek uygun değil. Şimdi en yeni Zk-Rollup çözümlerinden bazıları, genel EVM ile uyumlu L2 genişletme çözümleri üzerinde çalışıyor. Başarılı olması durumunda bu büyük önem taşıyacaktır.

Zk-Rollup, başkalarının yanlış işlemleri bildirmesini beklemek yerine, işlemlerin doğruluğunu kanıtlamak için kriptografik ilkeleri kullanan, kripto dünyasının tarzına daha uygundur.

Sıfır bilgi kanıtı

Sıfır bilgi kanıtı, sıfır sızıntı kanıtı olarak da bilinen kriptografik bir kavramdır ve bir kanıtlayıcı ile doğrulayıcıdan oluşur.

Kanıtlayıcının özel bir donanım üzerinde çalışması gerekir ve güvenilir değildir; bu, sistem güvenliğinin, kanıtlayıcının güvenilir olduğunu veya üzerinde çalıştıkları donanımın güvenilir olduğunu varsaymasına gerek olmadığı anlamına gelir; çünkü matematiksel olarak sahte sahte nasıl yapılır diye bir şey yoktur. sıfır bilgi kanıtları.

Doğrulayıcı, özel donanım gerektirmez ve herhangi bir düğümde çalıştırılabilir. Basit bir ifadeyle, kanıtlayıcı sistemin girişinden bir kanıt oluşturur ve doğrulayıcı, kanıtlayıcının yeniden hesaplamaya gerek kalmadan gerçek hesaplama sonucunu yüklediğini doğrulamak için kontrol eder. tekrar dene.

Felsefi bir şekilde ifade etmek gerekirse, eğer belirli bir Bitcoin hesabının bana ait olduğunu kanıtlamak istersem, bu hesabın özel anahtarını bildiğimi kanıtlamak isterim ancak özel anahtarı başkalarına söyleyemem. (Özel anahtar imzası, genel anahtar doğrulaması)

zk-SNARK

Blockchain'de daha yaygın olarak kullanılan şey, etkileşimsizlik gerektiren özel bir sıfır bilgi kanıtı olan zk-SNARK'tır (Bitcoin'in etkileşimli olmadığını ve etkileşimsiz olarak değiştirilmesi gerektiğini doğrulayan önceki sıfır bilgi kanıtı örneği) Başka bir deyişle, sadece bir transfer işlemi gerçekleştiriyorum ve hesaptaki paraları başka bir hesaba aktarıyorum, böylece tüm düğümler bu Bitcoin hesabının bana ait olduğunu doğrulayabiliyor. Blockchain senaryosu için kanıtlayıcının yalnızca Yayınlandı mesajını göndermesi gerekiyor. blockchain, tüm düğümler doğrulayabilir, kanıtlayıcıyla etkileşime girmeye gerek yoktur, bu tür doğrulayıcıya Genel Doğrulayıcı denir) ve basitlik (orijinal giriş büyük olsa bile yalnızca birkaç yüz bayta ihtiyaç vardır, kanıt oluşturmak çok zordur) kolay küçük).​

Dezavantajı ise kanıtlayıcının kanıt oluşturma iş yükünün çok büyük olmasıdır. Para transferi sırasında anonim bir transfer işleminin başlatılması birkaç saniye sürer ve işlemin meşruluğunun doğrulanması yalnızca birkaç milisaniye sürer.

zk-SNARK, başlatma sırasında tüm üyeler tarafından paylaşılan bir dizi genel parametrenin rastgele oluşturulmasını gerektiren güven ayarları gerektirir. Başlatma sırasında kullanılan rastgele kaynak, sızdırılırsa güvenlik sistemi çöker ve kötü niyetli saldırganlar sırayla oluşturabilir. Bu riski önlemek için zk-SNARK'ın başlatma süreci birden fazla tarafı içerir. Bunlardan herhangi biri başlatma sırasında kullanılan rastgele kaynağı yok ettiği sürece sistem güvenlidir.

zk-SNARK'ın blockchain'de uygulanması

    

Temsili uygulamalardan biri Zcash ve diğeri Filecoin'dir. Bu iki proje L2 değildir. Burada sadece zk-SNARK'ın uygulama senaryolarını göstermek için kullanılmıştır.

Zcash, işlem bilgilerini, her iki tarafın kimliğini ve işlem tutarını gizlemek için zk-SNARK'ı kullanır. Zcash, gönderenin.adresi, alıcı.adresi, iuput.value, out.value'yu bilmeden işlemin yasallığını doğrulayabilir. Bu, Bitcoin'den çok farklıdır. Bitcoin'deki her işlem, para biriminin kaynağını ve bu para biriminin geldiği önceki işlemi açıklamalıdır. Ancak bu şekilde, harcadığımız para biriminin yoktan var olduğunu değil, yasal olduğunu kanıtlayabiliriz. . Zcash için yalnızca harcadığınız para biriminin mevcut sistemde var olan yasal bir para birimi olduğunun matematiksel olarak kanıtlanması gerekir. Hangisi olduğunu belirtmeye gerek yoktur, dolayısıyla para biriminin kaynağını takip etmenin bir yolu yoktur.

Filecoin, her gün milyonlarca sıfır bilgi kanıtı üreten, bugüne kadarki en büyük konuşlandırılmış zk-SNARK ağıdır. Filecoin madencileri, verileri depolayarak blok ödülleri elde ederler ve vaat edilen verileri sakladıklarını düzenli olarak kanıtlamaları gerekir. Bu madenciler, zk-SNARK protokolündeki kanıtlayıcılardır ve çoğaltma kanıtı[3] ve uzay-zaman olmak üzere iki tür kanıt sağlamaları gerekir. kanıt[ 4 ].

Çoğaltma kanıtı yalnızca bir kez gerçekleşir. Kullanıcı ve depolama sağlayıcısı ilk olarak bir depolama işlemine ulaştığında, depolama sağlayıcısının, kullanıcının verilerini gerçekten sakladıklarını kanıtlaması gerekir. Depolama sağlayıcısının bunu kanıtlamak için periyodik olarak sağlanması gerekir. Orijinal veriler için depolama sağlayıcısının, müşteri için verileri ilk kez depolamayı kabul ettiğinde ilgili token Dosyasını taahhüt etmesi gerekir. Sağlayıcı, sözleşme süresi boyunca uzay-zaman kanıtını sağlayamazsa, cezalandırılacak ve taahhüt edilen Dosya jetonunu kaybedebilecektir.

Zk-SNARK teknolojisinin avantajı, oluşturulan kanıtın çok kısa olması, ağ bant genişliğinden tasarruf sağlaması ve hızlı doğrulama hızına sahip olmasıdır. Filecoin, gerçek anlamda özel hesaplama uygulamaz. zk-SNARK, yalnızca Filecoin'in konsensüs mekanizması için kullanılır. Şu ana kadar neredeyse tüm zk-SNARK devreleri, farklı uygulamalara göre özel olarak özelleştirilmiş sıfır bilgi korumalı teknolojiler olan uygulamaya özel entegre devrelerdir ve zk-SNARK teknolojisi tamdır. Henüz evrensel değil Akıllı sözleşmeler.

ZK-Rollup temsili projesi

ZK Rollup'ın iki temsili projesi vardır: zkSync ve STARKWARE.

zkSync

zkSync, zk-SNARK'ın sıfır bilgi algoritmasını kullanır ve güvenlik, başlangıçtaki güven ayarlarına dayanır (Ethereum'un kurucusu V God da dahil olmak üzere bazı katılımcılar tarafından rastgele bir sayı formüle edilir ve en az bir katılımcının dürüst olması gerekir, o zaman bu sistemin güvenli olduğu kanıtlanabilir) ).

EVM uyumluluğu açısından zkSync, Solidity uyumluluğu elde etmek için akıllı sözleşmeleri zkEVM tarafından desteklenen işlem kodlarına dönüştürebilen bir derleyiciye sahiptir.​

Veri kullanılabilirliği açısından zkSync, verileri zincire yüklemeyi (yani, daha yüksek güvenlik elde etmek için L1 zincirinde saklamayı veya Ethereum'da saklamayı) seçebilecek iki veri kullanılabilirliği çözümü sunar. (zincirden daha fazla ödeme) (daha düşük gas ücretleri), kullanıcılar ayrıca verileri zincir dışında saklamayı da seçebilirler (bu, kapasiteyi daha büyük ölçüde artırabilir ve gas ücretlerinden daha fazla tasarruf sağlayabilir, ancak merkeziyetsizlikten ve güvenlikten bir miktar fedakarlık yapacaktır). Başka bir deyişle, zkSync hem zincir içi hem de zincir dışı veri depolama modlarını destekler. Bazıları, zincir dışı verilerin gerçek anlamda L2 olmadığını düşünüyor çünkü veriler L1 ile aynı güvenliği sağlamalıdır. -chain, kullanılabilirlik L1 ile aynıdır. Eğer zincir dışı bir bulut servis sağlayıcısında depolanıyorsa, IPFS gibi merkezi olmayan bir depolama kavramına aykırıdır. Verilerin kullanılabilirliğini garanti etmenin hiçbir yolu yoktur (IPFS'de mevcuttur ve Ethereum'da varsa farklıdır). Ethereum ve Bitcoin gibi blok zincirlerinde, üzerinde depolanan veriler kaybolmaz, ancak IPFS, değiştirilemezliği garanti etmez. .

StarkWare

Şu anda piyasada sıfır bilgi kanıtları oluşturmaya yönelik en yaygın iki sistem zk-SNARK ve zk-STARK'tır.

zk-Sync, zk-SNARK'ı kullanır ve StarkWare, zk-STARK kanıtını temel alan bir şifreleme teknolojisidir. zk-STARK Bu teknoloji, StarkWare ekibi tarafından icat edildi ve blok zincirini daha ölçeklenebilir hale getirebilen zk-SNARK teknolojisinin yükseltilmiş bir versiyonu olarak kabul edilebilir. Bu algoritmayı kullanan blok zincirinin alt katmanı, geliştiricilerin veri eklemesine olanak tanır. İşlem verileri ve bazı verilerin saklanması, çözüm için zincir dışına aktarılır. Toplu olarak işlenen veriler zincir dışı olarak, ilgili herhangi bir tarafın zincire gönderebileceği bir STARK sertifikası oluşturmak için paketlenebilir. orijinalliğini doğrulayın. STARK'ın, zk-Sync tarafından kullanılan SNARK'a kıyasla üç ana avantajı vardır. İlk avantaj şeffaflıktır; bu, bu sistemin çalışması için güven ayarlarına ihtiyaç duymadığı anlamına gelirken, SNARK kanıtı, zk-SNARK'ın kullanılması zorunlu olmalıdır. Başlangıç ​​ortamındaki katılımcılar sahtekâr ise, sahte sertifikalar ve sahte işlemler oluşturulabilirken, zk-STARK harici güven ayarı gerektirmemekte olup, herhangi bir tarafın rastgele genel doğrulama yoluyla parametreleri yok etmesini veya değiştirmesini engelleyebilmektedir. Avantajın değeri belirsizdir. (Öğretmen Xiao bu avantajın pek önemli olmadığını düşünüyor)

İkinci avantaj ise ölçeklenebilirliktir. StarkWare, zk-STARK'ın hesaplama karmaşıklığını azalttığını ve STARK kanıtlarını SNARK'tan daha hızlı ürettiğini iddia eder, ancak bu ifade biraz tartışmalıdır.

Üçüncü avantaj kuantum saldırılarına karşı dirençtir. Teorik olarak zk-STARK, kuantum saldırılarına karşı direnç yeteneğini geliştirmek için çarpışma önleme karma fonksiyonunu kullanır. Bu avantajın pek önemi yoktur.

STARK'ın dezavantajı, teknolojisinin SNARK'a göre çok daha az olgun olması ve penetrasyon oranının iyi olmamasıdır. StarkWare'in avantajı, iki teknolojinin mucitleri de dahil olmak üzere teknik ekibinin son derece küçük olmasıdır. toplum ekolojisinin hala çok geride olması STARK'ın yetersiz penetrasyon oranıyla da ilgilidir.

Diğer bir konu da EVM'nin EVM'sinin Turing uyumluluğudur ve STARK, Turing bütünlüğüne ulaşmak istiyorsa, Ethereum'un akıllı sözleşme dili Solidity'nin STARK uyumlu bir formata dönüştürülmesi zor olacaktır. çok karmaşık olduğundan StarkWare ekibi, STARK tarafından desteklenen programları çalıştırmak için özel bir Cario programlama dili oluşturdu. Cario'nun öğrenme maliyeti nispeten yüksektir ve EVM ile uyumlu değildir, bu da Ethereum'daki mevcut Dapp'lerin çok karmaşık olmasına neden olur. Taşınması zor, StarkWare ekosisteminin inşa edilmesinin kolay olmamasının sebeplerinden biri de bu. Başka bir açıdan bakıldığında, tarihsel bagajı olmayan ve Ethereum'un yapamadığı bazı işlevleri yerine getirebilen yepyeni bir dil kullanmanın faydaları da var.

Veri kullanılabilirliği açısından StarkWare, kullanıcıların her işlem için zincir içi verilerin mevcut olduğu durumlarda Toplama çözümünü veya zincir dışı verilerin mevcut olduğu durumlarda Validium çözümünü kullanmayı seçmesine olanak tanıyan iki veri kullanılabilirliği çözümü sunar. .

Validium planının veri kullanılabilirliği komitesi bazı saygın şifreleme kuruluşlarından oluşur. Veri güvenliği açısından bakıldığında, zincirde depolanan veriler en güvenli olanıdır, bu da büyük miktardaki fonlar için uygun olan maliyetin nispeten yüksek olmasıdır. ve düşük gerçek zamanlı gereksinimler durumu; zincir dışı veri depolama, belirli bir miktarda güvenlikten ödün verecektir. Bunun avantajı, maliyetin küçük olması ve nispeten küçük miktarda fon ve yüksek gerçek zamanlı gereksinimlere sahip uygulama senaryoları için uygun olmasıdır. GameFi gibi.​

İsim yorumu

Sahtekarlık kanıtları: Dağıtılmış sistemlerde, çoğu işlemin doğru olduğunu varsayan ancak hatalı işlemleri düzeltmek ve düzeltmek için bir mekanizma sağlayan İyimser Toplamalarda sıklıkla kullanılan sahtekarlık kanıtları, yanlış durum güncellemelerini tespit etmek ve düzeltmek için kullanılır.

Mücadele Dönemi: Mücadele dönemi, doğrulayıcıların durum güncellemelerinin doğruluğunu kontrol etmesine ve onaylamasına olanak tanıyan belirlenmiş bir zaman penceresidir; bu, sistemin güvenliğinin ve adaletinin sağlanmasında kritik öneme sahiptir.

Çoğaltma kanıtı: Çoğaltma kanıtı, belirli bir verinin belirli bir zamanda belirli bir konumda gerçekten depolandığını ve birden fazla kopyanın yapıldığını kanıtlar.

Uzay-zaman kanıtı: Uzay-zaman kanıtı, uzay (depolama) ve zamanı (sürekli depolama) birleştiren, belirli bir verinin belirli bir süre boyunca saklanmaya devam ettiğini gösteren bir kanıt mekanizmasıdır.

Çözüm

Ocak 2021'de Ethereum kurucusu Buterin şunları söyledi: "Kısa vadede, EVM uyumluluğu nedeniyle Optimistic-Rollup'lar kazanacak ve ZK-Rollup'ların basit işlemler gibi kullanım durumlarında kazanma olasılığı daha yüksek olacak. Orta ve uzun vadede, zk-SNARK teknolojisi geliştikçe ZK-Rollup'lar eninde sonunda tüm kullanım örneklerini kazanacak."

Chainyuan Technology, blockchain güvenliğine odaklanan bir şirkettir. Temel çalışmalarımız arasında blockchain güvenlik araştırması, zincir içi veri analizi ve varlık ve sözleşme güvenlik açığı kurtarma yer alıyor ve bireyler ve kurumlar için çalınan birçok dijital varlığı başarıyla kurtardık. Aynı zamanda endüstri kuruluşlarına proje güvenliği analiz raporları, zincir üzerinde izlenebilirlik ve teknik danışmanlık/destek hizmetleri sağlamaya kararlıyız.

Okuduğunuz için teşekkür ederiz. Blockchain güvenlik içeriğine odaklanmaya ve paylaşmaya devam edeceğiz.