區塊鏈應用於物聯網:一種應用於物聯網的,可擴充套件訪問管理的體系結構
Title:區塊鏈應用於物聯網:一種應用於物聯網的,可擴充套件訪問管理的體系結構 Abstract:物聯網正在從它的嬰兒期走出去,進入完全的成熟期,並且它正在使自己成為未來網際網路的一員。對於部署在全球數十億的裝置的管理能力,是其中一個技術挑戰。雖然物聯網中已經出現訪問管理技術,但是這些技術都基於集中式框架,這種框架引進了一些新的全球管理裝置的技術限制。在這篇論文中,我們提出了在物聯網中對於仲裁角色(仲裁規則?)和許可權的一個體繫結構(新框架)。這個新體系結構是一個針對物聯網的完全分散式的訪問控制系統,它基於區塊鏈技術。這個體系結構被一個概念實現的驗證所支援(?)並且在現實的物聯網場景中被評估。結果顯示,區塊鏈技術可以在特定的可擴充套件物聯網場景中被用作訪問管理技術。 Index Terms:訪問控制,區塊鏈,物聯網,智慧合約 Introduction: 到2022年,預計將有180億臺裝置,物聯網已經成為一項在很多垂直市場(?)具有巨大影響力的技術。可以預見,物聯網服務將在全球範圍內提供數百萬個簡單的,有時是微小的裝置。除此之外,許多物聯網裝置的受限能力,以及當前基於中心化和分層結構的訪問控制系統,在物聯網領域創造了新的挑戰。 集中式訪問控制系統——也被稱為客戶/伺服器模式,是被設計來滿足傳統的面向網際網路的人—機互動場景需求,這些場景中的裝置位於同一信任域內,這通常需要集中式訪問管理。然而,一些物聯網場景要比傳統的物聯網場景更動態,其中物聯網裝置可能是移動的,並且在其生命週期中屬於不同的管理社群(?)。另一方面,物聯網裝置可以同時被許多管理者管理。此外,許多物聯網裝置和受限的管理器(?)將在CPU,記憶體和電池資源方面被限制以至於不能使用當前的系統去合理的執行。今後,需要新的方法解決這個問題。 在這篇論文,我們提出了一種新的體系結構來管理物聯網裝置。這種體系結構提供了一種分散式訪問控制系統,這個系統連線著地理上的分散式感測器網路。該解決方案基於區塊鏈技術,而訪問控制策略則由其執行。通過採用區塊鏈,該解決方案消除了集中式訪問管理。相反,當訪問控制查詢和更新很頻繁時,一個單一的集中式訪問控制伺服器可能變成一個瓶頸。 與其他的集中式系統方案相比,我們的方案為物聯網中的訪問控制帶來了如下優勢: 1)移動性:該體系結構可用於獨立的管理系統或領域。因此,每一個管理域都有自己的自由來管理物聯網裝置,同時訪問控制策略仍然由區塊鏈中的規則執行。 2)可訪問性:在一些物聯網系統,受限的管理者或許使用睡眠模式,這使得連續的直接訪問他們不可行。該解決方案使得訪問控制規則隨時可用。另外一些管理伺服器中的故障不會破壞對資訊的訪問;所有訪問控制資訊都是分散式的。 3)併發性:一個受約束的裝置可以同時有多個管理器,並且所有管理器可以同時訪問或修改訪問控制策略。 4)輕量級:物聯網裝置採用我們的解決方案不需要任何修改。此外,管理者和物聯網裝置之間的通訊通過區塊鏈網路發生,從而實現跨平臺通訊。 5)可擴充套件性:一個受限的管理器仍然可以使用我們的解決方案處理多個物聯網裝置,因為物聯網裝置不能直接從管理器訪問訪問控制策略資訊。此外,我們的解決方案支援許多物聯網裝置通過不同的受限網路連線到一個單一的區塊鏈。 6)透明性:系統隱藏物聯網裝置的位置並且隱藏訪問資源的方式。 特別是,本文致力於利用區塊鏈技術設計一種新的物聯網分散式訪問控制體系結構。我們的方案與其他解決方案的不同之處在於,它採用特定的設計,以避免將區塊鏈技術整合到物聯網裝置中。這提高了我們的方案在大量物聯網場景中的可用性,但功能有限。相對於其他解決方案,該設計執行在單一的智慧合約中,從而簡化了在區塊鏈網路中的整個過程並且減少了節點之間的通訊開銷。此外,訪問控制資訊實時提供給物聯網裝置。總之,在我們的方法中區塊鏈技術是專門設計的,以更好地處理可擴充套件性,並且在輕量級物聯網應用場景中實現比當前解決方案更好的結果。 本文其餘部分結構如下。章節II和III分別描述體系結構和實現。章節IV描述用於評估體結構的設定,並給出了測量結果。章節V分析了系統的安全性。章節VI介紹了物聯網中的相關訪問控制技術,章節VII對這篇論文進行了總結。 A、區塊鏈 比特幣的公共分類賬—區塊鏈—由Nakamoto於2009年首次引入。比特幣是第一個廣泛使用的點對點無信任電子現金的實施。此後,許多其他形式的電子貨幣(稱為加密貨幣)也使用類似的結構創造出來。同時,多年來,不同的應用程式使用區塊鏈來實現加密貨幣以外的其他方案。新的概念,如智慧合約和智慧財產,已經進入這個場景。智慧合約[6]是一種計算機協議,用於促進、驗證或執行合約的談判或履行。它們能夠直接跟蹤和執行各方之間的複雜協議,而無需人工互動。另一方面,智慧財產是一種協議,其所有權通過區塊鏈控制,使用合同。 區塊鏈技術的潛在用途超過了比特幣。區塊鏈技術有如下特性。 1)分散式控制:一個沒有中心機構控制規則的分散式方案。 2)資料透明度和可審計性:在系統中執行的每個交易的完整副本被儲存在區塊鏈中,並且對所有成員公開。 3)分發資訊:每一個網路節點儲存一份區塊鏈副本,以避免有一個權力中心不公開的儲存所有資訊。 4)分散式共識:交易由網路的所有節點驗證,而不是一箇中心的實體。這打破了集中式共識的模式。 5)安全:區塊鏈是防篡改的並且不能被惡意的成員操縱。 這些都是區塊鏈技術的主要優勢。區塊鏈的安全、分散式和自主能力使它成為一個理想的組成部分,變成物聯網解決方案的基本元素。 區塊鏈結構 B、區塊鏈技術 區塊鏈是一個分散式資料庫,它不需要中心權力機構並且消除了第三方驗證的需求。區塊鏈包含一組塊,並且每個塊包含前一個塊的雜湊,建立從源塊到當前塊的一系列塊。源塊是區塊鏈中的第一個塊。源塊幾乎總是硬編碼到軟體中。這是一種特殊情況,因為它不引用前一個塊。對於區塊鏈上的任何塊,總是隻有一條通向源塊的路徑。然而從源塊開始會有叉子。當兩個塊相隔幾秒建立時,產生分叉。當出現這種情況時,選擇在最長有效鏈上最新的塊。最長有效鏈的計算基於鏈的綜合複雜度,而不是塊的數量。較短鏈上的塊被認為是無效塊並且通常被成為孤塊。 塊有一系列交易。一個交易是不同實體之間的值傳遞,他被廣播到網路並且儲存到區塊中。所有交易在區塊鏈中可見。這些交易被所謂的集體礦工或單獨礦工開採成一個區塊。集體礦工技術是一種挖掘方法,在這種方法中,有許多被稱作礦工的機器致力於產生區塊。集體礦工或單獨礦工是新增交易記錄到區塊鏈的實體。這個過程稱作挖礦。挖礦被特別的設計為資源密集型和困難型。 每個塊必須包含工作量證明,才能在區塊鏈中被視為有效。其他礦工每次收到塊時,都會驗證POW。挖礦最初的目的是允許系統中的節點達到安全、防篡改的共識。挖礦也是一種用於在系統中創造新加密貨幣的機制(例如比特幣)。當礦工驗證了一個塊,礦工被支付交易費以及確定數量的新比特幣。這個方法目的在於用分散式的方式散播新比特幣,併為系統提供安全保障。系統自動適應網路的總挖掘功率,使其保持特定時間內不變(例如10分鐘比特幣)。工作量的困難目標也會根據整個網路效能在每一特定數量區塊後調整。一個交易需要時間到達網路中的所有節點,並且延遲時間用於確保每個交易被網路中的所有節點驗證,避免被稱為雙重支出的問題。雙重支出是同時使用某種加密貨幣多次的結果。 共識是分散式系統的一個基本問題,它需要兩個或多個代理在計算所需的給定值上達成一致。其中一些代理可能不可靠,因此共識過程需要依賴。區塊鏈可以使用不同的共識演算法。它們其中包括工作量證明機制,權益證明,儲存證明,燒傷證明,或者能力證明。 每個區塊的工作量證明保證了產生一個新區塊的特定差異水平,分散式共識強制區塊鏈中每個塊的有效性。如果一致同意接受一個新的塊,新的塊將被新增到區塊鏈中,並且礦工將不得不以該塊作為參考開始開採。每個塊一旦被新增到區塊鏈,在計算上就無法修改,因為整個區塊鏈也必須重新生成。 PoS是PoW的替代方案。PoS建立在這樣一個概念上,該即只有系統中擁有資產的節點可以參與區塊鏈增長的共識過程中。雖然PoW方法強制礦工重複執行繁重(?)的雜湊演算法去驗證交易,但是PoS要求成員證明是確定數量貨幣的擁有者。(例如他們在貨幣中的股份) C、區塊鏈的實現 區塊鏈技術可以通過多種方式使用,而不僅僅是作為數字貨幣系統,例如使用區塊鏈作為構建軟體的基礎技術。本章節描述了我們所認為的一些流行的區塊鏈系統及其突出特點。一下系統主要致力於在區塊鏈技術的基礎上構建軟體應用程式。 1)比特幣:比特幣是第一個被概念化和實施的區塊鏈,並且它是一種作為數字金融資產的加密貨幣。比特幣使用公鑰密碼,點對點網路和工作量證明機制進行交易和驗證。比特幣被程式設計為每十分鐘建立一個新區快。如果一個分叉不最長計算鏈的一部分,它就會變成一個過時的區塊。 值得注意的是,比特幣中沒有餘額,或者更確切地說,區塊鏈中只有未使用的交易輸出(UTXO)。每當收到一些比特幣時,它們都被記錄為UTXO。因此,向某人傳送一個比特幣實際上意味著建立一個與接收者地址相對應的UTXO。一個交易輸出通常由兩個欄位組成,即金額和鎖定指令碼。鎖定指令碼規定了花費UTXO需要滿足的條件。一個satoshi是可傳送金額的最小面額。 2)以太坊:以太坊由比特幣的開發商於2013年設計出,他想要建立一個平臺,以促進區塊鏈上分散式應用程式的開發。以太坊有自己的加密貨幣即以太幣ether,和一種內部貨幣即gas,去支付計算和交易費用。分散式應用可以用被稱為Solidity的內建圖靈完備語言進行程式設計。一個圖靈完備語言,指的是在充足時間和空間的前提下,可以解決任何計算問題的程式語言。 以太坊使用工作量證明作為自己的共識機制,但很快轉向PoS。以太坊當前使用的工作量證明演算法的基本構造是一種記憶體硬橋雜湊演算法,稱為Dagger-Hashimoto。區塊的產生時間明顯低於許多其他系統,約為12秒。由於塊建立時間越短,陳舊塊的速率越高,系統使用GHOST協議將計算量最大的鏈為主區塊鏈。在這種情況下,最大的鏈也包括過時塊。 3)root stock:rootstock是一個新的開源平臺,在圖靈完備的智慧平臺上建立智慧合約方面與以太坊非常相似,只是它利用比特幣生態系統來實現這一點。該平臺的優勢在於它作為比特幣側鏈存在,並且與以太坊虛擬機器向後相容。這意味著所有以太坊合約都可以很容易地在根股票上執行。然而,他們最大的優勢是,他們可以與比特幣合併開採,從而使股票安全。側鏈是一個獨立的區塊鏈,其資產可以轉移到主區塊鏈或從主區塊鏈轉移,即比特幣區塊鏈。 4)Hyperledger是一個由Linux基金會託管的專案,它是跨行業的合作專案。該系統的設計考慮到了企業體系結構以及可定製的網路規則,這些規則有助於不同的共識協議的執行。它從比特幣中借用了utxo和基於指令碼的邏輯,如第I-C1節所述,並使用實際的拜占庭容錯(pbft)[12]共識協議而不是POW演算法。眾所周知,PBFT每秒處理數千個請求,延遲增加不到一毫秒。 Conclusion:在本文中,我們解決了管理對物聯網中數十億受限裝置的訪問的可擴充套件性問題。當然,集中訪問控制系統缺乏有效處理增加負載的能力。本文介紹了一種新的訪問管理系統,它可以緩解與管理眾多受限物聯網裝置相關的問題。該解決方案是完全分散的,基於區塊鏈技術。由於大部分物聯網裝置在很大程度上被限制直接支援區塊鏈技術,因此我們設計的物聯網裝置不屬於區塊鏈網路,這使得當前物聯網裝置的整合更容易適應我們的系統。 本文的目標是為物聯網提供一個通用的、可擴充套件的、易於管理的訪問控制系統,並實現一個驗證我們設計的POC原型。根據我們的實施和評估,我們的解決方案可以很好地擴充套件,因為許多受約束的網路可以使用稱為管理中心節點的特定節點同時連線到區塊鏈網路。此外,擁有分佈在整個區塊鏈網路周圍並以不同方式連線到受約束網路的不同管理中心節點的多功能性為我們的解決方案提供了相當高的靈活性。一般來說,我們的解決方案能夠適應各種物聯網場景,前提是區塊鏈技術能夠充分利用物聯網技術。