增強EOS賬戶安全性:EOS賬戶許可權管理之自定義許可權

買賣虛擬貨幣
在區塊鏈的世界裡,安全是我們首要考慮的問題,對於 EOS 公鏈來說,合理的賬號許可權管理往往決定了賬號的安全性。而在 EOS 賬號許可權管理中,透過 EOS 賬號的自定義許可權功能,可以大大增加 EOS 賬號的安全性。今天我們就來學習如何給EOS賬號設定自定義許可權,以及自定義許可權有何用?1. 自定義許可權有什麼用?EOS 賬號預設有 owner 和 active 兩個許可權,除了預設許可權外,我們還可以給EOS賬號設定自定義許可權,許可權的名稱和功能都可以根據自己的需要進行自定義。EOS 賬號許可權設計非常靈活。例如,可以設定一個自定義許可權 Vote,該許可權只能用於投票,這樣用 Vote 許可權對應的公鑰只能用於投票,不能用於轉賬等其他操作,即使該私鑰被洩漏,也僅僅只能用於投票,不能進行其他操作(例如轉走賬號裡邊的 EOS 資產),增加了賬號的安全性。

2. 如何設定EOS賬號的自定義許可權呢?

給EOS賬戶設定自定義許可權,主要分為兩步,第一步是給賬號新增自定義許可權,第二步是為該許可權關聯相應的操作功能。

下面以給EOS賬號新增一個僅能用於節點投票的自定義許可權 Vote 為例進行詳細的說明。

一、設定自定義許可權

1、使用 Scatter 工具連上 https://eostoolkit.io/ 網站;
2、在設定自定義許可權前,需要先到 Scatter 裡邊設定一下防火牆;

如上圖,在 Settings -> Firewall -> Blacklisted Actions 裡邊,把 eosio 的 updateauth 許可權 remove 掉,即點選 「remove」 按鈕,這樣我們才能更新EOS賬戶的許可權(如新增自定義許可權)。

3、點選左側「Manage Account」,然後點選左邊選單中的 「**Advanced Permissions」** 按鈕;

4、在右側的表單中新增一個許可權,如下圖(預設)

各個欄位的含義如下:

· Account:要新增自定義許可權的賬戶,連線了 Scatter 錢包後,這裡預設會顯示 Scatter 連線的 EOS 賬戶;
· Parent:要新增自定義許可權的父許可權,預設為 Owner,一般來說,我們設定為 Active 就可以了;
· Threshold:閾值,在多設定多籤的時候用,使用預設的1即可;
· Weight:賬戶的權重,預設設定為1;
· Permission:許可權名稱,例如常見的許可權為 Owner 和 Active,這裡預設顯示的是 active,這裡輸入自定義許可權名 Vote;
· Authority:許可權對應的公鑰(也可以是賬戶名,這裡只介紹設定公鑰),這裡輸入公鑰,可以使用 Scatter 的新建金鑰對功能建立金鑰,然後把私鑰儲存好,這裡填入公鑰。

表單中要求的欄位都填寫完畢後,點選下邊的「UPDATE」按鈕,在彈出的scatter框中,點選「接受」,授權 Scatter 傳送交易後,Vote 許可權就新增成功了。

此時,我們在 EOS 區塊瀏覽器查詢賬號許可權資訊時,就可以看到新新增的 Vote 許可權了。

在自定義許可權增加好以後,Vote 許可權還不能進行任何操作,還要給這個許可權關聯一些操作功能(本例為給EOS節點投票的功能)。

二、給自定義許可權關聯相應的操作功能

1、點選左側「Manage Account」下邊的「Link Auth 」按鈕,然後可以看到右側的表單資訊。

各個欄位的含義如下:

Account Name:預設顯示的是 scatter 連線的eos賬戶;
Account Permission:填入自定義許可權的名稱;
Contract Name 和 Contract Action:合約名稱與合約功能。

一些常用功能的 Contract Name 和 Contract Action,都有哪些呢?

可以透過訪問連結:https://blog.eospark.com/system_contract_API_introduction_v1.2.1.html  進行檢視,比較常用的如下:

例如在上面表格的最後一行,合約賬號 eosio 的 Active(操作)voteproducer,具有投票功能。

2、在上面的表單中,填寫相應的資訊:

Account Permission:voteContract
 Name:eosioContract 
Action:voteproducer

3、填寫完後,點選「LINK AUTH」 按鈕。在彈出的scatter框中,點選「接受」。

至此,自定義許可權 Vote 就具備了投票的功能。成功後,現在可以測試下 Vote 的許可權。

三、測試 EOS 賬號自定義許可權

使用 Vote 許可權關聯的公鑰匯入該 EOS 賬號到 TokenPocket 錢包。

從上圖中可以看到自定義許可權 vote 已經顯示出來了,我們試試轉賬功能。

出現了錯誤提醒,說明自定義許可權  Vote 並不能進行 transfer 轉賬操作。經測試,使用 Vote 許可權確實可以進行投票(如下圖),說明自定義許可權 Vote 設定成功。

有了自定義許可權功能,我們可以根據需要設定特定的許可權,例如可以設定 Vote 許可權只能用於投票、RAM 許可權只能用於購買 RAM 等,可以靈活的實現 EOS 賬戶許可權的分級管理,在一定程度上可以確保 EOS 賬號的安全。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;