Jelaskan secara singkat arsitektur teknis dYdX V4

dYdX V4 akan menjadi blockchain L1 independen dengan buku pesanan off-chain yang sepenuhnya terdesentralisasi dan mesin pencocokan.

**Ditulis oleh:**dYdX

Kompilasi: IBCL

dYdX Chain V4 adalah iterasi terbaru dari protokol dYdX, yang akan terdiri dari perangkat lunak open source. Versi yang saat ini dalam produksi disebut v3, v3 dan versi dYdX sebelumnya memiliki kontrak pintar intinya yang diterapkan ke rantai yang ada dikombinasikan dengan layanan terpusat yang dihosting di cloud.

v4 akan menjadi blockchain L1 independen dengan buku pesanan off-chain yang sepenuhnya terdesentralisasi dan mesin pencocokan. Rantai dYdX akan didasarkan pada Cosmos SDK dan protokol konsensus CometBFT PoS.

Saat kami semakin dekat dengan peluncuran mainnet v4, kami ingin memberi Anda gambaran sekilas tentang apa yang sedang dibangun oleh tim dYdX. Artikel ini memberikan ikhtisar tingkat tinggi tentang arsitektur v4. Mengingat v4 masih dalam pengembangan mungkin ada perubahan.

arsitektur sistem v4

dYdX v4 dirancang untuk sepenuhnya terdesentralisasi end-to-end. Komponen utama secara luas mencakup protokol, pengindeks, dan frontend. Masing-masing komponen ini akan disediakan sebagai perangkat lunak sumber terbuka. dYdX Trading Inc. tidak akan menjalankan komponen apa pun.

Perjanjian

Protokolnya adalah blockchain L1 yang dibangun di atas CometBFT dan menggunakan CosmosSDK. Perangkat lunak node ditulis dalam Go dan dikompilasi menjadi satu biner. Seperti semua blockchain CosmosSDK, v4 menggunakan mekanisme konsensus proof-of-stake.

Protokol akan didukung oleh jaringan node. Ada dua jenis node:

  • Validator: Validator bertanggung jawab untuk menyimpan pesanan dalam buku pesanan dalam memori (yaitu off-chain dan tanpa melakukan konsensus), bergosip tentang transaksi ke validator lain, dan membuat blok baru untuk rantai dYdX melalui proses konsensus. Proses konsensus akan membuat validator bergiliran sebagai pengusul blok baru dengan gaya round-robin berbobot (ditimbang dengan jumlah token yang dipertaruhkan ke node mereka). Pengusul bertanggung jawab untuk mengusulkan konten blok berikutnya. Saat pesanan cocok, pengusul menambahkannya ke blok yang diusulkan dan memulai putaran konsensus. Sebuah blok dianggap berkomitmen dan ditambahkan ke blockchain jika ⅔ atau lebih validator (berdasarkan bobot saham) menyetujuinya. Pengguna akan mengirimkan transaksi langsung ke validator.
  • Node Penuh: Node penuh mewakili proses yang menjalankan aplikasi v4 yang tidak berpartisipasi dalam konsensus. Ini adalah simpul dengan bobot taruhan 0, yang tidak mengajukan proposal atau memilihnya. Namun, node penuh terhubung ke jaringan validator, berpartisipasi dalam gosip transaksi, dan memproses setiap blok yang baru dikirimkan. Node penuh memiliki tampilan lengkap rantai dYdX dan riwayatnya serta dirancang untuk mendukung pengindeks. Beberapa pihak mungkin memutuskan (untuk alasan kinerja atau biaya) untuk menjalankan full node dan/atau pengindeks mereka sendiri.

pengindeks

Pengindeks adalah kumpulan layanan hanya baca yang bertujuan untuk mengindeks dan menyajikan data blockchain untuk pengguna dengan cara yang lebih efisien dan ramah web. Hal ini dilakukan dengan menggunakan data real-time dari node penuh v4, menyimpannya dalam database, dan membuat data tersebut tersedia untuk pengguna akhir melalui websocket dan permintaan REST.

Meskipun protokol v4 itu sendiri mampu mengekspos titik akhir ke kueri layanan tentang beberapa data on-chain dasar, kueri ini cenderung lambat karena validator dan node penuh tidak dioptimalkan untuk menanganinya secara efisien. Selain itu, pertanyaan yang berlebihan kepada validator dapat mengganggu kemampuan mereka untuk berpartisipasi dalam konsensus. Karena alasan ini, banyak validator Cosmos lebih suka menonaktifkan API ini dalam produksi. Inilah sebabnya mengapa penting untuk membangun dan memelihara pengindeks dan node penuh yang terpisah dari validator.

Pengindeks akan menggunakan database Postgres untuk penyimpanan data on-chain, Redis untuk penyimpanan data off-chain, dan Kafka untuk konsumsi data on-chain/off-chain dan streaming ke berbagai layanan pengindeks.

paling depan

Untuk membangun pengalaman terdesentralisasi end-to-end, dYdX membangun tiga frontend sumber terbuka: aplikasi web, aplikasi iOS, dan aplikasi Android.

  • Aplikasi Web: Situs web akan dibangun menggunakan Java dan React. Situs web akan berinteraksi dengan Pengindeks melalui API untuk mendapatkan informasi buku pesanan off-chain dan mengirim perdagangan langsung secara on-chain. dYdX akan membuka basis kode front-end dan skrip penerapan terkait. Ini akan memungkinkan siapa saja untuk dengan mudah menerapkan dan mengakses frontend dYdX ke/dari domain mereka sendiri/solusi yang dihosting melalui gateway IPFS/Cloudflare.
  • Seluler: Aplikasi iOS dan Android masing-masing dibuat menggunakan Swift dan Kotlin asli. Aplikasi seluler akan berinteraksi dengan pengindeks dengan cara yang sama seperti aplikasi web dan mengirim transaksi langsung ke rantai. Aplikasi seluler juga akan menjadi open source, memungkinkan siapa saja untuk menyebarkan aplikasi seluler ke App Store atau Play Store. Khusus untuk toko aplikasi, para penyebar harus memiliki akun pengembang dan akun Bitrise untuk menyelesaikan proses pengiriman aplikasi.

Siklus Hidup Pesanan

Sekarang kita memiliki pemahaman yang lebih baik tentang setiap komponen dYdX v4, mari kita lihat bagaimana semuanya cocok saat melakukan pemesanan. Saat melakukan pemesanan di v4, itu akan mengikuti proses berikut:

  1. Pengguna bertransaksi di ujung depan yang terdesentralisasi (misalnya situs web) atau melalui API
  2. Order diteruskan ke validator. Validator tersebut bergosip tentang transaksi tersebut ke validator lain dan node penuh untuk memperbarui buku pesanan mereka dengan pesanan baru.
  3. Proses konsensus memilih validator sebagai pengusul. Validator yang dipilih cocok dengan pesanan dan menambahkannya ke blok yang diusulkan berikutnya.
  4. Blok yang diusulkan berlanjut melalui proses konsensus. a. Jika ⅔ validator memilih untuk mengonfirmasi blok, blok tersebut akan dikomit dan disimpan ke database on-chain dari semua validator dan node penuh. b.Bila blok yang diusulkan tidak berhasil mencapai ambang batas ⅔ maka blok tersebut akan ditolak.
  5. Setelah blok berkomitmen, data on-chain (dan off-chain) yang diperbarui dialirkan dari node penuh ke pengindeks. Pengindeks kemudian menyediakan data ini melalui API dan Websockets ke ujung depan dan/atau layanan eksternal lainnya yang menanyakan data ini.

Alur di atas adalah ikhtisar tingkat tinggi tentang bagaimana pesanan/data berpindah melalui v4. Saat peluncuran mainnet v4 semakin dekat, kami akan mempelajari lebih jauh tentang protokol, pengindeks, dan berbagai infrastruktur front-end di postingan blog berikutnya.

Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate.io
Komunitas
Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)