EOS账户系统(7)权限评估
1. 場景
- 授權(quán)涉及個人或群體,并且往往是分類的。
- 身份驗證和權(quán)限管理必須標(biāo)準(zhǔn)化,并與應(yīng)用程序的業(yè)務(wù)邏輯分開。
2. 定義
確認(rèn)某項操作是否被正確授權(quán)。
最簡單的權(quán)限管理是檢查交易是否具有所需的簽名,這也意味著所需的簽名是已知的。
EOS 提供了一個聲明式權(quán)限管理系統(tǒng),可以對賬戶進(jìn)行細(xì)粒度、高級別的控制,以確定誰在何時可以做什么。
2.1. 評估過程
以通用的方式管理權(quán)限:從小到大進(jìn)行逐級匹配。
@alice 以 “Action” 類型發(fā)送一條消息給 @bob
step1. 檢查 @alice 是否為 @bob.groupa.subgroup.Action 定義過權(quán)限映射。
step2. 如果沒有找到,緊接著檢查 @bob.groupa.subgroup 映射,然后是 @bob.groupa,最后 @bob 將被檢查。如果都沒有找到,那么假定映射為命名的權(quán)限群組 @alice.active。
- 一旦一個映射被識別,則使用相關(guān)聯(lián)的簽名驗證權(quán)限。
- 如果失敗了,則躍遷至父權(quán)限,直至擁有者權(quán)限@alice.owner。
2.2. 特點
權(quán)限管理和程序邏輯是相互獨立的,自然權(quán)限評估和程序邏輯也是可以分開執(zhí)行的,這讓驗證權(quán)限成為一個只讀過程且可以并發(fā)執(zhí)行、跳過多余的權(quán)限評估過程,從整體上提高性能,顯著提高TPS性能。
權(quán)限評估過程是“只讀”的,并且對事務(wù)所做的權(quán)限更改直到塊結(jié)束才會生效。
=>
- 所有事務(wù)的密鑰和權(quán)限評估可以并發(fā)執(zhí)行;
- 可以快速驗證權(quán)限,而不需要重新啟動昂貴的應(yīng)用程序邏輯;
2.3. 交易權(quán)限
驗證權(quán)限占驗證交易所需計算資源的很大一部分。
- 交易權(quán)限可以在接收到待處理的交易時進(jìn)行評估,而在應(yīng)用它們時無須重新評估。
- 當(dāng)我們重放區(qū)塊鏈的歷史,試圖從操作日志重新生成確定性狀態(tài)時,不需要再次評估權(quán)限。交易包含在一個已知的不可逆區(qū)塊中這一客觀事實,足以讓其跳過權(quán)限評估的步驟。這極大地減少了重放不斷增長的區(qū)塊鏈時消耗的計算資源。
總結(jié)
以上是生活随笔為你收集整理的EOS账户系统(7)权限评估的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EOS账户系统(6)权限和Action映
- 下一篇: EOS账户系统(8)密钥被盗恢复