1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        微眾銀行權(quán)限治理組件:構(gòu)筑區(qū)塊鏈業(yè)務(wù)權(quán)限的“防火墻”

        共 4591字,需瀏覽 10分鐘

         ·

        2021-05-21 11:54

        區(qū)塊鏈歷經(jīng)10余年的發(fā)展,基礎(chǔ)技術(shù)框架逐漸完善,鏈上承載的業(yè)務(wù)越來越豐富,參與方越來越多。多方協(xié)作能否順暢進行、業(yè)務(wù)摩擦能否得到有效解決、既往治理策略和實踐能否滿足日后高速發(fā)展的需求……行業(yè)關(guān)注的重點逐步聚焦到這些更具挑戰(zhàn)性的難題上。


        2021年1月,微眾銀行區(qū)塊鏈在多年技術(shù)研究和應(yīng)用實踐的基礎(chǔ)上,重磅發(fā)布了《面向區(qū)塊鏈的多方協(xié)作治理框架》白皮書,即MCGF(Multilateral Collaborative Governance Framework)。作為區(qū)塊鏈治理的參考架構(gòu),MCGF全面覆蓋區(qū)塊鏈治理的設(shè)計規(guī)范、參與角色、核心系統(tǒng)架構(gòu)、功能流程及應(yīng)用場景等領(lǐng)域。


        區(qū)塊鏈多方協(xié)作治理組件(WeBankBlockchain-Governance)MCGF框架的實做基礎(chǔ)和原子性構(gòu)件,可復(fù)用、可定制,由私鑰管理組件(Governance-Key)、賬戶治理組件(Governance-Account)、權(quán)限治理組件(Governance-Authority)、證書管理組件(Governance-Cert)等子組件構(gòu)成。它們嵌入和運行在整個MCGF大框架的各部分,宛如高速行駛的汽車上的車輪、齒輪、傳動組、傳感器,協(xié)同助力構(gòu)建治理框架和提升開發(fā)效率。


        本篇文章是區(qū)塊鏈多方協(xié)作治理組件系列文章的第二篇,將介紹權(quán)限治理組件(Governance-Authority),歡迎大家積極體驗并將使用訴求或優(yōu)化建議反饋給我們。


          智能合約權(quán)限管控的必要性


        隨著區(qū)塊鏈應(yīng)用日漸復(fù)雜,智能合約的編寫也越來越復(fù)雜。如果不對智能合約做權(quán)限控制,恐將無法滿足業(yè)務(wù)的安全性要求。例如,存證場景中,除了上傳存證的函數(shù)外,還有許多專供審核人員調(diào)用的函數(shù),這些函數(shù)應(yīng)僅由審核人員來使用,如果這些函數(shù)沒有正確設(shè)置權(quán)限攔截邏輯,整套邏輯就容易被攻擊和操控。聯(lián)盟鏈的應(yīng)用可能會因此陷入安全危機,更有甚者,造成聯(lián)盟生態(tài)的分崩離析。


        對智能合約進行權(quán)限控制有一些備選方案:方案一是在上鏈SDK或代理節(jié)點進行訪問控制,即鏈下控制;方案二是直接在智能合約層進行控制。



        其中,鏈下控制權(quán)限的方案并不安全。在區(qū)塊鏈網(wǎng)絡(luò)中,存在多個分布式對等的參與節(jié)點。這些聯(lián)盟的參與者之間,彼此并不完全信任。其他參與機構(gòu)的參與者可能會直接通過本機構(gòu)的區(qū)塊鏈節(jié)點訪問智能合約,從而繞開鏈下的權(quán)限控制。因此,在鏈下進行權(quán)限控制存在漏洞,其他參與者完全可能篡改或控制業(yè)務(wù)合約。


        在鏈上實現(xiàn)嚴(yán)格的權(quán)限管控,即通過智能合約本身管控合約權(quán)限是更好的方式。多方協(xié)作治理組件中的權(quán)限治理組件(Governance-Authority)就是基于智能合約來實現(xiàn)權(quán)限管控的。


          認(rèn)識權(quán)限治理組件(Governance-Authority)



        權(quán)限治理組件WeBankBlockchain-Governance-Authority的目的在于為智能合約開發(fā)者提供權(quán)限控制功能。開發(fā)者只要添加少量代碼,即可攔截非法調(diào)用。同時,會產(chǎn)生一個專門的權(quán)限治理合約,用于治理各個業(yè)務(wù)合約的攔截規(guī)則,對規(guī)則的修改只需操作權(quán)限治理合約,不需要調(diào)整業(yè)務(wù)合約,且修改實時生效。


        使用權(quán)限治理組件模式,不僅能防范智能合約被越權(quán)訪問,還能提供細(xì)粒度、標(biāo)準(zhǔn)化的管控能力,幫助用戶迅速集成智能合約權(quán)限治理的能力。相關(guān)的運作流程如下:



        1. 業(yè)務(wù)治理者將權(quán)限管理的智能合約部署到鏈上,可發(fā)起業(yè)務(wù)權(quán)限管理的提案。
        2. 業(yè)務(wù)層的智能合約可在業(yè)務(wù)合約中添加權(quán)限管理的鑒權(quán)接口,根據(jù)鑒權(quán)結(jié)果決定是否允許放行。
        3. 參與者可通過鏈上治理合約發(fā)起申請,加入具體權(quán)限分組的提案,并交由治理者批準(zhǔn)。假設(shè)治理合約中設(shè)置采用委員會模式,治理委員會成員通過直接投票的方式進行閾值投票。其中,一種典型的方式是一票通過,即治理委員會任意成員投票通過即可。
        4. 業(yè)務(wù)權(quán)限管理合約維護了用戶、業(yè)務(wù)合約及函數(shù)的權(quán)限映射關(guān)系。
        5. 如存在監(jiān)管者,監(jiān)管者有權(quán)通過監(jiān)管接口直接發(fā)起監(jiān)管操作,實現(xiàn)實時、可穿透的監(jiān)管。
        6. 用戶發(fā)起業(yè)務(wù)請求,自動觸發(fā)智能合約中的業(yè)務(wù)權(quán)限鑒權(quán)接口判斷,該功能自動返回鑒權(quán)結(jié)果,實現(xiàn)業(yè)務(wù)權(quán)限管控的效果。


        除了提供合約方式來管理治理合約之外,為了便于集成到區(qū)塊鏈應(yīng)用中,權(quán)限治理組件還提供了Java SDK。對于權(quán)限管理人員,既支持通過手動方式來調(diào)用權(quán)限合約,也支持通過SDK方式進行調(diào)用。


        區(qū)塊鏈治理組件實現(xiàn)了與底層解耦、靈活高效、安全可信、不可篡改的權(quán)限管理治理能力,解決了區(qū)塊鏈應(yīng)用分組管理和精細(xì)化控制的痛點。


          關(guān)鍵特性


        函數(shù)級的權(quán)限粒度


        聯(lián)盟鏈底層平臺也支持合約權(quán)限管理,但只能細(xì)化到以合約作為最小單位的粒度。而在權(quán)限體系中,可以進一步為合約中的每個函數(shù)單獨設(shè)置權(quán)限,同一個合約中的不同函數(shù)可被設(shè)置為不同的權(quán)限。


        支持分組管理


        部分聯(lián)盟鏈支持基于賬戶來管理和分配權(quán)限。而權(quán)限治理組件則進一步支持建立分組,合約函數(shù)的權(quán)限配置基本單位為組,可以設(shè)置整批賬戶的權(quán)限訪問規(guī)則,達到簡化配置、優(yōu)化管理的效果。


        支持黑白名單


        權(quán)限治理組件支持基于黑名單或白名單的方式來管理函數(shù)訪問。用戶可基于具體的場景,按需選擇是以黑名單還是白名單的方式來管理權(quán)限。


        侵入性低


        區(qū)別于鏈級別的權(quán)限管理,權(quán)限治理組件在使用的時候更為靈活、輕量。在具體的業(yè)務(wù)場景中,業(yè)務(wù)合約只需要在代碼中引入權(quán)限合約地址,并通過在需要權(quán)限控制的函數(shù)中訪問權(quán)限合約的權(quán)限判斷接口,就可以實現(xiàn)權(quán)限控制。


        多種治理方式


        允許中心化和多中心化兩種方式進行權(quán)限治理。除了為兼容傳統(tǒng)中心化場景下所提供的管理員模式外;權(quán)限治理組件還提供了多中心化的治理方式。在多中心化方式下,有一個治理委員會,治理委員會成員通過投票來決定如何更改權(quán)限信息。


        支持監(jiān)管審計


        權(quán)限管理預(yù)留了監(jiān)管者的接口,對監(jiān)管友好,支持嵌入式的監(jiān)管。監(jiān)管者一旦發(fā)現(xiàn)有違法違規(guī)的參與者,可依法依規(guī)發(fā)送監(jiān)管指令,約束和規(guī)范參與者的行為,同時,執(zhí)法的規(guī)則、程序和執(zhí)行都是公開、透明的。在權(quán)限治理組件中,決策信息和操作記錄透明可追溯。


          技術(shù)詳解


        權(quán)限治理組件包含了合約層和SDK層。


        合約層:權(quán)限治理組件基于智能合約來實現(xiàn),定義了管理模式設(shè)置、用戶分組管理、授權(quán)申請、授權(quán)審批、鑒權(quán)、取消授權(quán)等操作的接口。所有參與者可以查看和審核該合約的代碼,并按需來進行調(diào)用。參與者可通過AuthManager合約來部署和調(diào)用合約。



        上圖中,粉色部分為一些基礎(chǔ)的工具合約


        • SingletonVoter:提供了投票相關(guān)功能的統(tǒng)一封裝。
        • WeVoteWeight:定義了投票權(quán)重相關(guān)的功能和數(shù)據(jù)結(jié)構(gòu)。
        • WeVoteRequest:定義了投票提案相關(guān)的功能和數(shù)據(jù)結(jié)構(gòu)。
        • WEBoardVoteGuard:依托LibBoardVote,抽象并對外提供了多個投票相關(guān)的接口。
        • LibWeightMap:提供了Map的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)工具庫。
        • LibAddressSet:提供了地址處理的工具庫。
        • WEBasicAuth:提供權(quán)限管理的基礎(chǔ)功能,比如合約屬主校驗和屬主轉(zhuǎn)移。


        藍色部分為賬戶及相關(guān)的實現(xiàn)合約


        • AclManager:管理和存儲了組、賬戶、函數(shù)簽名、權(quán)限等。
        • WEAdmin:管理和存儲了管理員相關(guān)的賬戶和提供權(quán)限移交等功能。
        • GovManager:提供了治理者和治理模式設(shè)置等管理。


        黃色部分為部署治理相關(guān)合約的接口合約,旨在提供對外統(tǒng)一的接口合約,便于用戶快速部署。


        SDK層:封裝了上述權(quán)限治理合約的所有接口,幫助用戶通過Java SDK的方式來通過Java代碼來執(zhí)行這些操作,使得應(yīng)用操作和管理更加順暢、靈活。


          應(yīng)用場景


        在供應(yīng)鏈金融、農(nóng)牧產(chǎn)品溯源等區(qū)塊鏈業(yè)務(wù)場景中,通常建立的是復(fù)雜的業(yè)務(wù)權(quán)限模型,如:在業(yè)務(wù)隔離方面,支持對業(yè)務(wù)應(yīng)用進行分組管理;在管理粒度方面,支持細(xì)化管控到智能合約函數(shù)的級別;在治理規(guī)則方面,支持各類準(zhǔn)入管理;在治理模式方面,支持管理員和委員會模式;在生效時間方面,支持實時生效。


        供應(yīng)鏈金融


        在供應(yīng)鏈金融場景中,部分銀行與供應(yīng)鏈上下游企業(yè)組成一個“供應(yīng)鏈金融+區(qū)塊鏈”的聯(lián)盟,以盤活核心企業(yè)與其多級供應(yīng)商之間的應(yīng)收賬款資產(chǎn)的流動性,為供應(yīng)鏈上下游的核心企業(yè)及供應(yīng)商提供靈活、創(chuàng)新的融資渠道,尤其利于規(guī)模較小、金融服務(wù)獲得不充分的小微企業(yè)。


        但供應(yīng)鏈金融涉及復(fù)雜的數(shù)據(jù)權(quán)限治理問題。例如,數(shù)據(jù)上傳后,銀行只有可讀權(quán)限;不同的供應(yīng)鏈核心企業(yè)只允許操作本供應(yīng)鏈內(nèi)部的合約數(shù)據(jù);本供應(yīng)鏈內(nèi)的相關(guān)融資信息由交易方寫入,不允許其他企業(yè)上傳……


        依托權(quán)限治理組件,供應(yīng)鏈金融場景中的各參與方:如各銀行、核心企業(yè)、大型供應(yīng)商可組成一個業(yè)務(wù)權(quán)限的治理委員會。治理委員會可根據(jù)需求創(chuàng)建不同的成員分組。例如,在同一供應(yīng)鏈鏈條內(nèi),所有參與方被添加到該分組中,可靈活進行相關(guān)的權(quán)限治理。


        權(quán)限治理組件有效為供應(yīng)鏈和區(qū)塊鏈的“雙鏈舞動”保駕護航。


        農(nóng)牧產(chǎn)品溯源


        現(xiàn)有的農(nóng)牧產(chǎn)品溯源過程中,生產(chǎn)、流通、售賣各方呈現(xiàn)信息孤島,且各自的數(shù)據(jù)存在被篡改的風(fēng)險,使用區(qū)塊鏈能有效保證農(nóng)牧產(chǎn)品在生產(chǎn)、運輸、售賣等環(huán)節(jié)的信息真實、有效。


        在農(nóng)牧產(chǎn)品溯源場景中,對于同一件商品,其所涉及到的生產(chǎn)方、流通方、銷售方到最終的消費者以及監(jiān)管方,需要將相關(guān)的信息上到同一條鏈中。該場景要求各方獨立操作,將各自環(huán)節(jié)的數(shù)據(jù)予以上傳,例如流通方不能操作生產(chǎn)環(huán)節(jié)所涉及的合約函數(shù)……


        因而,農(nóng)牧產(chǎn)品溯源場景對涉及到智能合約權(quán)限的控制提出了較高的要求。


        農(nóng)牧產(chǎn)品溯源的各參與方可利用業(yè)務(wù)權(quán)限治理組件,成立一個權(quán)限治理的委員會,來管理各自的權(quán)限。治理者可創(chuàng)建專門的分組,針對相同的商品,對所涉及到的不同環(huán)節(jié),配置不同的控制權(quán)限。


        權(quán)限治理組件是諸多應(yīng)用場景的安全“防火墻”。在同一個聯(lián)盟鏈中,可基于業(yè)務(wù)靈活創(chuàng)建不同的分組。通過對治理模式、治理成員、不同分組、黑白名單和合約函數(shù)等信息進行設(shè)置,滿足復(fù)雜業(yè)務(wù)場景下的權(quán)限治理需求。


          即刻使用


        上述相關(guān)代碼和技術(shù)文檔已更新,歡迎體驗和 star 支持。如需咨詢技術(shù)問題,歡迎關(guān)注本公眾號,對話框回復(fù)【小助手】進技術(shù)交流群。


        文檔地址:

        https://governance-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-Governance-Auth/index.html

        GitHub代碼庫地址:

        https://github.com/WeBankBlockchain/Governance-Authority

        gitee代碼庫地址:

        https://gitee.com/WeBankBlockchain/Governance-Authority

        歡迎參與WeBankBlockchain的社區(qū)建設(shè):
        • 如項目對您有幫助,歡迎點亮我們的小星星(點擊項目右上方Star按鈕)。
        • 歡迎提交代碼(Pull requests)。
        • 提問和提交BUG。
        • 如果發(fā)現(xiàn)代碼存在安全漏洞,可通過https://security.webank.com/上報。






        瀏覽 46
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            brazzersxxxxhdhdkayla | 露脸城中村老熟女站街 | 99久久久无码囯产精品 | 影音先锋成人无码 | 一本精品久久加勒比无码A片 | 中文字幕无码一区二区三区一本久 | kimkardashianxxxx裸乳 | 男女做爰免费一区二区羞羞 | 女人黄网站| 中国美女光屁股无遮挡 |