Sui Jargonu

Mutlu Gökhan Mutludağ
SUI Türkiye
Published in
7 min readMay 25, 2023

Layer 1, izinsiz ve proof-of-stake gibi yaygın olarak kullanılan terim ve kavramları açıklıyoruz.

Sui hakkındaki çevrimiçi tartışmalarda, “proof-of-stake layer 1 blockchain” ve “decentralized network” gibi ifadelerle karşılaşacaksınız, ancak bu terimlerin ne anlama geldiğine dair çok fazla açıklama yok. Şimdi Sui’nin ne olduğuna ve nasıl çalıştığına bir göz atalım.

Her şeyden önce “ blockchain” terimini anlamamız gerekiyor.

Blockchain’in bir diğer tanımı da dağıtık bir veritabanı ya da defterdir, ancak yine de anlamamıza pek yardımcı olmaz. Akla gelen en yakın analog bir bulut hizmetidir. Dünyanın dört bir yanındaki milyonlarca proje ve şirkete veri depolama ve bilgi işlem gücü sağlayan Google, Amazon ve Microsoft gibi sektörün birkaç devi var. Bulut, esasen tek bir platform olarak hareket etmek üzere kaynakları paylaşan bir sunucular topluluğudur.

Bununla birlikte, merkezi bir bulut hizmetine güvenmek çeşitli sınırlamalar anlamına gelir:

  • Kullandığınız sunucu kolayca kapanabilir
  • Gizliliği feda edersiniz

Öte yandan blockchain’ler ademi merkeziyetçilik sunar. Basitçe söylemek gerekirse, ağı ve verileri kontrol eden tek bir kişi veya şirket yoktur. Bir blockchain, ona bağlı tüm makineler veya sunucular tarafından korunur. Bu sunuculardan az bir kısmı hala bağlı ve çalışır durumda olduğu sürece ağ kapatılamaz. Sui’de bu sunuculardan doğrulayıcılar olarak bahsediyoruz çünkü blockchain’deki işlemleri doğruluyorlar.

Blockchain teknolojisini daha iyi anlamak için IBM mükemmel bir rehber sunuyor.

Sui’ye uygulandığında “ layer 1” terimi, bunun temel düzeyde bir blockchain olduğu ve yazılımının bağımsız olarak sürdürülen validatörler koleksiyonu üzerinde çalıştığı anlamına gelir. Buna karşılık, katman 2 veya daha yüksek seviyeli bir blockchain, layer 1 blockchain’e yapılan bir eklemedir. Layer 2 blockchain, ölçeklenebilirliği artırmak ya da orijinal yazılımda bulunmayan özellikleri eklemek için layer 1'in üzerine inşa edilebilir.

Sui’nin ağ mimarisinin bu şeması, uygulamaların işlemlerini doğrulama için doğrulayıcılara nasıl gönderdiğini göstermektedir.

“ Proof-of-stake” kavramı biraz daha karmaşık bir hal alır. Bir blockchain’i destekleyen validatörlerin gerçekleşen hangi işlemlerin geçerli olduğu konusunda fikir birliğine varması gerekir, bu süreç konsensüs olarak bilinir. Tek bir şirket tüm sunucuları çalıştırdığında konsensüs bir sorun teşkil etmez, ancak birçok bağımsız operatör olduğunda, herhangi bir işlemi onaylama konusunda anlaşmaları için bir mekanizma olmalıdır. Proof-of-stake, esasen bu bağımsız operatörlerden herhangi birinin işlemleri onaylama yetkisine sahip olduğunu göstermek için ihtiyaç duyduğu kimlik bilgisidir.

Sui blockchaini’ni destekleyen validatörleri çalıştıran bağımsız operatörler de çabalarının karşılığını almayı hak ediyor, çünkü bir sunucuyu çalıştırmak paraya mal oluyor. Blockchainler üzerinde yaygın olduğu üzere Sui, SUI olarak adlandırılan ve validatör operatörlerinin işlemleri onaylayarak kazanabilecekleri, kendi blockchain ağına özgü bir tokenı desteklemektedir. Yukarıda proof-of-stake ifadesiyle belirtildiği üzere, sahip oldukları pay, ellerindeki token miktarıdır.

Sui’yi Linux, Windows ve macOS’a benzer bir işletim sistemi olarak da düşünebilirsiniz. Oluşturucular bu işletim sistemleri üzerinde çalışan uygulamalar yazabilir. Sui’de kurucular Move adı verilen nispeten yeni bir programlama dili kullanırlar. Daha spesifik olmak gerekirse, Sui, Sui Move adını verdiğimiz bir varyantı kullanır. Diğer blockchain’ler için yaygın programlama dilleri arasında Rust ve Solidity bulunmaktadır.

Nesneler

Muhtemelen, çoğunlukla benzersiz görüntü dosyalarına veya diğer dijital sanat formlarına kaynak sağlamakla ilişkilendirilen değiştirilemez tokenleri (NFT’ler) duymuşsunuzdur. Çoğu blockchain’de, bir NFT aldığınızda, gerçekten sahipliğinizi doğrulayan bir dosya ve gerçek görüntü dosyasına işaret eden bir web sitesi URL’sine benzer bir adres alırsınız. Sui’de de NFT’ler vardır, ancak bunlar blockchain üzerindeki daha büyük veri nesneleri kategorisine girer. Veri nesneleri, bir resim, bir imza veya bir belge dahil olmak üzere dijital alemden hemen hemen her şey olabilir. En önemlisi, Sui bu nesneleri ağ üzerinde saklar.

Sui, daha verimli işlem yapılmasını sağlayan bir tasarım olan paylaşılan ve sahip olunan nesneler kavramlarını kullanır. Sui’de, eğer birisi bir nesneye sahipse, onu doğrudan başka bir kişiye verebilir. Bu çok basit işlem çok az ağ kaynağı kullanır.

Sui Devnet’te başlatılan bir oyun olan Sui Capys prototipinde, her Capy Sui ağında bir nesne olarak var olmaktadır.

Paylaşılan bir nesne birden fazla adrese ait olabilir. Paylaşılan nesneleri içeren işlemlerin blockchain üzerindeki validatörler tarafından onaylanması gerekir ki bu biraz daha yoğun kaynak gerektiren bir süreçtir. Çoğu blockchain’de tüm nesneler paylaşılır, dolayısıyla her işlemin bu onay sürecinden geçmesi gerekir. Sui’deki birçok işlem basit bire bir değiş tokuşları içerir ve kaynak maliyetini azaltır.

Biraz daha teknik olmak gerekirse, her Sui nesnesi aşağıdaki alanlara sahip olmalıdır:

  • Benzersiz Kimlik: Ethereum’daki hash veya kontrat kimliğine benzer
  • Sürüm: 1'den başlayarak işlemlerin nesne sayısını gösterir
  • İşlem özeti: Bu nesneyi bir çıktı olarak içeren son işlemi gösterir
  • Sahip alanı: Bir hesap adresi, başka bir nesne, değişmez veya paylaşılan olabilen sahibi gösterir

Elbette, geliştiriciler diğer alanları da dahil ederek nesneleri özelleştirebilirler. Sui, nesne tasarımında büyük miktarda yaratıcılığa izin verir.

Popüler bir kullanım örneği olarak, bir kurucu nesnelerden oluşan bir oyun yaratabilir. Örneğin, bir yarış oyununda oyuncunun arabası bir nesne olacaktır. Oyuncu, Sui bağlamında nesnenin sahibi olacaktır. Oyundaki arabalar modifiye edilebilir, böylece oyuncular arabayı daha rekabetçi hale getirmek için boya işleri, daha iyi lastikler, süper şarj cihazları ve diğer yükseltmeleri ekleyebilirler. Bu yükseltmelerin her biri ayrı bir nesne olacak ve oyuncu tarafından satın alınıp arabaya eklendiğinde, bu nesneler Sui bağlamında araba nesnesine ait olacaktır.

Konsensüs

Yukarıda paylaşılan ve sahip olunan nesnelerden bahsetmiştik. Şimdi Sui’nin bu farklı nesne türlerini kullanarak işlemleri nasıl işlediğini biraz daha derinlemesine inceleyelim. Sui’de bir işlemi doğrulayan doğrulayıcılara atıfta bulunurken konsensüs terimini kullanıyoruz. Sui yalnızca paylaşılan nesneler için konsensüs gerektirir. Sahip olunan nesneleri içeren ortak işlemler konsensüs gerektirmez.

Sahip olunan nesneler, blockchain’in adını aldığı “blocklara” dahil değildir. Basitleştirilmiş algoritmalar kullanarak Sui üzerindeki validatörlerle doğrudan etkileşime girerler. Bu mimari sayesinde, sahip olunan nesne işlemleri neredeyse anında gerçekleşir. Pratik anlamda, bu basit işlemler bir yarış oyununda bir oyuncunun diğerine bir araba vermesini, birinin bir sosyal ağa mesaj göndermesini veya bir ankete oy göndermesini içerebilir.

Sui’nin yeni konsensüs mekanizması hem basit hem de karmaşık işlemleri gerçekleştirir, ilki daha az kaynak gerektirir ve çok hızlı bir şekilde işlenir.

Teknik açıdan, Sui’nin bu basit işlemleri nasıl gerçekleştirdiği aşağıda açıklanmıştır:

  1. Bir gönderici bir işlemi tüm Sui validatörlerine yayınlar.
  2. Her Sui validatörü bu işlem için bir oyla yanıt verir. Her oy, validatörün stake’ine bağlı olarak bir ağırlığa sahiptir.
  3. Gönderici, Byzantine-resistant-majority bir oy çoğunluğunu bir sertifikada toplar ve bunu tüm Sui validatörlerine geri yayınlar. Bu eylem işlemi tamamlar, Sui’ye kaydeder ve işlemin düşürülmemesini veya iptal edilmemesini sağlar.

Paylaşılan nesneler, bu adımlarda açıklandığı gibi daha karmaşık bir işlem izler:

1. Gönderici bir işlemi tüm Sui validatörlerine yayınlar.

2. Her Sui validatörü bu işlem için bir oylama ile yanıt verir. Her oy, validatörün hissesine bağlı olarak bir ağırlığa sahiptir.

3. Gönderici, Byzantine-resistant-majority bir oy çoğunluğunu bir sertifikada toplar ve bunu tüm Sui validatörlerine geri yayınlar. Ancak bu kez sertifika, validatörlerin fikir birliğine varması gereken Byzantine anlaşması adı verilen bir süreçle sıralanır.

4. İşlem başarılı bir şekilde sıralandıktan sonra, gönderici işlemi gerçekleştirmek için sertifikayı validatörlere yayınlar.

Yukarıda belirtildiği gibi, tek işlemler konsensüsü atlar ve neredeyse anında işlenir. Paylaşılan nesneleri kullanan işlemler konsensüsten geçmelidir. Sui, paylaşılan nesneleri kullanarak aynı anda birçok işlemi işliyorsa, her fikir birliğinin sırayla gerçekleşmesi gerekir ve bu da potansiyel olarak her işlemi geciktirir. Diğer blockchainlerin çoğu yalnızca bu ikinci işlem türüne izin verir ve konsensüsü atlama kabiliyetine sahip değildir.

Ölçeklenebilirlik

Sui’nin dağıtılmış bilgi işlem modeli, tipik bir blockchain’den ziyade geleneksel bir bulut hizmeti gibi çalışmaktadır. Birçok blockchain sunucu yükünü kontrol etmek için bir tokenomik model kullanır: yük arttıkça gas ücretleri de artar. Kullanıcılar yalnızca belirli bir tutara kadar ödeme yapabildiğinden, daha yüksek gas ücretleri işlem sayısını azaltır.

Sui’de yük arttıkça, validatörler, Amazon Web Services’in bir müşterinin trafiği arttıkça daha fazla sunucu ekleyebilmesine benzer şekilde, daha fazla işlem gücü ekleyebilir. Validatörler, daha yüksek ücretler yerine daha fazla gas ücreti kazandıkları için kapasite eklemeye teşvik edilirler.

Bu model, Sui’nin artan kullanıcı trafiğini desteklemek için ölçeklenmesini sağlamakla kalmaz, aynı zamanda sabit ve istikrarlı gas ücretlerini koruyarak daha fazla kullanıcının katılmasına olanak tanır.

Ağ kapasitesinin bu şekilde artırılması, birkaç örnek olarak oyunların hızlı çalışmasını, üretkenlik uygulamalarının güvenilir bir şekilde yanıt vermesini ve sosyal medya paylaşımlarının küresel olarak yapılmasını sağlar. Kurucular, artan gas fiyatlarından etkilenmeyecek abonelik modellerine dayalı ücretler belirleyebilir. Ağ altyapısı, validatör gas ücreti savaşlarına veya sunucu arızalarına yenik düşmeyecektir.

Sui Move

Yukarıda belirtildiği gibi, Sui Move, Sui için yerel programlama dilidir. Sui Move’un dayandığı temel Move dili, 2018 yılında özellikle blockchainler üzerinde akıllı kontrat programlama için oluşturulmuştur. Move’un yaratıcıları, önceki blockchain programlama dillerinde bulunmayan birinci sınıf varlık soyutlamalarına ve erişim kontrolüne ihtiyaç olduğunu gördüler. Merkeziyetsizlik, varlıkları ve erişim kontrolünü ağdaki çoğu faaliyetin merkezine koyduğu için bu soyutlamalar blockchainler için anlamlıdır.

Ancak Sui’nin kurucu ekibi bu yeni blockchain’i geliştirmeye başladığında Move’u daha da rafine etme ihtiyacı duydu. Move özellikle blockchainler üzerinde akıllı kontratlar programlamak için tasarlanmış olsa da hesaplar, işlemler, zaman ve kriptografi gibi blockchainlere özgü kavramlar için yerel destekten yoksundu. Blockchain’lerin bu özellikler için destek oluşturması gerekiyordu ki bu yalnızca zaman alıcı olmakla kalmıyor, aynı zamanda güvenlik gibi kritik özelliklerin tutarsız uygulamalarına da yol açabiliyordu.

Sui Move, bir blockchain geliştiricisinin performanslı, güvenli ve zengin özelliklere sahip uygulamalar oluşturmak için ihtiyaç duyacağı her şeyi içerecek şekilde tasarlanmıştır.

Sonuç

Diğer pek çok kişi gibi ben de Sui’yi geliştirmek için gerçekten heyecanlıyım. Sui’nin birçok katılımcısı tarafından ilk lansmanından önce aylarca süren çalışmaların ve devam eden evriminin ardından, bu Layer 1 blockchain’in diğer ağlarda bulunmayan yenilikler sunduğuna inanıyorum.

Sui’nin benzersiz mimarisini kullanan NFT’ler ve oyun projeleri ilgi alanlarım arasında yer alıyor. Bence Sui, GameFi projelerinin web3'te bir sonraki evrim ve benimseme seviyesine adım atması için gereken bileşenlere sahip. Açık kaynaklı bir ağ olarak, Sui’nin uyum sağlamasına ve kitlesel olarak benimsenmesine yardımcı olacak birçok iyileştirme ve geliştirme görmeyi bekliyorum. Bunu ilk deneyenlerden biri olduğum için mutluyum.

Sui Vakfı, Sui topluluğundan gelen makale katkılarını kabul etmektedir. Topluluk üyeleri tarafından ifade edilen görüş ve düşünceler Sui Vakfı’nın görüş ve düşüncelerini yansıtmayabilir.

--

--

Mutlu Gökhan Mutludağ
SUI Türkiye

Localization Manager & Technical Content Writer at node101