Tallyプロトコル:未開発のGPUパワーを利用したイーサリアムスケーリング
既存のハードウェアを利用し、イーサリアム・ブロックチェーン上で多くて強力なアプリケーションを実行するのにどうしますか。
以下はブロックチェインで主な盲点です:イーサリアムでより有効なGPUs使用方はありますか?
それは無論です。 私たちは現在、プルーフ・オブ・ワーク (proof-of-work、POW)の計算に大量のGPUハッシュパワーを導入していますが、イーサリアム仮想マシン(EVM)はシンプルで低速なCPUのように機能しています。
これは設計によるものです。 しかし、ネットワークはCryptoKittiesのようなゲームで混雑になり、人々をビクビクさせてしまいます。
シャーディングやオフチェーン決済ルートのようなスケーリングソリューションは、ピアツーピア決済を加速させます。 しかし、ブロックチェーンが一番重要な約束を果たすことを望むのならば、規模の大きいエコシステムを様々なガバナンスモデルと統合させ、大量の行動を同時に管理できるソリューションが必要です。
一つ良いニュース。それは、以上は主に数字の演算のみが必要とされていて、 そして数字の演算というはGPUにとっての得意分野です。
それがCardStackがTallyを作成する理由です:Tallyはレイヤ2プロトコルであり、dAppがGPUパワーを活用して、データ分析、複雑なロジック、機械学習、AIアルゴリズム等大量の計算を実行できるようにします。私たちは、dAppがエコシステムにおける価値を公平にカットすることで、GPUに報酬を与える代わりに、この有用な作業がバックグラウンドでの実行を実現します。
エンドユーザーの観点から見ると、すべてのクリック、すべてのトランザクション、すべての確認はこれらの数値演算機能を必要とし、最終的にブロックチェーンに必要なものだけが残されます。スピードとスマートの面では、誰もが待っていた顧客体験は達成した、といえるでしょう。
背景について
ブロックチェーントランザクションは基本的に、支払い価格によってトランザクションが最終であるかどうかを確保しています。ビットコインの場合、10回確認した後、それは最終のトランザクションです。 イーサリアムの場合、スマートコントラクトの稼働方式を考えて、いったんトークンを取得すると、それが最終のトランザクションとなります。今のdAppは通常、ユーザーエクスペリエンスの最終段階で大量のトランザクションを実行しなければなりません。 それはひどく骨の折れることで、グローバル元帳の能力も浪費してしまいます。
ブロックチェーンアプリケーションをスケーリングする方法は、最終のインスタンスの数を減らし、一方分散型かつトラストレスなモデルを維持することです。するとルールが破られ、お金が盗まれることもいなくなります。 RaidenやLightningのようなレイヤ2ソリューションは、最終性を先延ばしにする方法です。 それは例えば、「もう少し飲みたいので、まだお会計はしません。店じまい、またはこちが店に出るとき、全部まとめてお会計します。」の感じです。
問題は、多くのレイヤ2ソリューションは、複雑なガバナンスと決済モデルを可能にするスマートコントラクトベースのロジックをサポートしないことです。しかしそれはdAppを真に強くするのに必要なことです。
Tallyはこういう大きい目標を持っています:それはスマートコントラクトの利点を保ちながら、可能な限りチェーンワークを減らすことです。
Tally:基本コンセプト
最終的にオンチェーンに戻る前に、即時に結果を処理できるTally実施の数値演算システムの最も簡単なトポロジから始めましょう。
たとえば、ブロックチェーンベースの投票用dAppを構築しようとしています。 仮に100万人の有権者がいます。投票を行うのに最も簡単な方法は、各有権者に、特定の候補者への好みを示すメッセージに暗号化の方法で署名するように依頼することです。つまりすぐに最終結果を得るためすべての有権者がチェンジ上で投票するのではなく、結果がスマートコントラクトに戻る前にGPUで稼働するoracleに投票を読んで、処理してもらいことです。
しかし、投票は同時にエコシステムにおける大部分のトークンのアクセス権を決定すると考えてみてください。よってoracleは容易に攻撃対象になってしまいます。
解決策は、分散型配置に移行し、結託を防止するために複数の、場合によっては数百または数千のoracleを匿名で働かせることです。Oracleごとに証明され、ロックされた株が持ち、そして結果を報告するため、Oracleのいくつは抽選によって選ばれます。そうすることで、投票をハッキングするにより多くのリソースが必要となるでしょう
私たちがしようとすることはつまり、ネットワークの安全性を確保するため、一部の株をoraclesに支払うことです。 今、選挙の価値が高まるにつれて、oraclesはより多くの株を共有し、よって攻撃のコストも上がります。
ここがポイントです:これらのエージェントにプールを提供すると、実際にネットワークを確保する経済利益がネットワークの参加者と一致するため、彼らはoracleではなくなり、マイナーとなります。 私たちは彼らを「分析マイナー」と呼びます。
もしブロックチェインを新しいブロックを確認するための一連の選挙と考えるのなら、この投票の例は、ブロックチェインについて考える全く新しい方法として一般化にすることもできるでしょう。
Tallyは統計の原理に基づいたコンセンサス・アルゴリズムです。 シェリングポイントを利用することで、分散型マイナーに、他の人と同じソフトウェアを実行し、同じ生データを入手し、同じ結果を得るよう強力なインセンティブを与えることができます。いったん成功すると、マイナーが得た結果から、コンセンサスの形で、中心傾向(平均値、中央値、モードなど)を安全に使用することができます。
元の趣旨に戻りましょう:今のPOWマイナーは文字通りGPUで札を印刷しています。 しかし、dAppの価値と促進してきた専門化経済の向上につれて、dAppがその価値の一部をマイナーと共有することと引き換えに、未開発で大量のハッシュ・パワーを得ることは理にかなっています。
そこが重要である理由は以下にあります:Tallyプロトコルをイーサリアムのエコシステムで成功させるのに新しいハードウェアや新しい役割はもう必要ありません。私たちにはもう何も欠けていませんから。
私たちがしようとしているのは、dAppが、スマートコントラクトロジックの一部をGPUフレンドリーなアルゴリズムに書き直し、GPUマイナーのハードウェアを利用して毎秒何百万もの投票数を計算するため彼らに経済的インセンティブを与えるのに役立つことです。 そして、投票の結果をイーサリアム・ブロックチェーン上で行われる1回のトランザクションを通じて書かれます。
後は、イーサリアムdAppを1秒あたり100万回のトランザクションに拡張することだけです。
結論
私たちはFacebookやGoogleがブロックチェーンに対する関心の低さに不思議だと感じていますが、逆にいうと、暗号コミュニティが並列化可能な機械学習、パターン認識、大規模なログ処理や、グラフベースのネットワーク分析等に対する関心も足りません。つまり、デジタル超大国はプライベートネットワークをどのように管理していますか?
幸いなことに、これらの分野における最近の革新はすべて、オープンソースのツールキットとして利用できるようになりました。その多くは、GPUフレンドリーなライブラリで実装されており、それによってブロックチェーンの世界は一晩でリストラできます。 そして、機械学習の世界、すなわちデータサイエンスの世界から適切な専門知識を得たら、ホワイトペーパーに記載されている多くの目標は、シリコンバレーが10年かけて改善し続けていたツールセットに完璧に合致していると気づきます。
私たちは現在、アプリケーションとオープンソースライブラリの間の依存関係を分析することによって、ソフトウェアメータリングと課金の問題を解決する(ソフトウェアの使用を効果的に測定する方法)Tallyの概念実証に取り組んでいます。 ソフトウェアは私たちの世界なので、オープンソースのメーカーやクリエイターに富を公平に分配するため、Tallyを最初の試みとして使用するのは正しいと思います。
しかし、この基礎技術を、私たちが良く知っている他の分散型エコシステムのテンプレートとして使えると思っています。
POWマイニングにより、暗号コミュニティは史上で最も強力なコンピューティングパワーの世界的ネットワークとなっています。「いくらのパワーを消費したか」とかでメディアに談笑をされるより、これらのリソースをより有用な計算作業を行うためにどう使うかをともに相談しましょう。
Google、AWS、Facebookなどデジタル超大国の壁の中で、研究者やエンジニアは、ユーザーの注目を集め、彼らの関心を測り、彼らの世界の見解を変え、そしてあらゆる行動を収益化する方法を見つけるために膨大なリソースを注ぎ込んでいます。 しかし、彼らも無敵ではありません。
理想を抱いて、これらの企業が私たちに与えたデータ学習と機械学習ツールを活用し、強力で経済的なグローバルマイナーネットワークを利用し、より公正で透明なソフトウェアシステムを構築して、 デジタル世界をより良い場所にしましょう。
Tallyの詳細については、Cardstack CEO Ed Faulknerのブログ記事をお読みください。
TallyがMerkleツリーを使って支払いをスケーリングする方法については、Cardstackシニアブロックチェーン開発者Hassan Abdel-Rahmanのブログをお読みください。
日本語テレグラム:
https://t.me/CardStack_JP2018