Arbitrum airdrop'undan sonra L2'deki Rollup genişleme yolunun bir temsilcisi olarak zkSync Era başlatılacak. Bitmek bilmeyen yeni tasarımların ve yol haritalarının ardında, Rollup'ın ana çizgisi ve evrimsel düşüncesi nedir, gelin bugün bir göz atalım.
Bu makalenin ana noktaları:
Üçüncü sınıf için yazılmış L1'in genişletme fikri
Sıfırdan bir Toplama çözümü tasarlayın
Toplama'nın yeniden gelişmesini sağlamak için sıfır bilgi kanıtı nasıl kullanılır?
Bir benzetmeyle başlamak
Bitcoin ve Ethereum için doğdukları günden bu yana sıradan kullanıcılardan gelen en büyük iki eleştiri var:
Yavaş: Şerit başlangıçta dardır ve çok fazla araba varsa engellenir.
Pahalı: Düz zirvelerdeki geçiş ücretleri ucuz değildir. Yoğun dönemde hızlı bir şekilde geçmek istiyorsanız, para eklemek için "para yeteneğini" kullanmanız ve madencilerin sizi almak için helikopter uçurmasına izin vermeniz gerekir.
Bu iki eleştiri, blok zinciri tasarımındaki iki faktörden kaynaklanmaktadır:
Blok kapasitesi: bir şeride benzer, blok kapasitesi ne kadar büyükse, o kadar fazla araba alabilir ve bloke olma olasılığı o kadar düşüktür.
Teşvik mekanizması: Garaj yolu ne kadar büyük olursa olsun, engellenme olasılığı vardır. Bu durumda, önce kimin geçmesine izin verilir? Kimin acelesi olduğuna bağlıdır, ancak insanların sözlerini dinleyemezsiniz. , ambulans çağırmak gibi ödeme istekliliğine bağlıdır Birkaç yüz olacaktır.
Blok zinciri gerçekten bir araba yolu gibi olabiliyorsa, o zaman temel çözüm doğal olarak araba yolunu genişletmek ve aynı zamanda fiyatla işbirliği yapmak, dışarı çıkma zamanını yönlendirmek ve içinde değilseniz dışarı çıkmayın. acele etmek.
Bununla birlikte, şeritleri genişletmek ve blok kapasitesini artırmak çekici bir trafik verimliliği çözümü olsa da, blok zinciri tasarımında son çaredir. Çünkü blok boyutu ne kadar büyükse, madencilerin donanım gereksinimleri o kadar yüksek ve gereksinimleri karşılayabilecek madenci sayısı o kadar az; bu fikre göre, Visa gibi saniyede binlerce işlem yapmak istiyorsanız, yalnızca bir tane daha yapmakla yetineceksiniz. merkezileştirilmiş Visa, blockchain güvensizliğinin temel amacına aykırıdır.
başka bir çözüm var mı? Evet, zaman rehberliğine ek olarak, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere alanı da optimize edebiliriz:
Biri büyük kamyonlar için, biri otomobiller için ve biri otobüsler için olmak üzere farklı şeritleri birbirine karışmadan açın — Bu fikre dayanarak, kendi güçlü yönleriyle bazı ana zincirlere, yan zincirlere veya Plazma'ya gelebiliriz.
Rota tasarımını optimize edin, trafiği uygun şekilde yönlendirin, hiçbir şey yapmak için şehre gitmeyin, bu ana yolu kullanmalısınız, buradaki kontrol noktasından geçmelisiniz —— Bu fikre dayanarak, sharding yapabiliriz.
Neden dışarı çıkmak zorundasın? Uzak bir toplantı yapmak ve bir anlaşmaya varmak için çok geç değil ve çevrimdışı bir anlaşma imzalamak için çok geç değil——Bu fikre dayanarak, bir devlet kanalımız (Devlet Kanalı) olabilir.
Dışarı çıkarken ille de tek başına araba kullanmak zorunda değilsin, aynı zamanda araba paylaşabilir veya toplu taşıma kullanabilirsiniz —— Bu fikirden yola çıkarak, bu makalenin kahramanı Rollup'a sahibiz.
Blok zincirindeki bir otobüs olarak, Rollup'ın anahtarı yerden ve benzinden tasarruf etmektir (Gas, kelime oyunu amaçlı):
Yerden tasarruf edin, böylece takılıp kalmak kolay olmaz ve her bir kişi tarafından paylaşılan geçiş ücreti, kendi başınıza sürmekten çok daha azdır;
Benzinden tasarruf edilir, bu nedenle bilet fiyatı halka yakındır ve herkes bunu karşılayabilir.
Bu sayede "yavaş" ve "pahalı" olmak üzere iki yuva Rollup tarafından çözülür.
Blok zincirine geri dönelim ve Rollup'ın özel planını görelim.
Sıfırdan bir Toplama tasarlayın;
Standart cevaba göz atmak yerine (hayır cevabından bahsetmiyorum bile), biraz tereddüt etmek ve Rollup for Ethereum'u tasarlamakla görevlendirildiğinizde ne yapacağınızı hayal etmek daha iyidir.
Bilgi işlem maliyetlerini düşürme (benzin tasarrufu) ve depolama maliyetlerini azaltma (yer tasarrufu) şeklindeki iki perspektiften başlayabilir ve önce Rollup 1.0; adında daha radikal bir çözüm önerebiliriz.
Toplama 1.0;
Toplama 1.0 3 ana noktadan oluşur:
Herkesin "araba paylaşımı" işlemlerini (Transaction) ve "sipariş gönderme" işlemlerini, araç paylaşımı dolu olsun ya da olmasın, ancak kararlaştırılan süre dolduğunda, fiyat ve zamanlamayı dikkate alarak toplayan bir hizmet sağlayıcı (Operatör) vardır;
Herkes tarafından gönderilen işlemlerle ilgili tüm hesaplamalar, bu hizmet sağlayıcı tarafından zincir dışı gerçekleştirilir, çünkü zincir dışı hesaplamalar zincir içi hesaplamalardan daha hızlıdır ve hesaplamalar genellikle zincir üstü maliyetlerin büyük kısmını oluşturur ve bu da çok fazla tasarruf sağlayabilir. para;
Hesaplamadan sonra güncel durumu (hesabınızdaki son bakiye gibi) alın ve zincirde saklayın, böylece depolama maliyeti çok daha düşük olur.
Basitçe ifade etmek gerekirse, herkesin işlem isteklerini düzenli ve niceliksel olarak toplamak ve zincir dışı hesaplamalardan sonra sadece hesaplama sonuçlarının zincir üzerinde sağlamlaştırılmasıdır.
Bu çözüm, "yavaş" ve "pahalı" olmak üzere iki ana acı noktasını mükemmel bir şekilde çözüyor, ancak yeni sorunlar yaratıyor gibi görünüyor:
Teşvik: "araba paylaşımı" hizmetini kim verecek ve faydaları nelerdir?
İnceleme sorunu (Sansür): Hizmet sağlayıcı bilerek siparişimi işleme almıyor (veya kapatıyor veya bırakıyor), ne yapmalıyım;
Dolandırıcılık sorunu (Fraud): Hizmet sağlayıcı hile yapar ve hesaplama sonuçlarını kurcalar, başkalarına para transfer etmeme neden olur ve para onun tarafından zimmete geçirilirse ne yapmalıyım?
Bu üç yeni problem için, planın bir versiyonunu yineleyebiliriz.
Toplama 2.0;
Motivasyon sorunu en iyi şekilde çözülür ve parayla çözülebilecek sorunlar sorun değildir. Servis sağlayıcı, "araba paylaşımı" ücretini eşit olarak paylaşabilir ve biraz fazladan "bahşiş" talep edebilir. Buna rağmen, "araba paylaşımı" yapan kişi için yine de bir kazan-kazan durumu söz konusudur.
İnceleme sorunu biraz daha sıkıntılı ama çözümü blockchain alanında çok yaygın ve bu da ademi merkeziyetçilik. Bir grup insan, yalnızca bir hizmet sağlayıcıdan daha iyi hizmet sağlayıcıdır; herkes, sabit bir grup insandan daha iyi bir hizmet sağlayıcı olabilir. İkinci oynama biçiminde, eğer tüm servis sağlayıcılar iyi değilse, kendiniz de bir servis sağlayıcı olabilir veya hakemliği başlatmak için doğrudan L1'e gidebilirsiniz.
Dolandırıcılık biraz daha zordur. İki soruya ayrılabilir; biri dolandırıcılığın nasıl belirleneceği, diğeri ise nasıl önleneceği.
Her şeyden önce, sahtekarlığı tespit etmek için, herkesin işlem (İşlem) verilerini, işlemden önceki durumu (State) bilmemiz gerekir, böylece işlemden sonraki yeni durumu (State') hesaplayabilir ve yeni durumla karşılaştırabiliriz. hizmet sağlayıcı zincirinde saklanır.Aynı ise hizmet sağlayıcının dürüst olduğu, aksi takdirde yalan söylediği anlamına gelir. Ancak, zincir üzerinde olmadıkları için işlem verilerini bilmiyoruz. Sonuç olarak, yalnızca şüpheci olabiliriz ve hizmet sağlayıcının dürüst olup olmadığına karar veremeyiz.
O halde dolandırıcılığı önlemenin en iyi yolu, dolandırıcılığın oluşmasını imkansız hale getirmektir. Zincirde her seferinde hizmet sağlayıcının hesabı kontrol edilmediği sürece bu nispeten zordur, ancak bu şekilde " araç paylaşımı". Bu nedenle, yalnızca bir adım geri gidebiliriz, dolandırıcılığın maliyeti çok yüksek olsun ve hizmet sağlayıcıların, dolandırıcılık ortaya çıkarsa el konulacak bir depozito (Stake) ödemek gibi oyunda dış görünümleri olmasını sağlayabiliriz. (Bu yöntem, oyun tabanlı güvenliğe ait olan ve "Haftalık #3;" de bahsedilen sosyal mutabakat olarak adlandırılır.)
Toplama 3.0;
Toplama 2.0 fena değil, ancak dolandırıcılığı belirleme sorunu çözülmedi.
Önceki çıkarıma göre dolandırıcılığı tespit etmek için işlem verilerini bilmeliyiz, bu nedenle verilerin bu kısmı durum verileriyle aynı zincirde olmalıdır.
Dolandırıcı olduklarını kim anlayacak? Açıkçası, bunun sıradan bir kullanıcı olması pek olası değildir, çünkü herkesin hizmet sağlayıcının her hareketini 7;x;24 saat izlemesi imkansızdır, bu nedenle yalnızca profesyonel bir "ödül avcısı" (Validator) olabilir. Bir "ödül avcısı", hizmet sağlayıcının "siparişi göndermesinden" sonraki 7 gün içinde dolandırıcılığı bildirirse ve bunun doğru olduğunu doğrularsa, işlem geri alınır ve hizmet sağlayıcı cezalandırılır. Elbette aynı şekilde "ödül avcıları"nın da teşvike ihtiyacı vardır.Örneğin, dolandırıcılık ortaya çıktıktan sonra, hizmet sağlayıcının depozitosunun bir kısmı "ödül avcısına" verilecektir (yalnızca bir kısmı, taraflar arasında gizli anlaşmayı önlemek için). hizmet sağlayıcı ve ödül avcısı).
Toplama 4.0;
Toplama 3.0 aşamasında, tüm çözüm sorunsuz bir şekilde çalışabilir hale geldi, ancak yeni maliyetler getirildi. Şu ana kadarki maliyetler şunları içerir:
Hizmet sağlayıcılara ödenen ücretler (maliyetler ve "ipuçları" dahil);
İşlem ve durum verilerinin zincir üstü depolama maliyeti;
"Ödül Avcısı" hizmet sağlayıcının hileli olduğuna inandığında, söylediklerinin zincirde doğru olduğunu doğrulamanın hesaplama maliyeti.
Hangi maliyetlerin optimize edilebileceğine bir göz atalım.
Işlem verileri
Belirli bir şekilde, birden fazla işlem bir araya toplanır ve kaplanan alan, her bir işlemin kapladığı alanın toplamından daha küçük olabilir.
En basit ETH transfer işlemini örnek alarak, her bir işlemin içerik yapısını parçalara ayırıyoruz ve imza alanının en büyük orana sahip olduğunu görebiliyoruz. Tüm işlemlerin imzalarını tek bir imzada (Anahtar Toplama) birleştirebiliriz, bu da çok fazla depolama ek yükünden tasarruf sağlar (Bitcoin'deki Schnorr'a benzer). Ek olarak, Nonce'den kurtulmak ve "araba paylaşımı" alanının kullanımını en üst düzeye çıkarmak için mümkün olduğunca "araba paylaşımı" sırasında mükemmel bir şekilde uyan "şişman ve zayıf" "yolcuları" seçmek gibi diğer parçaları da optimize edebiliriz.
kaynak:
Sadece üç veya iki kez, her bir ETH transfer işleminin boyutu 112 bayttan 12 bayta düşürüldü, bu da bir öncekinin onda birine yakın; elbette, işlem verilerini daha fazla sıkıştırmanın başka yolları da var.
Gerçek operasyonda, zincirde dağıtılan sözleşmeye böyle bir yöntem kurabiliriz:
function storeTxData(byte calldata data) harici {;// hiçbir şey yapma}
Ardından, "araba paylaşımı" her başarılı olduğunda, birleştirilmiş ve sıkıştırılmış işlem verileri bu yönteme calldata olarak iletilir. Calldata'nın kalıcı olarak saklanması gerekmez ve Social Consensus Tanıtım Yarışması Döneminden (Challenge Dönemi) sonra budanması (Prune) fark etmeyecektir; fiyatın kendisi çok düşüktür ve uygulanmasıyla daha ucuz olacaktır. Danksharding ve Data Blob gibi EIP'ler, L1'i veri depolama dağıtımına (Veri Kullanılabilirliği) uygulamanın bu biçimi de daha resmi olacaktır.
durum verileri
Artık işlem verileri zincire yüklendiğine göre, herkes işlem verileri aracılığıyla güncellenen durumu hesaplayabilir ve durum verileri o kadar gerekli değildir. Yalnızca sıradan kullanıcıların ("yolcuların") hizmet sağlayıcı işbirliği yapmadığında para çekme işlemleri için doğrudan L1'e başvurmasına izin vermek için kullanılan durum verilerinin Merkel Kökünü tutabiliriz ve paraları olduğunu kanıtlamak için Merkel Kanıtına güvenebiliriz. hesaplarında.
Dolandırıcılık Tahkim Maliyetleri
"Ödül avcısı" hizmet sağlayıcıya bir dolandırıcılık bildirdiğinde, on-chain sözleşme hesaplaması (Replay) bir kez yapılır ve durum sonuçları karşılaştırılır.Bu teorik olarak mümkün. Bununla birlikte, bunu yapmanın maliyeti düşük değildir (zaten iyi olmasına rağmen) ve ikincisi, Toplama "araba paylaşımı listesinde" yer alan işlemlerin Gaz toplamının Ethereum'un gaz limitini aşarak bunu imkansız hale getirmesidir. doğrulamak için.
Dolayısıyla tahkimin yükü azaltması gerekiyor ve yükü azaltmanın yolu da doğal olarak gereksiz hesaplama işlemlerini zincir dışına çıkarmaktan geçiyor. Çözümlerden biri Etkileşimli Kanıtlama olarak adlandırılır ve genel süreç şu şekildedir:
"Ödül Avcısı" bir depozito öder, ardından rapor verir ve tüm hesaplama sürecini sırayla n parçaya bölerek hizmet sağlayıcının k segmentinde dolandırıcılık yaptığını belirtir (1;≤k≤n);
Hizmet sağlayıcı, k segmentini k segmentine ayırdı ve parçalara ayırdı ve "ödül avcısının" hangi segmentinin yanlış olduğunu gösterdi;
Yani ileri geri, hesaplama işleminin artık detaylandırılamayacağını bilerek, örneğin "ödül avcısı" 1+;1;=;2; düşündüğünde, hizmet sağlayıcı 1+;1;= düşünür. ;3;;
Bu esnada zincirdeki sözleşme araya girerek 1+;1;'i hesaplar ve 2'yi elde ederek hizmet sağlayıcının dolandırıcı olduğunu tespit ederek mevduatına el koyar ve bir kısmını "ödül avcısına" ödüllendirir.
(Tüm süreç boyunca, taraflardan biri zaman aşımı süresi içinde yanıt veremezse, taraf başarısız olur.)
Bu şekilde, tüm zincirdeki tahkim maliyeti çok çok düşüktür.
Bunu söyledikten sonra tamamen bir Toplama çözümü oluşturduk. Bu şema, hizmet sağlayıcının varsayılan olarak dürüst olduğunu varsaydığından, bir "ödül avcısı" raporu olmadıkça, bu fraksiyona iyimser toplama, sözde İyimser Toplama denir.
Peki Rollup 4.0 en iyi çözüm mü?
Toplamanın yeniden evrimi
Birden çok yinelememizden sonra, Toplama 4.0'da hala bazı kusurlar var:
Dolandırıcılığın "ödül avcıları" tarafından keşfedilmesi gerekir, ancak uzun süre dolandırıcılık olmazsa, "ödül avcıları" kârsız oldukları için işsiz kalabilirler, bu nedenle bir boşluk olacaktır (olası olmasa da, çünkü Uygulama satıcıları gibi toplama zinciri Paydaşları büyük olasılıkla "ödül avcıları" olarak hareket edecektir);
Dolandırıcılık olmadığından emin olmak için, toplumsal mutabakata dayalı olarak, para çekme gibi işlemleri etkileyecek birkaç gün beklemeniz gerekir;
Zincirde çok fazla veri var ve maliyet hala orada;
Şu anda bir Rollup genişletme katmanına bağlı olarak, verim 10 kat artırılabilir. Daha yüksek olması mümkün mü?
Dolandırıcılığı tamamen imkansız hale getirebilecek, kesinliği (Kesinlik) daha hızlı hale getirebilecek, zincire daha az veri yüklenmesini gerektirecek ve genişlemeyi çok daha fazla hale getirebilecek bir çözüm var mı? Çok fazla bir şey istemiyorsunuz, ancak neredeyse tüm hayal gücünü tatmin edebilecek türden bir çözüm var - Sıfır Bilgi Toplaması (kısaca ZK-Toplaması).
ZK-Toplama, sıfır bilgi kanıtı (ZKP) kullanan bir Toplama fikridir. Sözde ZKP, hassas bilgileri ifşa etmeden karşı tarafı bu bilgileri bildiğinize ikna eden teknolojiyi ifade eder. ZKP'yi açıklamak için en sevdiğim iki örnek var:
*Bir ortaçağ Avrupa kasabasında hayal edin ve üzerinde bir hazinenin işaretlendiği bir hazine haritam var. Size bir hazine haritam olduğunu kanıtlamak için, ama hazinenin tam yerini size bildirmeden, gözlerinizi bağlayıp, sizi bir arabaya bindirip, yarım saat boyunca kasabayı dolaşarak emin olmanızı sağlarım. yön duygunuzu kaybedin, Sonunda varış noktasına varın, arabadan inin ve size hazineyi gösterin ve sonra sizi geri götürün. Bu, ZKP'nin saf bir şeklidir.
Başka bir benzetme daha yaygındır. Diyelim ki bir Sudoku bulmacası var, ben cevabı biliyorum ama sen bilmiyorsun ama sen benim bildiğime inanmıyorsun; ben sana bildiğimi kanıtlamak istiyorum ama senin cevabı bilmeni istemiyorum. ne yapalım? Sudoku'yu kartlarla masaya koyabilirim ve ardından açık sayıları yukarı ve doldurulması gereken sayıları aşağıya koyabilirim ve cevabımı satır veya sütuna göre kontrol etmeyi seçmenize izin verebilirim. Satıra göre ise, her satırdaki sayıları gruplandıracağım, parçalara ayıracağım ve size her satırın 1'den 9'a kadar olduğunu göstereceğim. Bunu birkaç kez tekrarlamakta bir sorun yok, böylece cevabı gerçekten yüksek bir olasılıkla bildiğime inanabilirsiniz. Bu, ZKP'nin etkileşimli kanıtlama yöntemlerinden biridir (çünkü blok zincirinde gerçek zamanlı zincir üzerinde etkileşim elde etmek zordur, genellikle etkileşimli olmayan kanıt kullanılır ve Hash işlevi tarafından rastgele zorluklar üretilir).
Daha az titiz bir ifadeyle, ZKP'nin temel fikri, kanıtlayıcının (Prover) önce gizli bilgiyi gizlemesi, "taahhüt etmesi" (Commit) ve ardından doğrulayıcının (Doğrulayıcı) rastgele bir meydan okuma (Challenge) başlatmasıdır. meydan okumayı başarıyla geçebilirse, ilgili gizli bilgiye sahip olma olasılığı yüksektir.
ZKP 3 şartı karşılamalıdır:
Kanıtlayan yalan söylüyorsa, meydan okumada başarısız olma olasılığı yüksektir (Sağlamlık);
İki taraf arasındaki etkileşim sırasında kanıtlayıcı herhangi bir yararlı bilgi ifşa etmeyecektir (Sıfır bilgi).
Bu üç gereksinimi karşılamak için ZKP, en basit asal sayı ayrışımı ve ayrık logaritmalar (Schnorr gibi) vb. dahil olmak üzere çeşitli NP problemleri kullanır.
ZKP, blok zinciri için doğmuş bir teknoloji değildir, ancak esas olarak iyi bir ZKP'nin aşağıdaki yararlı özelliklere sahip olması nedeniyle L2 genişlemesi için kullanılabilir:
Kanıtlayıcı (hizmet sağlayıcı), zincir altındaki hesaplama verimliliğinin çok yüksek olmasını ve bir darboğaz haline gelmemesini sağlamak için hızlı bir şekilde kanıt verebilir;
Kanıtın boyutu küçüktür veya en azından kanıtlanacak hesaplama miktarıyla orantılıdır ve veri miktarının etkisi mümkün olduğunca küçüktür, böylece zincirdeki depolama maliyeti düşüktür;
Doğrulayıcı (L1 sözleşmesi), kanıtın geçerli olup olmadığını hızlı bir şekilde doğrulayabilir, bu nedenle zincirdeki hesaplama maliyeti düşüktür.
Toplama çözümümüz bu özellikleri kullanarak şunları yapabilir:
"Ödül avcısına" gerek yoktur, L1 sözleşmesi dolandırıcılığı yerinde tespit edebilir;
ZKP doğrulaması geçerli olduğu sürece anında para çekme işlemi yapılabilir ve kesinlik günlerden dakikalara iner;
Zincirde yalnızca durumlar arasındaki fark gereklidir, alan çok küçüktür ve depolama maliyeti çok düşüktür (ek bir bonus — gizlilik de geliştirilir);
Kanıtlama ve doğrulama sürecinin özelleştirilmiş yazılım ve donanım optimizasyonu sayesinde, genişletme kapasitesi başka bir büyüklük sırası kadar artırılabilir.
Elbette, herhangi bir güvenlik mekanizmasının potansiyel ön koşulları olacaktır ve ZKP, blok zinciri için her derde deva değildir. ZKP'nin şu anda adım adım aşılması gereken birçok sınırlaması vardır, örneğin:
Blok zincirinde en sık kullanılan zk-SNARK'ı örnek olarak alın.Birçok şema, başlangıçta mümkün olduğu kadar çok prestijli kişi veya şirketi tanıtmalı ve gerçek bir rastgele sayı oluşturmak ve üretim sürecini garanti etmek için Güvenilir Kurulum yapmalıdır. doğrulanabilir ancak tam olarak halka açık değil (Tau'nun Gücü töreninde olduğu gibi, bir tarafa güvenilebildiği sürece, ancak yine de bir kusur olarak sayılır). Elbette bazı yeni zk-SNARK şemaları ve daha sonra geliştirilmiş zk-STARK'lar bu sorunu çözebilir, ancak bazen yeni sorunlar ortaya çıkar.
Birçok sorunu ZKP sorunu olarak özetlemek zor, bu da uzun süredir programlanabilirliğin iyi çözümlenememesine yol açmıştır.EVM ile tam uyumlu ZKP'yi Ethereum üzerinde gerçekleştirmek, hatta mümkün olsa bile zordur. Ancak diğer yönler (doğrulama verimliliği gibi) etkilenecektir.
kaynak:
Bu nedenle, geleceğe yönelik bir genişleme alanı olan ZK-Rollup'ta her ilerleme takdire şayan ve sevindiricidir.
kaynak:
sonuna yaz
Yazar, kapasite genişletmenin geleceği ile ilgili olarak, L1'in yerel kapasite genişletmesiyle karşılaştırıldığında, Rollup'ı içeren katmanlı tasarımın daha güvenilir bir fikir olduğuna inanıyor. Modülerleştirme, her katman her katmanın endişelerini çözer, bu zaten "yekpare" L1 üzerinde sürekli istiflemeden daha az risklidir; ayrıca, kapasite genişlemesi nedeniyle temel L1'in dağıtılması teorik olarak olası değildir Üst katman onu bulur ve yapar yukarı Ayrıca, bu katmanlı tasarım fikri, blok zinciri dışındaki alanlarda görünüşte başarılı uygulamalara sahiptir. Bakış açısı mutlaka doğru değildir, ancak bu yazarın mevcut bilişidir.
Bu makale, Rollup genişletme çözümünün düşünme ve tasarım nedenlerini projeden bağımsız bir tonda çözmeye çalışır. Sınırlı seviyeden dolayı bazı yerler hala biraz körelmiş, bu da hem yerinde anlatmıyor hem de anlama güçlüğünü artırıyor; her geçen gün değişen dikey bir alan olarak yazar farkında olmayabilir. zaman içinde birçok yeni gelişmeyi dikkate almak ve dikkate almak. Düzeltmek ve iletişim kurmak için içtenlikle arkadaşlara hoş geldiniz.
View Original
The content is for reference only, not a solicitation or offer. No investment, tax, or legal advice provided. See Disclaimer for more risks disclosure.
Bu makale, Rollup genişletme çözümünün evrim fikirlerini ve tasarım nedenlerini tartışmaktadır.
Orijinal Yazar: ORFEO
Orijinal kaynak: SeeDAO
L2 projesi bir kez daha gündemde.
Arbitrum airdrop'undan sonra L2'deki Rollup genişleme yolunun bir temsilcisi olarak zkSync Era başlatılacak. Bitmek bilmeyen yeni tasarımların ve yol haritalarının ardında, Rollup'ın ana çizgisi ve evrimsel düşüncesi nedir, gelin bugün bir göz atalım.
Bu makalenin ana noktaları:
Bir benzetmeyle başlamak
Bitcoin ve Ethereum için doğdukları günden bu yana sıradan kullanıcılardan gelen en büyük iki eleştiri var:
Bu iki eleştiri, blok zinciri tasarımındaki iki faktörden kaynaklanmaktadır:
Blok zinciri gerçekten bir araba yolu gibi olabiliyorsa, o zaman temel çözüm doğal olarak araba yolunu genişletmek ve aynı zamanda fiyatla işbirliği yapmak, dışarı çıkma zamanını yönlendirmek ve içinde değilseniz dışarı çıkmayın. acele etmek.
Bununla birlikte, şeritleri genişletmek ve blok kapasitesini artırmak çekici bir trafik verimliliği çözümü olsa da, blok zinciri tasarımında son çaredir. Çünkü blok boyutu ne kadar büyükse, madencilerin donanım gereksinimleri o kadar yüksek ve gereksinimleri karşılayabilecek madenci sayısı o kadar az; bu fikre göre, Visa gibi saniyede binlerce işlem yapmak istiyorsanız, yalnızca bir tane daha yapmakla yetineceksiniz. merkezileştirilmiş Visa, blockchain güvensizliğinin temel amacına aykırıdır.
başka bir çözüm var mı? Evet, zaman rehberliğine ek olarak, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere alanı da optimize edebiliriz:
Blok zincirindeki bir otobüs olarak, Rollup'ın anahtarı yerden ve benzinden tasarruf etmektir (Gas, kelime oyunu amaçlı):
Bu sayede "yavaş" ve "pahalı" olmak üzere iki yuva Rollup tarafından çözülür.
Blok zincirine geri dönelim ve Rollup'ın özel planını görelim.
Sıfırdan bir Toplama tasarlayın;
Standart cevaba göz atmak yerine (hayır cevabından bahsetmiyorum bile), biraz tereddüt etmek ve Rollup for Ethereum'u tasarlamakla görevlendirildiğinizde ne yapacağınızı hayal etmek daha iyidir.
Bilgi işlem maliyetlerini düşürme (benzin tasarrufu) ve depolama maliyetlerini azaltma (yer tasarrufu) şeklindeki iki perspektiften başlayabilir ve önce Rollup 1.0; adında daha radikal bir çözüm önerebiliriz.
Toplama 1.0;
Toplama 1.0 3 ana noktadan oluşur:
Basitçe ifade etmek gerekirse, herkesin işlem isteklerini düzenli ve niceliksel olarak toplamak ve zincir dışı hesaplamalardan sonra sadece hesaplama sonuçlarının zincir üzerinde sağlamlaştırılmasıdır.
Bu çözüm, "yavaş" ve "pahalı" olmak üzere iki ana acı noktasını mükemmel bir şekilde çözüyor, ancak yeni sorunlar yaratıyor gibi görünüyor:
Bu üç yeni problem için, planın bir versiyonunu yineleyebiliriz.
Toplama 2.0;
Motivasyon sorunu en iyi şekilde çözülür ve parayla çözülebilecek sorunlar sorun değildir. Servis sağlayıcı, "araba paylaşımı" ücretini eşit olarak paylaşabilir ve biraz fazladan "bahşiş" talep edebilir. Buna rağmen, "araba paylaşımı" yapan kişi için yine de bir kazan-kazan durumu söz konusudur.
İnceleme sorunu biraz daha sıkıntılı ama çözümü blockchain alanında çok yaygın ve bu da ademi merkeziyetçilik. Bir grup insan, yalnızca bir hizmet sağlayıcıdan daha iyi hizmet sağlayıcıdır; herkes, sabit bir grup insandan daha iyi bir hizmet sağlayıcı olabilir. İkinci oynama biçiminde, eğer tüm servis sağlayıcılar iyi değilse, kendiniz de bir servis sağlayıcı olabilir veya hakemliği başlatmak için doğrudan L1'e gidebilirsiniz.
Dolandırıcılık biraz daha zordur. İki soruya ayrılabilir; biri dolandırıcılığın nasıl belirleneceği, diğeri ise nasıl önleneceği.
Her şeyden önce, sahtekarlığı tespit etmek için, herkesin işlem (İşlem) verilerini, işlemden önceki durumu (State) bilmemiz gerekir, böylece işlemden sonraki yeni durumu (State') hesaplayabilir ve yeni durumla karşılaştırabiliriz. hizmet sağlayıcı zincirinde saklanır.Aynı ise hizmet sağlayıcının dürüst olduğu, aksi takdirde yalan söylediği anlamına gelir. Ancak, zincir üzerinde olmadıkları için işlem verilerini bilmiyoruz. Sonuç olarak, yalnızca şüpheci olabiliriz ve hizmet sağlayıcının dürüst olup olmadığına karar veremeyiz.
O halde dolandırıcılığı önlemenin en iyi yolu, dolandırıcılığın oluşmasını imkansız hale getirmektir. Zincirde her seferinde hizmet sağlayıcının hesabı kontrol edilmediği sürece bu nispeten zordur, ancak bu şekilde " araç paylaşımı". Bu nedenle, yalnızca bir adım geri gidebiliriz, dolandırıcılığın maliyeti çok yüksek olsun ve hizmet sağlayıcıların, dolandırıcılık ortaya çıkarsa el konulacak bir depozito (Stake) ödemek gibi oyunda dış görünümleri olmasını sağlayabiliriz. (Bu yöntem, oyun tabanlı güvenliğe ait olan ve "Haftalık #3;" de bahsedilen sosyal mutabakat olarak adlandırılır.)
Toplama 3.0;
Toplama 2.0 fena değil, ancak dolandırıcılığı belirleme sorunu çözülmedi.
Önceki çıkarıma göre dolandırıcılığı tespit etmek için işlem verilerini bilmeliyiz, bu nedenle verilerin bu kısmı durum verileriyle aynı zincirde olmalıdır.
Dolandırıcı olduklarını kim anlayacak? Açıkçası, bunun sıradan bir kullanıcı olması pek olası değildir, çünkü herkesin hizmet sağlayıcının her hareketini 7;x;24 saat izlemesi imkansızdır, bu nedenle yalnızca profesyonel bir "ödül avcısı" (Validator) olabilir. Bir "ödül avcısı", hizmet sağlayıcının "siparişi göndermesinden" sonraki 7 gün içinde dolandırıcılığı bildirirse ve bunun doğru olduğunu doğrularsa, işlem geri alınır ve hizmet sağlayıcı cezalandırılır. Elbette aynı şekilde "ödül avcıları"nın da teşvike ihtiyacı vardır.Örneğin, dolandırıcılık ortaya çıktıktan sonra, hizmet sağlayıcının depozitosunun bir kısmı "ödül avcısına" verilecektir (yalnızca bir kısmı, taraflar arasında gizli anlaşmayı önlemek için). hizmet sağlayıcı ve ödül avcısı).
Toplama 4.0;
Toplama 3.0 aşamasında, tüm çözüm sorunsuz bir şekilde çalışabilir hale geldi, ancak yeni maliyetler getirildi. Şu ana kadarki maliyetler şunları içerir:
Hangi maliyetlerin optimize edilebileceğine bir göz atalım.
Işlem verileri
Belirli bir şekilde, birden fazla işlem bir araya toplanır ve kaplanan alan, her bir işlemin kapladığı alanın toplamından daha küçük olabilir.
En basit ETH transfer işlemini örnek alarak, her bir işlemin içerik yapısını parçalara ayırıyoruz ve imza alanının en büyük orana sahip olduğunu görebiliyoruz. Tüm işlemlerin imzalarını tek bir imzada (Anahtar Toplama) birleştirebiliriz, bu da çok fazla depolama ek yükünden tasarruf sağlar (Bitcoin'deki Schnorr'a benzer). Ek olarak, Nonce'den kurtulmak ve "araba paylaşımı" alanının kullanımını en üst düzeye çıkarmak için mümkün olduğunca "araba paylaşımı" sırasında mükemmel bir şekilde uyan "şişman ve zayıf" "yolcuları" seçmek gibi diğer parçaları da optimize edebiliriz.
kaynak:
Sadece üç veya iki kez, her bir ETH transfer işleminin boyutu 112 bayttan 12 bayta düşürüldü, bu da bir öncekinin onda birine yakın; elbette, işlem verilerini daha fazla sıkıştırmanın başka yolları da var.
Gerçek operasyonda, zincirde dağıtılan sözleşmeye böyle bir yöntem kurabiliriz:
function storeTxData(byte calldata data) harici {;// hiçbir şey yapma}
Ardından, "araba paylaşımı" her başarılı olduğunda, birleştirilmiş ve sıkıştırılmış işlem verileri bu yönteme calldata olarak iletilir. Calldata'nın kalıcı olarak saklanması gerekmez ve Social Consensus Tanıtım Yarışması Döneminden (Challenge Dönemi) sonra budanması (Prune) fark etmeyecektir; fiyatın kendisi çok düşüktür ve uygulanmasıyla daha ucuz olacaktır. Danksharding ve Data Blob gibi EIP'ler, L1'i veri depolama dağıtımına (Veri Kullanılabilirliği) uygulamanın bu biçimi de daha resmi olacaktır.
durum verileri
Artık işlem verileri zincire yüklendiğine göre, herkes işlem verileri aracılığıyla güncellenen durumu hesaplayabilir ve durum verileri o kadar gerekli değildir. Yalnızca sıradan kullanıcıların ("yolcuların") hizmet sağlayıcı işbirliği yapmadığında para çekme işlemleri için doğrudan L1'e başvurmasına izin vermek için kullanılan durum verilerinin Merkel Kökünü tutabiliriz ve paraları olduğunu kanıtlamak için Merkel Kanıtına güvenebiliriz. hesaplarında.
Dolandırıcılık Tahkim Maliyetleri
"Ödül avcısı" hizmet sağlayıcıya bir dolandırıcılık bildirdiğinde, on-chain sözleşme hesaplaması (Replay) bir kez yapılır ve durum sonuçları karşılaştırılır.Bu teorik olarak mümkün. Bununla birlikte, bunu yapmanın maliyeti düşük değildir (zaten iyi olmasına rağmen) ve ikincisi, Toplama "araba paylaşımı listesinde" yer alan işlemlerin Gaz toplamının Ethereum'un gaz limitini aşarak bunu imkansız hale getirmesidir. doğrulamak için.
Dolayısıyla tahkimin yükü azaltması gerekiyor ve yükü azaltmanın yolu da doğal olarak gereksiz hesaplama işlemlerini zincir dışına çıkarmaktan geçiyor. Çözümlerden biri Etkileşimli Kanıtlama olarak adlandırılır ve genel süreç şu şekildedir:
(Tüm süreç boyunca, taraflardan biri zaman aşımı süresi içinde yanıt veremezse, taraf başarısız olur.)
Bu şekilde, tüm zincirdeki tahkim maliyeti çok çok düşüktür.
Bunu söyledikten sonra tamamen bir Toplama çözümü oluşturduk. Bu şema, hizmet sağlayıcının varsayılan olarak dürüst olduğunu varsaydığından, bir "ödül avcısı" raporu olmadıkça, bu fraksiyona iyimser toplama, sözde İyimser Toplama denir.
Peki Rollup 4.0 en iyi çözüm mü?
Toplamanın yeniden evrimi
Birden çok yinelememizden sonra, Toplama 4.0'da hala bazı kusurlar var:
Dolandırıcılığı tamamen imkansız hale getirebilecek, kesinliği (Kesinlik) daha hızlı hale getirebilecek, zincire daha az veri yüklenmesini gerektirecek ve genişlemeyi çok daha fazla hale getirebilecek bir çözüm var mı? Çok fazla bir şey istemiyorsunuz, ancak neredeyse tüm hayal gücünü tatmin edebilecek türden bir çözüm var - Sıfır Bilgi Toplaması (kısaca ZK-Toplaması).
ZK-Toplama, sıfır bilgi kanıtı (ZKP) kullanan bir Toplama fikridir. Sözde ZKP, hassas bilgileri ifşa etmeden karşı tarafı bu bilgileri bildiğinize ikna eden teknolojiyi ifade eder. ZKP'yi açıklamak için en sevdiğim iki örnek var:
*Bir ortaçağ Avrupa kasabasında hayal edin ve üzerinde bir hazinenin işaretlendiği bir hazine haritam var. Size bir hazine haritam olduğunu kanıtlamak için, ama hazinenin tam yerini size bildirmeden, gözlerinizi bağlayıp, sizi bir arabaya bindirip, yarım saat boyunca kasabayı dolaşarak emin olmanızı sağlarım. yön duygunuzu kaybedin, Sonunda varış noktasına varın, arabadan inin ve size hazineyi gösterin ve sonra sizi geri götürün. Bu, ZKP'nin saf bir şeklidir.
Daha az titiz bir ifadeyle, ZKP'nin temel fikri, kanıtlayıcının (Prover) önce gizli bilgiyi gizlemesi, "taahhüt etmesi" (Commit) ve ardından doğrulayıcının (Doğrulayıcı) rastgele bir meydan okuma (Challenge) başlatmasıdır. meydan okumayı başarıyla geçebilirse, ilgili gizli bilgiye sahip olma olasılığı yüksektir.
ZKP 3 şartı karşılamalıdır:
Bu üç gereksinimi karşılamak için ZKP, en basit asal sayı ayrışımı ve ayrık logaritmalar (Schnorr gibi) vb. dahil olmak üzere çeşitli NP problemleri kullanır.
ZKP, blok zinciri için doğmuş bir teknoloji değildir, ancak esas olarak iyi bir ZKP'nin aşağıdaki yararlı özelliklere sahip olması nedeniyle L2 genişlemesi için kullanılabilir:
Toplama çözümümüz bu özellikleri kullanarak şunları yapabilir:
Elbette, herhangi bir güvenlik mekanizmasının potansiyel ön koşulları olacaktır ve ZKP, blok zinciri için her derde deva değildir. ZKP'nin şu anda adım adım aşılması gereken birçok sınırlaması vardır, örneğin:
kaynak:
Bu nedenle, geleceğe yönelik bir genişleme alanı olan ZK-Rollup'ta her ilerleme takdire şayan ve sevindiricidir.
kaynak:
sonuna yaz
Yazar, kapasite genişletmenin geleceği ile ilgili olarak, L1'in yerel kapasite genişletmesiyle karşılaştırıldığında, Rollup'ı içeren katmanlı tasarımın daha güvenilir bir fikir olduğuna inanıyor. Modülerleştirme, her katman her katmanın endişelerini çözer, bu zaten "yekpare" L1 üzerinde sürekli istiflemeden daha az risklidir; ayrıca, kapasite genişlemesi nedeniyle temel L1'in dağıtılması teorik olarak olası değildir Üst katman onu bulur ve yapar yukarı Ayrıca, bu katmanlı tasarım fikri, blok zinciri dışındaki alanlarda görünüşte başarılı uygulamalara sahiptir. Bakış açısı mutlaka doğru değildir, ancak bu yazarın mevcut bilişidir.
Bu makale, Rollup genişletme çözümünün düşünme ve tasarım nedenlerini projeden bağımsız bir tonda çözmeye çalışır. Sınırlı seviyeden dolayı bazı yerler hala biraz körelmiş, bu da hem yerinde anlatmıyor hem de anlama güçlüğünü artırıyor; her geçen gün değişen dikey bir alan olarak yazar farkında olmayabilir. zaman içinde birçok yeni gelişmeyi dikkate almak ve dikkate almak. Düzeltmek ve iletişim kurmak için içtenlikle arkadaşlara hoş geldiniz.