BloXroute チーフ・システム・アーキテクト Alex Kuzmanovic インタビュー

メディア: Decentralize Me Podcast
日付: 08-08-2019

ArcBlock Podcast:BloXrouteのチーフ・システム・アーキテクト、Aleks Kuzmanovic氏と新しいブロックチェーン・ディストリビューション・ネットワークについて語る
分散型インターネットの実現に取り組む企業、テクノロジー、人々をグローバルな視点で紹介するポッドキャスト「Decentralized Me」をお聴きいただき、ありがとうございます。それでは、ホストのMatt McKinneyとJean Chenです。
Matt: Aleks、お会いできてうれしいです。ArcBlockのMattです。今日は親しい友人で同僚でもあるJean Chenも参加しています。まずはBloXrouteについて理解を深めるために、BloXrouteとプロジェクトの現状を紹介していただけますか。
Aleks: はい。BloXrouteは、現在CEOを務める私の元教え子Uri Klarmanが設立しました。私はノースウェスタン大学のコンピューターサイエンス教授です。Uriも私も、もともとはコンピューターネットワークの研究者です。つまり、インターネット・プロトコル、インターネットの効率性、コンテンツ配信ネットワークなどを研究してきました。ブロックチェーンのスケーラビリティ問題を初めて目にしたとき、これはコンピューターネットワークの問題だと気づき、Uriと力を合わせました。大学で開発を始めましたが、ほどなくリソースが足りないことが分かりました。そこでCornell大学のEmin Gun Sirer教授と、当時リレーネットワークを構築していた博士課程の学生Soumyaに出会い、彼らとチームを組むことになりました。
4人のグループとなり、ベンチャーキャピタルから資金を調達し、現在約25人のチームを築きました。本社はノースウェスタン大学に近いシカゴにあります。UriとCOOのEyalがともにイスラエル人なので、イスラエルにも非常に強力なチームがあります。難題が出ると必ず彼らが解決してくれるので、私は彼らを「特殊部隊」と呼んでいます。会社は2017年に設立され、25人のチームに成長しました。
Matt: 別の質問を考えていたのですが、これまで皆さんにとって最大の課題は何だったのか気になります。チームが成長し資金を調達するなかで直面した、予想外だったこと、あるいは想定以上に難しかったことを一つか二つ教えていただけますか。
Aleks: 非常に大きな視点で言えば、どんなスタートアップにとっても最も難しいのは、実際に何かを始めることです。それが最大のハードルだと思います。特に学術界では、試作品や小さなものを作っても、結局何も実を結ばないことがよくあります。大学のプロジェクトから本物の会社へ踏み出すことが、私たちが乗り越えるべき最大の課題でした。もう少し具体的に言えば、分散したチームで開発するのも難しいことです。
バグをはじめ、あらゆる問題が次々に押し寄せます。戦略的かつ組織的に対処する方法がなければ、簡単に後退し、何も進まなくなります。進歩している実感はあり、実際に前進していても、日々「これは動かない、あれも動かない」と引き戻されます。結局これは、勝ち抜かなければならないマラソンです。そのためには多くの忍耐と善意、そして実際に成果を届けられる優れたチームが必要です。
Matt: まさに、長期的な目標を達成するために日々を管理するということですね。先ほどの質問に続けて、アイデアを本番環境に移す過程で、BloXrouteが特に乗り越えなければならなかった一つか二つの大きな障害は何でしたか。
Aleks: 最大の障害は、考え方そのものを変えることでした。大学院での発想は違います。「論文を書けるだけのデータを集めよう。少なくとも何かは動く」というものです。しかし、実際の利用者のために動くサービスを作り、動かなければ苦情を受けるというのは、まったく別の世界です。私たちにとって転機はEyalを採用したときでした。彼には25年以上の業界経験があります。何かを成し遂げたい、プロジェクトを実現したいと考えている方に伝えるなら、経験を持つ業界人をもっと迎えるべきです。問題にぶつかったとき、過去に同じ経験をした人がいれば、痛点を解決するうえで大きな助けになります。
低レベルの技術的問題を解決した経験を持つ人材は不可欠です。私たちは会社に業界水準の仕組みを作りました。毎朝10時に定例会議を開き、活発に連絡を取り合い、問題をリアルタイムで解決しています。業界水準のマインドセットは本当に重要です。少なくとも私たちにはそうでした。

Matt: スケーラビリティのボトルネックをどのように定義していますか。また、それはなぜ重要なのでしょうか。
Aleks: ブロックチェーンについて語るとき、その出発点はもちろんBitcoinで、「インターネットのための電子現金が必要だ」といった話になります。それ自体はよいのですが、ブロックチェーンの仕組みにおける大きな問題はスケーラビリティです。つまり、ブロックチェーンが処理できるトランザクション数はかなり限られています。さまざまな種類のブロックチェーンや新技術が登場していますが、オンチェーンの1秒あたりトランザクション数を増やすうえで技術的な壁がある以上、解決すべき制限が生じます。スケーラビリティが必要なのはエンドユーザーのためです。規模が大きくなるほど手数料は下がり、サービスや取引は速くなります。
十分な規模に達して初めて、手数料を大幅に下げられます。私はまさにこの領域に魅力を感じています。これが私がこの分野に入った理由の一つです。マイクロペイメント、多種多様なスマートコントラクトなど、皆が語る非常に魅力的なアプリケーションへの道が開かれるからです。ネットワーク研究者としてこれを見たとき、「ブロックチェーンのスケーラビリティ問題は、根本的にはコンピューターネットワークの問題だ」と考えました。私自身の偏見に見えるかもしれませんが、そうではない理由を説明します。結局のところ、すべてのブロックチェーンシステムの目標は、トランザクションを順序付けようとする分散ノードすべてに、同じ状態を共有させることです。
これらのノード間で非常に高速かつ効率的にデータを送信し、すべてのノードが同じ状態を共有できれば、スケーラビリティ問題の解決になります。私がよく挙げる例は、ネットワークが存在せず、すべてのノードが隣り合って最高速度で通信できる状況を想定することです。そのような状況なら、理論上は全ノードの状態を揃え、合意を形成するのは非常に簡単です。
とはいえ、重要なのは1秒あたり何ビットという速度だけではありません。物事を賢く処理し、ブロックチェーンの下にスマートなネットワークを置くことが、このボトルネックの解決に役立ちます。後ほど詳しく説明できればと思いますが、これがブロックチェーンとネットワークに対する私の基本的な考えです。
Matt: この業界では、サイドチェーン、シャーディング、レイヤー1対レイヤー2といった話をよく耳にします。BloXrouteにとって、なぜレイヤー0なのでしょうか。なぜそれがスケーラビリティのボトルネックを解決する答えになるのでしょう。
Aleks: まず、それはパズルの重要な一片だと言っておきます。そして、なぜ必要なのかを説明します。たとえばレイヤー1のシャーディングなど、さまざまな取り組みが進んでおり、非常に有望な研究や理論も見てきました。レイヤー2には「オンチェーンではなく、オフチェーンで処理しよう」というプロジェクトがあり、実際にとても有効な場合があります。しかし、それらとは独立して、こうした他のソリューションにレイヤー0を加えれば、そこで得られるTPSを少なくともさらに1,000倍にできる大きな可能性がある、というのが私たちの主張です。
これはシャーディングやレイヤー2で得られる効果に乗算されます。ならば、このソリューションも使わない理由はありません。業界とブロックチェーンが発展し、さらに多くのトランザクションが必要になれば、オンチェーンで処理される取引も増えるため、レイヤー0のソリューションが不可欠になると考えています。ブロックチェーンを本当に主流へ押し上げたいなら、TPSを大幅に引き上げる必要があり、レイヤー0はそのパズルに欠かせない一片となります。

Matt: BDN型のサービスは、個々の企業やユーザーに何をもたらし、実際にはどのような利点があるのでしょうか。
Aleks: まず、私たちがどう処理しているのか、少し技術的に説明しましょう。任意のブロックチェーンシステムのノードを考えてください。BDNでは2種類のノードを提供します。一つは、ブロックチェーンノード向けのゲートウェイ・ソフトウェアです。これはそのブロックチェーンノード上で動くコードで、一方ではノードに対してそのブロックチェーン固有の言語を話し、もう一方ではBloXrouteの言語を話します。私たちのネットワークにあるもう一種類のノードは、リレーノードまたはコンテンツ配信ノードと呼ばれ、インターネット経由でデータをはるかに速く伝播させます。
BloXroute BDNでは、まずゲートウェイ・ソフトウェアがブロックチェーンから来た情報をBDN向けに変換します。次にブロックを圧縮し、ブロックサイズを大幅に縮小して、ブロックチェーン・ディストリビューション・ネットワーク(BDN)経由で効率よく送信できるようにします。要するに、ゲートウェイ・ソフトウェアはブロックチェーンノードをBDNにつなぎ、BDN自体はネットワーク上でデータをより速く伝播させます。その結果、エンドユーザーとブロックチェーンシステム全体は、そのブロックチェーンが処理できる1秒あたりトランザクション数の大幅な向上を得られます。
Matt: ブロックチェーン業界、そして暗号資産の世界でも、分散化という概念は重要な特徴としてよく語られます。BloXrouteは、ユーザーやネットワーク内の利用者のために、どのように分散性を維持するのでしょうか。
Aleks: 実は中央集権化を進めているものの一つが、プールという考え方です。たとえばマイニングプールがあります。一方、BDNは誰もがより対等な条件でシステムに参加できるようにします。大規模なマイニングプール同士は、すでにネットワークレベルで強く接続されています。BDNがあれば、ゲートウェイをインストールした誰もが世界中と良好に接続できます。これは、私たちが分散化を後押しする一例です。
BloXrouteは分散性が維持されるようにします。BDNは分散型のピアツーピアネットワークによって非常に効果的に監査されるからです。つまり、ピア自身が、BloXrouteが必要なサービスを提供しているかを確認できます。これによりBDNは、データを検閲したり、一部のノードを他より優遇したりできません。私たちはピアツーピアネットワークに、このブロックチェーン・ディストリビューション・ネットワーク(BDN)を監査する大きな権限を与えています。何か問題が起これば、ブロックチェーンノードが最初にそれを把握します。これは「100%分散化され、100%概念的でなければならない」という従来の方向性とは少し違います。
中央の構成要素は必要です。しかし、それに全面的な説明責任を持たせ、分散的に監査できるようにすべきです。そうすれば、この仕組みを動かすために必要な分散性と力を実現できます。
Matt: 分散化に関連して、それはDDoS対策でも重要な役割を果たしますか。BDNネットワークは、ネットワーク上のユーザーや顧客をどのように守るのでしょうか。
Aleks: とてもよい質問です。この質問をする方は、私たちの取り組みをよく理解していると分かります。分散型であるためには、誰がネットワークに参加でき、誰が参加できないかを私たちが管理することはできません。管理できるなら、それはもはやブロックチェーンシステムではありません。
誰でもシステムに参加でき、さらにネットワークに入るデータはすべて暗号化されています。ユーザーが何を送っているのか、ブロック内に何があるのかを私たちが理解できる立場にならないようにするためです。第一に、誰でもどんなデータでも送れます。第二に、データは暗号化されているため、特定のブロックの内容を見ることができません。この二つの条件から、当然「DDoS攻撃をどう防ぐのか」という質問が生まれます。そのために、既存のブロックチェーンに導入されたDDoS防御の仕組みに相乗りするシステムを用意しています。まずProof of Work(PoW)を考えてみましょう。マイナーがブロックを生成するには、リソースを投入しなければなりません。
そのノードは計算能力を投入して競争に参加し、正しいブロックを生成する必要があります。しかし、その情報が送られてきた時点では、私たちは内容を見ずに配信します。その後、誰が本物のブロックを送ったかが分かれば、システム内の実際のマイナーを識別できます。過去に本物のマイナー、正当なブロックの生成者だと証明された参加者には、一定のリソースを予約できます。悪意のあるノードが大量のデータを送ってきても、システムは問題なく稼働できます。Proof of Stakeでも同様のことが可能です。大きく言えば、既存のブロックチェーンの仕組みに相乗りすることで、BDNを悪意ある行為から守っています。

Matt: 次の質問につながりました。BloXrouteは異なる種類のコンセンサスをどう扱うのでしょう。Proof of WorkとProof of Stake(PoS)に触れましたが、対応方法に根本的な違いはありますか。
Aleks: 当初この問題を検討したとき、必ずしもProof of Workだけを対象にしていたわけではありません。そしてある時点で、コンセンサスの種類が違っても根本的な差はないと気づきました。どんなブロックチェーンシステムでも、トランザクションが作られ、ブロックチェーンノードへ配布される必要があります。その後、Proof of WorkかProof of Stakeかを問わず、ブロックチェーンノードがブロックを生成し、世界中のほかのノードへ送ります。大きな視点では、コンセンサス・プロトコルに関係なく同じ処理です。簡単に仕組みを説明します。
トランザクションがシステムへ送られると、BloXrouteはすべてを受け取り、それぞれに短いIDを付与します。たとえば実際のトランザクションが500バイトなら、BloXroute内だけで使う4バイトほどの識別子を作ります。ブロックが届くと、それがProof of Work、Proof of Stake、そのほかのコンセンサス層プロトコルのどれから来たかに関係なく、ゲートウェイが元のトランザクションを短い識別子に置き換えます。これにより、ブロックチェーンノード間で送信するデータ量を大幅に減らせます。ブロックチェーンネットワークやエコシステムを立ち上げた経験があれば、その効果の大きさが分かるでしょう。非常に基本的で単純な機能ですが、強力です。
これが私たちの提供するサービスであり、POW、POS、そのほかの方式を問わず、あらゆるコンセンサスで有効に機能します。
Matt: 7月末にお話しできて幸運です。皆さんが最近、初のBitcoin Cashマイニングテストを完了したと知りました。その結果について教えてください。実際に何が行われ、成功したのでしょうか。懸念点はありましたか。
Aleks: はい。Bitcoin Cashを選んだのは、早い段階から大きなブロックをサポートしていると分かっていたからです。そのためテストネットで実験しました。そこでは、コストをかけずに数百万トランザクションを含む巨大なブロックを生成し、32メガバイトものブロックを世界中へ送ることができました。ブロックが大きいほど私たちのサービスの価値が高まるので、素晴らしい実験環境でした。結果には非常に満足しています。
Bitcoin Cashには独自の競合機能としてコンパクトブロックなどがすでにありましたが、このようなシステムでも特に役立ちます。私たちがもたらす本当の価値は、異なるマイナーをすべて同期させることです。戦略的な方法ですべてのトランザクションを全マイナーへストリーミングし、同期を実現します。これだけでも大きな助けになりますし、ブロックをBDN経由で伝播させることも役立ちます。詳細はオンラインで公開されていますが、特に中国ではインターネットの挙動が異なり、ネットワークレベルで多くの興味深いことが起きるため、大幅な改善が見られました。性能を劇的に、確か50倍ほど改善できました。中国には非常に多くのマイナーがいる一方で、世界のほかの地域と接続する必要があるため、これは大きな価値があります。これが一つ目です。
Matt: BloXrouteのユニークな点の一つは、Bitcoin Cashだけではないことです。EthereumネットワークやETHのサポートについても同様の成果を期待していますか。Bitcoin Cashの結果を踏まえ、次のテストにどのような期待を持っているか教えてください。

Aleks: はい。うまくいくことを期待していますが、もちろん重要な違いがあります。Ethereumではメインネットに進みます。現実の環境でも前進し、マイナーやそのほかの皆さんに価値を生み出せることを示したいのです。Ethereumは少し性質が異なります。ブロックはかなり小さい一方で、より頻繁に生成されます。これが一つの違いです。もう一つはコンパクトブロックがないことです。私たちの内部的な計算・圧縮技術で大幅なスケールアップと性能向上を実現できると期待しています。また、主要なEthereumマイニングプールの多くと良好な協力関係があります。どうなるか見てみましょう。うまくいくことを期待していますし、そこから多くを学べることも確かです。
Matt: サービスを一般公開する時期はいつ頃を予定していますか。
Aleks: Bitcoin CashとEthereumについては、システムの初版のソースコードを近く一般公開します。まずはテストに協力しているマイニングコミュニティに共有し、すべてのソースコードなどへアクセスできるようにします。私たちを信頼してコードを実行してもらうには、コードにアクセスできなければなりません。2019年9月にコードを公開する計画ですが、別のテストも本番稼働に向けて準備中なので、製品の調整に時間が必要になる可能性があります。そのため、今年第4四半期が現実的な目標です。
Matt: マイニングコミュニティやパートナーについて、BloXrouteやBDNへの参加をすでに決めていて、公表できるパートナーはいますか。
Aleks: マイニングプールについて言えば、私たちのパートナーではないところを探すほうが難しいほどです。マイニングプールのコミュニティから大きな期待が寄せられています。一方で、多くのブロックチェーンシステムとも話をしています。特定のブロックチェーンをBDNに載せるには、私たちのシステムと互換性のあるゲートウェイを構築するなどの作業が必要だからです。30から40以上の多数のプロジェクトと話をしてきました。可能な限りすべてのプロジェクトをサポートしたいとは思っていますが、すぐにすべてへ対応できるほどの開発者はいません。
ベンチャーキャピタリストという仕事が、思っていたほど簡単ではないと生まれて初めて気づきました。「大金があるから、あちこちに投じれば何かが実を結ぶ」と考えていました。しかし実際には、誰を支援するのか慎重に見極めなければなりません。成功を願っていないからではありません。将来そのプロジェクトが成功しなければ、私たちが投入する作業という意味での投資が見合わなくなるからです。そのため、将来成功すると期待し、信じられるプロジェクトを探しています。
今はおおむねその段階ですが、近いうちに、この分野で私たちが信頼する次のブロックチェーン・プロジェクト群を発表できると思います。彼らと提携し、私たち全員が信じる未来の構築へ進んでいきます。
Matt: 私たち全員を代表して、お時間をいただき、BloXrouteについて詳しく学ぶ機会をくださったことに感謝します。
Aleks: ありがとうございました。