EOS教程|如何使用EOS區塊鏈瀏覽器(二)

EOS教程|如何使用EOS區塊鏈瀏覽器(二)

​​上期系列教程第一章,我們已經詳細介紹關於如何選擇並使用 EOS 區塊瀏覽器去查看賬戶信息、轉賬信息、權限閾值等操作,今天我們來介紹一下 EOS 複雜的賬戶體系。

EOS 賬戶

對於我們普通用戶而言, EOS 和 BTC、ETH 最大的不同點就在於它的賬戶體系。

我們先來溫習一下 BTC 和 ETH 的賬戶體系是怎樣的? 首先它們都是通過真隨機數生成私鑰, 私鑰再通過橢圓曲線加密, 生成公鑰, 進而推導出地址。

EOS教程|如何使用EOS區塊鏈瀏覽器(二)

比特幣的地址示例: 1NmiU6rTBhTojDjoMhUKshG2Dp4LF94e31

以太坊的地址示例:

0x4FAE9Aa424B13E010b7851101DACd6DaeD29e97f我們在進行轉賬的時候, 只需要向這個地址發起交易就好了。但是這個地址看上去很難辨認和記憶, 很多用戶在轉賬的時候都容易出現轉錯地址的情況。

其實 EOS 在生成公鑰的策略上, 和 BTC 、ETH 沒什麼不同, 但是 EOS 的收款地址並不是 “晦澀難懂” 的哈希值字符串, 而是可讀性非常高的由 “a-z”/“1-5” 組成的 12 位的字符串, 當然也可以是少於 12 位的靚號 (只要你肯花錢)。

EOS 的賬戶號示例: imtokensimon

值得注意的是, EOS 賬號和 EOS 公鑰是 N * N 的關係, 及 一個 EOS 賬戶可以對應多把公鑰, 多個 EOS 賬戶也可以綁定一把公鑰。

EOS教程|如何使用EOS區塊鏈瀏覽器(二)

權限分配

1. 天生多籤

EOS 錢包天生就是多籤錢包, 那麼何為多籤?

多籤即多重簽名, 我們在使用區塊鏈進行授權操作時, 都是通過私鑰進行簽名的, 而在比特幣網絡或者以太坊網絡中, 通常來說, 我們都是通過一把私鑰進行簽名授權 (多籤錢包除外), 比如我使用 imToken 生成一個 BTC 錢包, 或者 Ethereum 錢包, 分別可以通過一把私鑰進行管理, 並且在授權轉賬操作時, 是通過一把私鑰進行簽名授權。這樣的錢包, 我們成為單籤錢包。

而在 EOS 系統中, 每一個賬戶都有兩個以上的私鑰與之對應, 但是多把私鑰, 可以是相同的。比如, 一個 EOS 賬號為 imtokensimon, 這個賬戶的 owner 私鑰是 123, active 的私鑰可以設定為 123, 也可以是 456。

如果你之前有做過 EOS 主網映射的話, 就會發現 EOS 系統給到你映射的私鑰, 是兩把一樣的私鑰, 也就是說 Owner 私鑰和 Active 私鑰是一樣的。但是當你使用 imToken 2.0 創建一個 EOS 錢包的時候, Owner 私鑰和 Active 的私鑰是不一樣的, 這樣相對來說安全一些。同時這些私鑰是掌握在你自己手中的, imToken 無法對你私鑰的權限進行干涉。

那麼 Owner 權限的私鑰, 和 Active 權限的私鑰, 有什麼不同呢?

2. 私鑰權限等級

首先 EOS 的賬戶構成借鑑了 Steamit 和 Bitshare 的結構: 賬戶名 + owner 權限 + active 權限 (+ Family + Friend… 權限), 使得 EOS 賬戶系統變的更加靈活。賬戶名相當於比特幣、以太坊的地址, 用來接收轉賬或者是在區塊鏈瀏覽器上查詢相關交易記錄, 這點在上邊的內容也提到了。

Owner 私鑰代表著一個 EOS 賬戶的最高權限, 它可以用來分配並重置 Active 私鑰的權限, 所以一般來說, Owner 私鑰適合冷存儲, 關於 EOS 的錢包安全策略, 我會著重在下一節著重講解。

Active 私鑰可以做除了修改 Owner 以外所有的事, 基本來說, 用戶的轉賬授權等操作, 都是通過 Active 私鑰來完成的。

所以綜上所述, 如果你的賬號私鑰權限僅僅是 Active 級別的, 你也能做轉賬交易等基本操作, 並且難以感知。那麼這裡給我們帶來的問題就是, 如果該賬號的 Owner 級別的私鑰受控於一個惡意的第三方, 而你手裡的私鑰是 Active 級別的, 那麼他隨時可以重置你的 Active 私鑰, 導致你的資產成為了他人的 “嫁衣”。

3. 閾值和權重

在創建 EOS 錢包的時候, 不光可以設置哪個公鑰是 Owner 權限, 哪個公鑰是 Active 權限, 還可以分配每個權限級別的閾值, 以及每個公鑰所擁有的權重。

在開啟枯燥的學術性講解之前, 我們先來假設一個場景: 小明和小紅結婚後, 買了一個保險櫃, 用來存儲夫妻二人的共同財產。這個保險櫃有兩個鑰匙孔, 並配有兩把鑰匙, 只有這兩把鑰匙同時插入的時候, 這個保險櫃才能打開。

EOS教程|如何使用EOS區塊鏈瀏覽器(二)

​在這個場景中, 一個保險櫃設置了兩個鑰匙孔, 可以理解為這個保險櫃的閾值為 2, 而配備了兩把鑰匙, 則可以理解為, 每一把鑰匙的權重是 1。

簡單來說, 閾值是你可以動用賬戶所需的最小權限, 而權重則代表你該私鑰所擁有的權限級別。如果當前 active 權限對應的閾值為 2, 你有一把 Active 級別的 A 私鑰權重為 1, 另一把 Active 級別的 B 私鑰權重為 2, 那麼如果你想對該賬戶進行轉賬的話, 只動用 A 私鑰是不夠的, 必須使用 A + B = 3 > 2 的權重, 才可以進行轉賬。或者直接使用 B 私鑰 2 = 2 權重的私鑰, 也可以直接進行交易轉賬。

用戶使用 imToken 生成的 owner 權限私鑰和 active 權限私鑰的閾值權重都為 1, 也就是說, 只需要一把私鑰, 就可以對相應的權限進行操作。

EOS教程|如何使用EOS區塊鏈瀏覽器(二)

4. Account 控制 Account

其實在 EOS 系統中, 一個賬戶的 Action 不光可以通過自己的私鑰進行授權, 也可以通過其他賬戶進行授權, 當然是在其他賬號有權限的前提下。

EOS 錢包安全策略

1. 注意兩點

圍繞著上述 EOS 權限, 那麼 EOS 的錢包安全策略上, 也會在以太坊和比特幣的安全策略上增加一些內容, 在防止私鑰洩露的前提下, 還需要注意以下兩點:

(1) 選擇一個可信賴的錢包服務商, 以防止給到你的私鑰僅僅是 Active 權限的私鑰

(2) 選擇一個可信賴的朋友幫助你生成錢包, 以免在他幫你生成錢包的時候, 將你給到的私鑰設為 Active 權限, 或插入他自己的私鑰。

2. 為什麼? 怎麼做?

1)選擇一個可信賴的錢包服務商

之前有一些錢包在免費幫助用戶創建 EOS 賬戶的時候,給到用戶的是 Active 的私鑰, 其實用戶在本身沒有驗證查詢所擁有的私鑰權限的情況下, 是不知道自己是 Active 權限還是 Owner 權限的, 所獲得的私鑰, 也能夠進行正常的轉賬操作, 但如果這樣做的話, 和中心化錢包沒什麼區別。而且當 EOS 錢包出現安全問題的時候, 還 “美其名曰” 可以幫助用戶重置私鑰, 這點還是希望普通用戶能夠警覺。

針對這一點, 首先用戶自己本身要選擇知名度高, 可信賴的錢包服務。imToken 在幫助用戶創建 EOS 錢包的時候, 會通過一套助記詞, 幫助用戶生成兩把不同權限的私鑰, 一把是 Owner, 一把是 Active , 這兩把私鑰都是用戶自己管理的, 用戶可以通過第一章提到的區塊鏈瀏覽器來查詢自己的公鑰權限。

另外, 用戶可以使用冷存儲的方式, 存儲 Owner 私鑰, 這樣如果你的 Active 私鑰洩露了, 可以使用 Owner 私鑰重置你的 Active 私鑰, 但需要注意的是, 如果你的 Active 私鑰洩露了, 黑客也能夠轉移你的資產。

2)選擇可信任的人幫助你創建錢包

因為創建 EOS 賬戶需要消耗資源, 這點不像比特幣和以太坊, 可以非常廉價的生成一個地址。而消耗資源, 就要支付 EOS, 所以當你創建一個新賬戶的時候, 需要有人幫助你去支付這筆費用。關於 EOS 資源的相關內容, 我會在下一章進行詳細的講解。

簡單來說, 使用 imToken 創建 EOS 賬戶的過程是, 通過用戶設備本地生成兩個公鑰 (該過程完全是本機行為, 並不通過網絡或者服務器), 一個作為 Owner 公鑰, 一個作為 Active 公鑰。將這兩個公鑰給到你值得信任的朋友, 他會幫助你將這兩個公鑰綁定一個賬號, 支付費用, 給到你這個賬號一定的資源, 並寫入 EOS 網絡中。

那麼這裡有一個問題就是, 如果你將生成的公鑰給到一個不可信任的第三方, 讓他幫你創建一個賬號, 那麼他也可以幫你成功創建該賬號, 只是他有可能把你給他的公鑰設為 Active 權限, 或插入自己的私鑰, 並設置為 Owner 或 Active 權限。因為之前的內容也提到了, 一個賬戶可以對應多把公鑰。進而他有重置你私鑰, 並操作你賬戶的權限。

針對於這樣的問題, imToken 在生成 EOS 錢包的時候做了特殊處理, 在創建完 EOS 賬戶之後, 會對該賬戶下所有公鑰進行對比校驗。但是市面上有些錢包沒有添加校驗功能, 我們建議用戶在創建完 EOS 錢包之後, 前往區塊鏈瀏覽器上, 查看當前賬戶下所有公鑰的權限級別, 一旦發現可疑的公鑰掛在該賬戶下, 或者該賬戶的 Owner 權限並不掌握在自己手中, 請立即停止使用該賬號。

3)安全監測網站

另外除了我們使用 http://eospark.com 查看賬戶下的公鑰是否都受自己控制, 也可以登錄 https://peckshield.com/eosrescuer 查看自己的 EOS 公鑰是否是通過弱助記詞生成的高危賬戶, 僅供參考。

(未完待續...)


分享到:


相關文章: