Your browser is out of date. It may not display all features of this websites. Learn how to update your browser.

OK
立即配置您的視覺系統 Webshop

區塊鏈、分散式帳本和可信賴第三方 -

為何 IoT 感測器製造者應該注意?

未來,感測器資料會傳送到雲端,以在複雜的 IoT 架構中進行處理。在工業 IoT 應用中,這類資訊傳播透過區塊鏈網路進行,和集中化資料庫相比,有什麼優勢?

還有,區塊鏈到底是什麼?

區塊鏈是一種「公開、分散式的帳本,可用以高效率、可驗證且永久的方式來記錄雙方交易」[1]。區塊鏈技術大在約十年前的 2009 年 1 月 3 日問世。

在初始創世區塊之後,另一個區塊利用加密雜湊方式附加上去 (由所謂「礦工」完成[2])。 必須更新整條區塊鏈的每個複製版本,不然先前的區塊均不可更動、交換順序或刪除。系統中的每個節點,都擁有一分區塊鏈的複製版本。由於這種機制,愈多人執行節點時,區塊鏈就愈可靠。不論是什麼資料,一旦寫入區塊鏈,就再也無法變更 (或偽造)。區塊鏈和其最有名的應用「比特幣」,現已成為全世界的現象;寫入區塊中的資料是各方交易的「財務」資料,使其成為電子帳本。所以區塊鏈有時也稱為分散式帳本。

區塊鏈案例:比特幣

區塊鏈案例:比特幣

由於每個節點都獨立於其他節點運作,而且全都擁有該區塊鏈 (或帳本) 的複製版本;沒有任何個人負責維護一個集中認證版本,所有人手上的都是真正的區塊鏈。因此無需信賴第三方 (TTP) 的存在。比特幣又稱為加密貨幣,是因為其架構確保沒有人可以自行「印鈔」或產生比特幣,導致幣價下跌。一般貨幣是由國家的中央銀行發行,這可能成為故障點。去中心化貨幣比特幣則獨立於任何「國家壓力」之外。比特幣無需信賴第三方,但也無法以服務阻斷 (Denial of Service, DoS) 技術加以攻擊;維持實際運作也不需要任何費用。

Visa 在信用交易方面具有相同的功能。但因其並未採用分散式技術,因此每年都需投入巨額資金來保護其集中化主從式架構,以免於 DoS 攻擊。全球數百萬個客戶端 (刷卡終端機) 都連上其主伺服器。Visa 確保其系統與資安的效能表現;他們和信賴第三方都收取可觀費用,以做為其投入的補償。

所有資料的去向是?

未來的 IoT 世界中,顯然會有幾十億個感測器;這麼多資料都去哪了?即使有人能夠建置出高效率、可對抗 DoS 攻擊的集中化主從式網路,我們想讓單一公司來控制全球所有的感測器資料嗎?感測器資料可以直接存在帳本中,個別客戶可以與特定感測器連線,自行取得其資料,不需要信賴第三方當做中介者,而且安全又便宜。

所有資料的去向是?

智慧合約的觀念和挑戰

智慧合約是以電腦程式語言寫成,在區塊鏈的各個節點上執行。預先定義的輸入,會帶來預先定義的輸出 (理想上就和法律文件一樣)。這些智慧合約的「決定」值得信賴,是因為其執行於所有節點上,且其結果以透明、可驗證、具永久性的方式記錄在區塊鏈上。

智慧合約在虛擬機器中執行,而虛擬機器和其運作其上的硬體無關,因為合約必須能在所有可能的節點上運作,因此無法存取任何硬體或感測器資訊。另一個主要的技術困難在於:智慧合約係在所有節點上運作,但如果只有某個感測器提供某項資訊,當然不能讓多達數百萬個節點,在同一時間向同一個感測器索取同一份資訊。

比特幣的競爭者以太坊是首先實作智慧合約的區塊鏈,他們已開始研究一種解決方案:預測機 (oracles)。

可能的解決方案:預測機 (oracles)

預測機是一種網路中的特殊節點,用以對智慧合約提供資訊。硬體感測器提供其資訊給預測機,再傳播到整條區塊鏈。預測機的運作有如資料代理。

智慧合約的觀念和挑戰

信賴問題

然而,這裡再次出現信賴的問題。測試機所在的位置,可以在感測機的資料送達區塊鏈之前加以變更。過去在區塊鏈中,無需第三方信賴者,交易的資料也值得信賴,但預測機提供者必須可信賴。預測機提供者必須由集中化認證系統來認證完成。然而這就表示仍然需要第三方信賴者 (只是形式不同而已),而且還是集中化的 (就像可信賴的網頁需要 Verisign 一樣)。對認證提供者或預測機發動簡單的服務阻斷攻擊,就足以讓整個 IoT 系統停擺。

其中一種方式是把資料提供給多個不同的預測機,並運用冗餘。然而對多數組織來說,要設定足夠的預測機,成本太過昂貴。可通用代管的開源預測機伺服器,或許能作為資料伺服解決方案之用,但無法解決信賴問題。

憑證只能確保預測機節點的「可信度」。但提供資訊的感測器可能遭到攻擊,而預測機無法得知此事;更糟的是,預測機也不在乎。預測機生產者只負責對區塊鏈提供資訊服務,無法實際查核所有感測器提供者。

當然感測器提供者也可以自行通過認證,並表示其硬體/韌體無法駭入且值得信賴。但這又會帶來信賴第三方問題、造成顧客鎖定,提高你的系統成本。

當需要這類信賴第三方介入時,使用去中心化信賴區塊鏈,就可能帶來問題。因為一個「標準」的資料庫集中網路能帶來相同的功能和效率,以及同樣的缺點。

信賴問題
理想的解決方案:值得信賴的相機感光元件

理想的解決方案:值得信賴的相機感光元件

理想的解決方案可能是感測器生成的資料,可以由終端用戶來驗證 (透過智慧合約),來查看從感測器送出後是否遭到竄改。

舉相機感光元件為例,第一步是將影像進行雜湊運算,並儲存該雜湊值。畫面送到終端用戶時,用戶可以將收到的雜湊值來和自己運算出的雜湊值進行比對。如果兩者不相符,就表示影像已經遭到竄改。額外資訊也可以和影像資料一同加進雜湊中,例如韌體。這樣可讓該影像專屬於某個特定相機和韌體。其他系統中的本機感測器,也可將其資料送到相機模組中以進行雜湊運算,之後再送到區塊鏈。該影像可以由終端用戶用以檢查其感光元件資料是否遭到竄改。

這只是信賴相機感光元件的一個範例 [3]。對其他感測器來說還有多種可能性。

結論

當代點對點區塊鏈網路,運作時無需集中化信賴第三方介入。這可帶來更好的擴展性,並且免除對付費信賴第三方的需求。不幸的是,感測器資料要傳送到鏈上智慧合約,需經過資料代理伺服器。為避免這些預測機伺服器為資料的壟斷,導入獨立演算法,讓相機感光元件產生的資料可以自我驗證。希望有更多感測器生產者採用這種方式,提供完全去中心化、免信賴第三方的網路。

參閱

[1] M. Iansiti, K.R.Lakhani "The Truth about Blockchain", Harvard Business Review, January 2017.

[2] D. Drescher, “Blockchain Basics”, mitp, Chapter 14, 2017.

[3] Patent Pending, B16000DE / FK, em 18-009.

Back to Webshop