Radar Relay 雷達中繼

作者:扎克-赫斯, Zack Hess https://github.com/zack-bitcoin/amoveo-docs/blob/master/other_blockchains/radar_relay.md Radar Relay是一家試圖利用0x技術在以太坊上建立ERC20代幣交易市場的公司。 他們聲明的目標與Amoveo所做的相似。所以我想知道他們是否真的實現了這些目標。也許我們可以重新使用他們的一些技術來使Amoveo變得更好。

因此,我試圖聯繫他們,以瞭解他們的市場有多少是鏈下與鏈上的,以及他們如何防止前面的運行。 在我的討論中,很明顯,雷達中繼公司沒有任何安全保障來防止搶先交易(front running)的盜竊行爲。我一開始解釋允許客戶被搶劫是一個嚴重的問題時,我就被他們的小組屏蔽了。

這裏有一個關於前面front running危險的視頻:https://www.youtube.com/watch?v=mAtD0ba-hXU

以下是我們的討論。 #

Zack- 我寫了一個無信任的鏈外訂單簿。我使用了可編程的通道來執行規則,以使其不被信任。 Relayer.network也有一個鏈外訂單簿。我想知道你們的訂單簿是否是無信任的,如果是的話,你們是如何執行規則的? Whitneyadmin-我們在鏈外託管訂單簿。所有的訂單都在鏈上結算,通過應用程序或通過API,用戶可以查看任何訂單的哈希值。這有點技術性,但你可以驗證已申請的交易(已下的訂單)背後的合同。我們對訂單簿上允許的訂單進行標準化。如果它不符合格式,它就不是訂單簿的一部分。

Zack- 你如何使訂單簿不依賴信任?或者說它是一個需信任的中心化訂單簿?我怎麼知道你們會誠實地匹配我的交易,而沒有任何搶先交易?

Whitneyadmin- 我們不匹配你的訂單。我們沒有一箇中心化匹配引擎。

Zack- 所以有一箇中心化的服務器來匹配訂單?我怎麼能知道這個服務器不會讓任何人在我的交易中佔先呢?在我寫的鏈外市場中,我在狀態通道內使用了一個智能合約來執行交易的正確匹配,以防止搶先交易。它使用單一價格的批次。 Whitneyadmin-沒有一箇中心化的服務器來匹配訂單。我們使用一個開放的訂單簿。如果你在雷達上下的訂單超過了點差,那麼它將顯示一個負的點差。

扎克–好的,那麼你是如何強制執行正確的交易匹配以防止搶先交易呢? 你是使用單價批次嗎?還是使用提交-披露系統(commit-reveal system)?

Whitneyadmin- 沒有中心化的匹配引擎。我們不匹配訂單。

Zack- 雷達中繼的目的是讓人們交易ERC20代幣,對嗎?因此,必須有一些市場,有一個訂單簿將交易者連接在一起。

Whitneyadmin-現在你可以通過專門選擇一個訂單或 “填補到 (fill up to)“功能來完成單個交易。第二種是市場訂單。

Zack-所以你確實在人與人之間匹配訂單。你是否有加密經濟保障(cryptoeconomic guarantees) ,確保訂單被公平地匹配,不存在搶先交易(front runninig)?如果沒有加密經濟保證來防止盜竊,使用dapp是不好的。如果它不能安全地防止盜竊,而且dapp的其他參與者是匿名的,那麼幾乎可以保證盜竊會發生。如果你需要問別人這一點,我可以等待。我明白,在一個團隊中,不是每個人都知道所有的安全細節。

Whitneyadmin-當你簽署一個訂單並將其發送到鏈上時,你正在簽署一個特定的哈希值。這是被記錄在鏈上的。你簽署的訂單哈希值是以較低的gas發送的,而其他人想成交了相同的哈希值,該訂單將不會通過。這就是一個訂單碰撞,有時會被誤認爲是搶先交易 。

Zack-所以訂單是在鏈上匹配的?但之前你說訂單簿是在鏈外的。我可以看看你用於訂單簿的鏈上智能合約嗎?

Whitneyadmin–有了開放的訂單簿,你就可以搶先交易。這在技術上是可能的。威爾-沃倫有一篇關於這方面的好文章。如果你願意的話。 訂單簿是在鏈外託管的。所有訂單都在鏈上結算,沒有中心化匹配引擎。如果你想看設計:https://developers.radarrelay.com/learn-more#sra

扎克–所以你完全沒有搶先交易的安全保障?

爲什麼不呢?我編程的鏈外訂單簿搶先交易安全保障。

我不明白,如果一個人可以被搶劫,爲什麼還要使用這個的市場。

Whitneyadmin- 這聽起來像是你在期待一箇中心化合同,比如智能合同託管交易所。我們使用0x智能合約。要了解更多信息,從這裏開始:https://0xproject.com/

0X項目是以太坊區塊鏈上的去中心化交易所的開放協議 聽起來你很想讓人們對你所建立的東西感興趣。如果你想讓我們評估一些代碼,我相信我們的一個工程師會出於好奇而看一看。但我不能保證在這方面有一個快速的轉機。

請看威爾-沃倫的文章《front running》https://blog.0xproject.com/front-running-griefing-and-the-perils-of-virtual-settlement-part-2-921b00109e21

0x協搶先交易,griefing和虛擬結算的危險(第二部分)這篇文章是第一部分的延續,第一部分介紹了區塊鏈的競賽條件,搶先交易,0x協議……現在比任何事情都更有可能,如果你用低gas下單,有人可以先交易這個訂單。這可能是令人失望的。

在正確的情況下,有一個非常小的機會做到搶先交易。我們不僅在努力通過未來的設計變化來消除這種機會,我們也在觀察所有通過雷達的訂單,我們可以看到它沒有發生。訂單碰撞是罕見的,這是最接近它的概念,人們經常混淆這兩者。

Zack- 我正在考慮寫一篇關於雷達繼電器的評論。還有誰能解釋一下關於front running的安全問題嗎?因爲根據已知的信息,評論會是消極的。 我已經和0x團隊談過了,我也讀過你鏈接的論文。0x只是一個交易ERC20代幣的協議,它不是一個防止搶先交易的訂單簿。如果你想用0x做一個安全的市場,你需要單獨製作訂單簿。

你鏈接的那篇論文描述了幾個防止0x的被搶先交易的策略。其中之一是將所有的搶先交易的權力交給中心化權威。另一個是將訂單簿轉移到鏈上。

雷達中繼是使用這些策略中的一種嗎? 哪一種?雷達中繼被描述爲鏈外中繼和鏈上結算。那麼,訂單簿到底是不是離鏈的?

這時,我被禁止進入他們的論壇。

結論 #

區塊鏈市場有3個重要屬性。

  1. 無信任(如果沒有這一點,經營市場的人就可以偷竊顧客的東西。)
  2. 以市場價格進行交易(如果沒有這一點,交易者就可以通過預先運行和套利來相互偷竊)。
  3. 鏈外(沒有這一點,就無法擴展)。

以太坊可以同時擁有其中的任何2個,但只有Amoveo同時擁有所有3個。

Shapeshift做到了(2)和(3)。0x做到了(1)和(3)。Augur和Gnosis做到了(1)和(2)。

乍一看,雷達中繼器的廣告似乎可以實現這三點,但仔細觀察,你會發現它無法實現。

正如惠特尼所說,高gas訂單可以領先於低gas訂單。既然有可能搶先交易,他們就沒有(2)。

因此,雷達中繼站無法防止交易員通過提前運行和套利的方式進行盜竊。