91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析FISCO BCOS 角色權限模型的實現

發布時間:2021-12-17 17:22:25 來源:億速云 閱讀:138 作者:柒染 欄目:互聯網科技

如何分析FISCO BCOS 角色權限模型的實現,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

引言

FISCO BCOS的權限控制是通過控制賬號對系統中表的寫權限來實現的。這種權限控制模型非常靈活且強大,用戶幾乎可以控制任意一項權限,例如,通過控制權限表的寫權限管理分配權限;通過控制系統合約所對應表的寫權限管理鏈配置、節點身份管理、合約部署、用戶表創建等;通過控制合約表的寫權限管理合約寫接口的調用。

然而,絕對完美是不存在的。強大靈活的權限控制也帶來較高的學習成本:用戶需要理解每個權限項控制的內容以及如何設置,了解鏈管理員和系統管理員的區別……大量的概念和操作,對用戶要求極高。

為了降低使用難度,提升用戶體驗,FISCO BCOS v2.5對此功能進行了優化,新增了基于角色的權限控制。把不同的權限統歸到不同角色,用戶根據賬號所屬角色即可判斷其所擁有的權限。同時v2.5基于角色引入了鏈上治理投票模型,使治理操作更加方便。

什么是角色權限模型?

使用角色權限模型后,用戶只需記住角色,而角色對應的權限不言自明,例如,治理委員會委員擁有鏈治理相關權限,這極大降低用戶理解難度與學習成本。

如何分析FISCO BCOS 角色權限模型的實現

  角色對應的權限

區塊鏈上的參與者,可根據角色分為治理方、運維方、監管方和業務方。為避免既當裁判又當運動員,治理方、運維方應權責分離,角色互斥。

  • 治理方:角色稱為治理委員會委員,簡稱委員,負責區塊鏈治理。

  • 運維方:負責區塊鏈運維,該角色由委員添加。

  • 業務方:業務方賬號由運維添加到某個合約,可以調用該合約的寫接口。

  • 監管方:監管方監管鏈的運行,能夠獲取鏈運行中權限變更記錄以及需要審計的數據。

各角色所對應權限具體如下表所示。

  角色權限實現的細節

本小節將簡單介紹委員、運維和業務角色的權限實現細節以及背后原理,以便更好理解與使用角色權限功能。

鏈初始無委員賬號,當存在至少一個委員賬號時,委員擁有的權限開始受到控制。聯盟鏈實際應用中多個參與方的技術實力可能并不相同,從實際應用場景出發,我們引入了鏈上治理投票模型,所有治理操作需要有效投票數/委員數>生效閾值才能生效,用戶通過新增的鏈治理預編譯合約可以實現委員的增刪、權重修改、投票生效閾值修改等操作。

投票模型有幾處值得注意:

  • 每次投票操作,如果是委員投票,則記錄操作內容和投票委員,不重復計票

  • 每次投票操作,計票結束后,計算有效投票數/委員數,如果大于此操作的生效閾值,則對應操作生效

  • 投票設置過期時間,根據塊高,blockLimit的10倍,固定不可改

運維角色的新增與撤銷必須由委員角色操作。鏈初始無運維賬號,當存在至少一個運維賬號時,運維擁有的權限開始受到控制。

業務賬號可以調用鏈上查詢接口與運維指定合約的寫接口。

  兼容性說明

目前,角色權限模型基于對系統中各類表的寫權限控制。我們做了最大努力與之前版本使用體驗保持一致,但為了權限控制的完整嚴謹,對FISCO BCOS v2.5新建鏈,控制臺grantPermissionManager指令不再有效,原PermissionManager的權限歸屬于委員角色。對于v2.5之前的鏈,該指令仍然有效。

如何使用角色權限?

本節將以“委員增刪”和“運維增刪”為例進行簡要的實操演示,文檔含括了更豐富的角色權限相關操作,歡迎移步查看。

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html

  增刪委員

使用控制臺v1.0.10以上版本中自帶的get_account.sh腳本,生成3個如下賬號,接下來的操作以這3個賬號為例演示。配置好控制臺后,使用控制臺的-pem選項分別加載3個私鑰啟動3個控制臺。

# 賬號1
0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a.pem
# 賬號2
0x85961172229aec21694d742a5bd577bedffcfec3.pem
# 賬號3
0x0b6f526d797425540ea70becd7adac7d50f4a7c0.pem

添加賬號1為委員

增加委員需要鏈治理委員會投票,有效票大于閾值才可生效。此處由于只有賬號1是委員,所以賬號1投票即可生效。

如何分析FISCO BCOS 角色權限模型的實現

使用賬號1添加賬號2為委員

此處由于只有賬號1是委員,所以使用賬號1投票后,滿足閾值判斷立刻生效。

如何分析FISCO BCOS 角色權限模型的實現

撤銷賬號2的委員權限

此時系統中有賬號1和賬號2兩個委員,默認投票生效閾值50%,所以需要兩個委員都投票撤銷賬號2的委員權限,有效票/總票數=2/2=1>0.5才滿足條件。 

賬號1投票撤銷賬號2的委員權限,如下圖:

如何分析FISCO BCOS 角色權限模型的實現

賬號2操作投票撤銷賬號2的委員權限,如下圖:

如何分析FISCO BCOS 角色權限模型的實現

  增刪運維

委員可以添加與撤銷運維角色,運維角色的權限包括部署合約、創建表、凍結解凍所部署的合約、使用CNS服務等。

使用賬號1添加賬號3為運維

如何分析FISCO BCOS 角色權限模型的實現

使用賬號3部署HelloWorld

賬號3是運維角色,可以部署合約,具體操作如下圖:

如何分析FISCO BCOS 角色權限模型的實現

使用賬號1部署HelloWorld

賬號1是委員,不具有部署合約的權限,部署合約失敗,如下圖:

如何分析FISCO BCOS 角色權限模型的實現

使用賬號1撤銷賬號3的運維權限

賬號1是委員可以撤銷運維,如下圖:

如何分析FISCO BCOS 角色權限模型的實現

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六盘水市| 东莞市| 邮箱| 重庆市| 密云县| 射阳县| 阿拉尔市| 呈贡县| 河津市| 北川| 桑植县| 崇阳县| 通化市| 融水| 湘潭市| 同江市| 通道| 余江县| 涪陵区| 喀喇| 克什克腾旗| 南充市| 甘泉县| 同德县| 通辽市| 齐齐哈尔市| 鄱阳县| 韶山市| 建始县| 静安区| 清水河县| 介休市| 阳原县| 宜兰县| 黎平县| 武穴市| 青阳县| 奎屯市| 全州县| 太仓市| 凤冈县|