Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
為什麼要用區塊鏈:區塊鏈 資料庫
去中心化(P2P) 中心化(client-server)
無法竄改 無法保證
具歷史資料 僅可更新資料
資料透明且共享 特定人士持有
區塊鏈智慧存證服務的特色:
不可否認之區塊鏈智慧存證服務
智慧合約自動化檢查
即時更新監測資訊並提供歷史紀錄查詢
去中心化 無法竄改 不可否認 分散式節點履歷追蹤
3
去中心化
資料分散各節點,不需要建置中心化硬體建設或機構資料不會被特定人士掌握住
集體維護
系統各區塊由所有節點共同維護,具有不易篡改特性
高度透明
採開源技術,確保帳簿和商業規則可被所有人檢視驗證
共識產生信任
從密碼技術(共識演算法)確保交易受信任, 不需第三方背書
可提供匿名
由於區塊鏈解決信任問題,因此交易可在匿名下進行(金融科技需要實名制)
4
安全性高、防駭
具備有明確時間點的完整資訊交換記錄
記錄的數據必須經半數以上節點驗證後生效,且不可否認
數據資料分散於P2P網路大量節點上,無法一一擊破
分散式的資料庫概念
區塊鏈實際上是一群分散的用戶節點組成的分散式資料庫
把一個資料庫分拆給多個電腦使用
資料庫無法被單一實體掌控
採用「分布式分類帳技術」,類似資料分持5
技術 一般 雜湊+簽章 雜湊+簽章+串鏈+P2P
圖示
問題解決
可竄改可刪除
不可否認,無法竄改,但是
可刪除
不可否認、無法竄改(個別與整體)無法刪除(個別與整體)
Blockchain的核心技術
可在彼此不信任環境建立共識,並使整體交易達到不可否認、可追蹤、無法竄改與刪除特性。
不僅能驗證每筆交易資料,亦可同時驗證可程式化的事件(例如:智能合約、自動清算、眾籌)。7
汙染防制監測於區塊鏈智慧存證服務案例介紹:
1) IoT裝置持續監控PM2.5數值
區塊鏈智慧存證服務
3) P2P 同步IoT裝置的監控資料
2) 透過區塊鏈API接收監控資料
4) 智能合約自動化執行異常警示通知
5) 透過區塊鏈共享式帳本提供完整歷史資料 8
環保意識抬頭,空氣品質日益嚴重,為了保障全民的健康福祉,需要公信力保障民眾環境安全,透過區塊鏈高安全性及不可否認的特性, 持續監測並儲存全台空氣品質的不可否認紀錄,達到稽核的效果。
空汙監測系統
空汙監測系統
空汙監測系統
空汙監測系統區塊鏈存證服務
........
..
每一個區塊紀錄pm2.5、溫度、濕度
透過區塊鏈高安全性以及不可否認的特性,有心人士(高汙染工廠、駭客……)無法竄改資料
民眾得到真實的數據
9
空汙監測區塊鏈存證應用介紹(1/2)
服務情境說明
提供透過區塊鏈的智慧合約自動化檢查,主動觸發告警通知1. 持續監測樹莓派Device的溫溼度及pm 2.5 sensor資料,並透過IoT的Rule-
Engine觸發數值超標的Event
2. IoT的Event呼叫區塊鏈REST API,透過Smart Contract紀錄異常資訊到區塊鏈系統
3. Smart Contract判斷異常條件達到自訂的警示標準時,會廣播區塊鏈的Event
4. 區塊鏈交易偵測機制會啟動IoT平台的Email通知功能
提供區塊鏈的圖形化展示5. 提供區塊鏈服務內部資訊的圖形化展示
10
空汙監測區塊鏈存證應用介紹(2/2)
Gateway(樹莓派)
Sensor
TLS VPN
Fixed, WiFi,3G/4G/5G
ZigBee, Bluetooth,Wired
DMP
區塊鏈服務區塊鏈API
建立帳戶 寫入 讀取
智慧合約 資料同步
1
2
3
4
5
IoT大平台
11
IoT區塊鏈智慧存證服務(1/7)
區塊鏈狀態與統計圖表之圖形化介面
4個分散式節點
目前區塊數目
區塊產生至今時間間隔
看成每公升油價
交易的油量使用上限
手續費=Gas 數量xGas
Price
區塊包含的交易數
區塊中的交易花費多少Gas
13
智慧合約判斷觸發,收到告警Email
兩次濕度觸發事件,數值差距過大
智慧合約會觸發Email發送功能
管理員便會收到告警電子郵件
區塊鏈智慧存證服務
(溫度濕度PM2.5三合一感測器)
(智慧合約)
IoT區塊鏈智慧存證服務(3/7)
15
新增區塊鏈帳戶(1/2)
Url: https://iot.cht.com.tw/api/blockchain/v2/account
Method: Post
Headers: Content-Type:application/json
Body: {"ProjectID":"<專案名稱>", "ProjectKey":"<專案密碼>"}
Response:
– 成功時以JSON格式回傳結果訊息
{"errorId": 0, "errorMessage": "","Account":"<區塊鏈帳戶>"}
– 錯誤時以JSON格式回傳結果訊息
{"errorId": -1, "errorMessage": "錯誤訊息"}21
查詢區塊鏈帳戶(1/2)
Url:https://iot.cht.com.tw/api/blockchain/v2/account?projID=<專案名稱>
Method: GET
Headers: 無
Body: 無
Response:
– 成功時以JSON格式回傳結果訊息
{"errorId": 0, "errorMessage": "",
"AccountInfo": {"Account": "<區塊鏈帳戶>" }}
– 錯誤時以JSON格式回傳結果訊息
{"errorId": -1, "errorMessage": "錯誤訊息"} 23
將值存入區塊鏈 不使用智能合約(1/2)
Url: https://iot.cht.com.tw/api/blockchain/v2/evidence
Method: POST
Headers: Content-Type:application/json
Body: {"PK01":"主鍵1", "PK02":"主鍵2", "PK03":"主鍵3", "SC":"no“
, "Parm01":"參數1", "Parm02":"參數2", "Parm03":"參數3",
"Parm04":"參數4", "Parm05":"參數5",
"EvidenceInfo":"Base64編碼資訊"}
Response:
– 成功時以JSON格式回傳結果訊息
{"errorId": 0, "errorMessage": " "}
– 錯誤時以JSON格式回傳結果訊息
{"errorId": -1, "errorMessage": "錯誤訊息"}25
將(最新)單筆或整批存證資料讀出區塊鏈(1/2)
Url: https://iot.cht.com.tw/api/blockchain/v2/evidence/latest?
pk01=<查詢的主鍵1>&pk02=<查詢的主鍵2>&pk03=<查詢的主鍵3>&
sc=no&parm01=<查詢的參數1>&parm02=<查詢的參數2>&
parm03=<查詢的參數3>&parm04=<查詢的參數4>&
parm05=<查詢的參數5>&datemore=<查詢時間>
Method:
Response:
– 成功時以JSON格式回傳結果訊息
{"errorId": 0, "errorMessage": " ",
"EvidenceInfo":"存證資料"}
– 錯誤時以JSON格式回傳結果訊息
{"errorId": -1, "errorMessage": "錯誤訊息"}
GET 備註
– pk01~pk03 - 查詢的主鍵
– parm01~parm05 - 查詢的一般參數
– group - 依群組做查詢
27
將(所有)單筆或整批存證資料讀出區塊鏈(1/2)
Url: https://iot.cht.com.tw/api/blockchain/v2/evidence/all?
pk01=<查詢的主鍵1>&pk02=<查詢的主鍵2>&pk03=<查詢的主鍵3>
&sc=no&parm01=<查詢的參數1>&parm02=<查詢的參數2>&
parm03=<查詢的參數3>&parm04=<查詢的參數4>&
parm05=<查詢的參數5>&datemore=<查詢時間>
Method:
Response:
– 成功時以JSON格式回傳結果訊息
{"errorId": 0, "errorMessage": " ",
"EvidenceInfo":"存證資料"}
– 錯誤時以JSON格式回傳結果訊息
{"errorId": -1, "errorMessage": "錯誤訊息"}
GET 備註
– pk01~pk03 - 查詢的主鍵
– parm01~parm05 - 查詢的一般參數
– group - 依群組做查詢
– datemore - 查詢大於等於某時間
– dateless - 查詢小於等於某時間29