5 分鐘打造 DApp 與 DID 概念驗證

作者: Matt McKinney(ArcBlock 行銷暨商務拓展總監)
ArcBlock 推出了 DApps Workshop 開發者工具,讓任何產品經理、使用者或開發者都能輕鬆快速地為各種 DApp 情境打造概念驗證(POC),包括使用去中心化身分與交易相關的交易。
概念驗證
許多人已經知道,POC(依 Techopedia 的定義)是一種示範,目的在於驗證特定概念或理論是否有可能在真實應用中運作。因此,POC 是用來判斷可行性的原型,並不等同於打造應用程式本身所需的實際交付成果。
如今,區塊鏈還不是一個成熟的產業,事實上仍在快速演進。過去幾年,我們見證了區塊鏈 1.0、2.0 和 3.0。我甚至認為,ArcBlock 這類公司,以及 Cosmos、Polkadot 等互連的區塊鏈網路,正在建構讓我們超越 3.0 的下一代能力。正因如此快速演進,許多公司正專注於可大規模打造 DApp 的工具,並著重於讓應用程式快速運作。
去中心化應用程式與測試
然而,任何開發者都會告訴你,測試和打造 POC 對任何應用程式的成功與易用性都至關重要,尤其是在整合及採用尚未於正式環境充分驗證的新技術時。除此之外,測試還需要開發者打造 POC,並將開發工時投入非核心功能。去中心化身分就是很好的例子。最近,我們看到 Sovrin、Uport、Microsoft 和 ArcBlock 分享去中心化身分的最新進展,包括它可能帶來的好處及對使用者的影響。然而,這些服務雖然都採用 W3C 或 CCG 的相同設計規範,共通點也僅止於此;歷來要實作這些不同的身分解決方案,並驗證其是否可行,都需要投入一定的心力。
DApps Workshop 介紹
因此,我們打造了 DApps Workshop,這是建立 DApp 與去中心化身分 POC 最簡單的方式。

DApps Workshop 是一項工具,讓開發者或產品經理能迅速建立及測試去中心化應用程式的 POC,包括建立與測試不同類型的交易工作流程及 DID 身分驗證需求,並支援:
- 交易相關的交易
- 為所有支援的 Tx 類型預先建立工作流程、程序與規則,包括多筆交易情境
- DID 身分驗證,包括身分類型、DSA(數位簽章演算法)與雜湊函數
- 可設定的中繼資料
- 定義必要的聲明,包括個人資料與協議
- ABT Wallet 行動身分驗證
說得夠多了,現在就來打造幾個 POC 吧。
打造 POC — 為 DApp 加入 DID 身分驗證
DApps Workshop 讓任何人都能使用 DID 身分驗證協定來建立及測試驗證流程。舉例來說,我想看看自己的去中心化身分錢包(ABT Wallet)會如何與使用 Forge Framework 打造的新 DApp 互動。
步驟 1 — 產生你的 DID
在身分驗證流程中,需要完成 3 個步驟來建立「Application DID」,其中可以包含不同的 DID 類型,例如:

如你所見,應用程式可以代表帳戶、節點、裝置等不同的 DID 類型。這一點很重要,因為去中心化身分有許多應用情境,包括網站、應用程式、物聯網、授權等。
接著,你可以選擇數位簽章演算法。這是一項數位簽章標準,最初由 NIST 實作,作為建立簽章的首選方法。下拉式選單中有多個選項可供選擇:

在這個範例中,我們將使用廣受歡迎的標準 ed25519。(如果你想深入瞭解,網路上有許多關於這些標準的文件)
設定好類型和 DSA 演算法後,接著確認雜湊函數。雜湊函數用於將任意大小的資料對應到固定大小的值,而且是很難反向推導的單向函數。

在這個 POC 中,我們會選擇 SHA3,也就是最初於 2015 年發布的現行 NIST 標準。此時可以點選「Save & Continue」。
步驟 2 — 設定中繼資料
在這個步驟中,你可以提供應用程式的詳細資訊,包括名稱、說明、著作權等。其中一個需要特別留意的欄位是「publisher」文字方塊,這裡要填入你剛才在上一節產生的 DID。在此範例中,我們也使用 ABT Wallet 的深層連結路徑,不過你可以提供任何適合的連結。

步驟 3 — 設定聲明
設定「身分驗證」的最後一個步驟是聲明。它們是與應用程式互動時所需的任何聲明。例如,你是否要求使用者分享姓名、電子郵件、電話號碼等資訊。你可以依照需求新增更多選項。
此外,還有一個「required agreements」區段。這個區域讓你要求使用者同意使用服務所需的不同政策或要求。在我們的範例中,提供了資料政策和服務條款選項,而註冊應用程式時通常都需要同意這些內容。

儲存你的成果!現在,你已成功建立包含 DID 的應用程式,並取得幾項關鍵資料,包括 Deep Link、Application DID、Application Public Key 和 Application Secret Key。接著實際試用看看:使用 ABT Wallet 掃描 QR Code 登入。

成功!
你已使用去中心化錢包,透過去中心化身分登入應用程式。接下來,只要「編輯」應用程式,就能輕鬆測試其他屬性;也可以將它移除,重新建立一個新的應用程式。就是這麼簡單。
若想進一步瞭解 DApps Workshop,可以前往網站;如果你想開始打造自己的 DApp,不妨看看 Forge Blockchain Application Framework,這是打造 DApp 與區塊鏈最簡單的方式。
本頁涉及
產品
-
Forge
sunset
一套用來建造鏈上應用的 SDK 和工具鏈,不必分別拼裝節點、資料層和客戶端。它後來成了 ArcBlock Chain。
術語
-
Decentralization
它不是一個整體屬性,而是對每一部分分別要問的問題:誰能改動它、誰能扣住它、事後誰能核實它。一個系統通常只在某些部分是去中心的,另一些部分不是。
-
區塊鏈
透過密碼學連接記錄,並按共同的驗證與共識規則確定交易歷史的分散式帳本。