Geri bildirim ve inceleme için Karl Floersch'e özel teşekkürler
Ethereum katman 2 ekosistemi geçen yıl hızla genişliyor. Geleneksel olarak Arbitrum, Optimism ve Scroll'u ve son zamanlarda Kakarot ve Taiko'yu içeren EVM toplama ekosistemi hızla ilerlemekte ve güvenliklerini iyileştirme konusunda büyük adımlar atmaktadır; L2beat sayfası her projenin durumunu özetleme konusunda iyi bir iş çıkarıyor. Ek olarak, yan zincirler oluşturan ekiplerin aynı zamanda toplamalar (Polygon), validium olmaya doğru ilerlemek isteyen katman 1 projeleri (Celo) ve tamamen yeni çabalar (Linea, Zeth…) oluşturmaya başladığını da gördük. Son olarak, sadece EVM olmayan ekosistem var: Zksync gibi "neredeyse EVM'ler", Arbitrum Stylus gibi uzantılar ve Starknet ekosistemi, Fuel ve diğerleri gibi daha geniş çalışmalar.
Bunun kaçınılmaz sonuçlarından biri, 2. katman projelerinin daha heterojen hale gelme eğilimini görmemizdir. Birkaç temel nedenden dolayı bu eğilimin devam etmesini bekliyorum:
Önemli bir konu şu ki, bugün Ethereum katman 1'de bulunan uygulamalar ve kullanıcılar daha küçük ancak kısa vadede görünür toplam ücretler ödeyebilirlerken, blockchain dışı dünyadaki kullanıcılar bunu yapamayacaktır: eğer 0,10 dolar ödemeyi haklı çıkarmak daha kolaydır. Daha önce 0$ ödediğinize göre 1$ ödüyordunuz. Bu, hem günümüzde merkezileştirilmiş uygulamalar hem de kullanıcı tabanları küçük kalırken genellikle çok düşük ücretlere sahip olan daha küçük katman 1'ler için geçerlidir.
Ortaya çıkan doğal bir soru şudur: Toplamalar, validiumlar ve diğer sistemler arasındaki bu karmaşık değiş tokuşlardan hangisi belirli bir uygulama için anlamlıdır?
İnceleyeceğimiz güvenlik ve ölçek arasındaki ilk boyut şu şekilde açıklanabilir: L1'de ihraç edilen, daha sonra L2'ye yatırılan ve daha sonra size aktarılan bir varlığınız varsa, bu varlığın size aktarılacağına dair ne düzeyde bir garantiniz var? varlığı L1'e geri götürebilecek misiniz?
Aynı zamanda paralel bir soru da var: Bu düzeyde garantiyle sonuçlanan teknoloji seçimi nedir ve bu teknoloji seçiminin ödünleri nelerdir?
Bunu basitçe bir grafik kullanarak açıklayabiliriz:
Bunun basitleştirilmiş bir şema olduğunu ve birçok ara seçeneğin bulunduğunu belirtmekte fayda var. Örneğin:
Bu ara seçenekler, toplama ve geçerlilik arasındaki bir spektrumda olarak görülebilir. Peki uygulamaları daha soldaki veya daha sağdaki bir noktayı değil de bu spektrumdaki belirli bir noktayı seçmeye motive eden şey nedir? Burada iki önemli faktör var:
Yaklaşık olarak bu değiş tokuş şuna benzer:
Bahsetmeye değer bir diğer kısmi teminat türü ise ön teyitlerdir. Ön onaylar, bir toplama veya geçerlilikteki bazı katılımcılar tarafından imzalanan ve "bu işlemlerin bu sıraya dahil edildiğini ve durum sonrası kökün bu olduğunu onaylıyoruz" diyen mesajlardır. Bu katılımcılar daha sonraki gerçeklerle eşleşmeyen bir ön onay imzalayabilirler, ancak imzalarlarsa depozito yakılır. Bu, tüketici ödemeleri gibi düşük değerli uygulamalar için kullanışlıdır; milyonlarca dolarlık mali transferler gibi daha yüksek değerli uygulamalar ise muhtemelen sistemin tam güvenliğiyle desteklenen "düzenli" bir onayı bekleyecektir.
Ön onaylar, yukarıda bahsedilen “plazma / validium hibritine” benzer, ancak bu sefer tam güvenliğe sahip ancak gecikme süresi yüksek bir rollup (veya validium) ile düşük gecikme süresine sahip çok daha düşük güvenlik düzeyi. Daha düşük gecikme süresine ihtiyaç duyan uygulamalar daha düşük güvenliğe sahip olur ancak maksimum güvenlik karşılığında daha yüksek gecikme süresine sahip uygulamalarla aynı ekosistemde yaşayabilir.
Daha az düşünülmüş ama yine de çok önemli olan başka bir bağlantı biçimi, sistemin Ethereum blok zincirini okuma yeteneğiyle ilgilidir. Özellikle Ethereum geri dönerse geri dönebilmeyi de içerir. Bunun neden değerli olduğunu anlamak için aşağıdaki durumu göz önünde bulundurun:
Diyagramda gösterildiği gibi Ethereum zincirinin geri döndüğünü varsayalım. Bu, zincirin sonlandırılmadığı bir dönem içindeki geçici bir kesinti olabilir veya çok fazla doğrulayıcının çevrimdışı olması nedeniyle zincirin uzun bir süre boyunca sonlandırılmadığı bir hareketsizlik sızıntısı dönemi olabilir.
Bundan doğabilecek en kötü senaryo aşağıdaki gibidir. En üstteki zincirdeki ilk bloğun, Ethereum zincirindeki en soldaki bloktan bazı verileri okuduğunu varsayalım. Örneğin, Ethereum'daki bir kişi üst zincire 100 ETH yatırıyor. Daha sonra Ethereum geri döner. Ancak üst zincir geri dönmez. Sonuç olarak, üst zincirin gelecekteki blokları, yeni doğrulanmış Ethereum zincirindeki yeni blokları doğru bir şekilde takip eder, ancak artık hatalı olan eski bağlantının sonuçları (yani 100 ETH yatırma) hala üst zincirin bir parçasıdır. Bu istismar, para basılmasına ve üst zincirdeki köprülü ETH'nin kısmi bir rezerve dönüştürülmesine olanak sağlayabilir.
Bu sorunu çözmenin iki yolu vardır:
(1)'in bir kenar durumu olduğuna dikkat edin. Ethereum'a yapılan %51'lik bir saldırı, her ikisi de aynı anda tamamlanmış görünen iki yeni uyumsuz blok oluşturursa, üst zincir pekala yanlış olana kilitlenebilir (ör. Ethereum sosyal konsensüsünün eninde sonunda desteklemediği) ve doğru olana geçmek için geri dönmek zorunda kalacak. Muhtemelen bu durumu önceden ele almak için kod yazmaya gerek yoktur; üst zincirin sert çatallanmasıyla kolayca halledilebilirdi.
Bir zincirin Ethereum'u güvenilir bir şekilde okuma yeteneği iki nedenden dolayı değerlidir:
Üst zincirin ayrı bir zincir olarak başladığını ve ardından birisinin Ethereum'a bir köprü sözleşmesi koyduğunu varsayalım. Köprü sözleşmesi, basitçe üst zincirin blok başlıklarını kabul eden, kendisine gönderilen herhangi bir başlığın üst zincirin fikir birliğiyle kabul edildiğini gösteren geçerli bir sertifikayla birlikte geldiğini doğrulayan ve bu başlığı bir listeye ekleyen bir sözleşmedir. Uygulamalar, token yatırma ve çekme gibi işlevleri uygulamak için bunun üzerine inşa edilebilir. Böyle bir köprünün kurulması daha önce bahsettiğimiz varlık güvenliği garantilerinden herhangi birini sağlıyor mu?
Şu ana kadar, henüz değil! İki nedenden dolayı:
Şimdi köprüyü doğrulayıcı bir köprü yapalım: sadece fikir birliğini değil aynı zamanda herhangi bir yeni bloğun durumunun doğru şekilde hesaplandığını kanıtlayan bir ZK-SNARK'ı da kontrol eder.
Bu yapıldıktan sonra üst zincirin doğrulayıcıları artık paranızı çalamaz. Kullanılamayan verileri içeren bir blok yayınlayarak herkesin geri çekilmesini önleyebilirler, ancak çalamazlar (geri çekilmelerine izin veren verileri ifşa etmek karşılığında kullanıcılar için fidye almaya çalışmak dışında). Bu validium ile aynı güvenlik modelidir.
Ancak ikinci sorunu hala çözemedik: En üstteki zincir Ethereum'u okuyamıyor.
Bunu yapmak için iki şeyden birini yapmamız gerekir:
Mor bağlantılar karma bağlantılar veya Ethereum'un fikir birliğini doğrulayan bir köprü sözleşmesi olabilir.
Bu yeterli mi? Birkaç küçük uç durum nedeniyle hala hayır olduğu ortaya çıktı:
Ethereum'a yönelik %51'lik bir saldırı, üst zincire yönelik %51'lik bir saldırı ile benzer sonuçlara sahip olacaktır ancak bunun tersi olacaktır. Ethereum'un sert çatalı, üst zincirdeki Ethereum köprüsünün artık geçerli olmaması riskini taşır. Ethereum'un sonlandırılmış bir bloğu geri alması durumunda geri dönmeye yönelik sosyal bir taahhüt ve Ethereum'un sert çatallanması durumunda sert çatallanma, bunu çözmenin en temiz yoludur. Böyle bir taahhüdün gerçekte hiçbir zaman uygulanması gerekmeyebilir: olası bir saldırı veya hard fork kanıtı görürse üst zincirdeki bir yönetişim aracını etkinleştirebilir ve yalnızca yönetim aygıtı başarısız olursa üst zincire hard fork uygulayabilirsiniz.
(3)'e verilebilecek tek geçerli cevap, ne yazık ki, Ethereum üzerinde, Ethereum üzerindeki köprü sözleşmesinin üst zincirin hard fork yükseltmelerinden haberdar olmasını sağlayabilecek bir çeşit yönetim aygıtına sahip olmaktır.
Özet: İki yönlü doğrulama köprüleri, bir zincirin validium olması için neredeyse yeterlidir. Geriye kalan ana bileşen, Ethereum'da köprünün artık çalışmamasına neden olacak olağanüstü bir şey olursa, diğer zincirin buna karşılık olarak hard fork uygulayacağı yönündeki sosyal taahhüttür.
“Ethereum'a bağlılığın” iki temel boyutu vardır:
Bunların her ikisi de önemlidir ve farklı değerlendirmeleri vardır. Her iki durumda da bir spektrum vardır:
Her iki boyutun da onları ölçmenin iki farklı yöntemi olduğuna dikkat edin (yani gerçekten dört boyut var mı?): Para çekme güvenliği (i) güvenlik düzeyiyle ve (ii) kullanıcıların veya kullanım durumlarının yüzde kaçının en yüksek güvenlikten yararlandığı ile ölçülebilir okuma güvenliği (i) zincirin Ethereum'un bloklarını, özellikle de sonlandırılmış blokları ve diğer blokları ne kadar hızlı okuyabildiği ve (ii) zincirin %51 saldırıları gibi son durumlarla başa çıkma konusundaki sosyal bağlılığının gücü ve sert çatallar.
Bu tasarım alanının birçok bölgesinde projelerin değeri var. Bazı uygulamalar için yüksek güvenlik ve sıkı bağlantı önemlidir. Diğerleri için ise daha fazla ölçeklenebilirlik sağlamak amacıyla takasta daha gevşek bir şey kabul edilebilir. Çoğu durumda, bugün daha gevşek bir şeyle başlamak ve önümüzdeki on yıl içinde teknoloji geliştikçe daha sıkı bir bağlantıya geçmek ideal olabilir.
Geri bildirim ve inceleme için Karl Floersch'e özel teşekkürler
Ethereum katman 2 ekosistemi geçen yıl hızla genişliyor. Geleneksel olarak Arbitrum, Optimism ve Scroll'u ve son zamanlarda Kakarot ve Taiko'yu içeren EVM toplama ekosistemi hızla ilerlemekte ve güvenliklerini iyileştirme konusunda büyük adımlar atmaktadır; L2beat sayfası her projenin durumunu özetleme konusunda iyi bir iş çıkarıyor. Ek olarak, yan zincirler oluşturan ekiplerin aynı zamanda toplamalar (Polygon), validium olmaya doğru ilerlemek isteyen katman 1 projeleri (Celo) ve tamamen yeni çabalar (Linea, Zeth…) oluşturmaya başladığını da gördük. Son olarak, sadece EVM olmayan ekosistem var: Zksync gibi "neredeyse EVM'ler", Arbitrum Stylus gibi uzantılar ve Starknet ekosistemi, Fuel ve diğerleri gibi daha geniş çalışmalar.
Bunun kaçınılmaz sonuçlarından biri, 2. katman projelerinin daha heterojen hale gelme eğilimini görmemizdir. Birkaç temel nedenden dolayı bu eğilimin devam etmesini bekliyorum:
Önemli bir konu şu ki, bugün Ethereum katman 1'de bulunan uygulamalar ve kullanıcılar daha küçük ancak kısa vadede görünür toplam ücretler ödeyebilirlerken, blockchain dışı dünyadaki kullanıcılar bunu yapamayacaktır: eğer 0,10 dolar ödemeyi haklı çıkarmak daha kolaydır. Daha önce 0$ ödediğinize göre 1$ ödüyordunuz. Bu, hem günümüzde merkezileştirilmiş uygulamalar hem de kullanıcı tabanları küçük kalırken genellikle çok düşük ücretlere sahip olan daha küçük katman 1'ler için geçerlidir.
Ortaya çıkan doğal bir soru şudur: Toplamalar, validiumlar ve diğer sistemler arasındaki bu karmaşık değiş tokuşlardan hangisi belirli bir uygulama için anlamlıdır?
İnceleyeceğimiz güvenlik ve ölçek arasındaki ilk boyut şu şekilde açıklanabilir: L1'de ihraç edilen, daha sonra L2'ye yatırılan ve daha sonra size aktarılan bir varlığınız varsa, bu varlığın size aktarılacağına dair ne düzeyde bir garantiniz var? varlığı L1'e geri götürebilecek misiniz?
Aynı zamanda paralel bir soru da var: Bu düzeyde garantiyle sonuçlanan teknoloji seçimi nedir ve bu teknoloji seçiminin ödünleri nelerdir?
Bunu basitçe bir grafik kullanarak açıklayabiliriz:
Bunun basitleştirilmiş bir şema olduğunu ve birçok ara seçeneğin bulunduğunu belirtmekte fayda var. Örneğin:
Bu ara seçenekler, toplama ve geçerlilik arasındaki bir spektrumda olarak görülebilir. Peki uygulamaları daha soldaki veya daha sağdaki bir noktayı değil de bu spektrumdaki belirli bir noktayı seçmeye motive eden şey nedir? Burada iki önemli faktör var:
Yaklaşık olarak bu değiş tokuş şuna benzer:
Bahsetmeye değer bir diğer kısmi teminat türü ise ön teyitlerdir. Ön onaylar, bir toplama veya geçerlilikteki bazı katılımcılar tarafından imzalanan ve "bu işlemlerin bu sıraya dahil edildiğini ve durum sonrası kökün bu olduğunu onaylıyoruz" diyen mesajlardır. Bu katılımcılar daha sonraki gerçeklerle eşleşmeyen bir ön onay imzalayabilirler, ancak imzalarlarsa depozito yakılır. Bu, tüketici ödemeleri gibi düşük değerli uygulamalar için kullanışlıdır; milyonlarca dolarlık mali transferler gibi daha yüksek değerli uygulamalar ise muhtemelen sistemin tam güvenliğiyle desteklenen "düzenli" bir onayı bekleyecektir.
Ön onaylar, yukarıda bahsedilen “plazma / validium hibritine” benzer, ancak bu sefer tam güvenliğe sahip ancak gecikme süresi yüksek bir rollup (veya validium) ile düşük gecikme süresine sahip çok daha düşük güvenlik düzeyi. Daha düşük gecikme süresine ihtiyaç duyan uygulamalar daha düşük güvenliğe sahip olur ancak maksimum güvenlik karşılığında daha yüksek gecikme süresine sahip uygulamalarla aynı ekosistemde yaşayabilir.
Daha az düşünülmüş ama yine de çok önemli olan başka bir bağlantı biçimi, sistemin Ethereum blok zincirini okuma yeteneğiyle ilgilidir. Özellikle Ethereum geri dönerse geri dönebilmeyi de içerir. Bunun neden değerli olduğunu anlamak için aşağıdaki durumu göz önünde bulundurun:
Diyagramda gösterildiği gibi Ethereum zincirinin geri döndüğünü varsayalım. Bu, zincirin sonlandırılmadığı bir dönem içindeki geçici bir kesinti olabilir veya çok fazla doğrulayıcının çevrimdışı olması nedeniyle zincirin uzun bir süre boyunca sonlandırılmadığı bir hareketsizlik sızıntısı dönemi olabilir.
Bundan doğabilecek en kötü senaryo aşağıdaki gibidir. En üstteki zincirdeki ilk bloğun, Ethereum zincirindeki en soldaki bloktan bazı verileri okuduğunu varsayalım. Örneğin, Ethereum'daki bir kişi üst zincire 100 ETH yatırıyor. Daha sonra Ethereum geri döner. Ancak üst zincir geri dönmez. Sonuç olarak, üst zincirin gelecekteki blokları, yeni doğrulanmış Ethereum zincirindeki yeni blokları doğru bir şekilde takip eder, ancak artık hatalı olan eski bağlantının sonuçları (yani 100 ETH yatırma) hala üst zincirin bir parçasıdır. Bu istismar, para basılmasına ve üst zincirdeki köprülü ETH'nin kısmi bir rezerve dönüştürülmesine olanak sağlayabilir.
Bu sorunu çözmenin iki yolu vardır:
(1)'in bir kenar durumu olduğuna dikkat edin. Ethereum'a yapılan %51'lik bir saldırı, her ikisi de aynı anda tamamlanmış görünen iki yeni uyumsuz blok oluşturursa, üst zincir pekala yanlış olana kilitlenebilir (ör. Ethereum sosyal konsensüsünün eninde sonunda desteklemediği) ve doğru olana geçmek için geri dönmek zorunda kalacak. Muhtemelen bu durumu önceden ele almak için kod yazmaya gerek yoktur; üst zincirin sert çatallanmasıyla kolayca halledilebilirdi.
Bir zincirin Ethereum'u güvenilir bir şekilde okuma yeteneği iki nedenden dolayı değerlidir:
Üst zincirin ayrı bir zincir olarak başladığını ve ardından birisinin Ethereum'a bir köprü sözleşmesi koyduğunu varsayalım. Köprü sözleşmesi, basitçe üst zincirin blok başlıklarını kabul eden, kendisine gönderilen herhangi bir başlığın üst zincirin fikir birliğiyle kabul edildiğini gösteren geçerli bir sertifikayla birlikte geldiğini doğrulayan ve bu başlığı bir listeye ekleyen bir sözleşmedir. Uygulamalar, token yatırma ve çekme gibi işlevleri uygulamak için bunun üzerine inşa edilebilir. Böyle bir köprünün kurulması daha önce bahsettiğimiz varlık güvenliği garantilerinden herhangi birini sağlıyor mu?
Şu ana kadar, henüz değil! İki nedenden dolayı:
Şimdi köprüyü doğrulayıcı bir köprü yapalım: sadece fikir birliğini değil aynı zamanda herhangi bir yeni bloğun durumunun doğru şekilde hesaplandığını kanıtlayan bir ZK-SNARK'ı da kontrol eder.
Bu yapıldıktan sonra üst zincirin doğrulayıcıları artık paranızı çalamaz. Kullanılamayan verileri içeren bir blok yayınlayarak herkesin geri çekilmesini önleyebilirler, ancak çalamazlar (geri çekilmelerine izin veren verileri ifşa etmek karşılığında kullanıcılar için fidye almaya çalışmak dışında). Bu validium ile aynı güvenlik modelidir.
Ancak ikinci sorunu hala çözemedik: En üstteki zincir Ethereum'u okuyamıyor.
Bunu yapmak için iki şeyden birini yapmamız gerekir:
Mor bağlantılar karma bağlantılar veya Ethereum'un fikir birliğini doğrulayan bir köprü sözleşmesi olabilir.
Bu yeterli mi? Birkaç küçük uç durum nedeniyle hala hayır olduğu ortaya çıktı:
Ethereum'a yönelik %51'lik bir saldırı, üst zincire yönelik %51'lik bir saldırı ile benzer sonuçlara sahip olacaktır ancak bunun tersi olacaktır. Ethereum'un sert çatalı, üst zincirdeki Ethereum köprüsünün artık geçerli olmaması riskini taşır. Ethereum'un sonlandırılmış bir bloğu geri alması durumunda geri dönmeye yönelik sosyal bir taahhüt ve Ethereum'un sert çatallanması durumunda sert çatallanma, bunu çözmenin en temiz yoludur. Böyle bir taahhüdün gerçekte hiçbir zaman uygulanması gerekmeyebilir: olası bir saldırı veya hard fork kanıtı görürse üst zincirdeki bir yönetişim aracını etkinleştirebilir ve yalnızca yönetim aygıtı başarısız olursa üst zincire hard fork uygulayabilirsiniz.
(3)'e verilebilecek tek geçerli cevap, ne yazık ki, Ethereum üzerinde, Ethereum üzerindeki köprü sözleşmesinin üst zincirin hard fork yükseltmelerinden haberdar olmasını sağlayabilecek bir çeşit yönetim aygıtına sahip olmaktır.
Özet: İki yönlü doğrulama köprüleri, bir zincirin validium olması için neredeyse yeterlidir. Geriye kalan ana bileşen, Ethereum'da köprünün artık çalışmamasına neden olacak olağanüstü bir şey olursa, diğer zincirin buna karşılık olarak hard fork uygulayacağı yönündeki sosyal taahhüttür.
“Ethereum'a bağlılığın” iki temel boyutu vardır:
Bunların her ikisi de önemlidir ve farklı değerlendirmeleri vardır. Her iki durumda da bir spektrum vardır:
Her iki boyutun da onları ölçmenin iki farklı yöntemi olduğuna dikkat edin (yani gerçekten dört boyut var mı?): Para çekme güvenliği (i) güvenlik düzeyiyle ve (ii) kullanıcıların veya kullanım durumlarının yüzde kaçının en yüksek güvenlikten yararlandığı ile ölçülebilir okuma güvenliği (i) zincirin Ethereum'un bloklarını, özellikle de sonlandırılmış blokları ve diğer blokları ne kadar hızlı okuyabildiği ve (ii) zincirin %51 saldırıları gibi son durumlarla başa çıkma konusundaki sosyal bağlılığının gücü ve sert çatallar.
Bu tasarım alanının birçok bölgesinde projelerin değeri var. Bazı uygulamalar için yüksek güvenlik ve sıkı bağlantı önemlidir. Diğerleri için ise daha fazla ölçeklenebilirlik sağlamak amacıyla takasta daha gevşek bir şey kabul edilebilir. Çoğu durumda, bugün daha gevşek bir şeyle başlamak ve önümüzdeki on yıl içinde teknoloji geliştikçe daha sıkı bir bağlantıya geçmek ideal olabilir.