區(qū)塊鏈如何為許可鏈設(shè)計(jì)身份模型
在企業(yè)中采用許可鏈技術(shù)是一條充滿挑戰(zhàn)的道路。從根本上來說,基于分布式分類賬的所謂Web3堆棧對于實(shí)現(xiàn)復(fù)雜的企業(yè)業(yè)務(wù)流程是不成熟的。在企業(yè)區(qū)塊鏈平臺中缺失的構(gòu)建塊中,身份作為新一代企業(yè)解決方案無處不在的挑戰(zhàn)而成為首要的考慮因素。本文將探討一下企業(yè)區(qū)塊鏈解決方案中的身份管理功能以及身份層模型。
在過去五年中,隨著新一代技術(shù)的出現(xiàn),從CA或Microsoft Active Directory等復(fù)雜系統(tǒng)過渡到更開放的API驅(qū)動(dòng)平臺,如Okta、Ping IdenTIty、One Login as以及AWS、Azure或Google Cloud等云平臺中的相應(yīng)堆棧,身份管理行業(yè)迎來了巨大的發(fā)展。這些平臺將身份的功能從專有系統(tǒng)轉(zhuǎn)移到開放協(xié)議,如SAML、OpenID Connect等。但是,這并不意味著企業(yè)身份管理技術(shù)是簡單易用的。恰恰相反,隨著身份功能的發(fā)展,對身份管理解決方案的要求也越來越復(fù)雜。查看企業(yè)中當(dāng)前的身份管理架構(gòu),有一些值得強(qiáng)調(diào)的特征:
·基于中心化的身份提供機(jī)構(gòu):企業(yè)身份管理解決方案通常依賴于中心化的身份提供機(jī)構(gòu),這些身份提供機(jī)構(gòu)接收某種形式的用戶憑證作為輸入,然后輸出身份通證。
·基于身份協(xié)議:目前,很大比例的企業(yè)身份管理解決方案利用SAML、OAuth2等協(xié)議進(jìn)行交互。
·分散化:企業(yè)環(huán)境中的用戶身份分布在不同的業(yè)務(wù)系統(tǒng)或用戶目錄中。結(jié)果,不同的應(yīng)用程序傾向于與用戶身份的不同表示進(jìn)行交互。
在許可鏈中實(shí)現(xiàn)身份功能的基本摩擦
將所有這些特點(diǎn)結(jié)合起來,我們可以知道,企業(yè)中的用戶身份分布在許多系統(tǒng)中,但由身份提供機(jī)構(gòu)來具體執(zhí)行。對于身份,在當(dāng)前的企業(yè)系統(tǒng)架構(gòu)和區(qū)塊鏈技術(shù)領(lǐng)域之間需要解決兩個(gè)根本性的摩擦。
·共識與身份
·中心化與去中心化的身份斷言(asserTIon)
企業(yè)系統(tǒng)架構(gòu)和區(qū)塊鏈技術(shù)領(lǐng)域的根本性摩擦
共識與身份
在許可鏈的場景中啟用身份管理功能與去中心化層的基本原則產(chǎn)生了摩擦。區(qū)塊鏈技術(shù)的最大貢獻(xiàn)在于,我們第一次在計(jì)算機(jī)科學(xué)史上擁有一個(gè)模型,在這個(gè)模型中,我們可以信任數(shù)學(xué)和密碼學(xué)而不是中心化的實(shí)體。以該原則為基礎(chǔ),區(qū)塊鏈的架構(gòu)是基于共識協(xié)議發(fā)展的。而在去中心化的世界中,身份還不是一個(gè)基本的構(gòu)建塊,因?yàn)榫W(wǎng)絡(luò)的動(dòng)態(tài)需要先達(dá)到最佳的決策過程。
基于計(jì)算的區(qū)塊鏈堆棧共識模型從根本上與企業(yè)解決方案存在很大不同,在企業(yè)解決方案中,參與者的身份是已知的。從這個(gè)意義上說,你可以認(rèn)為,共識協(xié)議在已知身份的世界中可以提供的好處很少。
中心化與去中心化的身份斷言
當(dāng)前企業(yè)身份管理系統(tǒng)的架構(gòu)依賴于中心化機(jī)構(gòu)來創(chuàng)建關(guān)于用戶身份的斷言。將該模型與分布式分類賬架構(gòu)(其中斷言將分布在參與者網(wǎng)絡(luò)中)進(jìn)行協(xié)調(diào)絕非小事。理想情況下,我們需要一種模型,其中身份斷言以加密安全的方式進(jìn)行編碼并上鏈,然后分發(fā)給相關(guān)的網(wǎng)絡(luò)實(shí)體。
許可鏈中去中心化身份的構(gòu)建塊
為了應(yīng)對上一節(jié)中列出的一些挑戰(zhàn),我們發(fā)現(xiàn)有一些技術(shù)組件對于許可鏈架構(gòu)或許非常有用。
權(quán)威證明(PoA)
權(quán)威證明(PoA)是一種共識機(jī)制,依賴于身份作為第一類物件(可以在執(zhí)行期創(chuàng)造并作為參數(shù)傳遞給其他函數(shù)或存入一個(gè)變數(shù)的實(shí)體)。在PoA網(wǎng)絡(luò)中,通過引用驗(yàn)證者列表來實(shí)現(xiàn)共識。驗(yàn)證者是一組允許參與共識的帳戶/節(jié)點(diǎn);他們驗(yàn)證交易和區(qū)塊。 PoA不需要解決計(jì)算成本非常高的謎題來提交交易。相反,交易只需要由大多數(shù)驗(yàn)證者簽署,在這種情況下,它成為永久記錄的一部分。
對于企業(yè)區(qū)塊鏈場景,PoA共識也是很實(shí)用的,因?yàn)樗梢猿浞掷糜脩艉拖到y(tǒng)的現(xiàn)有身份。目前已經(jīng)有許多與許可鏈相關(guān)的PoA共識實(shí)現(xiàn),包括Parity和Microsoft Azure。
去中心化的身份協(xié)議
為了實(shí)現(xiàn)去中心化身份,需要對身份重新進(jìn)行架構(gòu),將許多傳統(tǒng)的身份動(dòng)態(tài)轉(zhuǎn)移到去中心化的參與者網(wǎng)絡(luò)中。
在過去的20年里,微軟一直是身份管理領(lǐng)域的領(lǐng)先者之一,但它們也意識到區(qū)塊鏈需要新的身份模型。受到DIF(去中心化身份基金會(huì))啟發(fā),微軟最近提出了一種前瞻性架構(gòu),以支持區(qū)塊鏈的去中心化身份。 Microsoft的架構(gòu)包括以下組件:
·W3C去中心化身份標(biāo)識(DID):用戶創(chuàng)建、擁有和控制獨(dú)立于任何組織或政府的ID。DID是連接到去中心化公鑰基礎(chǔ)設(shè)施(DPKI)元數(shù)據(jù)(元數(shù)據(jù)由包含公鑰材料、身份驗(yàn)證描述符和服務(wù)端點(diǎn)的JSON文檔組成)的唯一全局性標(biāo)識。
·去中心化系統(tǒng):DID植根于去中心化系統(tǒng),提供DPKI所需的機(jī)制和功能。
·DID用戶代理(User Agents):使真人能夠使用去中心化身份的應(yīng)用程序。用戶代理應(yīng)用有助于創(chuàng)建DID,管理數(shù)據(jù)和權(quán)限以及簽署/驗(yàn)證與DID相關(guān)的聲明。
·DIF通用解析器:一種服務(wù)器,利用DID一系列驅(qū)動(dòng)程序?yàn)椴煌蛻舳撕腿ブ行幕到y(tǒng)中的DID提供標(biāo)準(zhǔn)的查找和解析方法,并返回封裝了與DID相關(guān)DPKI元數(shù)據(jù)的DID文檔對象。
·DIF身份中心(hub):加密個(gè)人數(shù)據(jù)存儲的復(fù)制網(wǎng)格(replicated mesh),由云和邊緣實(shí)例(如移動(dòng)電話、PC或智能揚(yáng)聲器)組成,可促進(jìn)身份數(shù)據(jù)存儲和身份交互。
·DID 證明:DID簽署的證明基于標(biāo)準(zhǔn)格式和協(xié)議。它們使身份所有者能夠生成、呈現(xiàn)和驗(yàn)證聲明。這構(gòu)成了系統(tǒng)用戶之間信任的基礎(chǔ)。·
對于許可鏈,去中心化的身份協(xié)議在傳統(tǒng)的企業(yè)身份管理系統(tǒng)和區(qū)塊鏈DApp之間提供了清晰的橋梁。
零知識證明身份存儲(IdenTIty Stores)
證明、聲明以及去中心化hub的概念是去中心化身份模型的一些最重要的原則。一個(gè)有趣的想法是將去中心化hub與零知識證明協(xié)議(如zk-SNARK)相結(jié)合,為DID增加另一層的隱私,同時(shí)允許其他協(xié)議驗(yàn)證身份證明。筆者喜歡將這個(gè)概念稱為零知識儲存,并且這一概念已被uPort等協(xié)議所支持。
在零知識身份存儲模型中,與用戶身份相關(guān)的斷言將使用zk-SNARK進(jìn)行編碼并在鏈上發(fā)布。智能合約可以驗(yàn)證關(guān)于用戶身份的斷言,而不會(huì)泄露有關(guān)基礎(chǔ)用戶身份的任何信息,從而在執(zhí)行高級別隱私的同時(shí)維持鏈上的執(zhí)行。
小結(jié)
身份是許可鏈應(yīng)用程序的基本構(gòu)建塊之一,需要解決這一問題才能實(shí)現(xiàn)許可鏈的主流采用。 去中心化身份基金會(huì)(DIF)等機(jī)構(gòu)的努力將引領(lǐng)傳統(tǒng)身份系統(tǒng)與區(qū)塊鏈新世界之間的融合。 雖然該領(lǐng)域已有一些協(xié)議和工具,但在企業(yè)區(qū)塊鏈解決方案中實(shí)現(xiàn)身份功能仍然是一項(xiàng)相當(dāng)復(fù)雜的工作。