The History of Casper – Chapter 3

Casperの歴史3

この章では、ロングレンジ攻撃に対する解決策を発見したところから、伝統的なブロックチェーンのコンセンサスに関する研究と関連性に対する私たちのPoSについて説明します。

この「wild west」という期間は、幅広い実験、探検、および無知によって特徴付けられます。したがって、多くは混乱したアイデアの集まりです。この期間の終わりに私はFinancial Cryptographyのメーリングリストから追い出され、結果としてJae KwonTendermintについて学びました。

前回の記事をご覧になられていない方はこちら

The History of Casper – Chapter 1
The History of Casper – Chapter 2

 

Proof-of-stake consensus at “Ground Zero”

2014920日~201412

私たちは当初、Nothing at Stake問題と、ロングレンジ攻撃の問題に対する「根本的な」解決策を発見して、すぐに「PoSを解決する」ことを確信していました。しかし、すぐに主要な技術的な課題に対して答えられないことを知りました。

インセンティブの仕組みが正確であるかどうかはわかりませんでしたが、「二重署名」によってステークしている保証金を失うことは明らかでした。私たちは、プロトコルに対するアイデアと同期クロックや予測可能なネットワークレイテンシーなどとの関係について明確な表現を持っていませんでした。

この時期にNothing at Stake問題とロングレンジ攻撃に対する解決策を模索した末に、スラッシャーアルゴリズムという解決策が生まれたが、技術的な課題が多くあった模様。

 

Deposit rotation and Consensus Finality

ロングレンジ攻撃への解決策から、ブロックチェーンのクライアントは、セキュリティデポジットの最終的なファイナリティに同意する必要があることを知っていました。

接続されたステークホルダーの変化を捉えることは、クライアントが永続的なコンセンサスを失うことを意味する可能性があります。時間Tでオフラインになり、時刻T + 1に戻る予定のクライアントは、時間T からT+1の間に配置された、ブロックチェーンのフォークによってまだ「配置されていない」デポジットを保証する必要があります。説明のためにこの図を参照してください。https://imgur.com/OvRLW6Uデポジットのリストに関する不正確な情報を持つクライアントは、非コンセンサスのセキュリティデポジットの価格が0であるため、容易に攻撃できてしまう可能性があります。

当初から、私たちはPoSを働かせるためには「確定されたコンセンサス」を得なければならないことを知っていました。

私は、セキュリティデポジット自体をブロックチェーンのチェックポイントとして、PoSのチェックポイントに置き換える考えを持っていました。これらのチェックポイントのハッシュは、クライアントがデポジット一覧への変更を認証するために使用できます。これらのチェックポイントはすべてのXブロックで発生し、高さN * Xのブロックのチェックポイントは高さ(N + 1* Xから始まります(最長チェーンの共有された末端を介して、一致する時間を与えます)接続されたステークの過半数が必要となるため、あるブロック高に2つの有効なチェックポイントが存在すると、スラッシング条件が発生することになります。(Vitalikは、一般に、より継続的でより低いオーバーヘッドのメカニズムを好み、より緩やかな方法で確定性を提供するために、「弱い主観性」スコアリングルールを独自に思いついた。)

悪意ある攻撃に対して、PoSのチェックポイントとスラッシャーを設けることでセキュリティーを維持しようと考えるが、スラッシャープロトコル以前のブロックに対しては、デポジットやブロック報酬があるわけでもなく、容易に攻撃(フォーク)ができてしまうことが課題となっていました。この問題は迂回して解決しいているが、新たな課題が存在しています。

 

Sampling for “block makers” and “validation signatures”

成長するブロックチェーンを作り出すために、接続されたステークホルダーを(セキュリティデポジットに比例した確率で)サンプリングしてブロックを生産するためのシステムを構築する必要があることは、かなりはっきりしていました。ブロックされたステークホルダーのセットをさらにサンプリングしてブロックの「検証署名」を作成することで、ブロックチェーンのセキュリティを簡単に強化できることも明らかになりました。デポジットを有するステークホルダーは、PoWをする必要がないので、新しいブロックが生成された直後に意味のある経済的コントラクトに貢献することができます。

このサンプリングプロセスのエントロピー生成については簡単に推論できました。サンプル採取は、賄賂を使っている敵対者ではなく、支配下にある接続されたステークの割合が事前に定義された攻撃者から防衛するためのものです。(彼らはサンプリングされた後にノードを賄うことができる)。したがって、我々の経済的安全性は、単独でのサンプリングではなく、経済的コントラクトの違反に起因するスラッシング条件からならなければいけないでしょう。

 

Slashing conditions

だから、私たちはスラッシング条件をいじり始めました。接続されたノードが同じ高さの2つのブロックを作成または署名すると、残高を没収することは非常に容易であり、これは「明らかに悪い挙動」とみなされました。

異なるブロック高からフォークした2つのブロックに署名した場合はどうでしょうか?

これはやっかいでした。我々は、フォークを廃絶する必要があると確信していました。フォークは、(他の)フォークに接続されたステークホルダーの参加によって引き起こされる可能性があります。しかし接続されたノードには、罰せられずに、特定のビューで最高スコアを持つフォーク上に検証署名する柔軟性が必要でした。フォーク2の署名が作成された時点で、フォーク2のスコアがフォーク1よりも高い場合は、フォーク1のブロックで署名オフし、フォーク2のブロックで署名オンすることは完全に正しい。これは、PoWマイナーが攻撃者のフォーク上のブロックを「犠牲となるフォーク」よりも長くした後にマイニングすることが完全に正しいこととまったく同じです。当時、最高のスコアチェーンに署名するために接続されたステークホルダーにペナルティを課すことなく、異なる高さにある2つのフォークに署名するためのツールはありませんでした。

私は、接続されたステークホルダーが「このブロックチェーンの延長ではないブロックには決して署名しない」という形式の契約をスラッシング条件に検討しました。接続されたすべてのノードが同じフォークについてその契約を作ることができれば、このルールはチェーンをフォークから防ぐのに非常に効果的であると考えました。しかし、それができなかった場合、もはやチェーンに参加することができなくなるか、デポジットを失うでしょう。これは非常に厳しいように見えました。したがって、このスラッシング条件が機能するためには、接続されたステークホルダーがこの取り組みを確実にすることができなければならないことがわかっていました。

私がその関連性や存在を認識していなかったにもかかわらず、このスラッシング条件を考慮することは、私にとって伝統的なコンセンサス研究への最初の入門でした。Vitalikはいつもスラッシング条件を単純にしたいと思っていました。私が間違っていない限り、数ヶ月後までクロス・ハイト・スラッシング条件のファンにはならなかった。その後、キャスパーのベッティングサイクルを経てコンセンサス状態確定へたどりついた。いずれにせよ、私は接続されたステークホルダーは同じフォーク上でこれらの契約を行うことができると確信することはできませんでした(この章の前半にあるチェックポイントの例のように、非常に古いブロックで契約を作っていない限り)。コンセンサスは驚くほど難しいです。

 

Censorship of Byzantine proofs

ヴィタリックと私はビザンチン問題の証拠を検閲することを検討しました。そのような検閲は、セキュリティデポジットベースの経済的安全性を損なう可能性がありますが、これらの証拠はスラッシング条件を引き起こすために必要であったからです。

私たち(あるいは、少なくとも私)が伝統的なコンセンサス研究の実際の内容をよく知っているわけではないが、「ビザンチン問題」という言葉を使用し、そしてブロックチェーンはビザンチン将軍問題を解決したとみなした。ビットコイナーとして、私はAndreas Antonopoulosからこれを選んだ。

私はクライアントが、1)ビザンチン証明やビザンチン問題を観察し、2)これらの証明をチェーンに記入することによって、ビザンチンの証明の検閲を確認することができると主張した。このプロセスは、クライアントが検閲ブロックチェーンを無効と見なすことができる対話型クライアントプロトコル、または少なくともブロックチェーンの非検閲型フォークよりもスコアが低いものとして使用されました。現時点で、私が作っていた同期性の仮定に気づいていなかった。

 

The beginning of the end of the “wild west” of proof-of-stake

201411月、Peter ToddVinay Guptaは、独立して私が強い同期性の仮定を立てていたという事実に直面していました(Peter Toddは特に、ブロックや検証署名のようなネットワークメッセージは、合理的な時間内にすべてのクライアントに届くという私の仮定に目をつけ、Vinayはクライアントがクロックを同期させるという私の仮定に注目しました)。彼らは私に「ネットワーキングスタック」への同時性の提供を外部委託することができなかったことを認識させましたが、私のPoSプロトコルがこれらの仮定に対して頼っていることを最小限にするために最善を尽くさなければなりませんでした。これは、同期性の仮定に関する私の興味の始まりを示しています。イエー!

私は、メッセージの到着に関するクロックとタイミングの仮定を使用するのではなく、効果的に鼓動を作成するために、ネットワーク全体にメッセージを「ping pong」したというプロトコルを定義し始めました。私のPoSプロトコルでは、次のブロックが有効であるためには、セキュリティデポジットのうちp%がすべてのブロックに検証署名を与えるためサンプリングされ、これらのデポジット加重署名のうちq%がチェーンの次のブロックに含まれる必要がありました。

私は、同期性の仮定を作らずにオフラインでのブロックメーカーをスキップしようとしたが、失敗した。(タイミングの仮定なしに)私が何を試しても、接続されたステークホルダーはブロックメーカーをスキップするかどうかについて意見を異ならせることができたようでした。

 

Economics and game theory versus computer science

The Financial Cryptography mailing list contention.

私はどのように招待されたのか正確には覚えていませんが、どういうわけか2014年の11月か12月に金融暗号(およびブロックチェーン)メーリングリストに登録されました。

メーリングリストは、友人のEminGünSirerByron Gibsonよって管理されていました。彼らは研究者がブロックチェーン研究に関わるように努力していた。

私が参加したとき、コンセンサスに対する経済学の関連性についての議論はすでに進行中でした。大まかに言えば、経済とブロックチェーンに基づくコンセンサスとの関連性における信念についての2つの派閥があったことを覚えています。

VitalikJae Kwon、そして私は経済分析が研究の中心だと断言しました。PoW攻撃の際のデポジットや電力、資本コストが失われた場合、敵対者が費やした資金に関してセキュリティについて話しました。

Nick Szabo(反対派の明確なリーダー)は、経済分析は「脳の状態を推測する」よりも少しましで、フォールトトレランスとコンセンサスプロトコルの研究(ブロックチェーンに基づくかどうか)は純粋なコンピュータサイエンスの問題であると主張した。Szaboは、人生では「大きなゲーム」と「小さなゲーム」があり、プロトコル内のインセンティブ(小さなゲーム)はより大きなゲームに多大な影響を与え、インセンティブと報酬ははるかに大きくなると主張しました。

Vitalikと私はこの批判に対して同じ反応を示しました。「大きなゲーム」が「小さなゲーム」のインセンティブを無効にすることは事実であったにもかかわらず、プロトコル内のインセンティブができるだけ、プロトコルの保証が尊重される方向に引き出されることは重要でした。

Dominic Williamsは、コンピューターサイエンスを行い、その後インセンティブの互換性を追加することが重要であるという、賢明な「中間」の立場をとった。Szaboがそれをシェアした後、Dominic小さなゲーム / 大きなゲーム議論の大ファンにもなり、何年も何度もそれを繰り返してくれました(^_^) Dominicの見解は私のものよりも人気がありました。経済学はブロックチェーン研究のための基本的なものであったが、一方、伝統的なコンセンサス研究はそうではなかった。

私はNick Szaboを「コンピューターサイエンス」をどれだけ身につけているとしても、経済分析をせずにブロックチェーンについて話す資格がない、と軽くイジったときにメーリングリストから追い出されました。

私が靴を手に入れろと言われた理由は、伝統的なコンセンサスプロトコルの文献を知らないことでした。私はまったく無知でした。私は、それはグラウンドゼロから経済的になるようには設計されていなかったので、関連性がないと強く直感しました。

このエピソードは、私が伝統的なコンセンサス研究をよく知った初めてのことでした。それは、私が最終的に得られる(経済的かつ非経済的な)コンセンサスプロトコルに一般的な関心の種を植えました。いずれにしても私はすぐに文献を読むよう動機づけられたわけではありませんでした。それは非常に難しい文献です。しかし私の幾分故意でない無知は、私に文献を読まないことに対して少し罪悪感を感じさせました。

私はこの機会にこのメーリングリストでの積極的かつ思慮深い関与についてGünSirerに感謝の意を表します。このような高精度と正確さを備えた分散システムとゲーム理論について誰からも話を聞いたことはありませんでした。それが私を助けたと思う!

 

My Introduction to Tendermint

メーリングリストでの経済学とコンセンサスについて論じるこの経験は、私が最初にどのようにしてJaeKwonTendermintと知り合ったかです。Tendermintは、伝統的なコンセンサスプロトコルに基づいたセキュリティデポジットベースのPoSシステムです。

Tendermintのホワイトペーパーを読んで、Jae自身とSkypeですぐに電話をしたとき、私はTendermintが「最も簡単安全なPoSプロトコル」であると主張していました。ここで私が「安全」と理解したところでは、「ブロックチェーンをフォークしようとして賄賂をかける攻撃者に対して安全」という意味です。

Tendermintでは、すべてのブロックがブロックチェーンに追加(コミット)される前に確定されたプロパティを持っていました(そしていまでも!)。フォークがどれほど短くても、セキュリティデポジットの少なくとも1/3は、いかなるフォークの場合でも削減されることが保証されています。これは、私が見つけることができたものよりも、フォーク防止のセキュリティがはるかに強かった。また、私たちのセキュリティデポジットローテーションの問題の多くは容易に処理できることを意味しました。私が当時取り組んでいたPoSプロトコルと比べると、とても美しくシンプルでした。

Tendermintはまた、私が今までに研究した最初の一貫性のあるコンセンサスプロトコルでした。実際に、Tendermintについての学習は、伝統的なコンセンサスプロトコルへの私の入門として機能し、コンセンサスプロトコルの理解のための形ある経験でした。

Jae Kwonからは、Vitalikと私は、接続されたステークホルダーを「接続されたバリデーター」または「バリデーター」と略記する言葉を採用しました。

4章では、ブロックチェーン空間におけるゲーム理論と経済学についての私たちの考え方における非常に重要な変化について説明します。

この視点の変化は、キャスパーのデザイン哲学の最も重要な部分を表しています。

非常に難解である為、コメントすらも難しいのですが、TendermintがVladのコンセンサスアルゴリズムに関する考え方に影響を与えていたというのは驚きでした。

 

Reference

The History of Casper – Chapter 2

CoinPicks Lab内では以上のテーマでもう一歩踏み込んで解説しております。
もっと知識を深めたい方はLabでお待ちしています。
CoinPicks Labとは? | CoinPicks|仮想通貨の価値を伝える


関連記事

  1. The History of Casper – Chapter 2

  2. イーサリアムの耐シビルアタックとコンセンサス

  3. The History of Casper  – Chapter 5

  4. イーサリアムのトークン設計

  5. The History of Casper  – Chapter 4

  6. The History of Casper – Chapter 1

  7. イーサリアムのトークン規格「ERC223」を深掘り

今井 涼二

今井 涼二

2015年より暗号通貨を追及中。2018年からは大麻産業の動向も同時に追いかけています。CoinPicksでは「仮想通貨の価値」をテーマに一歩踏み込んだ情報を配信していきたいと思います。

プロフィールを表示 →

仮想通貨の質問箱 – LINE ver

新着記事

人気記事

PAGE TOP