L2 Planet Learn: Rolluplar
L2 Planet'in 101 Eğitim Serisinin dördüncü yayınında @0xemre'nin kaleminden Rolluplar'ı okuyoruz.
Rollup Nedir?
Rolluplar, Ethereum’un ölçeklenmesine yardımcı ikinci katman çözümleridir. Sharding ile ölçeklenmenin uzun vadede gerçekleşecek olması, Plasma ve State Channel'ların dezavantajları Rollupları ortaya çıkarmıştır. İşlemleri ana ağ dışında gerçekleştirip bu işlemlerin kanıtı ana ağa yayınlama mantığıyla çalışırlar.
Neden Rolluplara İhtiyaç Var?
Ethereum blokzincirinde yapılan işlemlerin verileri bloklarda taşınır. Ağdaki blokların boyutu ve bir blokta yapılabilecek maksimum işlem sayısı bellidir. Yani Ethereum ağı saniyede 5 ila 25 işlem yapmamıza izin verir. Bu sayıyı arttırmak için blokların boyutunu ve blok üretim hızını arttırabiliriz ama bu çözümde full node'ların tutması gereken veri miktarı katlanarak artacaktır. Eğer Ethereum ağında blokları büyütür ve üretim hızlarını artırırsak full node kurmak için daha çok depolama alanı olan SSD’ye ve daha hızlı internet bağlantısına ihtiyacımız olur. Yeterli imkanı olmayanlar ağa katılamaz ve merkeziyetsizlik ilkesi zarar görür.
Ethereum blok boyutunu büyütmek ve blok üretim hızını artırmak yerine Sharding ve Rolluplar ile ölçeklenmeyi hedeflemiştir. Böylece merkeziyetsizlik ve güvenlik ilkeleri zarar görmeyecek ama ölçeklenebirlik de artacaktır. Tabi bir sorun var, Sharding hala geliştirme aşamasında ve kısa vadede gelmesi düşünülmüyor. Artan işlem ücretleri ve uzun süren onay sürelerinden yine de bizi kurtaracak bir çözüm var, Rolluplar! Unutmadan tek başına ne Rolluplar ne de Sharding yeterli değildir, birbirini tamamlayıcı çözümlerdir. Bundan dolayı 2020 yılında Ethereum, Rollup merkezli yol haritasına geçmiştir.
Rolluplar Nasıl Çalışır?
Rolluplar’ın mantığının işlemleri ana ağ dışında gerçekleştirip bu işlemlerin kanıtını ana ağa yayınlamak olduğunu söylemiştik. İşlemler Rollup zincirinde toplanıp yığın haline getirilir, yığın haline getirilen işlemler sıkıştırılır ve işlemlerin verilerini içeren bir kanıt oluşturulur. Daha sonra bu kanıt ana ağda blokların içine girer. Böylece veriler Ethereum ana ağının güvenliğinde olur. Ana ağa yayınlanan kanıtın türüne göre Rolluplar ikiye ayrılır. Optimistic Rolluplar ve zkRolluplar.
Optimistic Rollups
Optimistic Rolluplarda işlemler önce Sequencer isimli sıralayıcılar tarafından toplanıp, yığın haline getirilir. Daha sonra Sequencer işlemlerle ilgili bazı verileri ana ağa yayınlar. Burada Sequencer tarafından yayınlanan verilerin tamamının doğru olduğu kabul edilir, Optimistic ismi de buradan gelir.
Şimdilik neredeyse tüm Optimistic Rolluplarda tek bir Sequencer bulunmaktadır. Peki bu Sequencer’ın yanlış veri yayınlamayacağına nasıl güvenebiliriz? Sequencer’ı merkeziyetsizleştirerek. Optimistic Rolluplar’da sorunun farkında ki bir Sequencer havuzu oluşturarak her seferinde havuzdan rastgele seçilen bir Sequencer’ın işlemleri gerçekleştireceği bir çözüm üzerinde çalışıyorlar. Peki rastgele seçilen Sequencer hile yaparsa? Bu durumda devreye Prover’lar giriyor. Ana ağa yayınlanan verilerin 7 günlük bekleme süresi vardır. Bu süre içinde bir Prover yayınlanan veriye itiraz edip doğru veriye ilişkin Fraud Proof(Dolandırıcılık Kanıtı) yayınlarsa Sequencer’ın yayınladığı veriler geçersiz sayılır. Peki hile yapan Sequencer’a ne olacak? Bu sorunun cevabı projeden projeye değişebilir ama bazı seçenekler vardır. Hileci Sequencer fonunu kaybeder ve ağdan atılır. Hileci Sequencer doğru veriyi yayınlar, ceza almaz ve çalışmaya devam eder. Peki kim bu Sequencer ve Prover? Şimdilik sistemler sadece Sequencer ile çalışıyor ama ileride isteyen herkes Sequencer yada Prover olabilecek. İhtiyacımız olan bir Ethereum full node ve L2 node.
Optimistic Rolluplar EVM uyumludur. Geliştiricilerin projelerini kontratlarında düşük oranda değişiklik yaparak Optimistic Rollup zincirine taşımasına imkan verir. Hatta Optimism tam EVM denkliğine sahiptir. Yani proje geliştiricileri kontratlarda değişiklik yapmadan projelerini Optimism ağına taşıyabilirler.
Optimistic Rolluplarda 7 günlük çekim süresini de köprü çözümleri ile aşmak mümkündür. Tabi köprü platformlarının kendi kontratlarının riskinin ve kullanıcıya ek maliyetinin olduğu unutulmamalıdır. Optimistic Rollup projelerinin bazıları Optimism, Arbitrum, Metis ve Boba’dır.
zkRollups
zkRolluplar ismini sıfır bilgi kanıtlarından almaktadır. Sıfır bilgi kanıtları bilginin tamamını ifşa etmeden bilgiyi bildiğimizi kanıtlamanın bir yoludur. Örneğin bankayla gerçekleştirdiğiniz bir görüşmede annenizin kızlık soyadının belirli harfleri sorulur. Banka size farklı kombinasyondaki harfleri ikna olana kadar sorabilir. Her defasında verdiğiniz cevapta harfler doğru olacaktır ama bilginin tamamını ifşa etmemiş olursunuz. Sıfır bilgi ispatları da buna benzer çalışır.
zkRollup zincirinde işlemler Prover tarafından toplanıp yığın haline getirilir, sıkıştırılan işlemler için tarafından hesaplama gücüyle matematiksel bir zk Proof(Sıfır Bilgi Kanıtı) oluşturulup ana ağa yayınlanır. Ana ağdaki Rollup akıllı sözleşmesi veri güncellemesini onaylar ve işlemler sonuca ulaşmış olur. Kanıtlar matematik ve hesaplama gücüyle oluşturulduğu için hile yapılması mümkün değildir.
Peki merkezi Proverlar? zkRolluplar zinciri ekonomik modelle desteklemeyi düşünüyor. POS zinciri benzeri yapısıyla herkesin L2 node ile blok üretime katılabileceği sistem üzerine düşünülüyor. Burada hesaplama gücünün maliyeti düşünüldüğünde kanıt oluşturmaya katılmak mümkün görünmüyor.
zkRollup projeleri kullandıkları kanıt türüne göre de teknolojik olarak ayrılırlar. En çok kullanılan kanıt türleri SNARKs, STARKs ve PLONK’tur. Kanıt türlerini karşılaştırırken veri boyutu, kuantum bilgisayarlara karşı direnç ve güvenilir kurulum parametreleri dikkate alırız.
Peki güvenilir kurulum nedir? Sıfır Bilgi İspatları kabaca üç adımda hareket eder:
Kurulum
Kanıtlama
Doğrulama
Kurulum adımında, Prover ve Verifier, hesaplamalarını yürütmek için ihtiyaç duyacakları bazı ortak genel parametreler üzerinde anlaşırlar. Böylece ilk kurulumun çıktısıyla sayısız defa kanıt oluşturulabilir ve kanıtlayıcının dolandırıcılık yapmadığına emin olabiliriz.
Güvenilir kurulumun olması bir dezavantajdır. Öyle ki STARK’larda güvenilir kuruluma dolayısıyla Verifier’a ihtiyaç yoktur, kuantum bilgisayarlara karşı dirençlidir ama kanıt boyutu en yüksek kanıt türüdür. SNARK’lar ise en düşük boyutlu kanıt sistemidir ama kuantum bilgisayarlara dirençli değildir ve güvenilir kuruluma ihtiyaç vardır. PLONK’ların diğerlerinin ortasında optimum bir noktada durduğunu söyleyebiliriz. Starkware STARK’ları, zkSync ve Aztec PLONK’ları, Hermez SNARK+PLONK’ları kullanıyor. Kanıt sisteminin sürekli geliştiğini ve ilerlediğini grafiğin dengelerinin zaman zaman değiştiğini söylemeden geçmeyelim.
zkRolluplar ilk çıktıklarında uygulama özel geliştirilmişti. Daha sonrasında her zkRollup projesi kendi ağına özel EVM’ini ve programlama dilini geliştirmeye başladı. Standart haline gelmiş bir zkEVM ve programlama dili şimdilik yok. Örneğin Starkware Cairo dilini, zkSync Zinc dilini, Aztec Noir dilini, Hermez Circom dilini geliştiriyor. İleride standart haline gelmiş bir zkEVM ve programlama dili zkRolluplar için en büyük adaptasyon olacaktır. zkRollup projelerinden bazıları StarkNet, zkSync, Aztec ve Hermez’dir.
Rollupların Geleceği
Rollupların potansiyeline ulaşması için önünde bir kaç önemli sorun bulunuyor.
Bunlardan ilki merkezi borsalardan Rollup ağlarına yatırım ve çekim işlemlerinin henüz çok yaygınlaşmaması. Her ne kadar bazı Rolluplara merkezi borsalardan yatırım ve çekim yapılabilse de henüz çok yetersiz kalıyor.
İkinci problem Rolluplar arası etkileşimin zayıf kalması. Eğer Rolluplar arası işlemler gerçekleşip Rolluplar birbiri ile konuşmaya başlarsa Rollup adaptasyonu artacaktır.
Üçüncü sorun karmaşıklığı. Henüz DeFi nedir Metamask nedir bilmeyen bir çok kripto destekçisi varken onlardan Rollupları anlamasını beklemek kötü bir beklenti olacaktır.
Buna rağmen Rolluplar gelecekte Sharding ile saniyede 100.000 işleme kadar izin verebilir. Visa’nın teorik olarak 56.000 işleme izin verebildiği düşünülünce gayet güzel bir rakam gibi duruyor. Rolluplar için gerçek potansiyeline Sharding ile ulaşacaklar diyebiliriz.
L2 Planet 101 Eğitim Serisinden şimdilik bu kadar. Bir sonraki yayınlarda görüşmek üzere :)