買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > 以太坊 > Info

SWAP:用于 DEX 路由器構建和分析的構建區塊_Uniswap

Author:

Time:1900/1/1 0:00:00

用一種資產交換另一種資產是金融市場的一個基本概念。在加密貨幣市場中,這種情況通常發生在代幣或貨幣與他人交換或交易的地方。Uniswap是一種自動流動性協議,有助于這種類型的交換。它使用成對或池(以下稱為對),兩種資產的池儲備,允許用戶將一種資產交換為另一種資產。

圖1.0:Uniswap代幣A和B池,以及流動性提供者(LP)和交易者的互換和存款交互示例。LP接收池代幣以提供流動性。

如果有人想要的資產與他們想要交易的資產不成對,會發生什么?在這種情況下,在多個對之間進行一系列互換以獲得所需的資產——用于促進這種交易的對被稱為路由。

?圖2.0:一條涉及多對交易 DAI 以換取 USDC 的路由。

路由是從一個資產到另一個資產的路由,由零或多個對之間的段組成。如果交易的數量足夠大,或者如果一對的流動性足夠低,可以從多個路由中形成一條路由,通過吸收更多來自其他對的流動性來減少滑點。

圖3.0:由Paraswap路由器說明的多路徑路由

調查:部分人計劃將刺激法案支票用于投資BTC和ETH等加密貨幣:一項最新民調顯示,預計將收到下一輪救濟法案刺激支票的大多數美國人將用這筆錢購買必需品和償還債務,但仍有一些人愿意投資比特幣等加密貨幣。

Harris Poll 代表雅虎金融進行的一項研究顯示,在接受最近兩輪刺激計劃支票的人中,有15%的人將部分或全部資金用于投資。其中,大約一半將投資BTC和ETH等加密貨幣。(Cointelegraph)[2021/3/18 18:57:14]

圖4.0:多路由

滑點是指一個人預期為資產支付的價格與實際支付的金額之間的差額,這是由一些因素造成的,比如訂單進入市場和交易執行之間的價格變動,或者成交量和流動性低。

另一個需要考慮的是路由中的段數。這將以在以太坊區塊鏈上操作的gas費用的形式增加交易成本。一條路由上的段數越多,所產生的gas費用就越高。類似地,如果有多種途徑,如上圖3和圖4所示,gas費用也會更高。

路由器必須考慮這些因素,以產生適合交易數量的路由。此外,由于市場狀況經常變化,影響gas費用和池的流動性,生成的路由也將是動態的,現在是一條很好的路由,不一定在一小時后或第二天表現良好。

本文的其余部分將討論可用于構建和分析Uniswap V2協議及更高版本構建和分析路由器的構建區塊。

注意:這里提到的Graph協議不同于下一節討論的Graph數據類型。圖協議是一個或多個智能合約的區塊鏈交易的索引,而圖數據類型是指使用數學圖論的數據表示。

正如使用地圖在點之間導航一樣,可以使用圖數據類型來導航可用的流動性對,以生成可以評估以提高回報的路由。在對 Uniswap 對進行建模時,一開始就需要做出一些實現選擇:

Kraken向BTCPay基金會捐贈15萬美元用于開發開源BTCPay服務器:加密貨幣交易所Kraken向BTCPay基金會捐贈了150,000美元的比特幣,BTCPay基金會是BTCPay的管理實體,BTCPay是一種流行的開源工具,接受商戶接受比特幣付款。由于BTCPay是免費的,因此它依靠Kraken這樣的捐款來運行并資助開發人員對該應用程序進行改進。BTCPay是用于商戶所需的比特幣簿記任務的工具,例如管理發票以跟蹤商戶每種售出的產品欠多少比特幣。(Coindesk)[2020/6/25]

作為頂點或邊的對、符號或資產標識符 ?

有向還是無向?

簡單還是多圖?

為了做出上述實現選擇,理解Uniswap對的屬性是很重要的:

每一對都有一個唯一的ID。

每對包含以下數據對 2 個代幣:符號、名稱、ID。

代幣符號不是唯一的——例如,符號BOND表示許多不同的資產或不同的ID。

代幣名稱也不一定是唯一的。

代幣ID是唯一的,并且是代幣的ERC-20合約地址。

Uniswap對的這些屬性建議使用代幣ID作為圖數據類型中的頂點。由此可見,圖的邊代表唯一的一對ID。在這種形式下,圖可以是無向的,也可以是有向的,每條邊代表一對ID、代幣價格和儲備。然而,不斷更新代幣價格和保留信息的需求表明,將該數據存儲在具有適當的實時設置的緩存結構中可能更有效和可擴展,特別是對于實時交易的應用程序,而不是靜態分析。

今后,在Uniswap V2和V3協議對之間路由是可取的。在這個場景中,可能存在多個對相同的代幣ID。雖然可以在一對ID之間添加額外的邊,但另一種解決方案是在同一條邊上分組不同的對ID,從而避免遍歷多重圖的性能成本。下面是分組對ID無向簡單圖結構的部分示例,其中符號 ID 替換了符號名稱:

Zcash發布適用于iOS和Android錢包的開源代碼:金色財經報道,6月11日,Zcash開發公司Electric Coin Company(ECC)宣布,已發布僅適用于iOS和Android系統錢包的開源代碼。ECC表示,雖然這次發布并沒有為iOS或Android提供現成的錢包應用程序,但為開發者提供了創建應用程序的免費工具。[2020/6/12]

圖5.0:在一個無向簡單圖中對Uniswap V2和V3協議對進行建模(注意,實際結構使用代幣ID而不是代幣符號,所以在這里會很麻煩)。

最初,深度優先搜索(DFS)已經證明可以遍歷圖,一般情況下深度限制為4。該深度的一個例外是從WETH開始的路由,其中連接節點的數量超過30000。當一條路由從WETH出發時,DFS被限制為2,以減少遍歷時間。

有許多用于處理圖形數據類型的工具,包括圖形數據庫Neo4J和RedisGraph。這些討論超出了本文的范圍,目前的項目需求可以通過Javascript庫Graphlib來滿足。然而,如果路由問題的規模達到了LinkedIn或其他大型網絡的規模,那么上述圖表數據庫的規模就會滿足這些需求,從而權衡成本和開發復雜性。

當在圖數據結構中計算路由時,約束是有用的。例如,它們有助于確定只遍歷有限數量對的路由,或者可以用來忽略包含某些資產的對的路由。

現有的 Uniswap V2 路由主要是通過六項資產的路由,這些資產可以比作機場樞紐。這六項資產是:

USDT

聲音 | 人民大學孟小峰:區塊鏈技術應用于隱私保護領域還處于探索階段:據人民網消息,日前,在中國計算機學會青年計算機科技論壇(CCF YOCSEF)上,中國人民大學教授孟小峰表示,區塊鏈技術應用于隱私保護領域還處于探索階段。孟小峰認為,去中心化、可溯源的區塊鏈技術是一個可以研究的隱私保護方向,其有利于在隱私泄露之后溯源、追責,但由于技術尚不成熟、效率不高等問題,區塊鏈技術應用于隱私保護領域還處于探索階段,而且區塊鏈的使用成本也較高,監管部門或者企業會否采用尚無法確定。[2019/4/3]

COMP

MKR

這六種資產是有用的,因為它們是常用的,當它們與其他資產成對組合時,不會施加流動性限制(即它們不是稀缺的,并且不會與新的、未經證實的加密資產構成相同的風險)。然而,它們的使用可能會造成效率問題,在這里說明:

“Uniswap沒有以去中心化的方式路由交換。”

使用約束,比如忽略上面提到的6個“樞紐”資產,可以探索比當前Uniswap V2界面提供給用戶的更有效的潛在路由。約束也可以擴展到其他標準,例如:

通過具有 X 美元流動性或 Y% 美元交易的池路由。

通過具有特定定價的特定池路由。(適用于Uniswap V3協議)。

同樣值得注意的是約束是可組合的,也就是說,它們可以組合在一起,這樣路由就可以限制為最多 2 個池,每個池的流動性超過 X。當前的數據模型在圖數據類型和查找表之間拆分數據,這意味著在圖遍歷期間和之后發現對數據時都可以修剪路由。

擴展主要考慮向路由器公開一個公共API,以便基于當前市場數據計算路由。性能是一個函數:

日本互聯網巨頭GMO在北歐開設數據中心用于虛擬貨幣采礦:根據日本經濟新聞28日報道,日本GMO互聯網加強了其虛擬貨幣采礦事業的建設。該公司在北歐開設了一個數據中心,使用低成本電力和自己公司的半導體進行采礦,預計每年將會增加數百億日元的營業利潤。[2018/2/28]

計算路由的時間

如果需要,獲取更新對數據的時間(代幣價格和儲備)

計算路由請求的影響所需的時間

下圖說明了一個初始的系統架構,其中包含用于最常請求路由的緩存和用于計算路由請求影響的緩存對數據。這種架構非常靈活,可以以多種方式進行水平擴展。例如,完全復制圖數據結構和路由緩存以及請求聚合器和對緩存,或者簡單地復制緩存并在緩存之間分配路由請求。

圖6.0:具有可擴展組件、緩存和定期更新的路由服務架構。

另一個潛在的可擴展性修改可能是考慮路由請求和數量的完整路由解決方案緩存;如果數量在一定的公差內,最近計算的結果可以重用。根據用戶體驗和應用程序的需要,最近計算的結果也可以用作臨時結果,而為用戶計算更精確的結果。

路由緩存由最常請求的路由的結果組成,其生存時間 (TTL) 與數據源的定期更新頻率相關。例如,如果之前請求過WETH和DAI之間的一條路由,則可以在路由緩存中以可能路由數組的形式找到圖遍歷的結果:[WETH -> USDC -> DAI, WETH -> WBTC -> DAI,…]。與代幣價格和儲備等對數據不同,路由可能性——特別是配對的存在——變化較少,因此該緩存的TTL預期要比對數據緩存大得多。此外,該組件還可以擴展為包含對死路由(即過期或已被取代的令牌地址或非流動對)的試探法。

配對數據緩存包含特定對的代幣價格和保留數據,便于計算使用指定數量路由請求的影響。該數據比可用路由選項的變化更頻繁,并且將具有大約一個以太坊區塊(約 15 秒)的 TTL。

當請求的數據不在緩存中時,這些請求將被捆綁在一起,并從數據源中獲取,目前是Graph協議中的Uniswap子圖(見下面的數據源部分),最多可包含 1000 對數據查詢。發送捆綁的對數據請求之前的等待時間將根據流量進行調整——在低流量的場景中,讓用戶等待直到發出額外請求是沒有意義的。

此外,為了改進用戶體驗,在獲取和計算更新數據時,可能會呈現基于舊數據的預結果。

路由性能將通過將生成的路由與現有Uniswap V2路由器的路由進行比較來評估。具體來說,是通過計算給定數量的源代幣的收益。例如,在從DAI到COMP的交易中,路由器的性能將通過計算從100萬個DAI代幣接收到多少COMP,并檢查從Uniswap V2路由器建議的路由獲得的相同結果來進行比較。性能將根據各種不同的輸入進行測量,例如,不同的初始數量,對搜索深度的不同限制等。

在執行靜態分析時,不需要圖6.0中所示的對數據緩存和捆綁請求。靜態分析是在區塊鏈的特定區塊時間內對交易的計算。它有助于結果的一致性和重復性,以便進行比較。為Uniswap V2設計新路由器的初始工作范圍由靜態分析提供幫助,在靜態分析中,可以在一個區塊時間評估一組交易,并與現有的路由算法或變體進行比較。如果潛在的配對數據發生變化,則不清楚交易結果的改善或下降是由于算法變化還是配對流動性和定價。

隨著區塊鏈技術的成熟,出現了大量提供區塊鏈當前和歷史數據的服務。數據源的選擇涉及下列考慮事項:

預算

開發工作和成本

延遲

數據的準確性

開發工作和成本可以通過使用預先消化或索引的數據來減少,就像在Graph Protocol的眾多子圖中發現的那樣。

對于初始交換路由器的設計和實現,將使用Graph Protocol中的Uniswap子圖。該數據源提供了極好的易用性,能夠分析過去的合約數據,否則將需要更昂貴的存檔以太坊節點,并且能夠在不執行靜態分析時在單個HTTP請求中更新1000對數據。Graph Protocol中的數據延遲比前面提到的解決方案低得多,只有通過直接運行以太坊節點或對內存池建模(或者使用Blocknative之類的服務)才能勝出。Graph Protocol的延遲明顯在1區塊左右,在某些索引場景下可以動態改變。值得注意的是,當索引和映射區塊被證明無效時,數據也可以更改。

一旦對交換路由器設計進行了評估,這個數據源將被證明不適合生成路由,因為實時數據需要具有競爭力。在這樣的場景中,需要直接來自區塊鏈當前狀態的數據,例如來自Alchemy、Infura或其他來源的以太坊節點。

上面概述的系統提供了靈活性和可擴展性,以分析現有Uniswap系統的性能,以及在協議之上構建新的系統,包括一個成熟的交易解決方案。類似于Coinbase vs Coinbase Pro或Synthetix vs Kwenta,也有一些對專業交易者至關重要的高級功能,我們在下面列出了一些。

通過使用避免上述6個樞紐代幣的約束,本文描述的系統可以用來檢查某些代幣之間的替代路由及其效率。這可以定期完成以構建一個基于啟發式的列表,現有系統/交易者可以使用該列表來改進對這些對的推薦路由,或允許他們進行其他更改。

通過增加圖形或交替地使圖形數據結構成為多圖并添加額外的數據源,可以擴展該系統,為用戶提供跨Uniswap V2和V3協議的資產之間的路由。根據目標的不同,這可以減少交易中的滑點,也可以對分散的流動性進行管理。

類似于跨協議,路由器可以擴展到生成跨層路由。降低gas費用和改進交易帶寬的承諾表明,layer2解決方案將有助于定義以太坊未來的很大一部分。在L2和L1資產之間交叉提出了一個新的路由挑戰,其復雜性超過了協議交叉。然而,相同的基本構建區塊可以生成允許跨層交易的解決方案,利用即將到來的協議來實現這一目的,例如Hop Protocol、Nova等。

通過將路由解決方案與防止MEV的技術相結合,如Flashbots,該路由系統可用于保護大額交易免受攻擊。試探法或其他輸入可以確定一筆交易的價值是否足以表示這種風險,然后保護性解決方案可以自動合并由確定的最佳路由提出的交易解決方案中。

Graph Protocol數據源雖然方便和快速,但通常至少有1區塊延遲。對于某些交易應用來說,這可能還不夠。在這方面,可以替代其他性能更好的數據源,要么直接綁定到一個以太坊節點,要么過濾已完成的感興趣的交易,以更新路由系統的數據結構。更進一步,還可以構造內存池的有限描述,并應用類似的交易過濾,以提供未執行的已知交易狀態下的預測路由結果。

Source:https://medium.com/@ValveFinance/building-blocks-for-dex-router-construction-analysis-acc03b9f15d8

Tags:SWAPUNIUniswapBTCSudoswapUnique Networkuniswapwallet教程BTCX

以太坊
CORD:金色觀察|一文讀懂聯盟鏈R3_Cordium

在聯盟鏈的國際市場中有一個專為受監管市場設計的聯盟鏈產品,這就是R3。R3的聯盟,是基于Corda區塊鏈和機密計算平臺Conclave運作的,整個聯盟都在促進在這兩個系統上構建應用程序.

1900/1/1 0:00:00
TOP:回顧2021:一覽 NFT 生態版圖熱門項目_區塊鏈

NFT 簡介 2021:NFT的發展元年 NFT的應用場景 NFT 的最初功能:藝術品收藏 Rarible NFT 投資的擴大:土地投資項目Decentraland The Sandbox NF.

1900/1/1 0:00:00
比特幣:中國禁止虛擬貨幣“挖礦”后挖礦產業到底怎樣了?_Libcoin

2021年5月至6月之間,中國密集出臺政策,限制加密數字貨幣的交易且禁止加密數字貨幣礦場的運營.

1900/1/1 0:00:00
BIT:加密貨幣征稅 紛紛擾擾的利益“江湖”_加密貨幣

對于加密貨幣該進行征稅嗎?又如何實施征稅舉措呢?近年來,加密貨幣征稅問題一直是圈內關注的重點。隨著加密貨幣市場的發展及用戶的不斷增長,這一行業越發受到世界各國政府的關注,相應的監管體系也在陸續建.

1900/1/1 0:00:00
DOT:萬字攻略 如何正確參與Polkadot平行鏈插槽拍賣?_2023dot幣還有救嗎

背景 6月15日,波卡的金絲雀網絡Kusama迎來了第一次平行鏈插槽拍賣,隨著長達五個月Kusama平行鏈的運營和研究,我們終于迎來了波卡平行鏈插槽拍賣的重要時刻.

1900/1/1 0:00:00
DEF:從游戲視角 解讀區塊鏈用戶行為報告_區塊鏈包括哪些方面

原標題:區塊鏈用戶行為報告——游戲視角 以下報告屬于區塊鏈用戶行為報告系列。DappRadar的一組報告旨在為用戶提供區塊鏈行業的不同視角,將傳統的行為金融分析與區塊鏈指標相結合.

1900/1/1 0:00:00
ads