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