結構化資料與證明
JWT vs LD-Proof 應用程式原理
5/31/2021
傳統
- 先有程式, 再有資料
- 資料結構定義在程式或資料庫裡
- 資料加密跟解密
- 後考慮個資問題
- 資料(加鹽)放在集中式電腦的硬碟裡
- 利用伺服器, 部署程式
未來
- 先有資料, 再有或甚至沒有程式
- 資料結構定義在網路上
- 資料天生加密
- 加密方法支援零知識證明
- 資料含(加密與簽章) 放在去中心化免費雲端或區塊鏈礦工的電腦硬碟裡
- 無伺服器 (serverless)
- 或邏輯都寫在智能合約裡
VC
A Verifiable Credential
(可確認的證明)
例如:
- 數位員工 ID
- 數位出生證明
- 數位學歷證明
- 身份識別辨認(認證)
- 數位錢包擁有者
- IoT 的 ID
可確認證明
- 一組個 Claims (宣告) 或 Statements (陳述)
- 證明是誰說的, 誰就簽章 => Proof (= signature 簽名) = signed VC
(驗證方, 還可加入 challenge)
signed VP (verifiable presentation + challenge + 簽名)
- verify 確認 (用簽名 + 簽名者的公鑰 + 宣告) = true 既可證明, 該宣告是正確無誤
整個 VC 的系統概念
圖片所有權 -> https://www.idaptive.com/blog/self-sovereign-identity-distant-dream-immediate-possibility/
VC 的格式
JWT 比較簡單, 但 LD-Proofs 有彈性
線上測試 (欄位說明)
JWT 支援各式語言
- .NET,
- Java, Groovy
- Javascript, Node.js
- Ruby, Python
- Elixir, Erlang
- Perl
- Go
- Haskell
- Rust, D, clojure, Haxe, Lua, Scala
- Swift, Object-C, C, C++
- PHP
Linked Data Proofs
(相較 JWT, 各有優缺點, 雖皆可用 ZKP, 但 JWT 比較有限制)
Linked Data 格式
Q & A
demo
結構化資料應用程式
By Ming-der Wang
結構化資料應用程式
- 1,095