Ethereum için güvenli ve merkezi olmayan ölçeklendirmeyi sağlamak amacıyla Validity Rollup'lar, toplu işlemlerin doğal tekrar çalıştırılmalarından çok daha verimli bir şekilde doğrulanmasını sağlar. Layer 2 (L2) üzerindeki özel düğünler (Sequencer olarak adlandırılır), işlemleri yeni L2 bloklarına paketlerken Ethereum ana ağı düğünleri bu işlemleri minimum çaba ile onaylar.
Starknet, Validity Rollup olarak çalışır ve Validity kanıtlarının verimliliğini optimize etmek amacıyla özel olarak tasarlanmış olan Cairo VM'yi kullanır. Starknet, STARK'ları (Scalable, Transparent ARgument of Knowledge) kanıt sistemi olarak kullanarak karmaşık hesaplamalar için özlü kanıtların üretilmesini sağlar, böylece zincir üstü doğrulama süreçlerinin karmaşıklığını büyük ölçüde azaltır.
Bu blog yazısında, Starknet'i TPS açısından en performanslı L2 yapan farklı bileşenlere - Cairo VM, CASM, Cairo Zero, Cairo ve Sierra'ya - daha yakından bakacağız.
Cairo VM
Genel hesap programları için Geçerlilik Kanıtları oluşturmak, STARK'ların temelini oluşturan karmaşık matematik prensiplerini derinlemesine anlamayı gerektirir. Her hesaplama için, verilen hesaplamayı doğru bir şekilde temsil eden bir dizi polinom kısıt içeren Birleşik Ara Temsil (AIR) oluşturmak önemlidir. Başlangıçta "CPU AIR" olarak adlandırılan Cairo, herhangi bir hesaplamayı aynı "genel" AIR ile tanımlayabilen sanal bir CPU ve tek bir AIR'dir. Cairo VM, Geçerlilik Kanıtları sistemleri için özel olarak tasarlanmıştır ve Ethereum sanal makinesi (EVM) tarafından uygulanan kısıtlamalardan etkilenmez.
Cairo VM EVM
Amaç Kanıt Optimizasyonlu VM Blok Zinciri
Hesap modeli Von Neumann mimarisi Yığın tabanlı makine
Temel tür Alan elemanları 256-bit kelimeler
Hafıza modeli Belirsizlik içeren salt okunur hafıza (hafıza erişimi için kanıtı optimize etme) Oku/yaz bellek, bir kanıt üretmek için daha fazla hesap gerektirir.
CASM
CASM (Cairo Assembly), Cairo VM'nin çalıştığı makine kodudur. CASM, bir programın doğru çalıştırılmasını sağlayan polinom kısıtlamalara çevrilir. CASM, kullanıcının Starknet sequencer'a ne gönderdiğine bakılmaksızın doğru CASM yürütülmesi olanın ne olduğunu kanıtlar.
Cairo Zero, Bir Atılım
2020'de piyasaya sürülen Cairo Zero, STARK'la kanıtlanabilir programlar oluşturmak için dünyanın ilk Turing tamamlama dilini tanıttı ve doğrulanabilir hesaplamayı devrim niteliğinde bir şekilde değiştirdi. Cairo Zero programları yerel olarak CASM'ye derlendi ve ardından Starknet sequencer'a gönderildi. Yenilikçi olmasına rağmen, Cairo Zero'nun düşük seviyeli doğası ve program yürütmenin kanıtlanması için gereken altta yatan kriptografik özleri tamamen soyutlamadığı için öğrenme eğrisi dikti.
Cairo: Cairo Zero, Ama Daha İyi
Cairo (şu anda v2.1.1), Cairo Zero'nun sınırlamalarını aşar ve daha güvenli, daha verimli sözleşme yazmayı vaat eder. Cairo, Rust benzeri bir sözdizimine ve Cairo Zero'da bulunan sınırlamaları soyutlayarak geliştirici deneyimini büyük ölçüde artırır (örneğin, yazılı bir kez bellek gibi). Cairo, Rust dünyasından modern programlama kavramlarını getirir, örneğin trait/impls, generics, enum eşleme, ancak altta yatan CairoVM tarafından getirilen kanıt üretme verimliliğini tehlikeye atmadan.
Sierra
Cairo ile Sierra geldi. Sierra, kullanıcı kodu ile CASM arasında bir ara temsil olarak hizmet verir. Kullanıcı kodu ile kanıtlanmış kod arasındaki bu ara katman, Starknet sequencer'ını kanıtlanamayan işlemlerin DOS'undan koruma açısından kritiktir. Sierra'nın belirli bir CASM alt kümesine derlendiği "güvenli CASM"e dönüştüğü bu ara katman, kullanıcı kodu ve kanıtlanmış kod arasındaki bu ara katman, Starknet sequencer'ını kanıtlanamayan işlemlerin DOS'u biçiminde koruma açısından kritiktir.
Belki de Sierra'nın şaşırtıcı bir faydası, bu basit ara temsil sayesinde Starknet sequencer'larının sonunda doğrudan özgün donanım üzerinde çalışabilme olasılığıdır. Sierra'yı yürüten sequencer'ların gücünü göstermek için şu örneği düşünün: Sierra'dan gelen tür bilgilerini kullanarak (örneğin, u32 gibi) CairoVM'nin asal alanında çalışmak yerine doğal tiplerle çalışabilirsiniz.
Cairo, CairoVM'nin attığı temel üzerine inşa edilerek doğrulanabilir hesaplamayı devrimleştirmektedir. Rust benzeri bir sözdizimi ve modern programlama dilleri özellikleri ile Cairo, geliştirici deneyimini büyük ölçüde artırarak sözleşme yazmayı basitleştirir ve hataların olasılığını azaltır. Cairo, merkezi olmayan yeniliği teşvik eden güçlü bir araç olarak ortaya çıkmaktadır.