Gavin Wood率いるParity Technologiesの新プロジェクト「Polkadot」とは何なのか

Parity TechnologiesはGavin Woodによって設立された企業で、軽量で高速なEthereumクライアント「Parity」やEthereumのアドレスと法的IDの紐付けを行う「PICOS」などを提供しています。Gavin Wood自身がVitalik Buterinと共にEthereumの開発に大きく関わってきました。そのGavin Wood率いるParity Technologiesの新プロジェクトがPolkadotです。Polkadotについては日本語はもちろん、英語でも情報が不足しており、私自身も情報収集に奔走しているところなので、Polkadot関連の情報を少しづつ発信していこうかと思います。

以下はParity Technologiesのコア開発者であるRobert Habermeierの投稿で、Polkadotの要約として消化しやすい内容だと思いましたので和訳して紹介します。私自身の理解もまだ浅いので、ツッコミ等を歓迎します:)

※Polkadotは現在ICO中ですが、この記事はPolkadotについてまだ理解の浅い人間が書いています。また私は昨今の、ICO実施者ならびにICO参加者双方の売上や資産を増やす手段としてのICOに対しては、かなり懐疑的な立場を取っています。DAOやDACのような非中央集権的なプロジェクトの資金調達手段としてのICOは今でも革新的だと思っていますし、中央集権的な組織によるICOも法規制によって禁止されなければ今後も広まっていくでしょう。後者の形のICOはクラウドファンディングに近い形で、トークンをブロックチェーンならではの発展性のある形でビジネスモデルに組み込みながら発展していくことを願っていますが、ICO参加を他人に勧めることはありません。


※強調部分は原文ママ

ブロックチェーンは現在、2つの部分で構成されたかなり標準的な形になっています。 最初の部分はコンセンサスアルゴリズムであり、セキュリティを提供します。 2番目の部分は、セキュリティを確保する価値があるチェーンの側面を提供するステートマシンです。 Ethereum、Bitcoin、Zcashなどはすべて様々なProof-of-Workコンセンサスによって保護されていますが、処理するトランザクションやアカウントの種類(独自のステートマシンを構成するもの)はすべて異なります。 効率的なプライバシーや富の分配、その他のエキサイティングな機能を提供できる新しいブロックチェーンの素晴らしいアイデアを思いついた開発者を想像して下さい。 開発者はそのユニークなステートマシンの実装に取り組んでいますが、何らかの種類のコンセンサスアルゴリズムを実装しなければなりません。また、チェーンをローンチするときに、他の人と競合してセキュリティリソースを確保する必要があります。 これにより、新しいブロックチェーンプロジェクトの開発に諸経費とセキュアではない状態が生じます。

Parachain(並列化可能チェーン)は、よりシンプルなブロックチェーンの形式で、そのチェーン固有のセキュリティではなく、「リレーチェーン」によって提供されるセキュリティに付随しています。 リレーチェーンは、付属するパラチェーンにセキュリティを提供するだけでなく、それらの間の安全なメッセージパッシングの保証も提供するので、そう呼ばれます。パラチェーンの重要な特徴の1つは、それらが実行する計算が本質的に独立していることです。 チューリング完全なスマートコントラクトの完全に一般化されたシステムは、どのトランザクションが互いに”衝突する”かを決定する際に問題に遭遇します。つまり、並列化される可能性があるトランザクションは往々にして、貴重なコンピュータの時間を無駄にしつつ、順番に実行されます。 パラチェーン間の明確な境界を引くことは、衝突の恐れなしにすべてを一度に実行できることを意味します。パラチェーンが10個ある場合、同じセキュリティソースを使用して10倍の作業を実行できます。

高度に専門化されたパラチェーンは別の目的を持っています。ブロックチェーン固有のスクリプト言語や仮想マシンに縛られることなく、問題領域に対して最も効率的な方法でデータストレージとトランザクション操作を実装できます。 Bitcoin ScriptやEVMなどのモデルは、相互運用性を念頭に置いて設計されていましたが、これらのモデルを使用しているシステムは、実装の全ての部分に対して(同じネットワーク上で実行されている他のシステムからアクセス可能であるように設計されたものに対してだけではなく)増加費用を払っています。対照的に、Polkadotのパラチェーンは、非同期メッセージパッシングによって互いに通信するため、パラチェーンが合流する境界でデータの均一性のコストを払うだけです。

完全に一般的で、チューリング完全なスマートコントラクトのフレームワークを提供するパラチェーンを作成することは可能です。 簡単な例は、EVMを搭載したパラチェーンです。 このParachainに実装されたコントラクトは、上記の理由により、Ethereumスマートコントラクトの一般性と相互運用性によって利益と不利益の両方を受けるでしょう。 主な違いは、完全にオプトインであることです。 我々は、極めて一般的なフレームワークの選択性を維持しながら、集中ソリューションを統合する機能をPolkadotの最も強力な特徴の一つだと考えています。

パラチェーンの最も興味深いユースケースの1つは、スケーラビリティのためのツールとしてです。独自のパラチェーンを持つパラチェーンを作成することなどが可能です。これにより、ルート・リレー・チェーン自体の全体的な負担を軽減することなく、高度に分散した計算を実行するために使用できるツリー状の構造が作成されます。主な問題は、データの可用性を確保することです。パラチェーンブロックは、一定期間、誰もがチェックできるように保持されている有効性の証明を伴います。バリデーターは、自身が検証したブロックが利用可能な状態を保っているかどうかを確認する責任があります。残念ながら、送信されるはずのメッセージが送信されていないことを、メッセージをチェーン上で移動させることなく、証明することは不可能です(少なくとも非常に難しい)。この問題は、評価制度を用いた保証によって回避できます。比較的信頼できる関係者が、バリデーターがデータを保留していることを特定すると、処罰される可能性があります。これは、コイン投票や多層コートのシステムにも一般化することができます。悪意のある報告や虚偽の報告の有効性と実用性を低下させるために、不正行為の報告には払い戻し不可能なバーンが伴います。第1レベルのパラチェーンの場合のように、十分な人々が計算を見ているときに、必要なデータは一般的に利用可能になります。緩和のためのもう一つの戦略は、チェーンが停滞したり攻撃されたときに蓄えられた価値(stored value)を引き出すことができるようにパラチェーンを設計することです。とはいえ、チェーンが資金をロックしたり、それらの支払いを自律的に管理したりするスマートコントラクトを実行している場合にこの戦略を実行するのは難しいです。

おそらく、スケーラビリティに対するさらに興味深いアプローチは、ゼロ知識(ZK)証明の使用です。 ZK-SNARKやZK-STARKのようなモダンな非インタラクティブ型ゼロ知識証明は、既知の入力と未知の入力がある既知のプログラムが正しく実行されたことの証明をチェックすること、またそのプログラムの出力が何であるかを、プライベートな入力に関する情報を一切漏らすことなく知ることを可能にします。最も一般的には、このようなゼロ知識証明はプライバシーのためのツールと呼ばれますが、パフォーマンスのために活用することもできます:驚くべきことに、この種のゼロ知識証明をチェックするために必要な時間は、プログラムそれ自体の複雑さとは無関係に、大体一定であり、対応するプログラムが実行するのに要する時間よりも短い時間で検証が終わる証明さえあります。これは、処理時間がかかる非常に複雑なトランザクションであっても、チェーンのバリデーターによって短時間で検証できることを意味します。残念なことに、ゼロ知識証明を作成するための計算コストとメモリコストは、平均的なユーザーにとって実現可能なコストよりもまだ高いです。これらのコストが下がるまでは、実際にゼロ知識証明が使えるときが来るまで待つ必要があります。

しかし、パラチェーンの偉大な点は、それらに一般性があることです。 各パラチェーンが独自の有効性の概念を定義できるようにすることで、現在のかさばる証明から、より軽量でより高度な証明にシームレスに移行することができます。 シャーディングの研究が発展するにつれて、最新の技術を実装するパラチェーンを簡単に追加することができます。 そして、それは究極的に、Polkadotが提案する価値そのものです。その価値とは、現在と将来の両方で不必要なコストなしに作業するための適切な抽象度に位置しているということです。 このシステムは、任意の進歩に対応するだけでなく、最新の開発をスムーズにスケーラビリティに統合するための拡張性を持つように設計されています。


以下、関連リンク。

Robert Habermeier (@rphmeier) | Twitter

w3f/polkadot-white-paper – Gitter

Polkadot