dYdX v4 Mimarisine Genel Bakış


4

Halihazırda kullandığımız dYdX platformu V3 olarak nitelendiriliyor. Bildiğiniz gibi bu senenin sonunda dYdX v4’e geçerken bütünüyle Cosmos’a taşınacak ve tam merkeziyetsiz olacak.

dYdX’in v3 ve eski sürümleri, özünde, bulutta barındırılan merkezi hizmetlerle birleştirilmiş mevcut zincirlere dağıtılan akıllı sözleşmeler ile çalışmaktadır. v4, tamamen merkeziyetsiz, zincir dışı bir sipariş defteri ve eşleştirme motoru içeren bağımsız bir L1 blok zinciri olacak. dYdX Zinciri, Cosmos SDK ve CometBFT PoS konsensüs protokolünü temel alacak.

Detaylı bilgilendirme için dYdX V4 Neler Değişecek? yazımızı bırakmak istiyorum.

v4 Mainnet’in lansmanına yaklaşırken , dYdX ekibinin ne inşa ettiğine bir göz atalım istiyoruz. 

v4 Sistem Mimarisi

dYdX v4, uçtan uca tamamen dağıtılmış olacak şekilde tasarlanmaktadır. Ana bileşenler genel olarak protokolü, Indexer / Dizin Oluşturucuyu ve FrontEnd / ön ucu içerir. Bu bileşenlerin her biri açık kaynak yazılım olarak kullanıma sunulacak. İşin püf noktası ise şu: Bileşenlerin hiçbiri dYdX Trading Inc. tarafından çalıştırılmayacak.

dYdX v4 Dizin Oluşturucu / Indexer yazımız!

Protokol (veya “Uygulama”)

dYdX protokolü, CometBFT üzerine kurulmuş ve CosmosSDK kullanan bir L1 blok zincir olacak . Node / Düğüm yazılımı Go’da yazılmış ve tek bir ikili dosyada derlenir. Tüm CosmosSDK blok zincirleri gibi, v4 de bir proof-of-stake mutabakat mekanizması kullanır. 

Protokol, bir düğüm ağı tarafından desteklenecektir. İki tür düğüm vardır:

  • Validators / Doğrulayıcılar: Doğrulayıcılar, siparişleri bellek içi bir sipariş defterinde depolamaktan (yani, zincir dışı ve fikir birliğine bağlı olmayan), diğer doğrulayıcılara işlemlerin dedikodusunu yapmaktan ve fikir birliği süreci aracılığıyla dYdX zinciri için yeni bloklar üretmekten sorumludur. Konsensüs süreci, doğrulayıcıların, ağırlıklı döngüsel bir tarzda (düğümlerine stake edilen belirteç sayısına göre ağırlıklandırılmış) yeni blokların teklifçisi olarak dönüşümlü olarak geçmesini sağlayacaktır. Öneri sahibi, bir sonraki bloğun içeriğini önermekten sorumludur. Bir sipariş eşleştiğinde, teklif sahibi bunu önerilen bloğa ekler ve bir fikir birliği turu başlatır. Doğrulayıcıların ⅔ veya daha fazlası (pay ağırlığına göre) bir bloğu onaylarsa, blok işlenmiş kabul edilir ve blok zincire eklenir. Kullanıcılar işlemleri doğrudan doğrulayıcılara gönderecektir.
  • Full Nodes / Tam Düğümler: Tam Düğüm, fikir birliğine katılmayan v4 uygulamasını çalıştıran bir işlemi temsil eder. 0 hisse ağırlığına sahip bir düğümdür ve teklif vermez veya oylama yapmaz. Bununla birlikte, tam düğümler doğrulayıcılar ağına bağlanır, işlemlerin dedikodusuna katılır ve ayrıca her yeni taahhüt edilen bloğu işler. Tam düğümler, dYdX Zincirinin ve geçmişinin eksiksiz bir görünümüne sahiptir ve Dizin Oluşturucuyu desteklemeleri amaçlanır. Bazı taraflar (performans veya maliyet nedenleriyle) kendi tam düğümlerini ve/veya Dizinleyicilerini çalıştırmaya karar verebilir. 

Indexer / Dizin Oluşturucu

Dizin Oluşturucu, blok zincir verilerini endekslemek ve görevi kullanıcılara daha verimli ve web2 dostu bir şekilde sunmak olan salt okunur bir hizmet koleksiyonudur. Bu, bir v4 tam düğümünden gerçek zamanlı verileri tüketerek, bir veritabanında depolar ve bu verileri bir websocket ve REST istekleri aracılığıyla son kullanıcılara sunar.

v4 protokolü; uç noktaları bazı temel zincir üstü verilerle ilgili hizmet sorgularına maruz bırakabilirken, doğrulayıcılar ve tam düğümler bunları verimli bir şekilde işlemek için optimize edilmediğinden bu sorgular yavaş olma eğilimindedir. Ek olarak, bir doğrulayıcıya yapılan fazla sorgu, mutabakata katılma yeteneğini bozabilir. Bu nedenle, birçok Cosmos doğrulayıcısı, üretimde bu API’leri devre dışı bırakma eğilimindedir. Bu nedenle Dizin Oluşturucuları ve tam düğümleri doğrulayıcılardan ayrı oluşturmak ve sürdürmek önemlidir.

Dizin oluşturucular, zincir içi verileri depolamak için Postgres veritabanlarını, zincir dışı veriler için Redis’i ve zincir içi/dışı verileri tüketmek ve çeşitli Dizin oluşturucu hizmetlerine aktarmak için Kafka’yı kullanacak. 

Frontend

Uçtan uca merkeziyetsiz bir deneyim oluşturma hizmetinde dYdX, üç açık kaynak frontend oluşturuyor:

  • Web uygulaması
  • iOS uygulaması
  • Android uygulaması.  
  • Web uygulaması: Web sitesi Javascript ve React kullanılarak oluşturulacak. Web sitesi, zincir dışı emir defteri bilgilerini almak için bir API aracılığıyla Dizin Oluşturucu ile etkileşime girecek ve işlemleri doğrudan zincire gönderecek. dYdX, ön uç kod tabanını ve ilgili konuşlandırma betiklerini açacaktır. Bu, herkesin IPFS/Cloudflare ağ geçidi aracılığıyla kendi etki alanı/barındırma çözümüne/alanına/barındırma çözümüne kolayca dağıtmasına ve dYdX ön ucuna erişmesine olanak tanır. 
  • Mobil: iOS ve Android uygulamaları, sırasıyla yerel Swift ve Kotlin’de oluşturulmuştur. Mobil uygulamalar, web uygulamasının yaptığı gibi Dizin Oluşturucu ile etkileşime girecek ve alım satımları doğrudan zincire gönderecektir. Mobil uygulamalar da açık kaynaklı olacak ve herkesin mobil uygulamayı App Store veya Play Store’a dağıtmasına izin verecek. Uygulama mağazasına özel olarak, uygulama gönderme sürecinden geçmek için konuşlandırıcının bir Bitrise hesabının yanı sıra bir geliştirici hesabına sahip olması gerekir.

Bir Siparişin Yaşam Döngüsü

Şimdi de sipariş verirken hepsinin nasıl bir araya geldiğine bir göz atalım. v4’te bir sipariş verildiğinde, aşağıdaki akışı izlenecek:

  1. Kullanıcı, merkeziyetsiz bir ön uçta (ör. web sitesi) veya API aracılığıyla bir işlem yapar
  2. Sipariş bir doğrulayıcıya yönlendirilir. Bu doğrulayıcı, sipariş defterlerini yeni siparişle güncellemek için diğer doğrulayıcılara ve tam düğümlere bu işlemin dedikodusunu yapar.
  3. Mutabakat süreci, teklif sahibi olarak bir doğrulayıcı seçer. Seçili doğrulayıcı siparişle eşleşir ve onu bir sonraki önerilen bloğa ekler.
  4. Önerilen blok, fikir birliği süreci boyunca devam eder.
    1. Doğrulayıcı düğümlerin ⅔’ü bloğu onaylamak için oy kullanırsa, blok işlenir ve tüm doğrulayıcıların ve tam düğümlerin zincir üstü veritabanlarına kaydedilir.
    2. Önerilen blok ⅔ eşiğe başarıyla ulaşmazsa, blok reddedilir.
  5. Blok işlendikten sonra, güncellenmiş zincir üstü (ve zincir dışı) veriler tam düğümlerden Dizin Oluşturuculara aktarılır. Dizin Oluşturucu daha sonra bu verileri API ve Websockets aracılığıyla ön uca ve/veya bu verileri sorgulayan diğer herhangi bir dış hizmete sunar.

Yukarıdaki akış, bir siparişin/verinin v4’te nasıl ilerleyeceğine ilişkin üst düzey bir genel bakıştır. Bu yazı, v4 mimarisi hakkında sizlere bir fikir vermek dYdX’in bir makalesinden Türkçe’ye çevrilmiştir. v4’ün hala geliştirme aşamasında olduğu göz önüne alındığında, yukarıda sunulanların değişebileceğini lütfen unutmayın.

dYdX Hakkında

dYdX, açık, güvenli ve güçlü finansal ürünler inşa etme misyonuyla önde gelen merkeziyetsiz bir borsa geliştiricisidir. dYdX şu anda Ethereum üzerinde denetlenen akıllı sözleşmelerle çalışmaktadır, bu da trade yaparken merkezi bir borsaya güvenmek zorunda olmamanızı sağlar. Merkeziyetsiz bir borsanın güvenliği ve şeffaflığını, merkezi bir borsanın hızı ve kullanım kolaylığı ile birleştiriyor.

dYdX | Twitter | YouTube | Telegram | Discord | Medium

Bu Yazıya Tepkiniz Ne Oldu?
  • 1
    alk_l_yorum
    Alkışlıyorum
  • 0
    be_endim
    Beğendim
  • 0
    d_nceliyim
    Düşünceliyim
  • 0
    be_enmedim
    Beğenmedim

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (4)

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Bültenimize Katılın

    Hemen ücretsiz üye olun ve yeni güncellemelerden haberdar olan ilk kişi olun.