0X:基於以太坊區塊鏈的去中心化交易所協議

買賣虛擬貨幣
1. 什麼是0x0X是基於以太坊區塊鏈的去中心化交易所開源協議。這個協議是透過以太坊的智慧合約來建立的,它的厲害之處就是可以讓任何人都能開設和執行去中心化交易所。就是說,如果你想組織一個團隊運營一個去中心化的交易所,就可以用0x協議來進行,極大地降低了運營數字資產和代幣交易所的難度。現在每天的數字資產交易達到了幾十億美元,其中交易所的佣金收入達到數百萬美元,而且隨著未來成千上萬的數字資產上線,尤其是基於以太坊的代幣誕生,去中心化交易所的需求越來越強。另外,未來的世界很大概率會走向代幣化。它會成為未來公司或者其他組織的經濟模式,現在看,只是區塊鏈公司早期融資用代幣,但未來,所有資產都可以代幣化,包括所有公司的股票、汽車、房子等各種資產都可上鍊。代幣化將讓資產膨脹成千上萬倍,並且有極強的交易需求。0x最終來說,想要做一個賦能的驅動者,給大家更好地的方法來建立去中心化交易所,可以讓ERC20代幣間可以不透過任何第三方就可完成交易,比如說Augur代幣和Omisgeo代幣之間不透過任何第三方完成直接兌換。
2.0X跟各種交易所相比,有什麼獨特之處?1)首先跟中心化交易所相比,更安全中心化交易所很容易理解,目前基本上所有參與過數字貨幣交易的人都使用過,比如火幣、okcoin、雲幣、幣安等。當你購買各種數字貨幣時,你需要用法幣購買比特幣或以太坊等各種數字貨幣。中心化的交易所從使用者使用習慣上看,更符合使用者習慣,簡單易用,交易速度快。這是它獨特優勢,另外,對於很多普通使用者來說,中心化交易所的託管式服務也更省心。但是,中心化交易所也有致命缺點:一是容易被駭客攻擊,代幣被盜取;二是運營者捲款逃跑。最後,還可能因為政策原因,被監管關閉。Mt.Gox,Bitfinex等中心化交易所都經歷過安全問題,讓使用者丟失了大筆資金,還有的交易所,比如poloniex,coinbase等都遭受過DDOS攻擊。這樣的結果導致了一些去中心化交易所的產生,比如etherdelta等,這些交易所不用把資金儲存到運營方進行交易,不用擔心駭客、運營者捲款跑路、被關閉等問題。但,去中心化交易所同樣也有問題:交易速度慢、交易規模小、費用高(連取消訂單都會產生費用)等,體驗比中心化交易所要差。從目前局面看,中心化交易所佔據絕對優勢,去中心化交易所還處於早期,在相當長時間內,兩者都有自己的空間,不過長期看,去中心化交易所在解決了速度慢等問題後,可能會逐步扭轉局面,並逐步取得優勢。
2)其次跟去中心化交易所比,交易體驗更好目前的去中心化交易所普遍存在速度慢、交易量小、費用高等問題。去中心化交易所的每筆訂單,不管是買入、賣出還是掛單、取消訂單等操作都進入區塊鏈,交易依賴區塊時間,不僅如此,每個操作都會產生網路交易費用。這是目前去中心化交易所的短板,這就是為什麼出現了比特幣失竊的門頭溝事件之後,交易者還是首選中心化交易所的重要原因。如果你使用過etherdelta進行交易,你就知道關鍵時候等待是多麼痛苦的一件事情。0x協議其中的一個目標就是要解決這些去中心化交易的問題,它把交易訂單移出區塊鏈,在結算時才移入鏈內,從而提升交易效率,降低交易費用。同時,0x並不收取任何使用協議的費用,由各去中心化交易所的建立者來決定自己的收費方式。0x透過建立基於以太坊的標準協議,讓所有人都可以交易ERC-20代幣和運營去中心化交易所。基於0x協議的運營者相當於0x的中繼方,它們託管訂單,可以向代幣交易者收取服務費。除了為中繼方提供標準協議服務之外,0x還有直接面向消費者的產品,比如基於0x的OTC,可以讓交易雙方直接進行以太坊ERC20代幣交易,並且無須中繼者的交易所存在。(另:0x的OTC在以太坊測試網路上已經開始執行,使用者可以建立和廣播訂單,只須向對方傳送連結即可,並且可以透過任何方式傳送連結,比如郵件、微博等社交媒體)3.0x的解決方案
0x是基礎的建立區塊,可以作為Dapps的共享基礎設施,長遠看,它是開源的技術標準,比封閉架構更有優勢。在0x的白皮書上提到,自動做市商的智慧合約是鏈上訂單簿的替代性方案。它採用價格調整的模式。它的好處是容易對外部智慧合約進行整合。價格調整模式讓它們對市場流動性非常敏感,自動做市商對供給曲線施加了人為約束。如果價格調整模型太敏感,小額交易也會產生大的現價波動。如果價格調整模型不敏感,自動做市商資金將很快被套利者消耗。另外,狀態通道被看作是以太坊區塊鏈擴張的一種方式,還可減少不同應用的費用。狀態通道中的參與者來回傳遞加密簽名資訊,可累積中間狀態的變化,與此同時無須把它們釋出到規範鏈,許多中間狀態改變可以鏈下累計,直到鏈上完成結算。狀態參與者必須實時線上,以挑戰不誠實的參與方,因此對於DDOS攻擊很脆弱。為了解決這個問題,0x提出的解決方案是:鏈下訂單中繼,鏈上最終結算。它結合了狀態通道效率和鏈上訂單簿的快速結算。加密簽名的訂單在鏈下廣播,這些訂單送進鏈上智慧合約以去信任化方式執行。這樣,對於做市商(maker發起方)來說,交易摩擦成本低。1)鏈下訂單中繼和鏈上結算的基本步驟Maker 批准後,去中心化交易所的智慧合約獲取賬戶要交易代幣(假設為A)的餘額
Maker 建立一個訂單,要用代幣A交換目標代幣(假設為B),確定具體的匯率、截止時間等,並用私鑰加密簽名訂單Maker可在任何媒體廣播訂單(twitter、郵件、部落格、論壇等)Taker 獲取訂單並決定接受訂單Taker 同意後,去中心化交易所的智慧合約獲取代幣B的餘額Taker 提交Maker簽名的訂單到去中心化交易所合約去中心化交易所合約認證Maker的簽名,確認訂單沒有過期,確認訂單沒有被交易,之後按確定匯率進行代幣交換。
每個訂單是一個資料包,包括訂單引數和加密簽名。訂單引數透過Keccak SHA3功能連結並雜湊為32位元組。maker用私鑰簽名訂單雜湊以產生ECDSA簽名訂單資料包數百位元組大小,可以透過郵件、社交網路、即時通訊等任何媒介傳送。訂單隻接收特定的taker的地址,竊聽者或外部第三方都無法接收。2)訂單的廣播買賣雙方要交易,需要有一個流動性的市場,可以進行訂單釋出,以形成訂單簿。對於大多數專案團隊來說,建立和運營交易所需要耗費巨大資金。而0x協議可以讓專案團隊以較小成本維持交易所,並自定義交易費用。託管和維護訂單簿的主體都是一箇中繼者。普通的中心化交易所建立和運營基礎設施,需要管理交易和處理使用者資金。而中繼者只需透過託管和傳播訂單簿來推動市場交易。這個過程中,中繼者並不代表交易者執行交易,Taker必須自己執行交易。廣播訂單的資訊格式也相對靈活。一是廣播訂單並不要求taker地址,允許訂單被任何人接收;二是訂單的費用值等引數都可以設定。中繼者託管和維持一個鏈下的訂單簿,當交易清算後,交易費從maker或taker(也可能兩者都需要)轉到中繼者。其中:中繼者建立費用計劃和設定用於收取交易費用的地址
maker建立訂單,設定fee A(代幣)和fee B(代幣)的值,這些值滿足relayer的費用計劃,設定fee接收人的地址,並用私鑰簽署訂單maker把簽名訂單轉移到relayerrelayer接到訂單,檢查訂單有效性及要求費用。如果訂單無效,或不滿足relayer要求,訂單會被拒絕。如果滿足條件,relayer把它釋出到訂單簿taker接收到訂單簿,其中包括maker的訂單簿taker接受maker的訂單,並提交到交易所的智慧合約這裡面,雖然maker設定交易費用,但最終來說relayer控制進入訂單簿的訂單,因此,這裡有一個平衡,maker想要把訂單釋出到訂單簿,就需要滿足relayer。Relayer也可以設定費用計劃,可以是固定費用、按比例收取、按交易量收取或分層收取等模型。但,一單relayer接收了訂單,進入了訂單簿,就不能改變。
傳統的交易服務是由交易所設定機制來進行買賣雙方的匹配,交易雙方必須相信交易所能提供最好的價格。而在0x,所有的交易都是去中心化的,也就是說relayer不能像傳統的交易所那樣代表maker和taker進行交易,relayer智慧推薦,最終由taker決定簽名和傳送交易到區塊鏈上。3)智慧合約交易所協議是在以太坊智慧合約上執行,開放且免費使用,不會向使用者收取除gas費用之外的任何費用(執行智慧合約的必須費用)。它用solidity語言編寫,包括兩個相對簡單的功能:成交和取消。整個合約大概100行程式碼,大概需要花費90k gas來成交訂單。4)簽名確認交易所智慧合約能夠認證發起人使用ecrecover函式的簽名,它將雜湊和簽名雜湊作為引數,並返回產生簽名的公鑰。如果ecrecover返回的公鑰等於發起人的地址,該簽名是真實的。Addresspublickey=ecrecover(hash,signature(hash));
If(publickey!=maker)throw;5)成交和部分成交交易所智慧合約儲存之前每個成交的記錄,防止單個訂單多次成交。這個參考記錄儲存進一個對映,資料結構可以對映一個32位元組資料到256位未簽名整數。傳遞與一個訂單相連的引數到keccak SHA3函式可以產生唯一的32位元組雜湊,它可以用於唯一確認的訂單(雜湊衝突的可能性,發現兩個不同訂單擁有一個雜湊,現實上不可能),每次一個訂單成交,影射儲存訂單雜湊並積累成交值。當呼叫交易所智慧合約成交功能時,一個taker透過制定附加引數實現部分成交。只要部分成交的總額沒超過總訂單額度,多方部分成交就可能在單個訂單上執行。當試圖成交訂單時,Takers必須提供額外的引數。6)截止時間一個訂單的截止時間由maker指定,截止時間是一個未簽名的整數值,它代表從unix紀元絕對秒數。簽名後值就不能改變。以太坊虛擬機器的時間是由區塊時間戳來給定的,當一個新的區塊被挖出來之後,時間就出來了。因此,一個訂單的截止時間狀態並不依賴於一個taker廣播它們的成交意圖,它依賴於一個礦工在EVM上執行交易後的時間狀態。
7)取消交易一個沒有成交或到期的訂單可以由相關的maker透過交易所智慧合約的取消功能進行取消。取消功能對映一個訂單的雜湊,對應著訂單的最大值(valueA),防止後續交易。取消訂單花費gas。該方法可能有一個尷尬情況:一個maker試圖取消交易,與此同時,一個taker試圖接收該訂單。考慮到交易挖礦的序列有不確定性,會導致意料之外的結果。如果以太坊區塊鏈有大量的積壓訂單待處理,不確定性就會增加。8)ZRX代幣跟其他代幣一樣,0x的ZRX代幣也是為了驅動形成代理網路,它想透過協議成為開源標準,協調所有參與方,透過激勵促使大規模採用代幣,在一個沒有中心治理下實現自執行的網路。0x的代幣主要用於支付relayer的交易服務費,另外就是0x協議升級時的去中心化治理用。根據ZRX代幣的擁有量,在協議升級等方面擁有相應的影響力。9)去中心化的治理
一旦一個以太坊智慧合約部署到區塊鏈,它的內部邏輯不能改變。因此,升級協議必須部署一個完全新的智慧合約,要麼對網路分叉,要麼升級使用者和處理流程,直到選擇最新版本。交易場景下,協議升級可以讓所有公開訂單無效,並要求每個市場參與者批准新的智慧合約來獲取它們的交易餘額。或者,協議分叉成為兩個版本運營。儘管智慧合約可以持續地整合升級到協議中,同時不會中斷更高階的程序,這樣的升級機制可能給終端使用者帶來極大的安全隱患。(最壞情況是,攻擊者可以獲得使用者資金的訪問許可權。)協議代幣可用於驅動去中心化的升級機制,允許把升級持續地整合到協議中,與此同時也能保護協議使用者和持有人。一開始,一個簡單的多方簽名合約將用於去中心化的治理,最後會有一個複雜的DAO產生。0x協議和它原生代幣將不會對使用者強加非必要的費用,或者從relayer那裡抽取費用。股份持有人提出和選出協議改善計劃,透過DAO用完全新的智慧合約執行。DAO批准新的智慧合約以獲取使用者的代幣,獲取的方式是增加它們到代理協議的白名單,並且最終不上不推薦的協議版本。10)代幣註冊訂單由十六進位制位元組碼組成,機器可讀,不適合普通使用者閱讀。代幣註冊合約將用於儲存ERC20代幣的列表,每個代幣都有相關的後設資料:名稱、符號、合約地址、表示代幣的最小單元所需的小數(需要確定匯率)。註冊將用於官方的鏈上參考,可以被是參與者使用,在執行交易前用來獨立確認代幣地址和交易匯率。代幣註冊將用作可信的資訊資源,監管是必須的,包括從註冊處增加、修改或移除代幣。0x股份持有人將提供監管。
未來協議的訂單格式可修改,便於使用者閱讀。代幣在代幣註冊處顯示為3個字母而不是代幣合約地址。以太坊域名服務(ENS)可用於確認maker、taker、relayer,這些都是要變成使用者可讀的名稱,比如“theDunkle.eth”,而不是賬戶或合約地址。4.結語總的來說,0x是基於以太坊區塊鏈的p2p的ERC20代幣交易所協議。它有標準的開源協議、通用的建立區塊,在分散式應用中實現交易功能的互操作性。基於0x協議的去中心化應用可以進入公開的流動池,或建立自己的流動池,並在收取一定的手續費。根據白皮書,主要特點如下:鏈下訂單中繼+鏈上結算=市場maker(發起者)低摩擦成本+快速結算開放可獲取的智慧合約,讓任何Dapp都能使用中繼者可以建立它們自己的流動池,並根據交易量收取交易費
標準化+解耦=共享協議層提供dapps間的互操作性創造流動性的網路效應,這讓大家受益降低進入門檻,降低市場參與者的成本消除冗餘,提高使用者體驗和智慧合約安全去中心化的升級機制,允許升級改善可以持續而安全地整合到協議中,並且不會打擾dapps或使用者。
總之,0x協議試圖把資訊傳輸從應用層轉入協議層,從而實現dApp間的互操作性。但0x也有其弱點,比如taker必須線上匹配明確訂單,撮合實時性較差,另外OTC方式暫時無法顯示覆雜訂單撮合。


風險提示:區塊鏈投資具有極大的風險,專案披露可能不完整或有欺騙。請在嘗試投資前確定自己承受以上風險的能力。本網站只做專案介紹,專案真假和價值並未做任何稽覈。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;