天天看點

EOS賬戶權限

賬戶和權限

帳戶是存儲在區塊鍊中的人類可讀辨別符。 每個交易都根據配置的帳戶權限對其權限進行評估。

每個已命名的權限都有一個門檻值,必須滿足該權限下簽署的交易才能被視為有效的門檻值。 交易

通過使用已經安裝和解鎖錢包的用戶端來簽署。 錢包是保護和利用你的密鑰的軟體。 這些密

鑰可能授權也可能不授權區塊鍊上的賬戶權限。

錢包是一個存儲可能與賬戶有關的密匙的用戶端。通常情況下,錢包有鎖定和解鎖兩種狀态并通過

一個高熵密碼保護。

EOSIO/eos

庫有一個名為

cleos

的指令行界面用戶端,它與一個名為

keosd

lite用戶端進行互動,并且共同展示了錢包的這種模式。

帳戶是存儲在區塊鍊中的人類可讀辨別符。它可能屬于一個個人或者組織,這取決于賬戶的權限配置,

需要賬戶才能将交易或将交易以其他方式推送到區塊鍊。

權限确定是否授予任何給定的行為。

每個賬戶有兩個預設的權限名稱:

  • owner

    象征着一個賬戶的所有權。 隻有少數交易需要這種權力,但最值得注意的是對

    owner

    權力作

    出任何改變的行為。 一般而言,建議所有者保持冷藏并且不與任何人共享。

    owner

    可用于恢複可能已被

洩露的另一個權限。

  • active

    用于轉移資金,為生産者投票并進行其他進階賬戶更改。

除了預設權限之外,帳戶還可擁有可用于進一步擴充帳戶管理的自定義命名權限。 自定義權限非常靈活,并且

在實際應用中可以解決許多可能的用例。 這很大程度上取決于開發人員如何使用它們,以及采用什麼約定(如果有的話)。

任何給定權限的權限可以配置設定給一個或多個

public key

或有效的

account_name

以下是所有上述概念的組合以及它們如何實際應用的一些例子。

這是帳戶在建立後的配置,它的

owner

active

權限隻有一個key,兩個key的權重都是1并且兩個權限的閥值

都是1。對于賬戶的預設權限配置隻需要單個簽名來授權操作。

@bob

賬戶權限

權限 賬戶/key 權重 閥值
owner 1
EOS5EzTZZQQxdrDaJAPD9pDzGJZ5bj34HaAb8yuvjFHGWzqV25Dch
active
EOSh61chK8GbH4ukWcbom8HgK95AeUfP8MBPn7XRq8FeMBYYTgwmcX

@bob

賬戶例子中, 這個表格展示了

@bob's

owner key

有一個權重為1的權限,并且

進行操作需要的權限閥值為1.

要在所有者權限下推送交易,隻有

@bob

需要使用其所有者密鑰對交易進行簽名,以使交易符合驗證條件。

将此密鑰存儲在錢包中,然後使用

cleos

進行處理

以下示例是名為

@multisig

的虛構帳戶的權限。 在這種情況下,兩個使用者被授權為虛構的

@multisig

帳戶的

owner

active

,三個使用者被授予權重不同的自定義

publish

權限。

@multisig

 賬戶權限

2

@bob

@stacy

@bob

@stacy

publish

@bob

@stacy

EOS7Hnv4iBWo1pcEpP8JyFYCJLRUzYcXSqt.....

在這種情況下,需要權重門檻值2來更改所有者權限級别,這意味着由于所有方都具有權重1,

是以所有使用者都必須簽署交易才能獲得完全授權。

要發送交易需要

active

權限,門檻值設定為1.這意味着隻需要1個簽名即可授權來自帳戶

active

權限的操作。

還有一個名為

publish

的自定義命名權限。 為了這個示例,釋出權限用于使用理論部落格dApp将文章釋出到

@multisig

的部落格。

釋出權限的門檻值為2,

@bob

@stacy

的權重均為2,公鑰的權重為1.這意味着

@bob

@stacy

可以在沒有額外簽名的情況

下釋出,而公鑰需要額外簽名才能在公共許可下進行授權操作。

是以,上述權限表意味着作為帳戶所有者的

@bob

@stacy

提升了與主持人或編輯者類似的權限。 盡管這個原始示例在可擴充性方面

有特别的限制,并不一定是一個好的設計,但它充分證明了

EOS

權限系統的靈活性。

此外,請注意上表中的權限是使用帳戶名稱和密鑰設定的。乍一看這可能看起來微不足道,但它确實提出了一些額外的靈活性。

意見

  • @bob

    @stacy

    可以明确辨別為此帳戶的所有者.
  • 沒有來自

    @bob

    @stacy

    的額外簽名,公鑰無法在釋出權限下推送操作
  • @bob

    @stacy

    可以在釋出權限下推送一個操作,而不需要任何額外的簽名。

    原文連結:

    https://eosfans.io/wiki/account-permission