05.23 EOS可能啟用多條主網映射,存在嚴重安全隱患!

用戶如果把EOS轉入交易所,由交易所在各條主鏈上做多次映射,並且對各個鏈的錢包做專業的評估。 ”

今天EOS 90S 發佈了EOS關於多條主網映射的安全性的問題。原問題如下:

6月2日之後, block.one的法律架構導致無法啟動主網,而Block.one前段時間又公開宣佈EOS GO不是官方社區,沒有權威性。這樣就會有多個社區同時啟動EOS主網的可能性。

用戶使用EOS映射後的初始文件是所有EOS主網啟動的初始分配。

用戶想要使用任何主鏈上的幣,都是需要將私鑰導入到那條主網錢包。

如果有錢包或者其中任何一條主網作惡,盜用了用戶的私鑰,結局將會是這個用戶所有其他主網上的幣會全部被盜,包括EOS go的那條鏈上的EOS也會被盜 。

這是一個無法迴避的問題,有什麼好的解決方案,大家一起交流!

針對這個問題,EOS FORCE第一時間進行答覆,很快得到各大社區的熱議和支持,也引起了廣大媒體的關注和轉發。之所以反映這麼迅速,是因為EOS原力團隊在進行EOS鏈上投票的測試過程中,已經發現了相關EOS的安全問題。

實際上,這個多主網映射的安全問題,不但是一個無法迴避的問題,也是一個非常嚴重的問題。

一旦有作惡份子通過發佈惡意錢包,或者在某條主網上用作惡的方式去竊取用戶私鑰,那將會發生大規模的用戶資產被盜事件。這樣不僅大量用戶會因此蒙受資產損失,EOS社區成員也將大量流失。

那麼,這個EOS多主網映射的風險是如何產生的?為什麼會產生多條EOS鏈?這些安全問題都有什麼辦法可以解決?帶著這些問題,EOS原力總結了EOS鏈上投票測試的經驗,為你逐一解答 。

一、如何理解EOS可能存在多個主網映射?

我們先從法律關係、映射邏輯、以及起鏈邏輯三個角度,理解為什麼會有多條主網產生。

1

法律關係

Block.One是BM和BB所設立的公司,他們發起了EOS這一區塊鏈項目,並在以太坊上進行了一年的ICO。

EOSIO是Block.one開發的一套免費開源軟件,任何人都可以直接使用,裡面沒有限定任何貨幣符號。目前用戶所持有的EOS Token只是以太坊上的ERC20代幣,並非EOS主網上的代幣。

Block.One為了規避證券化的法律風險,在項目發起之處就已聲明,他們不會去啟動主鏈,而是把這項工作交由社區去完成。

2

映射邏輯

目前用戶所持有的EOS TOKEN都是儲存在以太坊鏈上的,由以太坊賬戶的私鑰所控制。由於ETH鏈上的公私鑰格式和EOS鏈上的不一樣,因此用戶無法直接使用ETH的私鑰去獲取、控制EOS鏈上的資產,需要產生EOS鏈的專用公私鑰,這個就是映射。

那怎麼去完成ETH鏈對EOS鏈的映射呢?

原來我們只有ETH地址 => EOS TOKEN餘額的對應關係,也就說,通過ETH地址,我們可以獲知該地址上有多少EOS TOKEN。

但怎麼證明這個ETH地址是屬於你的?此時你作為ETH賬戶的持有人,先用EOS錢包生產工具隨機生成一對EOS公私鑰,然後用你的ETH賬戶地址向一個智能合約發送一筆映射交易,該交易會要求你填寫你的EOS公鑰。

交易完成後就產生了ETH地址 => EOS公鑰的對應關係,等到EOS主鏈啟動時,啟動者就可以直接寫入用戶EOS公鑰 => EOS TOKEN餘額的對應關係,進而完成了代幣在ETH鏈和EOS鏈之間的遷移,ETH上的TOKEN也就變成了EOS鏈的原生COIN。

3

起鏈邏輯

因為官方,也就是Block.one已經聲明瞭他們不會去啟動EOS鏈,而是交給社區去啟動,因此也就不會有主鏈,或者官方鏈的說法。

起鏈的事情交給社區,就代表了不同社區有可能相繼自行啟動主鏈,導致生成多條EOS鏈。而且這些鏈都認可ETH => EOS 映射合約裡的EOS公鑰 =>EOS TOKEN餘額的對應關係。

這樣的話,做完映射的用戶手中的EOS私鑰,就會變成多條EOS鏈的共同私鑰。用戶需要相繼把私鑰導入到這些EOS鏈各自的錢包中,進行解鎖賬戶、投票、轉賬等操作。

EOSIO也沒有進行完成的錢包開發,這些錢包也都是第三方社區自己開發的。

二、為什麼多個主網映射會存在安全問題

1

私鑰安全

官方沒有開發統一錢包,任何人都能開發EOS錢包,這就使得導入錢包的私鑰安全性問題非常嚴重。誰能保證所使用的EOS錢包的安全性呢?

如果每條EOS鏈都有自己的錢包,而且用戶把這些錢包都下載來使用,那麼只要任意一個錢包有問題,或者自己往錢包導入私鑰過程中出現問題,都會造成私鑰的洩露。

因為每條EOS鏈的私鑰都是相同的,因此只要EOS私鑰洩露了,那麼所有這些鏈的私鑰就都洩露了,所有EOS鏈上的資產都可能被轉走。

2

錢包作惡問題有以下可能

  • 有些主鏈就是惡意的,發佈一個惡意錢包讓用戶去領幣,實則為了竊取私鑰。

  • 錢包打包發佈下載的流程可能被黑,也會造成被釣魚問題。

  • 錢包私鑰的存儲沒有進行安全的加密或直接明文存儲,在本地存儲後被其他軟件掃描到。

  • EOS錢包都不是全節點錢包,都要從錢包提供方的後端節點進行數據讀取,這個過程中後端節點可能被黑,雖然不太會造成本地私鑰洩露,但可能引導用戶簽署錯誤交易,將資產轉給他人。

三、如何解決多個主網映射的安全性問題?

1

用戶對每個EOS的主網分別進行映射

分別進行映射是什麼意思呢?

比如現在有EOS A鏈,EOS B鏈,EOS C鏈三條EOS鏈,用戶就需要對EOS A鏈進行一次映射,然後再對 EOS B鏈進行映射,最後再對EOS C鏈再做一次映射。這樣每次映射完,不同EOS鏈的公私鑰都是不一樣的,也就不用擔心私鑰“一丟全丟”的情況出現。

目前鏈上已經有ETH地址 => EOS TOKEN的對應關係,也就是已經包含了大家之前所做的映射的記錄。

如果現在需要再做一次映射,再新造一個ETH地址 => EOS公鑰的對應關係,那麼可以和官方一樣部署一個新的映射合約,要求用戶對合約做映射操作,這個需要專用操作界面支持(類似需要imtoken、myetherwallet等),比較複雜。

而根據EOS Authority提供的統計(https://eosauthority.com/genesis), 現在僅有41% 左右的 EOS 完成了映射。

這個數據反映一種現實:僅僅對一條鏈的映射操作,很多用戶都已經忘記或者不願意去做。如果接下來是需要多條鏈多次映射的話,用戶就更不願意,更操作不過來了。

2

通過交易所重新映射

用戶如果把EOS轉入交易所,由交易所在各條主鏈上做多次映射,並且對各個鏈的錢包做專業的評估。

同時交易所可以只進行中心化交易,等鏈穩定和錢包安全後再進行激活進而支持充提現,這樣更為安全穩妥。

四、結語

EOS FORCE社區於2018年5月初發起了EOS FORCE TESTNET,全球首次實現了鏈上投票功能,在測試過程中也發現大量有關EOS的安全問題和社區治理問題。

後續我們會陸續發佈,希望其他社區,交易所,超級節點,和Block one官方能重視這些問題。


分享到:


相關文章: