合意形成プロトコルCBCについて


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

合意プロトコルは,通信ノード同士が何かに同意することを保証するメカニズムです.ブロックチェーンで新しいブロックをダウンロードするノードは,システムの履歴としてトランザクションに確実に同意することを望みます.作業証明(PoW)では,ノードがあるトランザクションでハッシングを解くと,標準チェーンに含まれることを意味します.

PoWの欠点は,非常に多くのエネルギー消費と,ブロックチェーンを維持するセキュリティとを満たしながら,スループットを増加させることが可能かどうかが定かではないところです.それでは,他の合意プロトコルはあるでしょうか?,作業料分だけ手数料を受け取るのは,理にかなっています.

それでも,Proof of Stake(PoS)という手法もあります.それは,ある量の資本を(例えば暗号通貨)を持つノードを信用して,次のブロックの選択権を得るというものです.

ここでは,合意プロトコルの概念を確認していきましょう.

CBCというプロトコルを説明していきます.

システムを設計するとき,セキュリティは重要です.システムを徹底的にテストすることは,システムが意図したとおりに機能することを確認する1つの方法です.それは予測可能な方法で機能しているでしょうか.与えられた入力は,内部的な矛盾を引き起こしませんか.

ここで,紹介するCBCという手法は,次のようなことも許容します.システムの部分が,未定義のままにされるかもしれません,これはよく言えば仕様が変更できるということです.ある性質Pがある空間Sに存在するメカニズムとして成立することを証明することができれば,Sのサブセット上でのメカニズムS’で,性質P’を証明できるかもしれません.たとえば,Sをブロックチェーン合意メカニズムのSとします.最長のチェーンフォーク選択するというこというメカニズムがS’になるように考えましょう.フォークの選択へある規則制をもちこむことによって一貫性が得らます.それは,S’におけるプロパティP’を得ることでもあります.

ノードがやり取りするメッセージは,可能な合意値を見出し,この値について合意を達するために送信されます.

合意値
検証(送信者)への参照
プロトコルによる状態の参照(正当化)

例えば,AとBという2つの検証があり,常にメッセージに値1を送信します.プロトコルは,最初は何もしません.だれでも送信できるメッセージは,名前,値1、および前の状態への参照,空集合だけです.この時点でネットワークのノードから見えるものは,空集合ø,Aからのメッセージ,Bからのメッセージ、またはAとBからのメッセージです.

私たちは,新たなメッセージが構築される以前のプロトコルによる状態を参照できるようにするために各メッセージを必要とします .プロトコルによって送られのは,単なるメッセージであり,それぞれのメッセージは以前のプロトコルによる状態を参照します.

プロトコルによって,タイミングにより,状態は分岐するかもしれません.

その場合,ノードはどちらが正しいのかを決定できなければなりません.つまり,合意値が0と1の両方であると決定することはできないいうことです.これが安全性の保証となります.

このような安全性を保つことは,2つのノードにとっては簡単です.2つのノードによって決定された合意値はお互いに明白です(常識的には片方が決まれば,もう片方決まります)が,例えば,3つの合意値が一致しないことがあります.
ライトを点灯させるには2つのスイッチをオンにする必要があるとします.2つのノードがスイッチを観察し,3つめのノードはライトを観察します.1つのスイッチがオンになっていても,必ずしもライトが点灯しているとは限りません.つまり,ライトが消えている間は,2つのノードは両方のスイッチがオンになっているのを観察することはできません.これは,両方のスイッチがオンになっていても,ライトが点灯していないことも許します.

このようなことは,ひとつのスイッチとライトの点灯の有無は明白です.

そこでCBCは,メッセージに重みづけ(合意値0のようなメッセージは重みをなくす)をして,重みがある閾値よりも大きい限り一貫した決定を下せるようにします.

これまでのところ,決定はプロトコルによる状態に依って行われて,プロトコルによる状態から合意値に向かう関数を私たちはもっていません.ここで,注目すべきは,推定量という概念の導入です.プロトコルによる状態が与えられると,推定量は合意値を返します.CBCでは,推定量は未定義のままです.

投稿者: Sachio Horie

クリスチャン 日々悔い改める人。大学で 人工知能とブロックチェーンを研究中。アダルトチルドレン。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です