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

2018年 米中ブロックチェーン進化50講:ArcBlockを通じて基盤パブリックチェーンに接続する方法

ArcBlock
オンラインセミナー

はじめに: 『2018年 米中ブロックチェーン進化50講』は、シリコンバレー・インサイト(硅谷密探)が50名のブロックチェーンプロジェクト創設者と共同で作り上げた、初の米中ブロックチェーン進化カリキュラムです。現在、ブロックチェーンは非常に初期の段階にあり、玉石混交で多くのユーザーが識別できない状態にあります。2018年、シリコンバレー・インサイトは米中のブロックチェーン世界の推進者や先駆者50名を招き、ブロックチェーン世界に対する深い洞察を共有してもらうことで、私たちのようなブロックチェーン信奉者に学習の機会を提供し、ブロックチェーン技術の活用と実装を推進します。

講師紹介: 冒志鴻(ロバート・マオ)、ArcBlock(アークブロック)創設者兼CEO。連続起業家であり技術革新者。天択ソフトウェア、北極星ソフトウェア、優友地帯(UUDZone)の3社を連続して設立し、中国初期のVoIP通信システムとソーシャルネットワークサービスの提供者である。その後、マイクロソフト・ヨーロッパ開発センターおよびマイクロソフト・リサーチ(米国)に加わり、ソーシャルコンピューティングの研究に従事。2017年、米国でArcBlockを設立し、ブロックチェーン3.0時代の到来に向けた強固な基盤を築いている。

見どころ:

  1. ArcBlockプロトコル層のビジネス価値
  2. オープンチェーンアクセスプロトコル(OCAP)を通じて、いかにアプリケーションのクロスチェーン構築を実現するか
  3. 開発者がArcBlock上でいかに迅速にDAppを構築するか

以下はライブ配信の内容の書き起こしです:

すべての皆様が私たちのArcBlockプロジェクトに精通しているわけではないことを考慮し、まずArcBlockのビジョンについて簡単に紹介し、それから最近取り組んでいること、および間もなく発表予定のものについてお話しします。

ArcBlockの目標は、サービス型のアプリケーションサービスプラットフォームを設計することです。では、このアプリケーションサービスプラットフォームは他のクラウドコンピューティングと何が違うのでしょうか?それは、ブロックチェーンアプリケーションのために特別に最適化されたプラットフォームであるということです。

クラウドコンピューティングプラットフォームには多くの種類がありますが、その大部分は汎用的なものです。クラウドコンピューティングの発展も、かなりのプロセスを経てきました。最初は例えばアマゾンのAWSを中心に、まずストレージサービスを提供し、次にEC2のような仮想マシンの計算サービスを提供し、徐々にデータベースサービスやサーバーレスサービスなど、一連の多様なアプリケーションサービスを提供するようになりました。

アマゾンが巨大な成功を収めた後、多くの企業が追随しました。例えばマイクロソフトのWindows Azureや、中国で知られているアリババクラウド(Alibaba Cloud)、テンセントクラウドなどです。興味深いことに、アリババクラウドの米国法人は私たちと同じビルにあり、テンセントやファーウェイもすぐ隣のビルにあります。私たちの米国のオフィスの周囲はクラウドコンピューティング企業ばかりで、そのためシアトルは「世界のクラウドコンピューティングの首都」とも呼ばれています。

ArcBlockの本質はクラウドコンピューティングプラットフォームです。このような位置付けは、現在の主流のブロックチェーンの一般的な設計とは少し異なり、あるいは相容れないものに見えるかもしれません。ブロックチェーンの世界では、「クラウドコンピューティングであればそれは中央集権的であり、ブロックチェーンは非中央集権的なものであるから、そのようなものを許容すればブロックチェーンではなくなる」という声がよく聞かれるからです。

しかし、私たちは自ら考えた結果、そうではないという結論に達しました。ブロックチェーン時代において、将来の真のブロックチェーンが社会に実装されるとき、それはクラウドコンピューティングとより密接に、より効果的に結合しているはずだと考えています。そのため、私たちのArcBlockは本質的に、普通のクラウドコンピューティングプラットフォームともう一つ大きな違いがあります。大部分のクラウドプラットフォームには、基本的に一社の企業が開発・運営しているという特徴があります。例えばアマゾンのAWSは永遠にアマゾンに属し、自社で開発したものであり、その統合、経営、運営の権利はすべてアマゾンという一社が所有しています。同様にアリババクラウドもアリババのものです。ArcBlockの運営思想には大きな違いがあります。私たちは、非中央集権的な運営こそが、よりポテンシャルがあり競争力のある方式であると考えています。

私たちのArcBlockのビジョンは、ArcBlockというソフトウェアを開発した後、ArcBlockサービスの提供者が私たち自身だけでなく、多くのパートナーと共に進めていくことです。パートナーが各自で自らのサービスを運営しながら、保証された統一的なサービス品質と適正な価格のプラットフォームを形成し続けるために、最も重要なメカニズムは何でしょうか?それは、私たちが設計した「APPチェーン」を通じることです。第一段階において、このAPPチェーンの主な役割は、このサービスプラットフォームのBOSSシステム(業務支援システム)として機能することです。プラットフォーム全体の運営、課金、業務支援を管理する「ビッグボス」と考えることができます。

したがって、ArcBlockには革新的な点があります。それは、ブロックチェーンの非中央集権的な公開性と、分散型台帳による透明な処理メカニズムを、クラウドコンピューティングプラットフォームの課金と業務支援に導入したことです。どれほど多くの当事者が共同でArcBlockを運営したとしても、その背後にある決済システムや業務支援システムは統一されています。これにより、より多くの提携先が維持・運営に参加できるようになります。

これがArcBlockのホワイトペーパーで言及されているトークンエコノミーにおける「マイナー」の概念です。私たちはマイナーを2つのタイプに分けています。一つは「リソースマイナー」、もう一つは「コンポーネントマイナー」です。 この2つの違いは何でしょうか?業務システムを運営し、ソフトウェアシステムを実行するには、サーバーの帯域幅やストレージだけでなく、ソフトウェアも必要であることは周知の通りです。サーバーの帯域幅やストレージなどを「リソース」と呼ぶならば、製品としてのソフトウェアも同様に重要です。リソースとソフトウェアは同等に重要ですが、リソースを提供できるすべての人が最高のソフトウェアを書けるわけではありませんし、優れたソフトウェアを書ける人が必ずしもリソースを提供できるわけでもありません。

そこで、私たちはマイナーを2つのカテゴリーに分けました。一つはリソースを提供できる人々、 つまりネットワーク帯域幅やサーバーを提供して運営に参加する人々です。もう一つはコンポーネントマイナーで、 彼らはコンポーネントソフトウェアを提供します。例えば、ArcBlockにおける重要な概念である「オープンチェーンアクセスプロトコル(OCAP)」において、その中のアダプター(Adapter)を一つのコンポーネントにすることができます。つまり、あるサードパーティがArcBlockのOCAPの考え方を良いと考え、コミュニティがまだサポートしていない新しいブロックチェーン技術があるが、それをサポートしたいユーザーがいる場合、ArcBlockが開発するのを待つ必要はなく、ユーザー自身が開発に参加できます。開発したものが理想的であれば、自分たちで使うだけでなく、そのプロトコルアダプターを他者に提供することもできます。当然、他者がそれを利用する際には、報酬を得ることができます。

これはコンポーネントマイナーの一例です。ArcBlockでは、このようなタイプもアプリケーションレベルのコンポーネントと見なします。同様に、これらのコンポーネントには非常に低層なものから、ユーザーに直接向き合う高層なもの、そしていわゆる中間層もあります。例えば、特定のアルゴリズムを書くのが非常に得意な人がいるとします。例えば、将来の分散型取引所(DEX)を実現する場合、その中にはマッチングアルゴリズムやクオンツトレードのアルゴリズムが必要になるかもしれません。そうしたことを得意とする人がいる一方で、彼らはユーザーフレンドリーなインターフェースの開発は得意ではないかもしれません。開発者にはそれぞれの専門分野があるからです。そのような場合、一部の開発者はアルゴリズム関連のコンポーネントの提供に専念し、別の開発者は自分が得意とするユーザーインターフェース関連のことに専念することができます。

ArcBlockというプラットフォームは非常に壮大なビジョンを持っています。このビジョンの最も素晴らしい点は、私たちがこのような先進的なシステムを設計したことだけでなく、先進的な理念をもたらしたことです。この理念により、無数のサードパーティがブロックチェーンという公開・透明なメカニズムを通じて、新しい連合体を形成することができます。この連合体の中で、資金がある者は資金を出し、力がある者は力を出し、知恵がある者は知恵を出し、ユーザーを持つ者はユーザーを出す。これらが初めてこれほど見事に団結し、価値の分配もソフトウェア開発の歴史の中で効果的に体現されるようになります。ですから、その観点から言えば、ArcBlockは非常に意義深いものです。

ArcBlockの設計において、私たちは主に4つの主要な部分に分けています。最初の主要な部分は「オープンチェーンアクセスプロトコル(OCAP)」と呼ばれます。 OCAPの目標は、オープンな中間層を実現することです。この中間層を通じて、異なるあらゆるブロックチェーンにアクセスすることができます。つまり、開発者はOCAPを通じて、基盤となる異なるブロックチェーンにアクセスできるのです。今日のような「万鎖奔騰(数多くのチェーンが乱立する)」時代において、真に開発を行うのは非常に苦痛であることを皆さんはご存知でしょう。イーサリアムのような非常にフレンドリーなシステムでさえ、開発者ガイドに従って一歩ずつ実装するのに数時間かかります。さらに悪いことに、今日のブロックチェーン全体にはまだ統一されたアーキテクチャがないため、開発者が初期段階でプロジェクトをどう開発するか決定する際、選定だけで非常に頭を悩ませることになります。

開発者にとって、車輪がないことは非常に苦痛です。自分で車輪を再発明しなければならないからです。しかし、車輪が多すぎることはさらに苦痛な場合があります。Aという車輪には必要な機能の半分があり、Bという車輪には残りの半分があるといった状況です。その結果、多くの開発者がCという車輪を開発してしまい、最終的には未完成な車輪の山ができあがり、どれを使えばいいのか分からなくなります。

現在、大部分のブロックチェーンはチェーン自体の視点から考えられているため、各チェーンから出てくるAPIも千差万別です。しかし、もし私たちがアプリケーションの視点からアプローチし、いくつかのニーズをまとめることができれば、効果的な中間層を開発できる希望が見えてきます。この中間層は、アプリケーションのニーズの80〜90%を満たすことができるでしょう。残りの10〜20%のアプリケーションは、より高度なAPIを呼び出す必要があるかもしれませんが、最も重要なのは、大多数のアプリケーションの問題を解決することです。

私たちのOCAPの設計は、データベースの発展の歴史から大きな示唆を受けています。コンピュータシステムにおいて、それはデータベースのような地位にあります。データベースの地位は今日、誰もが認めるところです。私たちが使うアプリケーションの99%は、データベースに支えられたアプリケーションです。しかし、データベース自体がシステム全体のすべてではありません。極めて重要ではありますが、99%の部分をすべて担っているわけではありません。

実は、データベースは非常に中央集権的で核心的なコンポーネントですが、アプリケーションシステムにおいては、より多くの開発と価値がアプリケーション層に体現されます。これはデータ以外の部分にも現れます。ブロックチェーンにもかなりの共通性があります。ある観点からは、現在はパブリックチェーンが非常に重要であり、その価値は大きいと言われていますが、完全なアプリケーションシステムとして見れば、ブロックチェーン自体はそのシステム全体の中の小さな一部に過ぎません。今日のデータベースがほぼ99%のアプリケーションの核心でありながら、データベース自体がシステムに占める割合はかなり小さいのと同様です。

今日のブロックチェーンは、データベースの初期の頃と非常によく似ています。無数の異なる実装方法があり、無数の異なるプロトコルがあります。しかし、開発者である私たちにとって、それらすべてが必要なわけではありません。統一されたオープンな標準があることは、アプリケーションのエコシステム形成にとって非常に大きな価値があります。私たちはここで、私たちの力を貢献しようとしています。

明日、私たちは「オープンチェーンアクセスプロトコル(OCAP)」の最初のバージョンをリリースします。私たちは、すでに存在するGraphQLというクエリ言語を採用しました。GraphQLはFacebookが主導して発表し、数年前にオープンソース化されたクエリ言語です。これを一つの製品と見なすことも、アプリケーションフレームワークと見なすこともできます。GraphQLを採用することで、私たちはGraphQLの既存のエコシステムとツール群を一気に味方につけました。つまり、私たちのプラットフォーム上で開発を行う際、新しい言語を学び直す必要も、新しい車輪を発明する必要もありません。既存のGraphQLツールの大部分をそのまま使用できるのです。

また別の観点から言えば、ArcBlockはGraphQLコミュニティへの重大な貢献でもあります。これまでGraphQLは主にAPIやデータベースのクエリインターフェースとして使われてきましたが、私たちのOCAPが登場することで、GraphQL開発者は非常に簡単に様々な異なるブロックチェーンにアクセスできるようになります。この点でも、大きな貢献になると考えています。

OCAPは私たちの最初のアプリケーションであり、皆さんが実験し、遊ぶための場所です。それ自体が独立したアプリケーションとして実行されるわけではありません。そのため、OCAPのリリースに続いて、「OCAP Playground」というコンセプトを打ち出す予定です。このOCAP Playgroundは非常に面白いアイデアです。OCAPを手にしたとき、何をすればいいか戸惑う人もいるでしょう。そのような状況で、最も分かりやすいのはサンプルプログラムです。

例えば、サトシ・ナカモトの最初のジェネシスブロックに何が書かれているかを照会することができます。また、中国で有名な「七彩神仙魚(パン・ジーヨン)」氏がビットコイン上に書き込んだロマンチックな愛の宣言が、どのブロックのどのデータにあるかを探すこともできます。少し前に北京大学で起きた出来事で、大学側が好まない手紙をブロックチェーンに書き込んだ人がいましたが、そうしたものを探すことも簡単にできます。これらの例を効果的に共有し、それらを統合した2番目のアプリケーションとして「OCAP Playbook」をリリースします。

このOCAP Playbookの役割は、一方で開発したアプリケーションを共有できるようにすることであり、もう一方で、OCAPを使ってどのようにブロックチェーン開発を行うかという思考プロセスを十分に普及させることにあります。

ブロックチェーン開発の最大の悩みは、バックエンドのデプロイコストと開発コストが比較的大きいことです。 今日、ブロックチェーンを使う際も同様です。覚えにくいウォレットアドレスを扱い、なぜガス代(gas)を払うのか、ガス代を高くしたり低くしたりすることの意味が何なのか、ユーザーにはよく分かりません。実際、これらのことをユーザーが知る必要はありません。これらは私たち開発者が知っておくべきことであり、開発者がこれらを適切に処理し、最終的なユーザーを解放すべきなのです。

私たちのOCAPは、こうした泥臭いバックエンドの処理をすべて解決します。言い換えれば、OCAPを通じて非常に多くのバックエンド機能を実現できるため、開発者は「バックエンドに何をさせるか」と「フロントエンドをどう作るか」ということに集中できるようになります。また、OCAPのSDK(iOS用およびAndroid用)もリリースする予定です。つまり、iOSやAndroidの開発経験がある開発者は、OCAPを通じて、既存のアプリケーションにブロックチェーンのサポートを非常に容易に追加できるようになります。

質疑応答

Q1:パブリックチェーンが異なるため、現在の仮想通貨ウォレットは一つのチェーン上のトークンしかサポートしていません。例えばimTokenはイーサリアムとイーサリアムトークンのみをサポートし、BTCやEOSはサポートできません。ArcBlockのクロスチェーンプロトコル機能を使えば、将来的にすべてのトークンをサポートするウォレットを誕生させることは可能ですか?

老冒(ロバート): はい、OCAPを採用すれば、すべてのパブリックチェーンをサポートする「スーパーウォレット」アプリケーションが登場することは十分に可能です。OCAPは様々な異なるウォレットをサポートする上で非常に優れた選択肢となります。ただし、これはユーザー(開発者)が開発する必要があり、私たち自身がクロスチェーンウォレットを開発しているわけではありません。

ブロックチェーンのウォレットは、本当にお金がそのアプリの中に入っているわけではありません。ウォレットアプリは、まず「アドレス照会器」です。アドレスを与えると、そのアドレスにどれだけの残高があるかを知ることができ、そのアドレスで過去にどのような取引が行われたかを調べることができます。送金を行うには、ウォレットが取引に対して署名を行う必要があります。つまり、ウォレットはあなたの秘密鍵を管理する必要があります。現在私たちが使っているアプリは、デバイス上で署名を行っていますが、相対的に言えば、これらのウォレットの安全レベルはそれほど高くありません。

どんなウォレットも、ブロックチェーンにアクセスし、特定のパブリックチェーンのアドレスに残高がいくらあるか照会し、関連する取引を照会し、同時に取引を生成してブロックチェーンにブロードキャストし、送金やコントラクトを実行させるためのインターフェースを持っています。OCAPがあれば、OCAPを通じて異なるチェーンに対して照会を送り、アドレス残高や送金記録を調べることができます。同時に、署名済みの取引をOCAP経由でチェーン上に送信し、送金の目的を達することもできます。

ブロックチェーンの初心者であっても、OCAPを通じて他人が書いたクエリを見れば、パラメータを少し修正するだけで自分のアプリケーションに利用できます。これにより、アプリケーションの構築コストを大幅に下げることができます。先ほど「OCAPでERC20のウォレットを作れるか」という質問がありましたが、もちろん可能です。OCAPが徐々に完成していくにつれ、その上でスーパーウォレットのような典型的なアプリケーションが必ず登場すると信じています。

Q2:ArcBlockは自社で開発したものですか?

老冒: ArcBlockは私たちが自社で開発したものですが、完全にゼロから作ったわけではありません。私たちはGraphQL言語に基づいて開発しており、GraphQLにある多くの優れた要素を採用しています。ゼロから始めたわけではありませんが、GraphQLの上でブロックチェーンに関連する多くの機能を構築しました。したがって、私たちが開発した独自のものではありますが、GraphQLコミュニティの既存の基盤の上に発展させたものです。将来的にはオープンソース化する予定ですので、コミュニティへの貢献にもなります。

Q3:中央集権化はブロックチェーンの進展における悪夢かもしれませんが、ArcBlockがクラウドコンピューティングという中央集権的なものに依存する過程で、いかにして中央集権化を防ぐのでしょうか?

老冒: 非中央集権とは何でしょうか?あるシステムが中央集権的か非中央集権的かを判断するには、異なる次元から見る必要があると思います。少なくとも3つの次元があると考えています。1つ目は物理的な階層、つまりノードの分散やシステムが非中央集権的かどうか。2つ目はガバナンスの階層、つまり一社の企業によってコントロールされているかどうか。3つ目は論理的な階層です。論理的な階層は理解しやすいですが、一つの組み合わせられたものが、2つの異なるものに効果的に分解でき、それぞれが独立して動作し、互いに影響を与えず、かつ組み合わせることで完全なサービスになれるかどうかです。もしそうであれば、それは論理的に非中央集権的です。

アリババクラウドを例にとると、アリババのクラウドサービスは物理的には非中央集権的です。アリババには必ず多くのデータセンターがあり、その中には多くのマシンがあり、災害復旧のために通常は多くの異なるデータセンターを持っています。異なるマシンの中には異なるOSやソフトウェアコンポーネントが採用されている可能性があります。したがって、ある観点からは、今日のほぼすべてのクラウドコンピューティングサービスは、物理的な設計において高度に非中央集権的です。しかし、アリババクラウドはアリババに属しているため、アリババがどのように運営し、どのようなルールを設けるかを決定できます。また、アリババクラウドには誰でも自由に参加できるわけではありません。アリババクラウドのノードになりたいと思っても、それは不可能です。アリババが一括管理しているため、ガバナンスの階層では高度に中央集権的であり、アリババ一社に属しています。

論理的には、ある観点では非中央集権的です。例えば、アリババクラウドが提供する関数計算(FaaS)自体は、独立した業務として提供可能です。ストレージサービスと計算サービスは、それぞれが相対的に独立しており、切り離して単独で使うことができます。そのため、論理的には比較的非中央集権的です。

ArcBlockの視点から言えば、ブロックチェーンプラットフォームをクラウド上にデプロイし、「クラウド上のクラウド」を作るからといって、クラウドコンピューティングを使っているから中央集権的になるとは考えないでください。私たちの最も重要な考え方は、多くの当事者が私たちと共にArcBlockサービスを運営できるようにすることです。その観点から言えば、私たちはガバナンスにおいて非中央集権的です。また、アプリケーションプラットフォームとして、私たちの製品上では多くの異なるアプリケーションを動かすことができ、それらのアプリケーション間はAPPという方式を通じて効果的な協力と価値の組み合わせを形成できるため、論理的にも高度に非中央集権的です。

したがって、ArcBlockの設計の観点から言えば、私たちは物理的、論理的、そしてガバナンスのすべての面において非中央集権的であると考えています。

Q4:ブロックチェーンの開発経験がないバックエンド開発者は、どのように始めればよいでしょうか?アプリ開発のドキュメントはどこにありますか?

老冒: OCAPおよびGraphQLをサポートするドキュメントを提供します。ブロックチェーン開発経験のないバックエンド開発者こそ、ArcBlockがまさにターゲットとしている層です。GraphQLに精通しているか、あるいは少し学習するだけで(これは非常に習得しやすい技術です)、非常に簡単にブロックチェーンアプリケーションを開発できるようになります。さらに重要なのは、アプリケーションを開発した後のデプロイも非常に容易であることです。ArcBlockはこの点において多くの考慮を払っています。開発者が開発しやすいだけでなく、デプロイも容易にし、バックエンドのデプロイなどに時間を取られすぎないようにすることで、アプリケーションエコシステムの繁栄をより効果的に促進できると考えています。

料金については、ABTチェーンが正式にローンチされるまでは、私たちのサービスは無料です。テストネット期間中は料金は発生しませんが、ArcBlockのすべてのサービスを利用するにはABTを保有している必要があります。つまり、ABTを保有していなければAPIを呼び出したり、中での開発を開始したりすることはできません。ただし、保有しているだけでよく、消費されるわけではありません。業務が完全に稼働し始めた後は、多くのサービスが有料になります。これがABTの設計目的でもあります。

原文リンク: ArcBlockを通じて基盤パブリックチェーンに接続する方法

このページに関わるもの

イベント

  • コミュニティ番組へのゲスト出演 confirmed

    2018 年 2 月から 2019 年 9 月にかけて、中国語圏の暗号コミュニティ番組 10 本にゲスト出演した。公開講座、WeChat グループの連載、講義シリーズなど。いずれも他社の定例番組で、私たちが出たのはその 1 回。以下の各項目に主催者と回次を記している。