寄生蟲合同

作者:扎克-赫斯, Zack Hess https://github.com/zack-bitcoin/amoveo-docs/blob/master/other_blockchains/parasite_contracts.md

寄生蟲合同 #

許多預言機(oracle)設計要求使用預言機(oracle)的交易者必須向預言機(oracle)報告者支付費用。一個 “寄生合同 “是一個允許你進行打賭的工具,而打賭的結果是由預言機(oracle)決定的,打賭者不需要向預言機(oracle)報告者支付任何交易費用。如果一個預言機(oracle)的安全性取決於爲預言機(oracle)報告者獲得這些交易費,那麼這個預言機(oracle)就容易受到寄生蟲合同的影響。 Amoveo對寄生合同是安全的,因爲Amoveo的交易者不需要向預言機(oracle)報告者支付任何費用。對Amoveo的寄生合同攻擊與標準的合同交易方式是相同的。

有多難預防? #

如果你的區塊鏈支持輕量級節點,那麼寄生蟲合約可以在其他區塊鏈上生存,並攻擊你區塊鏈上的預言機(oracle)。因此,即使你在你的區塊鏈上防止寄生蟲,你也沒有完全阻止這種攻擊。 在以太坊上進行軟更新,防止任何智能合約訪問Augur的數據,這樣的更新幾乎肯定會導致DOS漏洞。因爲在你運行合約之前,你無法知道合約是否會訪問Augur的數據。 寄生蟲合同是不可能預防的,它們是我們需要學會忍受的東西。如果一個預言機(oracle)因爲寄生蟲被 破壞,那麼它就是一個設計不良的預言機(oracle)。

Augur 與埃德蒙-埃德加 #

https://medium.com/@edmundedgar/realitio-the-crowd-sourced-smart-contract-oracle-now-in-a-real-money-trial-on-mainnet-f46bf016759d 寫了他正在做的事情。

“我們正在開發插件,以連接到現有的無信任協調系統。這個正在進行中的合同使用Augur作爲其最終的仲裁者,提供與Augur本身相同的安全保證,但在典型的情況下,其成本只有一小部分”。

我問他這個問題,他分享了更多關於他寫了一個寄生蟲合同來攻擊Augur的經驗:https://medium.com/@edmundedgar/the-parasite-and-the-whal-7cb3c87e9902

看來他暫時停止了對寄生蟲合同的追求,而是使用了除奧古爾之外的其他一些預言機(oracle)。

Augur與veil #

編輯:自從我寫了這篇文章後,Augur的一個第三方投資者告訴我一個傳言,Veil告訴Augur的開發者,Veil並不打算做寄生蟲合同。顯然,Veil已經同意按照他們使用Augur的預言機(oracle)的多少,自願向Augur支付金錢。

編輯2:Veil公開發布消息說,他們在戰略上避免簽訂任何寄生蟲合同,因爲他們不想傷害Augur。

在Augur的stack exchange論壇上,他們一直無法找到這個問題的解決方案:https://augur.stackexchange.com/questions/29/how-does-augur-deal-with-the-problem-of-parasitic-oracles 在Augur的維基https://en.bitcoinwiki.org/wiki/Augur _(軟件)上,提到了寄生蟲合同。“一位批評家表示,以太坊平臺用於計算結果是不切實際的,因爲它允許 “寄生蟲合約”,這些合約竊取了貢獻者所做的工作,卻沒有給他們適當的補償。Augur團隊指出,這個漏洞並不是以太坊獨有的:任何基於區塊鏈的系統都可以在另一個區塊鏈上執行這樣的 “寄生蟲 “攻擊,只需將宿主區塊鏈的Merkle證明納入自己的鏈中。基於以太坊的預言機(oracle)預計對寄生蟲攻擊有彈性,因爲它們不能被基於以太坊的寄生蟲合約所攻擊;以太坊合約不能訪問原始區塊鏈數據”。

Augur團隊的期望並沒有得到實現。Veil已經成爲一個存在於以太坊的寄生合約。

在Veil的github上,他們發佈了一個寄生工具https://github.com/veilco/augur-lite ,正如他們所描述的那樣,“協議中沒有內置預言機(oracle)。相反,市場有一個解析器,可以引用任何預言機(oracle)–Augur市場、Chainlink feed或任何任意的智能合約狀態。““Veil使用一個名爲OracleBridge的智能合約來觀察Augur市場的結果,並相應地解決AugurLite市場。”

Joey Krug在這裏評論這個寄生蟲工具:https://twitter.com/joeykrug/status/1128732458193752065 你可以看到他對這種情況的關注,即使他沒有直接解釋爲什麼這樣做很糟糕。

Veil是Augur項目的死亡。augur在2019年5月死亡,但投資者需要一段時間才能意識到發生了什麼。

這很諷刺,因爲Veil本應是將Augur帶入主流的用戶體驗,但他們卻變成了摧毀Augur的攻擊者。

Augur的失敗給Bitcoin Hivemind是否能成功帶來了嚴重的疑問。Bitcoin Hivemind目前的設計與Augur一樣有寄生合約的漏洞。Bitcoin Hivemind的優勢在於,他們不允許你編程新的智能合約。所以你不能把寄生合約建立在同一個區塊鏈上。