簡述dYdX V4 技術架構

dYdX V4 將是一個獨立的L1 區塊鏈,具有完全去中心化的鏈下訂單簿和匹配引擎。

**撰文:**dYdX

編譯:IBCL

dYdX 鏈V4 是dYdX 協議的最新的一個迭代,它將由開源軟件組成。當前投入生產的版本稱為v3, dYdX 的v3 和過去版本的核心是部署到現有鏈上的智能合約,並結合託管在雲中的中心化服務。

v4 將是一個獨立的L1 區塊鏈,具有完全去中心化的鏈下訂單簿和匹配引擎。 dYdX 鏈將基於Cosmos SDK 和CometBFT PoS 共識協議。

當我們接近v4 主網的啟動時,我們希望讓您一窺dYdX 團隊正在構建的內容。這篇文章提供了v4 架構的高級概述。鑑於v4 仍在開發中可能會存在變化。

v4 系統架構

dYdX v4 被設計成完全去中心化的端到端。主要組件大致包括協議、索引器和前端。這些組件中的每一個都將作為開源軟件提供。 dYdX Trading Inc. 將不會運行任何組件。

協議

該協議是建立在CometBFT 之上並使用CosmosSDK 的L1 區塊鏈。節點軟件是用Go 編寫的,並編譯為單個二進製文件。與所有CosmosSDK 區塊鏈一樣,v4 使用權益證明共識機制。

該協議將由節點網絡支持。有兩種類型的節點:

  • 驗證者:驗證者負責將訂單存儲在內存中的訂單簿中(即鏈下且不承諾達成共識),將交易閒聊給其他驗證者,並通過共識過程為dYdX 鏈生成新區塊。共識過程將讓驗證者以加權循環方式輪流作為新區塊的提議者(由抵押到其節點的代幣數量加權)。提議者負責提議下一個區塊的內容。當訂單匹配時,提議者將其添加到他們提議的區塊中並啟動共識回合。如果⅔ 或更多的驗證者(按股權權重)批准一個區塊,則該區塊被視為已提交並添加到區塊鏈中。用戶將直接向驗證器提交交易。
  • 全節點:全節點代表運行不參與共識的v4 應用程序的進程。它是一個stake 權重為0 的節點,它不提交提案或對其進行投票。然而,全節點連接到驗證器網絡,參與交易的八卦,並處理每個新提交的塊。全節點具有dYdX 鍊及其歷史的完整視圖,旨在支持索引器。某些方可能決定(出於性能或成本原因)運行他們自己的完整節點和/ 或索引器。

索引器

Indexer 是一個只讀服務集合,其目的是以更高效和web2 友好的方式為用戶索引和服務區塊鏈數據。這是通過使用來自v4 全節點的實時數據,將其存儲在數據庫中,並通過websocket 和REST 請求向最終用戶提供該數據來完成的。

雖然v4 協議本身能夠將端點暴露給有關一些基本鏈上數據的服務查詢,但這些查詢往往很慢,因為驗證器和完整節點沒有經過優化以有效地處理它們。此外,對驗證者的過多查詢會削弱其參與共識的能力。出於這個原因,許多Cosmos 驗證器傾向於在生產中禁用這些API。這就是為什麼構建和維護與驗證器分開的索引器和完整節點很重要。

索引器將使用Postgres 數據庫存儲鏈上數據,使用Redis 存儲鏈下數據,使用Kafka 將鏈上/ 鏈下數據消費和流式傳輸到各種索引器服務。

前端

為了構建端到端的去中心化體驗,dYdX 正在構建三個開源前端:Web 應用程序、iOS 應用程序和Android 應用程序。

  • Web 應用程序:該網站將使用Java 和React 構建。該網站將通過API 與Indexer 交互以獲取鏈下訂單簿信息,並將交易直接發送到鏈上。 dYdX 將開源前端代碼庫和相關部署腳本。這將允許任何人通過IPFS/Cloudflare 網關輕鬆部署和訪問dYdX 前端到/ 從他們自己的域/ 託管解決方案。
  • 移動:iOS 和Android 應用程序分別使用原生Swift 和Kotlin 構建。移動應用程序將以與Web 應用程序相同的方式與索引器交互,並將交易直接發送到鏈。移動應用程序也將是開源的,允許任何人將移動應用程序部署到App Store 或Play 商店。特別是對於應用程序商店,部署者需要有一個開發者帳戶和一個Bitrise 帳戶才能完成應用程序提交過程。

訂單的生命週期

現在我們對dYdX v4 的每個組件有了更好的了解,讓我們來看看在下訂單時它們是如何組合在一起的。當在v4 上下訂單時,它將遵循以下流程:

  1. 用戶在分散的前端(例如網站)或通過API 進行交易
  2. 訂單被路由到驗證器。該驗證者將該交易八卦給其他驗證者和完整節點,以使用新訂單更新他們的訂單簿。
  3. 共識過程選擇一個驗證者作為提議者。選定的驗證器匹配訂單並將其添加到下一個提議的塊中。
  4. 提議的區塊繼續通過共識過程。 a. 如果⅔ 的驗證節點投票確認該塊,則該塊將被提交並保存到所有驗證節點和全節點的鏈上數據庫中。 b. 如果提議的區塊沒有成功達到⅔ 閾值,則該區塊將被拒絕。
  5. 提交塊後,更新的鏈上(和鏈下)數據從全節點流式傳輸到索引器。然後,索引器通過API 和Websockets 將此數據提供給前端和/ 或查詢此數據的任何其他外部服務。

上面的流程是訂單/ 數據如何通過v4 移動的高級概述。隨著v4 主網發布的臨近,我們將在後續博文中進一步深入探討協議、索引器和各種前端的基礎設施。

查看原文
本頁面內容僅供參考,非招攬或要約,也不提供投資、稅務或法律諮詢。詳見聲明了解更多風險披露。
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate.io APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)