ブロックチェーンで取引されたデータを承認する「合意形成」の仕組み

in #51-gongji6 years ago (edited)


ブロックチェーン上では、どのように取引が成立し、合意が得られているのか、コンセンサスアルゴリズムとも呼ばれる合意形成の仕組みについて解説します。
なぜコンセンサスアルゴリズムが必要なのか、どういう場面で、どういうメリットデメリットがあるのか、など諸々お伝えしていきます。

誰が取引の正確性を担保しているのか

取引は、ブロックチェーンという言葉通り、「ブロック」を繋ぎ合わせて取引履歴を作成し、その連鎖を拡大させていく処理のことです。
このブロック生成〜各ノードによる承認までの流れが、今から紹介する取引の正確性を判断し、正しければ承認、違うと判断すれば間違い、とするのです。

プルーフオブワーク


①オープンブロックチェーンの場合

取引が行われた場合、気になるのは誰がその取引が正しい数値(誤差なく)で実行されたかを判断するか、という点です。これは、厳密にはその数値の取引が正しいかどうかの計算ではなく、その取引が各ノードに一斉に送信され、それに対してその取引が正しいと正当性を主張し、取引を「承認するか否か」という作業になります。その承認するために、まず取引を生成するための「ブロック」を生成する必要があり、ここに計算を開始するのです。ブロック生成には複雑な計算式が必要とされ、さらに生成後の取引を承認するまでの承認時間は、最低10分はかかるとされています。

これは、誰でも正当な取引であるという権利が与えられるため、この承認する作業を複雑化することで、システムに強い会社あるいは個人しか承認する作業ができない仕組みになっています。

この計算して取引を承認する作業および合意形成の方法が「プルーフオブワーク」と呼ばれています。

②クローズドなブロックチェーン

クローズドなブロックチェーンネットワーク内だと、限られた参加者しか取引ができないため、こういった複雑な計算(=PoWの仕組み)は、例えばネットワークに参加する第三者の一定の比率の合意で取引を承認するという、簡易的な方法でブロックを作成することができそうですので、必要ないとされています。

初めから参加者を絞ることで、取引のたびに発生する膨大な計算の必要性はなくなると予想されてます。

他の合意形成ー承認するアルゴリズム

①プルーフオブステーク

ネットワーク参加者のうち、ネットワーク上の資産を多く保有し、保有期間が長い人に対して承認する権限を持たせる仕組みです。
これが活用されている原因としては、PoWの場合は計算量を必要とするのに対し、PoSは保有量の人物に承認権限を与えることで、その人物がわざわざ自分の保有通貨の価値を下げてまで不正な取引が行わないだろうという目算から成り立っている仕組みです。

②フルーフオブインポータンス

NEMで採用されている、保有量と同時に多くのネットワーク上の資産を動かして移転させて、コミュニティを活性化させている人物に承認権限を与えるものです。

51%の脅威はまだすぎていない?

仮にネットワークの過半数以上においてブロック生成および承認権限を握った場合、高い確率で不正な方のブロックチェーンの取引が伸ばし続け、正当な方のブロックチェーンを捨象する現象が起きてしまうケースがあります。これを「51%攻撃」と言います。上記のコンセンサスアルゴリズム上では、プルーフオブワークでは過半数の計算力、プルーフオブステークでは過半数の通貨を保有すると実行可能になります。

ビットフライヤーによると、現在51%攻撃に対する有効な対策はないと発表しているので、善良な管理者でない限り、まだ51%の脅威から逃れることは難しそうです。

この合意形成を完璧なものにするには、もはや人間ではなく「AI」人工知能、のような人間以外の代物が必要になる日が来るのでしょうか。

※今回試しにsteempressから投稿してみました。@charincharinさん、情報ありがとうございました。



Posted from my blog with SteemPress : http://leaksquare.com/archives/15152

Sort:  

いつも詳しい説明、勉強になります。