State’siz (Durumsuz) Geleceği Çizmek

0xemre
Starknet Türkiye
Published in
7 min readAug 8, 2023

Starknet’in Yeni İstemcisi Beerus’a Derin Bir Dalış

Özetle;

  • Starknet için durum bilgisi olmayan bir istemci olan Beerus, Ethereum’un Helios hafif istemcisi (client) üzerine kurulmuştur ve durum bilgisi gerektirmez.
  • Starknet’in kriptografik kanıtları, Ethereum’da olmayan bir özellik olan güvenilir durum doğrulamasını mümkün kılar.
  • Beerus, güvenilmeyen verileri güvenilir verilere dönüştürerek Starknet depolama kanıtlarını Ethereum STARK kanıtlarına karşı doğrular.
  • Geliştiriciler güvenli, merkezi olmayan bir Starknet ekosistemine katkıda bulunarak Beerus’a katkıda bulunabilir.

Ethereum’un durumu, tüm Ethereum hesaplarının, ilgili bakiyelerinin, dağıtılan akıllı sözleşmelerin ve ilgili depolamanın kapsamlı bir kaydıdır. Sürekli olarak yeni hesaplar oluşturuldukça ve yeni akıllı sözleşmeler dağıtıldıkça, Ethereum durumu süresiz olarak genişlemeye devam ediyor.

Çeşitli çözümler bu durum büyümesinin etkisini hafifletmeyi amaçlasa da, genel eğilim yukarı yönlü olmaya devam ediyor. Bu tasarım özelliği, Ethereum’un durum boyutunun sınırsız büyümesiyle sonuçlanır ve bunun çeşitli etkileri vardır. Ağ katılımcılarının, Ethereum’daki her şeyin doğru şekilde gerçekleştiğini doğrulayabilmesi çok önemlidir ve operatörler ve kullanıcılar olarak, geçerli bilgilerle etkileşimde bulunduğumuzdan emin olmalıyız.

Bu sorun ilk olarak 2017'de fark edildi ve durumsuz Ethereum kavramı tanıtıldı. Gerçek anlamından farklı olarak, Ethereum bağlamında “durumsuz” terimi, durumun yokluğu anlamına gelmez. Ben Edginton’un belirttiği gibi, bu, Ethereum’un durumunu sağlama ve depolama sorumluluğunu ağ içindeki başka bir katılımcıya devrettiğiniz anlamına gelir. Basitçe söylemek gerekirse, durum bilgisi olmayan bir Ethereum istemcisi, sürdürmek istediği durumu seçer.

Hafif İstemciler ve Durumsuz İstemciler

Hafif istemciler ve durum bilgisi olmayan istemciler, Ethereum’un artan durum boyutu sorununu çözmeyi amaçlarken, ikisi arasında ince bir fark vardır: hafif istemciler, Ethereum’un durumu hakkında bazı bilgilere ihtiyaç duyarken, Beerus gibi durum bilgisi olmayan istemciler buna ihtiyaç duymaz.

Beerus, Ethereum’un Helios hafif istemcisi kullanılarak oluşturulmuş Starknet için durum bilgisiz bir istemcidir.

Starknet’in kriptografik kanıtları kendi protokolüne entegre etmesi, hafif istemcilerin ve durum bilgisi olmayan istemcilerin öne çıkmasını sağlayan şeydir; bu, Ethereum’da bulunmayan bir özelliktir. Ağ katılımcılarının yalnızca fikir birliğini değil, durumun geçerliliğini de güvene dayalı bir şekilde doğrulamasını sağlar.

Light Gelecek

Hafif istemciler ve durumsuz istemciler, blok zincirleri dünyasında oyunun kurallarını değiştirme potansiyeline sahiptir.

  • Yeni bir altyapı paradigması: Düşük kaynak gereksinimleriyle hafif istemciler, web3 altyapısını merkezileştirmeye yardımcı olarak onu daha demokratik ve daha geniş bir katılımcı yelpazesine açık hale getirebilir.
  • Trustless (Güvensiz) köprüler: Şu anda zincirler arası işlemlerin çoğu, varlıkların transferini kolaylaştırmak için çoklu imza cüzdanları gerektirir. Hafif istemciler kullanarak, merkezi aracılara dayanmayan trustless köprüler oluşturmak mümkün olabilir.
  • Daha fazla güvenliğe sahip cüzdanlar: Şu anda çoğu kripto para cüzdanının düzgün çalışması için merkezi sunucularla iletişim kurması gerekir. Hafif istemciler kullanarak, tamamen merkezi olmayan bir şekilde çalışan ve kullanıcılara varlıkları üzerinde daha fazla kontrol ve güvenlik sağlayan cüzdanlar oluşturmak mümkün olacaktır.
  • Daha iyi veya hiç olmayan Oracle’ler: Hafif istemcileri kriptografik kanıtlarla birleştirerek, harici verileri doğrulamanın güvenli bir yolu olabilir.
  • IoT (Internet of Things): Hafif istemciler hafiftir, bu da onları sınırlı işlem gücü ve belleğe sahip cihazlar için mükemmel bir uyum haline getirir ve sonuç olarak IoT’ler ile yeni olasılıklar açar.
  • Akıllı sözleşmeler olarak hafif istemciler: Başka bir zincirin hafif istemci protokolünü akıllı sözleşme olarak uygulayarak, daha güçlü güvenlik garantileriyle diğer zincirin durumuna karar verebilirsiniz.

Hafif İstemcinin Çalışma Şekli

Hafif istemcilerin çalışma biçiminin basitleştirilmesi:

  1. Hafif istemci, her blok için Merkle ağacı kökünü içeren Ethereum blok başlıklarını indirir.
  2. Hafif istemci, her bir bloğun tüm içeriğini indirmek zorunda kalmadan, Ethereum’daki konsensusunungeçerliliğini doğrulamak için bu blok başlıklarını kullanır. (Protokolde kriptografik kanıtların yerleşik olduğu Starknet’te, hafif istemciler durum ve consensus geçerliliğini doğrulayabilir.)
  3. Bir kullanıcı bir akıllı sözleşmeyle işlem yapmak veya onunla etkileşim kurmak istediğinde, hafif istemci tam bir düğüme (Node) bir istek gönderir. Tam düğüm daha sonra işlemi tamamlamak için gereken bilgilerle yanıt verir.
  4. Hafif istemci, tam düğüm tarafından döndürülen bilgilerin geçerli olduğundan emin olmak için indirmiş olduğu blok başlıklarını kullanır.
  5. İşlem tamamlandıktan sonra, hafif istemci, ağa eklenen yeni blok başlıklarını indirerek blok zincirinin kendi kopyasını günceller.

Root Hash’i Alma

Ethereum’da her blok, bloğa dahil olan tüm işlemlerin bir Merkle ağacını içerir. Merkle ağacı, tüm bloğu doğrulamak zorunda kalmadan bireysel işlemlerin verimli bir şekilde doğrulanmasına izin veren bir veri yapısıdır. Merkle ağacı root hash’i, tüm Merkle ağacının kriptografik hash’idir ve her bloğun blok başlığına dahil edilir. Bu root hash, en son bloğa kadar blok zincirinin tüm durumunu temsil eder.

Bir Ethereum hafif istemcisi, blok zincirindeki en son bloğun gerçekliğini ve durumunu doğrulamak için bu root hash’e ihtiyaç duyar. Hafif istemci, Merkle ağacı root hash’ini doğrulayarak, en son bloğun kötü niyetli bir aktör tarafından kurcalanmadığından veya değiştirilmediğinden emin olabilir.

Bir hafif istemcinin root hash değerini elde etmesinin iki yolu vardır: tam bir düğüme veya bir senkronizasyon komitesine güvenmek.

Tam Düğüm Doğrulaması

Bu yöntemde, hafif istemci, root hash ile en son bloğu elde etmek için tam bir düğüme güvenir. Tam düğüm, tüm imzaları takip eder ve bunları en son bloğa kadar doğrular. Ancak, bu yöntem yoğun kaynak gerektirir ve hafif istemcinin en son bloğu elde etmek için merkezi bir otoriteye güvenmesini gerektirir, bu da hafif istemci çalıştırma amacını ortadan kaldırır.

Senkronizasyon Komitesi

Ethereum’un Consensus Katmanında, bir senkronizasyon komitesi rastgele seçilmiş 512 doğrulayıcıdan oluşan bir gruptur. Her 256 epoch’da (yaklaşık 27 saat) yeni bir komite seçilir. Bu komite, her yeni slot için blok başlıklarının imzalanmasından sorumludur. Bir senkronizasyon komitesinin 2/3'ünden fazlası aynı durum üzerinde hemfikirse, hafif istemci bunun doğru olduğuna güvenebilir.

Senkronizasyon komiteleri, doğrulama sürecini basitleştirmek için hafif istemcilerle birlikte çalışır. Hafif istemcinin, Ethereum’un durumunu doğrulamak için yalnızca önceden doğrulanmış bir blok başlığını bilmesi ve önceki, mevcut ve sonraki senkronizasyon komitesi üyeleri hakkında bilgi sahibi olması gerekir. Bu şekilde, hafif istemci, tüm doğrulayıcı setine veya durum geçmişine erişmeye gerek kalmadan doğrulanmış blokların doğruluğunu doğrulayabilir. Bu yaklaşım, bir başlığı doğrulamak için gereken hesaplama gücünü önemli ölçüde azaltır.

Zayıf Öznellik Kontrol Noktası

Mevcut senkronizasyon komitesini bulmak için hafif istemcinin zayıf öznellik kontrol noktasını edinmesi gerekir. Zayıf öznellik kontrol noktası, bir oluşum bloğuna benzer, ancak blok zincirinde oluşum dışı bir konumda bulunur. Basitçe, tüm ağın kanonik zincirin kalıcı bir parçası olarak kabul ettiği bir bloğu belirtir.

Zayıf bir öznellik kontrol noktası, “sonlandırılmış” bir blok kavramından farklıdır. Bir düğüm, birbiriyle çelişen iki sonlandırılmış blokla karşılaştığında, bir fikir birliği hatası oluşmuştur ve düğüm bir kanonik çatal belirleyemez. Bununla birlikte, bir düğüm, zayıf bir öznellik kontrol noktasıyla çelişen bir blokla karşılaşırsa, onu anında reddedecektir. Düğümlerin çatal seçimi açısından, en son zayıf öznellik kontrol noktası, ağın yeni oluşum bloğu olarak hizmet eder.

Helios

Helios, a16z tarafından geliştirilen Rust tabanlı bir Ethereum hafif istemcisidir. Yaklaşık iki saniye içinde senkronize olur, çok az depolama gerektirir ve Ethereum’a tamamen güvenilir erişim sağlar. Helios, tam bir düğüm çalıştırmadan orijinalliklerini doğrulamak için merkezi RPC sağlayıcılarıyla birlikte çalışır. Ayrıca kolayca yerleştirilebilir ve kullanıcıların herhangi bir cihazdan güvenli zincir verilerine erişmesine olanak tanır.

Diğer birçok Ethereum istemcisinin aksine Helios, Yürütme Katmanı ile Konsensüs Katmanını sıkı bir şekilde birleştirir. Bu şekilde, Helios kullanıcılarının yalnızca tek bir yazılım parçası yüklemesi ve çalıştırması gerekir.

Beerus

Helios’tan ilham alan ve Helios’u kullanan bir Starknet Durum Bilgisi Olmayan İstemci. Amaç, Starknet durumunu sorgulamak ve yukarıda belirtilen merkle kanıtlarını kullanarak sözleşmelerle etkileşim kurmak için basit ve kullanımı kolay bir istemci sağlamaktır.

Beerus Core, tüm ağır işleri yapan çok önemli bir bileşendir. Beerus Core’u çalıştırarak, iki güvenilmeyen RPC kaynağıyla — Helios hafif istemcinin yürütme katmanı ve Starknet tam düğümü — iletişim kurarak tüm Ethereum uç noktalarına erişim elde edersiniz. Sihirli kısım burada devreye giriyor: Beerus bu güvenilmeyen verileri güvenilir verilere dönüştürüyor.

Beerus Nasıl Çalışır?

Bir Starknet sözleşmesinin depolama değerini sorgulama örneğini alarak Beerus’un nasıl çalıştığına genel bir bakış atalım:

  1. Beerus, Helios ile senkronize olur ve Helios da zayıf bir öznellik kontrol noktası kullanarak senkronizasyon komitesiyle senkronize olur. Bu kontrol noktası, Helios’un aldığı kök hash’in güvenilirliğini sağlar.
  2. Ardından, verilen sözleşme için depolama anahtarının mevcut olup olmadığını kontrol etmek için Starknet’i sorgularız.
  3. Ardından, kanıtlanmış son blokta bir Starknet tam düğümünden bir depolama kanıtı alınır. Bu depolama kanıtı, kanıtlanmış son blokta depolama sözleşmesinin varlığını doğrular.
  4. Beerus Core, Ethereum’da yayınlanan STARK kanıtını getiren ve doğrulayan Helios’tan Starknet durum kökünü talep etmeye devam ediyor.
  5. Ethereum’dan alınan kanıt, Starknet tam düğümünden alınan depolama kanıtı ile karşılaştırılır. Kanıtlar eşleşirse, verilerin Ethereum’da doğrulandığını ve bu nedenle doğru olduğunu onaylayabiliriz.
  6. Son olarak, doğrulanan veriler trustless bir şekilde kullanıcıya iade edilir.

Sonuç

Beerus, Starknet için, Ethereum için Helios hafif istemci kullanılarak oluşturulmuş, güvene dayalı durum doğrulamasını sağlayan, durum bilgisiz bir istemcidir. Hafif istemciler ve durum bilgisi olmayan istemciler, web3 altyapısını dağıtma ve daha önce mümkün olmayan çeşitli kullanım durumlarını ortaya çıkarma potansiyeline sahiptir.

Kapsamlı durum bilgilerine olan ihtiyacı ortadan kaldırarak, Beerus’un yalnızca Starknet depolama kanıtlarını Ethereum’da yayınlanan STARK kanıtlarına karşı doğrulaması gerekir. Bu şekilde Beerus, güvenilir olmayan verileri güvenilir verilere dönüştürerek, kaynakları kısıtlı cihazların bile tam bir düğüme güvenmeden güvenli bir şekilde çalışmasına izin verir.

Dahil Olun

Güvenli ve merkezi olmayan bir Starknet ekosisteminin gelişimine katkıda bulunmak ister misiniz? Beerus başlamak için harika bir yer. Geliştiriciler, Github’da projeye katkıda bulunarak ve Telegram’da tartışmaya katılarak dahil olabilirler.

--

--