
この記事は以下からのものです。チェーンニュース ChainNewsこの記事は以下からのものです。
チェーンニュース ChainNews
チェーンニュース ChainNews
(ID:chainnewscom)、著者:Dani Grant、UNION SQUARE VENTURES アナリスト、編集者:Zhan Juan、許可を得て転送。
1990 年代以来、分散コンピューティング ネットワークの構築が試みられてきました。1996 年には、インターネット メルセンヌ プライム検索プロジェクトである GIMPS が分散コンピューティングを使用して素数を検索し、1999 年には Seti@Home がボランティアのコンピューティング能力を使用して素数を検索しました。地球外生命体のために。
25 年が経った今、パズルの最後のいくつかの小さなピースが整ったように見えます。
私たちが常に興奮している暗号通貨の応用の 1 つは、分散コンピューティングです。暗号通貨が登場する前は、アイドル状態のサーバーで機械学習プログラムを実行している見知らぬ人に、ラップトップを使って少額のお金を送ってお礼を言うことはできませんでした。暗号通貨により、参加しているノードがタスクを実行していることを補うためにマシン間で支払いを行うことがついに可能になりました。
私たちは分散コンピューティング プロジェクトをフォローしており、共有したいと考えていました。
ネットワークに接続されるコンピューターの数が増え続けることにさまざまなプロジェクトがどのように対処するか、また、タスクが実行されるコンピューティング ノードからタスクを分離する方法に関するソリューション。
以下は暫定的な調査結果であり、修正のために共有します。
副題
ネットワークを成長させる方法
メトカーフの法則はコンピューティング ネットワークに当てはまります。つまり、ネットワーク上のマシンが多いほど、必要なときにマシンが新しいタスクを受け入れる可能性が高くなります。コンピューティング ネットワークの拡大は、特に混雑が進む空間では困難です。問題は人々がインストールしたものやインストールしたくないものではなく、突破しようとするプロジェクトには当然多くのノイズが発生するということを明確にしなければなりません。
ここでは、私たちが見た 4 つの興味深いアプローチを紹介します。オプション 1: 誰でも簡単にネットワークに参加できるようにします。
一例として、KingsDS のプレベータ版が挙げられます。参加するには、ブラウザで URL にアクセスし、タブをバックグラウンドで実行するだけです。アプローチ 2: 他のアプリケーションがユーザーのリソースを共有することで補償を受けられるようにします。
その一例が FREEDcoin プレベータです。ゲーム開発者向けにソフトウェア開発キット SDK のセットを提供します。プレイヤーが FREEDcoin SDK を実行するゲームを起動すると、ゲーム内報酬と引き換えに CPU を貢献する機会があります。これにより、Win-Win の状況が生まれます。FREEDcoin は高性能ゲーミング PC をそのネットワークに引き付けることができ、ゲーム開発者は広告を表示せずにゲームを収益化でき、プレーヤーは仮想報酬を獲得する機会が得られます。たとえば、Golem ベータ版はクライアント側でタスクを送信して計算を実行できます。これは、各エンド ユーザーが単純にコンピューティング ノードになることができることを意味します。これにより、ネットワークの両端で均等に成長することができます。
方法 4: 最後の方法は、コンピューティング リソースを他のコンピューティング プロジェクトに提供することです。
一例は、他のコンピューティング ネットワークの迅速な拡張を支援するプロジェクトである SONM ベータです。 SONM のオープン マーケットプレイスを使用すると、マシンは利用可能な RAM、CPU、GPU の量を標準化された形式で表示できます。 SONM を使用するプロジェクトは、SONM ネットワーク全体で利用可能なリソースを持つマシンを検索できます。
副題
タスクをホストから分離する方法
課題の 1 つは、タスクがホストのメモリを読み取ったり変更したり、あるいはその逆を実行できないようにすることです。複数のタスクが 1 台のマシン上で同時に実行されている場合は、それらのタスクを相互に分離することも重要です。
しかし、この分野では、2 つのプロジェクトが、特筆すべきユニークなことを行っています。
Enigma プレベータ版は、「秘密契約」と呼ばれるものを設計しています。これらはスマート コントラクトによく似たコンピューティング ノードですが、各データが分割され、同じコンピューティング タスクを実行する複数のノードに分散されるため、個々のノードはフェッチを読み取ることができません。あらゆるデータ。彼らは、1980 年代に開発された Multi-Party Computation (MPC) と呼ばれる暗号化手法を使用してこのアイデアを実装しました。 Enigma は、ストレージと計算のための独自のチェーンを構築しています。
Keep pre-beta も同様のアプローチをとる別のプロジェクトです。また、マルチパーティ計算を使用して暗号化されたデータを分割して計算を実行しますが、コンピューティング ノードは受信データを読み取ることができません。 Keep を通じて、プライベート データはクラスター内に保存および計算され、出力データはブロックチェーン上で公開されます。
副題
最終的な考察: 狭い使用例と広い使用例
分散コンピューティング プロジェクトには、2 つのアプローチがあります。1 つは、あらゆるワークロードを受け入れることができる汎用コンピューティング ツールを構築するか、または狭い範囲のタスクのみを受け入れることです。
Union Square Ventures が投資する企業のほとんどは、1 つのことを念頭に置いてスタートし、その中で成長し、それを中心にネットワークとプラットフォームを構築します。例えば、私たちが投資したCloudflare、Stash、Cartaなどはすべてこれに該当します。
同じパターンがコンピューティング ネットワークにもうまく機能すると思います。機械学習モデルのトレーニング、3D グラフィックスのレンダリング、タンパク質の折りたたみライトなどの狭いユースケースから始めて、プロジェクトを迅速に軌道に乗せ、時間の経過とともに他のコンピューティング分野に拡大します。 。
当社のパートナーの 1 人、アルバート ウェンガー氏は、この理論を説明するために WeChat の成長を例に挙げました。WeChat はチャットから始まり、チャット アプリの成功によりネットワークを拡大し、決済、電子商取引、ゲームなどのアプリを構築できるようになりました。プログラムが開発され、現在では WeChat は統合アプリケーション ツールに発展しました。
2 つの道があるようです。1 つは、機械学習タスクのトレーニングから始まります。これは、機械学習がコンピューティング リソース要件の増加を促進する要因の 1 つであるためです。もう 1 つの方法は、プライベート データを保護するオーバーヘッドが発生しない 3D レンダリングや学術/科学コンピューティングなどのユースケースから始めることです。
全体として、この分野はまだ初期段階にありますが、今後の見通しは刺激的です。コンピューティングサプライヤー間の競争激化は、価格を引き下げてイノベーションを推進するだけでなく、分散コンピューティングがエンドエンドよりも速い場合にのみ出現する、VR や自動運転車などの新しいクラスのアプリケーションを可能にする可能性もあります。 -west-2 リージョンは、わずか数百ミリ秒だけ高速です。
これらは、私が 6 月に書いた内容の要約であり、私たちが目にしているコンピューティング プロジェクトの種類の概要を示しています。過去 2 か月の間に、この分野では多くの急速な発展が見られました。ここでは、私が共有し続けているいくつかの観察を紹介します。副題隔離されたネットワーク vs オープン プロトコル
分散コンピューティングには 2 つのアプローチがあります。
これらのモデルの 1 つには、誰でもインターフェイスとクライアントを構築できるコンピューターの共有ネットワークを作成する、主要な分散コンピューティング プロトコルがあります。
そして別のモデルでは、いくつかの有力なコンピューティング プロジェクトがあり、それぞれが独自のコンピューター ネットワークを持っています。
どちらのモデルでも、異なる対象者にサービスを提供するプロジェクトの共存が可能ですが、1 つのモデルでは、プロジェクトは同じ共有リソース プールに存在するクライアントであり、もう 1 つのモデルでは、両方が独自の個別のネットワークを実行します。これら 2 つのモデルを共存させることは可能ですが、ネットワーク効果を考慮すると、共存は実際には不可能だと思います。機会があれば、プロジェクトは独自のコンピューター ネットワークを構築するのではなく、既存のコンピューター ネットワークを利用することを選択する場合があります。これは、最初により多くの CPU にアクセスできる方が、最初から開始するよりも顧客により良いサービス品質を提供できるためです。
両方が試行されるユースケースが見られます。 SONM は、共有リソース層の構築を試みるプロジェクトです。もう1つは、Distributed Compute Labsが構築した「Distributed Computing Protocol」DCPです。他のほとんどのプロジェクトは現在独自のネットワークを構築していますが、オープン プロトコルを使用すれば、これらのプロジェクトの代替インターフェイスを構築することを妨げるものはありません。独自のシステムとしてスタートし、その後有機的に成長して、現在共有しているリソース層の上にあるクライアントの 1 つになるプロジェクトが見られるかもしれません。私は共有コンピューティング層の可能性と、それを構築しようとしているチームやプロジェクトに本当に興奮しています。
副題
トークンの問題
私たちが考えてきたことの 1 つは、どのトークンが開発者によって使用され、どのトークンがエンドユーザーによって使用されるかということです。つまり、ユーザーが分散コンピューティング ネットワーク上でコードを実行している DApp と対話する場合、DApp がコンピューティング サービスに対して支払うのと同じ金額をユーザーは DApp に支払うのでしょうか?
一方、Hypernet と Truebit は、デュアル トークン モデルを備えた 2 つのコンピューティング プロジェクトです。
Truebit では、購入者はサービスの代金を ETH で支払うことができますが、Truebit TRU トークンはプロトコル固有の賭けおよび紛争解決機能にのみ使用されます。これは、取引に主流の消費者通貨を使用し、独自のトークンがガバナンス、ステーキング、紛争解決にのみ使用される、The Graph や Augur のようなインフラストラクチャ プロジェクトで今年見られたパターンと一致します。
将来的には、より多くのプロジェクトがデュアル トークン モデルに移行すると予想しています。これは、ネットワークが成長するにつれてガバナンスの価格は上昇しますが、サービスの使用の価格は上昇しないためです。副題EC2 モデルと Lambda モデルの比較
既存の Web2 の世界では、コンピューティング サービスには主に 2 つのタイプがあります
: EC2 モデルでは、開発者はサービスを実行およびホストするための環境を取得します。Lambda モデルでは、開発者はオンデマンドで呼び出すことができる関数を作成します。
分散コンピューティング プロジェクトも 2 つのカテゴリに分類できます: lambda または Cloudflare Workers 😉 で表されるカテゴリ。ユーザーがスクリプトを作成し、参加しているマシン上でプロジェクトが実行されます。もう 1 つのアプローチは EC2 (「他人のコンピュータ」) です。ユーザーはネットワーク上の誰かとマッチングされ、その人のコンピュータ上でコンテナを実行できます。
Lambda メソッドは、Lambda のような分散ネットワーク内の正確には Lambda マシンではなく、プッシュされたすべての関数を保存し、必要に応じて呼び出すわけではないことに注意してください。代わりに、これらのネットワークは、科学計算やグラフィックスの描画などのユースケースでオフラインの非同期スクリプトを実行するために使用されます。レイテンシーの問題が改善されるにつれて、サーバーレス コンピューティングに似たものになると思います。
DApp フロントエンドのホストには永続的なホストが必要ですが、ワンショット計算の実行はサーバーのようなプラットフォームでの作業に適しています。
ホストされたプラットフォーム上で動作する 2 つのプロジェクトは、Akash と DADI です。エンドユーザーの観点から見ると、Akash は実際には従来のコンピューティング サービスによく似ており、開発者は、Akash ネットワーク上のマシン間でフェデレーションできる Kubernetes クラスター内の Akash がデプロイされたマシン上のコンテナを管理します。 Akash が Federated Kubernetes のコントリビューターでもある Greg Osuri によって設立されたのは偶然ではありません。 Akash を試してみたい場合は、つい最近テストネットを立ち上げたばかりです。
サーバーレス プラットフォーム上で動作する 2 つのプロジェクトは、Ankr と DCP です。
副題
ハードウェアデバイスの活用方法
分散サーバーレス コンピューティング プロジェクトは、一度に 1 つの小さなスクリプト以外のコードを実行しないため、見知らぬ人の携帯電話やラップトップでコードを実行できるという点で、暗号通貨ベースの分散コンピューティング ネットワークに特有のものです。コンピューティング環境の永続的な占有が必要です。 。
ここでのアイデアは、これらのプロジェクトが、未使用のエンドユーザー CPU をすべて組み合わせて、現在クラウド コンピューティング市場で入手可能なものよりも安価に 1 つの巨大なスーパーコンピューターを形成できるということです。価格設定について一言: 分散ネットワークは物理スペースにお金を払う必要がなく、ハードウェアの設備投資コストが考慮されているため、コストが安くなるというのが一般的な意見です。しかし、ベンチャー キャピタル会社 Placeholder の研究者、Mario Laul 氏が私に指摘したように、クラウド コンピューティングの価格設定はどん底に達しており、分散型サービスが台頭して大手プレーヤーを圧迫した場合、クラウド サービス プロバイダーは価格を維持コストまで引き下げる可能性があります。競争力を維持するために。私は、エンドユーザーのデバイス上で利用可能な CPU をプールすることで高性能コンピューティング環境を提供する現在のプロジェクトに非常に興味があります。
エンドユーザーのデバイスでコードを実行するには、3 つの大きな課題があります。1つ目は、十分な数の人に参加してもらうことです
。以前にも議論されました。2 番目の課題は、エンドユーザー デバイスのパフォーマンスが比較的低いことです。
これに対処するために、複数のマシン上でコードを同時に実行するために、いくつかのプロジェクトが並列化された方法で構築されているのが見られます。 Ankr を使用すると、ユーザーはコードをチャンクにパッケージ化し、個別にネットワークに送信できます。その後、ジョブ スケジューラがコードをさまざまなマシンに配布します。 DCP は、「Web Workers」で実行される JavaScript オブジェクトの形式で、アプリケーションのサブタスクをマシン全体に自動的に分散します。さらに、DCP は賢い機能も備えています。WebGL を使用してエンドユーザー デバイスのグラフィック プロセッサにアクセスするため、効率がさらに向上します。
3 番目の課題は、エンド ユーザーのデバイスが信頼できるハードウェアではないことです。
6 月にこの記事の前半を公開して以来、Intel チップに組み込まれている信頼できるハードウェア環境である SGX の活用において大きな進歩が見られました。
それ以来、Enigma はコンピューティングに SGX を利用するテストネットをリリースし、Golem は開発者が SGX 対応のコードを書くのを支援するために Graphene-ng をリリースし、Oasis Labs は SGX 対応の分散コンピューティング プラットフォームを構築するために a16z などの機関から 4,500 万ドルを調達しました。
私自身も SGX のファンです。SGX は非常に安全で、消費者のラップトップに簡単に実装できるからです。
SGX 以外に、分散コンピューティング プロトコルが計算を検証できるもう 1 つの方法は、紛争解決です。 Truebit は、「検証ゲーム」と呼ばれる紛争解決プロトコルを備えたコンピューティング プロジェクトです。バリデーターは、TRU トークンを使用して計算結果に異議を唱えます。
Truebit の紛争解決メカニズムでは、プログラムを実行する各タイム ステップで、「ソルバー」の状態がハッシュされます。実際、どの命令もイーサリアムのガス制限内では実行できない可能性があるため、TrueBit は各命令を 16 個のサブ命令に分割します。ステップ。次に、バリデーターは、イーサリアム上で係争中のステップまたはサブステップを実行して最終結果を取得する前に、ハッシュ状態をクエリして欠陥のある命令を見つけます。どちらの側が間違っていても賭け金は失われ、トークンは勝った側に支払われます。副題
スタック上のどこで計算を行うのが最適でしょうか?
未解決の問題は、コンピューティング サービスが最終的にレイヤー 1 ソリューションになるのか、それともレイヤー 2 ソリューションになるのかということです。つまり、次のようになります。
現在利用可能な主なブロックチェーンは、スクリプト言語が制限されているビットコインか、計算コストが高くて遅いイーサリアムであるため、計算はオフチェーンで行われます。そして将来的には、レイヤー 1 ブロックチェーンは、ネットワーク内のすべてのノードが同じ計算を実行する必要がない方法で計算を実行できるようになる可能性が高く、これにより計算がより安価かつ高速になります。 Perlin は、この機能を構築しようとするプロジェクトです。しかし、Perlin でもコンピューティング サービスはメインの Perlin ベースチェーンのサイドチェーンとして実装されます。
ほとんどのプロジェクトは、既存のブロックチェーンのサイドチェーン、または既存のベースチェーンから完全に独立したオフチェーンネットワークを構築しています。レンダリングは最初のアプローチの一例であり、既存のブロックチェーンのサイドチェーンであり、イーサリアム スマート コントラクトがレンダリング ネットワークと対話します。 Akash は後者の例であり、完全に独立したネットワークであるスタンドアロンのオフチェーン ネットワークです。
私は、全能のスーパー プロトコル ブロックチェーンを形成するよりも、相互に階層化できる軽量の水平プロトコルを好みます。これが現在のインターネットの仕組みです。SMTP > STARTTLS > TCP > IP という小さなプロトコルが積み重ねられています。再利用可能なモジュールにつながる可能性があります。QUIC と DNS はどちらも、UDP を変更せずに UDP を使用でき、レイヤーを簡単に交換およびアップグレードできる機能を備えています。たとえば、HTTP を SPDY と交換したり、下のレイヤーを変更せずに HTTP 1.1 から HTTP 2.0 にアップグレードしたりできます。副題
地域市場を開拓する
最後に言いたいのですが、
1 つの地域市場に集中するようなプロジェクトもいくつか見られますが、これは非常に賢明かもしれません。