當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 智能”或許是科技行業(yè)中被用得最多的一個(gè)詞。有些公司認(rèn)為項(xiàng)目的智能就是在上面安裝一個(gè)WiFi適配器,然后制作一個(gè)應(yīng)用程序。但智能的真正含義是什么呢?物聯(lián)網(wǎng)設(shè)備意味著什么?我相信,當(dāng)設(shè)備集合在一起,

智能”或許是科技行業(yè)中被用得最多的一個(gè)詞。有些公司認(rèn)為項(xiàng)目的智能就是在上面安裝一個(gè)WiFi適配器,然后制作一個(gè)應(yīng)用程序。但智能的真正含義是什么呢?物聯(lián)網(wǎng)設(shè)備意味著什么?我相信,當(dāng)設(shè)備集合在一起,創(chuàng)造出比單個(gè)設(shè)備的總和大得多的東西時(shí),它們就會(huì)變得“智能”。

自從智能鎖問世以來,它已經(jīng)走過了漫長(zhǎng)的道路,但在大多數(shù)情況下,智能意味著你可以把手機(jī)當(dāng)作鑰匙使用。最近,我和我的一些朋友聚在一起,重新想象了一下一把簡(jiǎn)單的鎖如何才能變得真正智能。我們?cè)O(shè)計(jì)了一個(gè)區(qū)塊鏈智能鎖,可以簡(jiǎn)化訪客管理。它主要針對(duì)企業(yè),該系統(tǒng)解決了兩個(gè)主要問題。

1. 缺乏適合企業(yè)規(guī)模經(jīng)營(yíng)的智能鎖

企業(yè)的智能鎖真的不多。很多企業(yè)需要為具有不同權(quán)限的不同訪問級(jí)別的門設(shè)置內(nèi)部鎖,最安全的方法是使用生物識(shí)別傳感器。但是,許多門上都安裝了生物識(shí)別傳感器,這些傳感器必須同步,以便為新員工和訪客工作,這是非常具有挑戰(zhàn)性的。生物識(shí)別系統(tǒng)一般將指紋等生物識(shí)別信息存儲(chǔ)在設(shè)備上,因此很難添加新用戶。在每個(gè)設(shè)備上使用生物識(shí)別傳感器也很昂貴。

但如果這個(gè)問題的解決方案就在你的口袋里呢?現(xiàn)在幾乎每一部手機(jī)都內(nèi)置了指紋傳感器或其他形式的生物識(shí)別認(rèn)證,開發(fā)者可以通過API訪問它們。這意味著智能手機(jī)可以提供一種安全的方式,從生物特征上保證一個(gè)人的身份。這個(gè)系統(tǒng)是如此的安全,以至于它被用于驗(yàn)證谷歌Pay和Apple Pay等服務(wù)中的移動(dòng)支付。因此,我們可以簡(jiǎn)單地使用智能手機(jī)上的生物識(shí)別技術(shù)來驗(yàn)證個(gè)人的身份,我們可以在一個(gè)不需要任何傳感器的鎖里使用生物識(shí)別安全技術(shù)。應(yīng)用程序只需要求通過中央服務(wù)器打開一扇門。這個(gè)系統(tǒng)的美妙之處在于它具有可伸縮的能力,因?yàn)橛脩魴?quán)限可以很容易地從服務(wù)器中添加或刪除,而不需要修改實(shí)際的鎖。但是當(dāng)它與訪問者管理相結(jié)合時(shí),這個(gè)系統(tǒng)的真正威力就顯現(xiàn)出來了。

2. 訪問者管理

第二個(gè)問題是缺乏適合企業(yè)的訪問者管理解決方案。這給訪問者帶來了麻煩,也給公司帶來了高昂的費(fèi)用,比如為確保訪問者的身份而進(jìn)行的安全保障。我們對(duì)這個(gè)問題的解決方案是一個(gè)區(qū)塊鏈,它存儲(chǔ)每個(gè)人的身份,并由他工作的機(jī)構(gòu)進(jìn)行驗(yàn)證。例如聯(lián)合利華可以保證員工的身份,或者莫拉圖瓦大學(xué)甚至可以保證我是計(jì)算機(jī)科學(xué)與工程系的學(xué)生。這使得區(qū)塊鏈可以為用戶創(chuàng)建一張?zhí)摂M名片,該名片由用戶手機(jī)中的生物識(shí)別技術(shù)保護(hù)。這不是一個(gè)適用于單個(gè)組織的網(wǎng)絡(luò),而是一個(gè)完整的組織網(wǎng)絡(luò)。這樣就可以確定任何訪問者的身份。

這個(gè)系統(tǒng)的操作相當(dāng)簡(jiǎn)單。當(dāng)用戶訪問公司時(shí),他可以通過自己手機(jī)上的生物識(shí)別傳感器來確認(rèn)自己的身份,從而在前臺(tái)申請(qǐng)進(jìn)入。接待員將立即保證訪問者的身份。如果客人已經(jīng)被邀請(qǐng),系統(tǒng)將自動(dòng)允許他進(jìn)入。

選擇一個(gè)區(qū)塊鏈

我的任務(wù)之一是為上述系統(tǒng)創(chuàng)建區(qū)塊鏈。這給了我一個(gè)親身體驗(yàn)區(qū)塊鏈技術(shù)的機(jī)會(huì),讓我看看炒作到底是怎么回事以及看看技術(shù)細(xì)節(jié)。

我必須做的第一個(gè)決定是選擇使用哪個(gè)區(qū)塊鏈平臺(tái)。經(jīng)過一番研究,我把選擇范圍縮小到兩個(gè)。以太坊和Linux基金會(huì)的Hyperledger。兩者之間有很多區(qū)別,但關(guān)鍵是以太坊是一個(gè)公共區(qū)塊鏈,更適合B2C用例,并且使用工作證明,而Hyperledger是一個(gè)私有區(qū)塊鏈,更適合B2B用例。在這一點(diǎn)上,顯然最好的選擇是使用Hyperledger。我不僅對(duì)開發(fā)一個(gè)簡(jiǎn)單的B2B解決方案感興趣,而且對(duì)Hyperledger比以太坊更適合保護(hù)企業(yè)的隱私和規(guī)模更感興趣。

如果決定使用Hyperledger Composer(這是一個(gè)設(shè)計(jì)區(qū)塊鏈的有用框架)。這里提供了文檔,其中包括一些非常有用的教程。

除了所有需要完成的樣板代碼和設(shè)置(在文檔中有很好的解釋)之外,區(qū)塊鏈的開發(fā)實(shí)際上只涉及3個(gè)腳本,即模型、邏輯和訪問控制。

該模型定義了網(wǎng)絡(luò)中的資產(chǎn)以及參與網(wǎng)絡(luò)的參與者。例如,如果我們開發(fā)一個(gè)用于交易商品的區(qū)塊鏈,那么該商品將被視為一種資產(chǎn)。它們與java對(duì)象非常相似,我們可以定義它們的屬性。在這種情況下,參與者將是交易員。我們還必須在模型文件中定義事務(wù)。

邏輯就是奇跡發(fā)生的地方。這是設(shè)計(jì)事務(wù)邏輯的地方,可以用它來編寫智能合約。最后,訪問控制腳本定義了區(qū)塊鏈不同用戶的訪問級(jí)別。這與SQL中的用戶權(quán)限非常相似。

這些概念可能很簡(jiǎn)單,但是將業(yè)務(wù)問題(即使是簡(jiǎn)單的問題)轉(zhuǎn)換為模型、邏輯和訪問格式并不是那么簡(jiǎn)單。經(jīng)過多次策劃,我設(shè)計(jì)出了一個(gè)適合我們?cè)L客管理問題的網(wǎng)絡(luò)。

這個(gè)網(wǎng)絡(luò)只需要兩種類型的資產(chǎn),即密鑰和密鑰鏈。密鑰鏈用于聚合不同的門,以便門可以被分組到訪問級(jí)別。每個(gè)密鑰鏈都有一個(gè)員工列表,這些員工可以訪問稱為密鑰持有者的特定門集。在這里,門類型是一個(gè)特殊的用戶定義對(duì)象,指定它是辦公室門還是家庭門。

asset Keychain identified by keychainId{

o String keychainId

--》 Owner owner

o DoorType type

--》 Employee[] keyholders }

asset Door idenTIfied by doorId {

o String doorId

o String password

--》Keychain chain }

網(wǎng)絡(luò)中的參與者有三種類型,即雇員、人員和所有者。所有者是企業(yè)的管理員,他們可以決定授予員工的訪問級(jí)別。一個(gè)獨(dú)立的人,因?yàn)榭赡艽嬖谥粋€(gè)不屬于任何組織的人(他可能只是一個(gè)訪客),一個(gè)公司的雇員。一個(gè)人被企業(yè)的所有者授予的雇員。

parTIcipant Owner idenTIfied by ownerId {

o String ownerId

o String name

}

parTIcipant Employee identified by employeeId {

o String employeeId

--》 Owner company

--》 Person employee

o String post

}

participant Person identified by id {

o String id

o String name

}

對(duì)于該網(wǎng)絡(luò),只定義了少量的事務(wù),這表示系統(tǒng)必須提供的最基本服務(wù)。除了grantAccess和revokeAccess事務(wù),還有一個(gè)tempAccess事務(wù),允許員工使用智能合約邏輯臨時(shí)訪問自動(dòng)過期的房間。

transaction TempAccess {

--》 Keychain chain

--》 Employee employee

o DateTime expiry

}

transaction RevokeAccess {

--》 Keychain chain

--》 Employee employee

}

transaction GrantAccess {

--》 Keychain chain

--》 Employee employee

}

現(xiàn)在講講邏輯。實(shí)際的代碼相當(dāng)簡(jiǎn)單,創(chuàng)建執(zhí)行上面定義的每一個(gè)事務(wù)的函數(shù)是一件簡(jiǎn)單的事情。例如,在執(zhí)行g(shù)rantAccess函數(shù)時(shí),將grantAccess事務(wù)作為參數(shù)(如上文所定義,grantAccess事務(wù)同時(shí)具有一個(gè)雇員和一個(gè)keychain。該交易的目的是讓部分雇員訪問該鑰匙鏈),所有需要做的是把雇員的身份證進(jìn)入鑰匙鏈名單的關(guān)鍵持有人。下面給出了授予和撤消訪問權(quán)限的代碼。

* Revoke access from a person

* @param {org.example.mynetwork.RevokeAccess} rAccess- the trade to be processed

* @transaction

*/

function revokeAccess (rAccess) {

index =-1;

count =0;

console.log(rAccess.chain.keyholders[0].employeeId)

for (i in rAccess.chain.keyholders){

if (rAccess.chain.keyholders[count].employeeId == rAccess.employee.employeeId){

index = count;

}

count+=1;

}

var NS = “org.example.mynetwork”;

keyholderArray = rAccess.chain.keyholders;

if (index 》 -1){

keyholderArray.splice(index, 1);

rAccess.chain.keyholders = keyholderArray;

}

return getAssetRegistry(NS + ‘.Keychain’)

.then(function(keychainRegistry){

return keychainRegistry.update(rAccess.chain);

})

}

/**

* grant access to a person

* @param {org.example.mynetwork.GrantAccess} gAccess- the trade to be processed

* @transaction

*/

function grantAccess (gAccess) {

var NS = “org.example.mynetwork”;

gAccess.chain.keyholders.push(gAccess.employee);

return getAssetRegistry(NS + ‘.Keychain’)

.then(function(keychainRegistry){

return keychainRegistry.update(gAccess.chain);

})

}

最后,我們需要為區(qū)塊鏈設(shè)置訪問控制權(quán)限。這可以通過制定規(guī)則來實(shí)現(xiàn)。有詳細(xì)描述規(guī)則的作用、規(guī)則所適用的參與者、一種操作類型(例如READ或ALL)、一種受規(guī)則約束的資源和一個(gè)動(dòng)作:允許或拒絕。此外,還可以添加一個(gè)稱為條件的額外屬性,這是非常有用的。然后我們檢查允許企業(yè)所有者將屬于該企業(yè)的門授予某些員工的權(quán)限的規(guī)則。

rule OwnerGrantAccess {

description: “Allow a business owner to grant access to an employee or visitor, to a keychain in his own business, as well as create and delete keychains”

participant(p):“org.example.mynetwork.Owner”

operation: ALL

resource(k): “org.example.mynetwork.Keychain”

condition: (k.owner.getIdentifier()==p.getIdentifier())

action: ALLOW

}

在這里,所有者有能力修改屬于其企業(yè)的密鑰鏈,以便將新雇員的ID推入其關(guān)鍵客戶列表,從而允許該雇員訪問該門。然而,我們必須確保某個(gè)企業(yè)的所有者只能進(jìn)入屬于自己組織的門,而不是作為區(qū)塊鏈一部分的各個(gè)組織的所有門。因此,我們使用條件屬性來檢查密鑰的所有者是否是參與者。

以下是應(yīng)用于區(qū)塊鏈的其他一些規(guī)則。

rule OwnerManageDoor {

description: “Allow an owner to create and manage a new door which belongs to his keychain”

participant(p): “org.example.mynetwork.Owner”

operation: ALL

resource (d): “org.example.mynetwork.Door”

condition: (d.chain.owner.getIdentifier()==p.getIdentifier())

action: ALLOW

}

rule OwnerManageEmployee {

description: “Allow the owner to create and manage an employee”

participant(p): “org.example.mynetwork.Owner”

operation: ALL

resource(e): “org.example.mynetwork.Employee”

condition: (e.company.getIdentifier()==p.getIdentifier())

action: ALLOW

}

一旦這三個(gè)腳本準(zhǔn)備好了,我們就可以用幾個(gè)控制臺(tái)命令將區(qū)塊鏈變成一個(gè)REST服務(wù)器,我們的區(qū)塊鏈終于啟動(dòng)了!

訪客者管理的這一概念不一定只適用于辦公室。假設(shè)你一個(gè)人在家,有一個(gè)比薩送貨員在你的門口。有了這項(xiàng)技術(shù),你就可以保證在你向陌生人打開你的大門之前他確實(shí)是來自必勝客的!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉