跳到主要內容

Forge 揭密

Tyr Chen (VP of Engineering, ArcBlock)
ArcBlockBlockchainDecentralizationForge

作者: 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 的強大能力,我們在這場講座中提供了一個實際範例:

  1. 在第一個示範中,我們啟動了一條名為 Sisyphus、可用於正式環境的區塊鏈。講座中,我展示了如何發布一個具有五個驗證者的節點,其中包括三個 Sentinel Nodes;Block Browser 與 GraphQL Playground 全都執行於 AWS spot instances,並使用 ALB 平衡 Web 流量(主要提供 Block Browser 與 GraphQL API,讓錢包 APP 可輕鬆存取),同時還有一條會自動設定網域名稱並啟用 HTTPS 的應用區塊鏈——這才是真正的一鍵發鏈。此外,我可以在本機初始化節點,只需一個指令便能順利加入鏈網路。
  2. 第二個範例中,我們已將 Sisyphus 加入本機節點,可以使用 Elixir SDK(其他支援的 SDK 之後也會有相應講座)存取鏈上基本資料,然後完成錢包建立與轉帳。
  3. 第三個示範真正將這條鏈轉變為應用鏈——我們用數十行程式碼撰寫一個生成憑證的簡單交易協定,然後部署到 Sisyphus。載入後,Sisyphus 鏈便支援憑證生成。在示範中,我假設自己是 Clyden University(並非真實的大學)的校長。我使用 Sisyphus 簽發了一個 Clyden University 的博士學位,然後以 10 TBA 賣給一個名叫 tyrchen 的傻瓜。

就是這麼簡單。只要學會幾個基本概念,任何人都能立即開始建構自己的區塊鏈。

你可以進一步瞭解 Forge Framework and SDK,或前往我們的 learning page 觀看影片。

本頁涉及

產品

  • Forge sunset

    一套用來建造鏈上應用的 SDK 和工具鏈,不必分別拼裝節點、資料層和客戶端。它後來成了 ArcBlock Chain。

術語

  • Decentralization

    它不是一個整體屬性,而是對每一部分分別要問的問題:誰能改動它、誰能扣住它、事後誰能核實它。一個系統通常只在某些部分是去中心的,另一些部分不是。

  • 區塊鏈

    透過密碼學連接記錄,並按共同的驗證與共識規則確定交易歷史的分散式帳本。