近幾年,基於區塊鏈技術和密碼學的數字貨幣行業,迎來爆發式增加。做爲數字貨幣產業鏈中最重要的環節之⼀,區塊鏈資產交易所無疑擁有舉⾜輕重的地位。 它鏈接着區塊鏈投資的⼀⼆級市場,也鏈接着項目方和普通投資者。html
據統計,目前被非小號平臺收錄的交易所已超過300家,未被收錄的甚至有數千家之多。即使如此,入局者依然樂此不疲。在人人都來作交易所的背景下,幾乎每家交易所多達幾十甚至上百個交易標的 ,那麼存量有限的市場,中小型區塊鏈資產和交易所將面臨流量匱乏,無價無市的境地。網絡
爲何市商策略是剛需多線程
市商機器人的出現改變了這一局面,經過在市場中參與作市,遏制因信息和資源不對稱性,致使的市場過分投機行爲,維護交易平臺的良好運行。並減小傳統交易方式中,所謂莊家暗中操縱價格的現象,來加強市場吸引力,提升流動性和成交量,知足普通投資者的買賣需求,穩定市場信心。區塊鏈
在今天,爲了使新交易所和新幣種更好的創建與普通投資者之間的鏈接,並解決其上市初期面臨的諸多問題,不論是中小交易所仍是區塊鏈項目方,都不得不依靠市商機器人。spa
市商策略原理線程
市商策略經過作市制度,跟蹤價格變化,不斷地提供買、賣的雙向報價。經過高頻大量的買入、賣出交易,逐漸積累每筆交易價格和理論價格的差價,並根據持倉頭寸特徵,動態調整價差。設計
通常交易所常見的市商策略有兩種:htm
市商策略漏洞對象
不管是被動作市,仍是自由作市,不只須要解決交易標的價格問題,還須要解決流動性問題。因此爲了活躍市場,就須要市商策略能夠自買自賣,不然很難造成像樣的K線。blog
常見的方法是,在盤口附近隨機指定一個價格賣出,當即同價格買入。或者根據隨機價格,先買入後賣出。一般因爲買賣間隔的時間很短,在深度數據中每每找不到相應掛單,可是在歷史數據中卻能留下成交記錄,K線就是經過這種作市方法繪製而成的。
請注意!漏洞就是這樣出現的。
市商策略爲了產生連續的K線,在盤口附近自買自賣掛單,卻隱藏了一個漏洞。雖然策略的買單賣單是同時發出的,可是因爲網絡問題和撮合速度並非理想狀態,也不多是理想狀態,這就形成市商策略的訂單,有必定概率被其餘人成交。
設想一下,假如市場上存在另外一個高頻刷單策略,它老是以更低的價格成交市商策略的賣單,又以更高的價格成交市商策略的買單,只要這個高頻刷單策略得到的差價,能覆蓋手續費就會產生盈利。這就形成市商策略低賣高買,細思極恐!
實戰演示
通過觀察,某交易所的ETHUSDT交易對存在作市現象,參考對象多是幣安ETHUSDT數據,經過觀察其盤口訂單薄數據,發現存在自成交刷單,買賣方向隨機,下圖爲當天該作市策略產生的K線。
一般高頻刷單策略並非在盤口隨機訂價,而是參考市商策略的上次成交價格隨機變更的。這樣實際上,成交價很難觸及盤口低價和高價,再加上獲取作市策略訂單的成功率有限,幾乎沒有利潤空間。
甚至還要承擔單邊持倉風險。這看似無懈可擊,可是若是咱們利用作市訂單必須在盤口中掛單的Bug,便可輕易破解交易所的市商策略,並牟取暴利。
具體步驟以下:
當指望低價成交時,就在買一價的基礎上加必定的價格掛賣單。當買一價是200,就掛200.1的賣單,而後不停的掛200.09的買單,並當即撤銷。當成交後,當即反向操做,將成交的幣高價賣出,如此完成一個循環。
雖然這樣的成功率並很少,但經過大量頻繁掛撤單交易,使得捕捉到這種機會將大大增長,利潤依然十分可觀。
如上圖所示,經過發明者量化交易平臺(FMZ)寫了一個高頻刷單策略,實盤運行幾乎沒有回撤。 只用一個晚上的時間,就從1000USDT,刷到了4000USDT的利潤。
這仍是溫和的刷,若是用上多帳戶、多合約、多線程會跟加暴利。高頻刷單策略利用這個漏洞後,竊取的是鉅額資金,留下的是糟粕的K線,以下圖:
基於交易所市商漏洞的刷單策略源碼
以上策略源碼基於發明者量化平臺(www.fmz.com)
防範的方法
針對這種作市策略,知道原理後解決起來就簡單了, 如作市策略的自成交價格在低位時只先掛買單而後掛賣單,反之亦然,這樣就不會被別人低買高賣。或者將全部的成交和掛單都放在能夠在其它交易所對衝的範圍內。
寫在後面的話
儘管交易所身處整個區塊鏈產業的頂端,但它就像一個置身在外的巨人,透露了更多的攻擊面和可利用的漏洞點。
客觀的說,能經過訂單薄反推出來的不合理,均可能存在更隱蔽的Bug。就好比利用上文明顯的交易所市商策略漏洞,攻擊者可巧妙地設計出各類隱匿攻擊策略,還能作到不知不覺。
現在,數字貨幣已成爲投資新靶標,交易所也成爲衆多黑客的角鬥場。 隱匿在暗處的黑客如餓狼通常,乘機而動,緊盯着交易所的破綻,準備一擊致命 。區塊鏈中心化交易所只能增強自身防護部署,讓客戶真正作到交易無憂。