用一種資產交換另一種資產是金融市場的一個基本概念。在加密貨幣市場中,這種情況通常發生在代幣或貨幣與他人交換或交易的地方。Uniswap是一種自動流動性協議,有助于這種類型的交換。它使用成對或池(以下稱為對),兩種資產的池儲備,允許用戶將一種資產交換為另一種資產。
圖1.0:Uniswap代幣A和B池,以及流動性提供者(LP)和交易者的互換和存款交互示例。LP接收池代幣以提供流動性。
如果有人想要的資產與他們想要交易的資產不成對,會發生什么?在這種情況下,在多個對之間進行一系列互換以獲得所需的資產——用于促進這種交易的對被稱為路由。
?圖2.0:一條涉及多對交易 DAI 以換取 USDC 的路由。
路由是從一個資產到另一個資產的路由,由零或多個對之間的段組成。如果交易的數量足夠大,或者如果一對的流動性足夠低,可以從多個路由中形成一條路由,通過吸收更多來自其他對的流動性來減少滑點。
圖3.0:由Paraswap路由器說明的多路徑路由
動態 | ChainSafe 發布用于 Polkadot 驗證人簽名算法的 Go 語言實現 Go-Schnorrkel:加拿大科技公司 ChainSafe 發布使用 sr25519 簽名算法的 Go 語言實現 Go-Schnorrkel。ChainSafe 表示,Go-Schnorrkel 由 ChainSafe 工程師 Elizabeth 編寫,Go-Schnorrkel 是 ChainSafe Gossamer 開發的重要一步,Gossamer 是 Polkadot 運行時環境的第二個實現,驗證人將使用 Gossamer 執行簽名職責,并通常在 Gossamer 生態系統內簽署交易。Go-Schnorrkel 包括分層密鑰派生功能,允許用戶從種子密鑰對創建多個密鑰對,同時還包括用于從助記詞創建密鑰對的 substrate-bip39。Go-Schnorrkel 于近期完成升級,完成一個可驗證的隨機函數(VRF)功能的實現,該功能將幫助節點用來證明可以為特定插槽創作特定區塊。ChainSafe 同時表示,感謝 Cosmos 的研究員 Sunny Aggarwal 在 substrate-bip39 中提供幫助。[2020/1/25]
圖4.0:多路由
滑點是指一個人預期為資產支付的價格與實際支付的金額之間的差額,這是由一些因素造成的,比如訂單進入市場和交易執行之間的價格變動,或者成交量和流動性低。
另一個需要考慮的是路由中的段數。這將以在以太坊區塊鏈上操作的gas費用的形式增加交易成本。一條路由上的段數越多,所產生的gas費用就越高。類似地,如果有多種途徑,如上圖3和圖4所示,gas費用也會更高。
路由器必須考慮這些因素,以產生適合交易數量的路由。此外,由于市場狀況經常變化,影響gas費用和池的流動性,生成的路由也將是動態的,現在是一條很好的路由,不一定在一小時后或第二天表現良好。
動態 | G?rli測試網絡正式啟動,將用于部署以太坊2.0:據coindesk報道,G?rli測試網絡今天正式啟動,將成為Prysm的試驗場。據悉,Prysm是由Prysmatic Labs創建的軟件,將部署以太坊升級三個階段中的第一階段,通常稱為以太坊2.0或Serenity。因此,G?rli將成為解決以太坊擴容挑戰中的一小步。[2019/2/1]
本文的其余部分將討論可用于構建和分析Uniswap V2協議及更高版本構建和分析路由器的構建區塊。
注意:這里提到的Graph協議不同于下一節討論的Graph數據類型。圖協議是一個或多個智能合約的區塊鏈交易的索引,而圖數據類型是指使用數學圖論的數據表示。
正如使用地圖在點之間導航一樣,可以使用圖數據類型來導航可用的流動性對,以生成可以評估以提高回報的路由。在對 Uniswap 對進行建模時,一開始就需要做出一些實現選擇:
作為頂點或邊的對、符號或資產標識符 ?
有向還是無向?
簡單還是多圖?
為了做出上述實現選擇,理解Uniswap對的屬性是很重要的:
每一對都有一個唯一的ID。
每對包含以下數據對 2 個代幣:符號、名稱、ID。
代幣符號不是唯一的——例如,符號BOND表示許多不同的資產或不同的ID。
代幣名稱也不一定是唯一的。
代幣ID是唯一的,并且是代幣的ERC-20合約地址。
Uniswap對的這些屬性建議使用代幣ID作為圖數據類型中的頂點。由此可見,圖的邊代表唯一的一對ID。在這種形式下,圖可以是無向的,也可以是有向的,每條邊代表一對ID、代幣價格和儲備。然而,不斷更新代幣價格和保留信息的需求表明,將該數據存儲在具有適當的實時設置的緩存結構中可能更有效和可擴展,特別是對于實時交易的應用程序,而不是靜態分析。
動態 | 英國早報主持人照片被用于比特幣詐騙:據Digitalspy消息,英國早報主持人Ben Shephard和Kate Garraway的照片被用于比特幣騙局。在今天英國早報節目的片段中,Ben和聯合主持人Susanna Reid在現場播出新聞,顯示詐騙者使用了節目中的截圖,使其看起來像是贊同它。Ben解釋說他們看起來好像他們正在討論Jim Davidson關于破產的事情,當時他們實際上正在采訪Love Island的一些人。Martin Lewis解釋道:“比特幣廣告在大多數社交媒體網站上都是被禁止的,所以任何通過的都是一個騙局廣告。”Martin進一步解釋說,他正在就此事對Facebook提起訴訟。[2018/9/27]
今后,在Uniswap V2和V3協議對之間路由是可取的。在這個場景中,可能存在多個對相同的代幣ID。雖然可以在一對ID之間添加額外的邊,但另一種解決方案是在同一條邊上分組不同的對ID,從而避免遍歷多重圖的性能成本。下面是分組對ID無向簡單圖結構的部分示例,其中符號 ID 替換了符號名稱:
圖5.0:在一個無向簡單圖中對Uniswap V2和V3協議對進行建模(注意,實際結構使用代幣ID而不是代幣符號,所以在這里會很麻煩)。
最初,深度優先搜索(DFS)已經證明可以遍歷圖,一般情況下深度限制為4。該深度的一個例外是從WETH開始的路由,其中連接節點的數量超過30000。當一條路由從WETH出發時,DFS被限制為2,以減少遍歷時間。
有許多用于處理圖形數據類型的工具,包括圖形數據庫Neo4J和RedisGraph。這些討論超出了本文的范圍,目前的項目需求可以通過Javascript庫Graphlib來滿足。然而,如果路由問題的規模達到了LinkedIn或其他大型網絡的規模,那么上述圖表數據庫的規模就會滿足這些需求,從而權衡成本和開發復雜性。
飛利浦正研究區塊鏈技術,欲應用于醫療數據隱私等業務中:據飛利浦中國團隊消息,飛利浦全球研究團隊正在研究區塊鏈技術應用于醫療數據隱私、數據標準等相關業務,國內也有團隊在研究醫療數據隱私標準。但目前都仍處于研發階段。[2018/5/11]
當在圖數據結構中計算路由時,約束是有用的。例如,它們有助于確定只遍歷有限數量對的路由,或者可以用來忽略包含某些資產的對的路由。
現有的 Uniswap V2 路由主要是通過六項資產的路由,這些資產可以比作機場樞紐。這六項資產是:
USDT
COMP
MKR
這六種資產是有用的,因為它們是常用的,當它們與其他資產成對組合時,不會施加流動性限制(即它們不是稀缺的,并且不會與新的、未經證實的加密資產構成相同的風險)。然而,它們的使用可能會造成效率問題,在這里說明:
“Uniswap沒有以去中心化的方式路由交換。”
使用約束,比如忽略上面提到的6個“樞紐”資產,可以探索比當前Uniswap V2界面提供給用戶的更有效的潛在路由。約束也可以擴展到其他標準,例如:
通過具有 X 美元流動性或 Y% 美元交易的池路由。
通過具有特定定價的特定池路由。(適用于Uniswap V3協議)。
同樣值得注意的是約束是可組合的,也就是說,它們可以組合在一起,這樣路由就可以限制為最多 2 個池,每個池的流動性超過 X。當前的數據模型在圖數據類型和查找表之間拆分數據,這意味著在圖遍歷期間和之后發現對數據時都可以修剪路由。
擴展主要考慮向路由器公開一個公共API,以便基于當前市場數據計算路由。性能是一個函數:
區塊鏈將應用于加密房地產交易:據bitcoinist.com報道,國際區塊鏈房地產協會主席Ragnar Lifthrasir說:“在一年之內,人們會對采用區塊鏈的大型房地產公司感到驚訝。”這不僅僅是因為區塊鏈可以使房源和交易變得更加安全,而且可以用于各種事物,例如產權登記,智能合約以及傳統金錢。[2018/3/17]
計算路由的時間
如果需要,獲取更新對數據的時間(代幣價格和儲備)
計算路由請求的影響所需的時間
下圖說明了一個初始的系統架構,其中包含用于最常請求路由的緩存和用于計算路由請求影響的緩存對數據。這種架構非常靈活,可以以多種方式進行水平擴展。例如,完全復制圖數據結構和路由緩存以及請求聚合器和對緩存,或者簡單地復制緩存并在緩存之間分配路由請求。
圖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:SWAPUNIUniswap區塊鏈YuzuSwapunisat的logoethereumuniswap區塊鏈游戲
由于去中心化域名和賬戶體系可以承載應用、網站和用戶身份,因此有理由相信,這是 Web3 世界中不可或缺的一環.
1900/1/1 0:00:00PlatONE是基于隱私計算的新?代聯盟區塊鏈平臺,以?持企業級應?。平臺提出了?種以隱私計算為特?的企業級聯盟鏈基礎設施,可滿??融商業等多種需求場景.
1900/1/1 0:00:00新一輪公鏈之戰。 回看過去一段時間的行業焦點,新公鏈的集體爆發無疑是最值得關注的趨勢之一。從 Solana 到 Avalanche,再到 Fantom、Terra,一個又一個以太坊外部公鏈在實現.
1900/1/1 0:00:00什么是DeFi?如何開始?應該注意什么?本文將就新興的DeFi空間進行基礎性介紹,并且嚴選了一些目前 Defi 賽道最有前途的加密貨幣。去年的 "DeFi之夏 "點燃加密貨幣的時代焰火.
1900/1/1 0:00:00Coinbase Ventures 還總結了三季度關鍵主題,包括監管深入、多鏈趨勢和 NFT 崛起等。Coinbase Ventures 已成長為加密領域最活躍的 VC 投資者之一.
1900/1/1 0:00:00在#118提案獲得通過后,Polkadot平行鏈競拍終于提上了日程。10月13日,Parity研究分析師Joe Petrowski提出的#118號提案獲得了通過,之后,Polkadot官方也正式.
1900/1/1 0:00:00