メインコンテンツへスキップ

Forge の全貌

Tyr Chen (VP of Engineering, ArcBlock)
ArcBlockBlockchainDecentralizationForge

著者: Tyr Chen (VP of Engineering, ArcBlock)

編集: Lily Wang, Matt McKinney

火曜日の夜、ArcBlock は、新たにローンチした Forge というブロックチェーン・アプリケーション・フレームワークについて講義を行いました。動画と学習セッションは ArcBlock Learning Page でご覧いただけます。講義の前半では、ブロックチェーン技術を簡単に振り返り、業界とブロックチェーンの作られ方が岐路に立っていることを確認しました。

この10年間、Bitcoin、Ethereum、そしてその後継技術は、オープンで検証可能、しかも容易には改ざんできない新しい種類のデータが持つ独特の魅力と可能性を示してきました。その間、パブリックチェーン、コンソーシアム、サイドチェーン、クロスチェーンなど、さまざまなブロックチェーンとサービスが登場しました。

問題は、こうした新しいブロックチェーンの多くが優れておらず、実用にさえならないこと、そして Bitcoin や Ethereum のように実用的なものも、それ自体の設計による制約を受けることです。Ethereum や Bitcoin のようなブロックチェーンを利用するため、開発者とユーザーは専用のプログラミング言語を学ばなければならず、多くのスケーリング制約に縛られます。実際には、個々のユースケースに合わせてアプリケーションやブロックチェーンを設計する自由が与えられず、アプリはパブリックチェーンの要件に合わせて構築されます。良い面として、これらのパブリックチェーンは高いセキュリティを持ち、固有のガバナンス要件への準拠を保証します。しかし、自ら課した制約によって、使いやすさ、速度、相互運用性を含むユーザー体験が損なわれています。

ArcBlock は、アプリケーションが成功し、開発者プラットフォームが役に立つには、まず実用的でなければならないと考えています。単に役立つだけでなく、開発者とユーザーが現実の問題を解決できる、喜びを感じる体験を提供する必要があります。

適切なツールと「創造する」力があれば、開発者は素晴らしいアプリやサービスを構築してリリースできます。少し時代を遡りましょう。35歳以上の方なら、iPhone 以前のモバイルアプリが S60 や Windows Mobile 上で動いていたことを覚えているでしょう。別の比較では、Ruby on Rails が普及する前の Web 開発は分断され、ほとんど使い物にならず、フロントエンドとバックエンド双方の使いやすさと体験を技術で改善することに注力していませんでした。iPhone を人気にしたのはハードウェアだけではありません。提供されたソフトウェアと開発者ツールこそが、iPhone 向けアプリの構築を可能にしました。今日まで、ブロックチェーンの総合的な体験には決定的な何かが欠けていました。

そこで、この流れの中で欠けている部分を解決する必要があります。

流れの欠けた部分を解決すれば、ユーザーが心を躍らせるアプリや製品を作れるようになります。開発者やビルダーがこうしたアプリを構築できなければ、ブロックチェーンが可能性を最大限に発揮し、主流に認知されることはありません。

下の図では、アーリーアダプターとアーリーマジョリティの間にある「キャズム」がはっきり見えます。では、ブロックチェーンが次に進むべき論理的な一歩は何でしょうか。どうすれば開発者が「喜びをもたらす」アプリケーションを構築でき、ブロックチェーンで素晴らしいユーザー体験を作れるのでしょうか。

主流ユーザーとブロックチェーン技術の間にあるこの隔たりは、新たにローンチしたブロックチェーン・アプリケーション・フレームワーク Forge Framework にとって歴史的な機会だと考えています。

Forge は次のことを実現すると考えています。

  • わずかな簡単な手順でブロックチェーンと分散型アプリケーションを構築するための一連のツールを提供する
  • ユーザーが自ら管理できる Decentralized ID を持てるようにする(W3C 準拠の DID プロトコルを全面的にサポート)
  • 各 DAPP が独自のアプリケーション・ブロックチェーンを持つ
  • トランザクション・プロトコルについてはチェーンが最終決定権を持つ
  • ステークホルダーが合意に達した後、アプリケーションチェーンがノードのソフトウェアやトランザクション規約を「自動的に」更新できる
  • アプリケーションチェーンが分散型アプリケーションサーバーのように動作し、チェーン上で動くアプリケーションを支える
  • 開発者が Web アプリを開発するのと同じように簡単に DAPP を開発できる
  • エンドユーザーはブロックチェーンを使っていることすら意識しない

1年以上を経て、Forge Framework と Forge SDK はついに形になりました(まだ成長の余地は多くあります)。Javascript、Python、Erlang など、すでに多くの人気言語をサポートし、開発者は慣れ親しんだ言語とワークフローを使えます。専用言語も複雑な仮想マシンも不要です。開発者には最も得意なこと、つまりコードを書くことに集中してもらいます。

Forge Framework と Forge SDK の力を示すため、この講義では実例を紹介しました。

  1. 最初のデモでは、本番環境で利用できる Sisyphus というブロックチェーンを立ち上げました。講義では、5つのバリデーター(うち3つは Sentinel Node)を持つノードを公開する方法を示しました。Block Browser と GraphQL Playground はすべて AWS Spot Instances 上で動作し、ALB で Web トラフィックを負荷分散しています(主に Block Browser と GraphQL API を提供し、ウォレット APP から簡単にアクセスできるようにするためです)。さらに、ドメイン名を自動設定して HTTPS を有効にするアプリケーション・ブロックチェーンも含まれます。これこそ本物のワンクリック・チェーン公開です。また、ローカルでノードを初期化し、たった1つのコマンドで何の障害もなくチェーンネットワークに参加できます。
  2. 2つ目の例では、Sisyphus をローカルノードに追加したので、Elixir SDK(ほかの対応 SDK についても講義を行う予定です)を使ってチェーン上の基本データにアクセスし、ウォレットの作成と送金を完了できます。
  3. 3つ目のデモでは、このチェーンを真のアプリケーションチェーンに変えます。数十行のコードで証明書を生成する簡単なトランザクション・プロトコルを書き、それを Sisyphus にデプロイしました。読み込み後、Sisyphus チェーンは証明書の生成に対応します。デモでは、私が Clyden University(実在しない大学)の学長だと仮定しました。Sisyphus を使って Clyden University の博士号を発行し、それを tyrchen という愚か者に 10 TBA で売りました。

これほど簡単です。いくつかの基本概念を学ぶだけで、誰でもすぐに自分のブロックチェーンを構築し始められます。

Forge Framework and SDK の詳細をご覧になるか、learning page で動画をご覧ください。

このページに関わるもの

製品

  • Forge sunset

    ノード、データ層、クライアントを別々に組み立てずにチェーンアプリケーションを構築するための SDK とツールチェーン。これが後の ArcBlock Chain になりました。

用語

  • Decentralization

    単一の性質ではなく、部分ごとに問うべき問いです。誰がこれを変更できるか、誰が差し止められるか、そして後から誰が検証できるか。多くのシステムは一部の要素だけが分散的です。

  • ブロックチェーン

    記録を暗号学的に結び付け、共通の検証・合意形成ルールに従って取引履歴を確定する分散台帳。