Forge 揭密

作者: Tyr Chen (VP of Engineering, ArcBlock)
編輯: Lily Wang, Matt McKinney
週二晚上,ArcBlock 舉辦了一場關於新推出區塊鏈應用框架 Forge 的講座。影片與學習課程可在 ArcBlock Learning Page 找到。在講座的前半段,我們簡要回顧了區塊鏈技術,並指出區塊鏈產業及其建構方式正處於十字路口。

過去十年來,Bitcoin、Ethereum 及其後繼者向我們展現了一種新型資料的獨特魅力與潛力:它開放、可驗證,而且不容易遭到竄改。在此期間,我們見證了各式區塊鏈與服務,包括公鏈、聯盟鏈、側鏈、跨鏈等等。
問題在於,許多新區塊鏈並不好用,甚至根本無法使用;而 Bitcoin 和 Ethereum 這類可用的區塊鏈,也受到自身設計限制。為了使用 Ethereum 和 Bitcoin 這類區塊鏈,開發者與使用者必須學習專門的程式語言,受困於多種擴展限制;實際上,他們無法針對特定使用案例自由設計應用與區塊鏈,反而必須依照公鏈的要求來建構應用。好的一面是,這些公鏈具有良好安全性,也能確保符合其特定治理要求。然而,這些自我設限卻破壞了包含易用性、速度與互通性在內的使用者體驗。
在 ArcBlock,我們相信,一個應用要成功,或一個開發者平台要有價值,首先必須實用。不只實用,還要提供令人愉悅的體驗,協助開發者與使用者解決真實問題。
如果開發者擁有正確工具以及「創造」的能力,就能打造並發布出色的應用與服務。讓我們回到過去,35歲以上的人應該記得,在 iPhone 之前,行動應用是在 S60 或 Windows Mobile 上執行。另一個例子是,在 Ruby on Rails 普及之前,Web 開發支離破碎、幾乎無法使用,也沒有專注於運用技術來改善前後端的易用性與體驗。iPhone 的成功不只是因為硬體,事實上,正是它提供的軟體與開發工具,才讓開發者能夠為 iPhone 打造應用。直到今天,區塊鏈的整體體驗一直缺少一個關鍵部分。
因此,我們需要補上這個流程中缺失的部分:

補上流程中缺失的部分後,我們就能創造令使用者振奮的應用與產品。如果開發者與建構者無法打造這些應用,區塊鏈就永遠無法充分發揮潛力並獲得主流認可。
在下圖中,可以清楚看到早期採用者與早期大眾之間的「鴻溝」。那麼,區塊鏈下一個合乎邏輯的步驟是什麼?我們如何讓開發者打造「令人愉悅」的應用,又如何利用區塊鏈創造出色的使用者體驗?

我們相信,主流使用者與區塊鏈技術之間的這道鴻溝,正是我們新推出的區塊鏈應用框架 Forge Framework 所面臨的歷史性機會。
我們相信 Forge 將會:
- 提供一套工具,只需幾個簡單步驟即可建構區塊鏈與去中心化應用;
- 讓使用者擁有自己可控制的去中心化 ID(我們完整支援符合 W3C 規範的 DID 協定);
- 每個 DAPP 都擁有自己的應用區塊鏈;
- 交易協定由鏈擁有最終決定權;
- 利害關係人達成共識後,應用鏈可「自動」更新節點軟體或交易協議;
- 應用鏈像去中心化應用伺服器一樣運作,支援在鏈上執行的應用;
- 開發者能像開發 Web 應用一樣輕鬆開發 DAPP;
- 終端使用者甚至不會察覺自己正在使用區塊鏈。
經過一年多,Forge Framework 與 Forge SDK 終於成形(雖然仍有很大的成長空間),並已支援許多最熱門的語言,包括 Javascript、Python、Erlang 等,確保開發者能使用自己熟悉的語言與工作流程。不再需要專門語言,也不再需要複雜虛擬機,只要讓開發者做自己最擅長的事——寫程式碼。
為了展示 Forge Framework 與 Forge SDK 的強大能力,我們在這場講座中提供了一個實際範例:
- 在第一個示範中,我們啟動了一條名為 Sisyphus、可用於正式環境的區塊鏈。講座中,我展示了如何發布一個具有五個驗證者的節點,其中包括三個 Sentinel Nodes;Block Browser 與 GraphQL Playground 全都執行於 AWS spot instances,並使用 ALB 平衡 Web 流量(主要提供 Block Browser 與 GraphQL API,讓錢包 APP 可輕鬆存取),同時還有一條會自動設定網域名稱並啟用 HTTPS 的應用區塊鏈——這才是真正的一鍵發鏈。此外,我可以在本機初始化節點,只需一個指令便能順利加入鏈網路。
- 第二個範例中,我們已將 Sisyphus 加入本機節點,可以使用 Elixir SDK(其他支援的 SDK 之後也會有相應講座)存取鏈上基本資料,然後完成錢包建立與轉帳。
- 第三個示範真正將這條鏈轉變為應用鏈——我們用數十行程式碼撰寫一個生成憑證的簡單交易協定,然後部署到 Sisyphus。載入後,Sisyphus 鏈便支援憑證生成。在示範中,我假設自己是 Clyden University(並非真實的大學)的校長。我使用 Sisyphus 簽發了一個 Clyden University 的博士學位,然後以 10 TBA 賣給一個名叫 tyrchen 的傻瓜。
就是這麼簡單。只要學會幾個基本概念,任何人都能立即開始建構自己的區塊鏈。
你可以進一步瞭解 Forge Framework and SDK,或前往我們的 learning page 觀看影片。
本頁涉及
產品
-
Forge
sunset
一套用來建造鏈上應用的 SDK 和工具鏈,不必分別拼裝節點、資料層和客戶端。它後來成了 ArcBlock Chain。
術語
-
Decentralization
它不是一個整體屬性,而是對每一部分分別要問的問題:誰能改動它、誰能扣住它、事後誰能核實它。一個系統通常只在某些部分是去中心的,另一些部分不是。
-
區塊鏈
透過密碼學連接記錄,並按共同的驗證與共識規則確定交易歷史的分散式帳本。