也許以加密貨幣而聞名,區(qū)塊鏈技術(shù)也可以成為嵌入式系統(tǒng)的強大工具。暫時擱置比特幣,考慮一下區(qū)塊鏈提供了什么:跨分布式系統(tǒng)的經(jīng)過驗證的、不可變的操作記錄,具有強大的安全功能。如果需要,可以對區(qū)塊鏈的實際內(nèi)容進行加密 - 提供保密性和完整性。
這些功能可以通過多種方式使用。它們的范圍從收集傳感器數(shù)據(jù)的可靠方法到構(gòu)建更安全的命令和控制系統(tǒng),即使在存在系統(tǒng)故障、通信降級以及邊界內(nèi)受損或敵對節(jié)點的情況下也能正常工作。
雖然區(qū)塊鏈可以使用標(biāo)準(zhǔn)化框架(如Hyperledger或Ethereum)實現(xiàn),但它也可以使用自定義系統(tǒng)來實現(xiàn)以滿足特定需求。嵌入式系統(tǒng)可能會使用自定義區(qū)塊鏈實現(xiàn)來滿足這些系統(tǒng)的功能、性能和功能要求。
區(qū)塊鏈和鏈
在最基本的層面上,區(qū)塊鏈由兩個部分組成:塊,它是一組數(shù)據(jù),鏈?zhǔn)乔耙粋€區(qū)塊中數(shù)據(jù)的哈希,用于建立塊之間的鏈接。任何修改塊的嘗試都將更改該塊的哈希值,與下一個塊中記錄的哈希值相比,會產(chǎn)生驗證失敗。您可以通過讀取每個塊并根據(jù)下一個塊對其進行驗證來跟蹤區(qū)塊鏈的整個歷史記錄。
雖然一個塊可以包含單個數(shù)據(jù)片段,但為了提高效率,通常將幾條數(shù)據(jù)放置在單個塊中。除了保存數(shù)據(jù)之外,區(qū)塊鏈的一個特殊優(yōu)勢是它可以處理交易——數(shù)據(jù)狀態(tài)的變化。區(qū)塊鏈為在分布式環(huán)境中處理交易提供了一種優(yōu)雅的方法——即使在不受信任的環(huán)境中和不安全的傳輸中也是如此。
區(qū)塊鏈系統(tǒng)由幾個組件組成。它包括旨在創(chuàng)建和提交數(shù)據(jù)或交易的系統(tǒng);按順序處理事務(wù)的序列化服務(wù)器;驗證交易并創(chuàng)建要添加到區(qū)塊鏈的官方區(qū)塊的驗證服務(wù)器;以及已驗證區(qū)塊的分配機制。
區(qū)塊鏈在行動
考慮一個受污染地點的例子,例如科德角的前軍事基地。在這里,數(shù)十年的燃料泄漏和彈藥測試污染了正在修復(fù)的土壤和地下水。
在一般情況下,地下水和空氣可能由100個傳感器監(jiān)測,并且可能有一個過濾系統(tǒng),其流速可以每分鐘改變一次。土地所有者(造成污染的人)、環(huán)保組織、政府監(jiān)督機構(gòu)和進行補救的公司都在密切關(guān)注。各方都希望訪問數(shù)據(jù)、數(shù)據(jù)的永久記錄以及數(shù)據(jù)有效性的證明。由于這些團體有相反的觀點,因此對能夠證明記錄沒有被篡改有濃厚的興趣。假設(shè) 100 個傳感器全部聯(lián)網(wǎng),每分鐘報告一次。有一個監(jiān)控網(wǎng)關(guān),用于收集和連接傳感器數(shù)據(jù),過濾系統(tǒng)的命令流經(jīng)網(wǎng)關(guān)。
每個傳感器獲取當(dāng)前值、傳感器標(biāo)識符和時間戳,使用傳感器私鑰將它們連接并散列,并使用 MQTT [消息隊列遙測傳輸] 等協(xié)議將這四個數(shù)據(jù)元素發(fā)送到網(wǎng)關(guān)。每個傳感器都需要具有唯一的標(biāo)識和私鑰;這些可以在制造過程中進行硬編碼,閃存到固件中,或者在將每個傳感器配置到系統(tǒng)中時分配。
網(wǎng)關(guān)將來自多個傳感器的傳感器數(shù)據(jù)合并到一個塊中,為塊添加時間戳,使用其私鑰對塊進行哈希處理,并將此組合塊發(fā)送到后端系統(tǒng),可能在云中運行。強大的通信可以通過更高級的消息傳遞系統(tǒng)來實現(xiàn),例如AMQP [高級消息隊列協(xié)議],它集成到后端系統(tǒng)上運行的復(fù)雜應(yīng)用程序中。
此時,驗證服務(wù)器將驗證原始區(qū)塊鏈數(shù)據(jù),可能使用特定應(yīng)用程序的自定義代碼。驗證服務(wù)器可以驗證數(shù)據(jù)在傳輸過程中是否未被修改,并可以應(yīng)用其他檢查。
可以使用單個驗證服務(wù)器或多個驗證服務(wù)器。您可能希望擁有兩臺驗證服務(wù)器(可能位于修復(fù)公司和政府機構(gòu)),并要求兩臺服務(wù)器在發(fā)布塊之前對其進行驗證。驗證服務(wù)器使用加密哈希及其私鑰對塊進行簽名。
一旦數(shù)據(jù)塊經(jīng)過驗證,副本就會發(fā)送給所有相關(guān)方。結(jié)果是每個實體都有自己的數(shù)據(jù)副本,他們可以獨立驗證數(shù)據(jù)的來源,并且沒有記錄被修改或篡改。
密碼學(xué)關(guān)注
使用密碼學(xué)的一個問題是計算要求。所使用的加密可以滿足需求。例如,傳感器可以使用簡單的哈希算法,如SHA-1。雖然 SHA-1 被認為是不安全的,但它可能仍然適用于此用例。網(wǎng)關(guān)將使用更安全的算法,例如 SHA-256。驗證服務(wù)器也可能使用 SHA-256,但在專用 HSM(硬件安全模塊)中執(zhí)行簽名操作。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2573文章
53917瀏覽量
781292 -
嵌入式
+關(guān)注
關(guān)注
5177文章
19997瀏覽量
325273
發(fā)布評論請先 登錄
入行嵌入式應(yīng)該怎么準(zhǔn)備?
飛凌嵌入式2025嵌入式及邊緣AI技術(shù)論壇圓滿結(jié)束
飛凌嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」議程公布
嵌入式去哪個城市好?
使用Lattice mVision打造嵌入式視覺系統(tǒng)解決方案
嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術(shù)
新手怎么學(xué)嵌入式?
嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決
【「嵌入式系統(tǒng)設(shè)計與實現(xiàn)」閱讀體驗】+ 初步印象
mmc卡在嵌入式系統(tǒng)中的使用
利用能量收集技術(shù)實現(xiàn)永久運行的嵌入式系統(tǒng)

嵌入式系統(tǒng)的區(qū)塊鏈技術(shù)介紹
評論