Starknet, İsrail tabanlı bir şirket olan Starkware şirketinin bir ürünüdür. Bir Validity Rollup Layer 2’dir. Yüksek verim, düşük gaz maliyetleri sağlar ve Ethereum Layer 1 güvenlik seviyelerini korur.
Starknet, Ethereum’u daha güvenli bir şekilde ölçekleyerek merkeziyetsiz uygulamaların işlem süresini ve işlem hızını oldukça düşürmeyi amaçlayan bir layer-2 çözümüdür.
Bunu yaparken “ZK-Rollup” sıfır bilgi ispatı teknolojisini kullanır bunun içinde güvenli ve ölçeklenebilir bir kriptografik kanıt sistemi olan STARK teknolojisini kullanır. Bu teknolojisi kabaca açıklarsak, birden fazla işlemi bir bütün haline getirerek, Ethereum altyapısına gönderir. Böylece Ethereum ağı, bu işlemleri tek tek kontrol etmek yerine, işlemlerin hepsinin bulunduğu bu bütünü kontrol eder ve daha hızlı ve ucuz bir sonuç verir.
Bunu bir Sudoku örneğiyle somutlaştıralım. Bir sudoku problemi çözüyoruz ve insanlara bu sudoku probleminin çözüldüğünü kanıtlamak istiyoruz. Diğer insanlar problemi sıfırdan çözüp doğru olduğuna onay verebilirler ama bu süreci uzatıp daha fazla zaman alır. Bunun yerine bunu doğru olduğunu kanıtlayan bir sistem oluşturuyoruz ve diğer insanlar problemi sıfırdan çözmek yerine bu kanıta bakarak problemin doğru çözüldüğünü anlıyorlar. Böylece onay hızı ve onay süresi oldukça azalıyor.
Starkent üzerinde kontratlar Cairo adı verilen bir programlama diliyle kodlanır. Cairo, Rust benzeri bir yüksek seviye programlama dilidir.
Starknet Nasıl Çalışır?
Yukarıdaki benzetmeyi göz önünde bulundurarak, bazı jargonlar için zaman olgunlaşmıştır. Starknet, genel hesaplamayı destekleyen ve şu anda Ethereum üzerinden bir L2 ağı olarak üretimde çalışan izinsiz bir Validity-Rollup’tur (“ZK-Rollup” olarak da bilinir). Starknet’in nihai L1 güvenliği, en güvenli ve en ölçeklenebilir kriptografik kanıt sistemi olan STARK’ın kullanılmasıyla sağlanır.
Starknet sözleşmeleri (çoğunlukla) Cairo dilinde yazılmıştır – STARK kanıtları için tasarlanmış eksiksiz bir Turing programlama dili.
Kavram ve Terimler
Şimdi, ana Starknet kavram ve terimlerinin tanımlarını ve bunların birbirleriyle olan ilişkilerini inceleyelim.
- Uygulama Geliştiricileri: Uygulamaları geliştiren kullanıcılar. Starknet ve Ethereum sözleşmeleri yazıp dağıtırlar.
- Bloklar (önceden “batch”): Starknet OS kullanılarak çalıştırılan ve daha sonra L1 çekirdek sözleşmesine taahhüt edilen bir toplu durum değişikliğiyle sonuçlanan sıralı işlem kümeleri. Bir blokta şunlar bulunur:
- … bir blok karması – bloğa sorgulamak ve ona başvurmak için kullanılabilecek benzersiz bir kararlı tanımlayıcı.
- … bir blok numarası – bloğun Starknet’te kabul edilen bloklar sırasındaki konumunu temsil eden bir sıra numarası. Not, bir bloğun numarası zamanla değişebilir. Ayrıca, belirli bir sayı, örneğin L1 zincirinin yeniden sıralanması durumunda, farklı zaman noktalarında farklı bloklara atıfta bulunabilir.
- Full State Node (tam durum düğümü): Starknet ağında yalnızca mevcut durumu sorgulamak için kullanılan bir düğüm. L1 durumu da dahil olmak üzere ağın mevcut durumu hakkındaki sorguları bağımsız olarak (yani, ek düğümleri sorgulamadan/sorgulamadan) yanıtlayabilir. Toplu işlemleri veya toplu işlemleri kanıtlamaz.
- Kanıtayıcı: Cairo programlarının çıktısını alan ve doğrulanacak STARK kanıtları üreten ayrı bir süreç (çevrimiçi bir hizmet veya düğümün içinde). Kanıtlayıcı, kanıtı L1’de gerçeği kaydeden doğrulayıcıya sunar.
- Starknet Uygulaması: Bir iş akışını toplu olarak uygulayan bir sözleşmeler koleksiyonu (L1 ve L2).
- Starknet Sözleşmesi: Uygulanan uygulama iş mantığını kodlayan program. Bu, uygulama veri yapılarını ve kullanıcılar tarafından gönderilen belirli işlemlerin işlenmesini içerir. Spesifik olarak sözleşme, uygulama için geçerli durum geçişlerini kodlar.
- Hesap Sözleşmeleri: Hesap soyutlaması göz önüne alındığında, kullanıcı hesapları protokol düzeyinde uygulanmaz. Bu nedenle, bazı sözleşmelerin kullanıcı hesapları kavramını uygulaması gerekecektir; bunlara Hesap Sözleşmeleri denir. Kesin uygulama sözleşmeye bağlıdır; ancak teknik olarak bunlar Cairo ‘de uygulanan sözleşmelerdir.
- L1 Temel Sözleşmesi: Bu L1 sözleşmesi, taahhüdü L2 durumuna depolayarak sistemin durumunu tanımlar. Sözleşme ayrıca, ağın çalıştırdığı sürümü etkili bir şekilde tanımlayan Starknet OS program karmasını da saklar. L1 çekirdek sözleşmesindeki taahhüt edilen durum, mutabakat mekanizması olarak hareket eder, yani sistem L1 Ethereum mutabakatı ile korunur. Durumu korumaya ek olarak, L1 Temel Sözleşmesi, Starknet’in L1’deki ana operasyon merkezidir. Özellikle:
- Durum güncelleme işlemlerini doğrulayabilen izin verilen doğrulayıcıların (sözleşmeler) listesini saklar.
- L1 ↔ L2 etkileşimini kolaylaştırır
- İşletim Sistemi: Giriş olarak alınan işlemlere dayalı olarak sistemin L2 durumunu günceller. (Cairo merkezli) Sözleşmelerin yürütülmesini etkili bir şekilde kolaylaştırır. İşletim sistemi Cairo tabanlıdır ve temel olarak çıktısı STARK-proof sistemi kullanılarak kanıtlanmış ve doğrulanmış bir programdır. Sözleşmeler için mevcut olan belirli sistem işlemleri ve işlevsellik, işletim sistemine yapılan çağrılar olarak mevcuttur.
- Sıralayıcı Düğümü: Ağın ana düğümü. Kendisine gönderilen işlemlerin sıralanmasının temel işlevselliğini uygular. Starknet OS Cairo programını ilgili girdilerle yürütür, Kanıtlama Hizmetini veya bazı dahili STARK kanıtlayıcıyı kullanarak sonucu kanıtlar ve sonunda Çekirdek Sözleşmesinde ağ durumunu günceller.
- State: Durum, sözleşmelerin kodundan ve sözleşmelerin depolanmasından oluşur.
- İşlem: Bir sözleşme tarafından tanımlanan belirli bir durum geçiş mantığının çağrılması. Sözdizimsel olarak, bir işlem, gerekli tüm meta verileri ve isteğe bağlı bir veri yükünü içeren iyi tanımlanmış bir yapıya sahiptir. İşlemin anlamı, çağrılan sözleşme tarafından tanımlanır.
- Starknet Kullanıcıları: Sıralayıcı düğümleri ve gerekirse L1 sözleşmeleri ile etkileşime giren kullanıcılar. İster insan ister otomatik olsun bu kullanıcılar, işlemleri ağa gönderen aracılardır.