PocketWPは、暗号資産(暗号通貨/仮想通貨)の情報を
整理・ストックするサービスです(β)
DPoS(デリゲーテッド・プルーフオブステーク)
edit 編集

DPoSとはブロックチェーンのコンセンサスアルゴリズムの一種。高速なブロック作成を行える点が特徴。

DPoS(Delegated Proof of Stake)はブロックチェーンのブロック作成方法の一種。Proof of workのような、マイニングを必要としないため、高速なブロック作成を可能としている。(DPoSは、Round-robin Consensus Modelとも呼ばれる。)

  • 現在作成中です

1. 前提知識  | ブロックチェーンがなぜ遅い?

DPoSは一般に、ビットコインなどの他のブロックチェーンと比べて、速い、超高速、と謳われる。そもそも、ブロックチェーンはなぜ遅い、と言われるのか。そこから立ち戻りDPoSを理解していこう。

ブロックチェーンの遅さの秘密

ブロックチェーンはデータをある一定の塊にまとめて、ブロックをつないでいくという仕組みになっており、一度チェーンにブロックが繋がるとデータ改ざんが難しくなる、という特徴をもっている。

なぜ改ざんが難しいのか。平たく言えば、生成する際に、世界中のマシンの10分間分の計算量を求める仕組みになっているからだ。

またブロックはその10分間の計算量を元にして密につながっている。

過去のブロックのデータを改ざんしたい場合、ブロックは前後につながっているから、過去から今の最新のブロック分、計算をし直さなければならない。ブロックチェーンは最も長いチェーンを正しいとみなすルールになっており、一部のマシンが改ざんしたブロックを計算し直そうとしても、全世界のマシンが計算している最新のブロックには到底追いつけない。これがブロックチェーンが改ざんを防いでる仕組みだ。そして驚くべきことにこの仕組みにより、ブロックチェーンは誰でも参加可能なオープンなネットワークを形成している。(分散性の担保)

このような計算量を担保にしたブロック作成手法および繋げ方を、Proof of Work(プルーフオブワーク)と呼ぶ。

この計算量の担保こそがブロックチェーンの改ざんを防ぐ重要な仕掛けとなっている。10分間のブロック生成間隔。10分間分の全世界の計算量を担保にした改ざん防止。そしてこれこそが、ブロックチェーンの遅い秘密である。逆に言えば10分間に一回しかデータ処理をできない。

(より詳細にProof of Workがなぜ計算量や電気代を必要とするかの理解については下記記事をご覧ください)

【用語集】Proof of Work

DPoSは速度を高める事を考えたコンセンサスアルゴリズム。

DPoSでは、計算量でのブロックの改ざん防止の担保は行わず、民衆による監視によって改ざんの担保を行おうとしている。

計算量でのブロックの改ざん防止をしないということは、つまりマイニングを行わないということ。そこに速さの秘訣がある。(マイニングを行わないのであれば、改ざんに対しての防止はどう行われるのか、という疑問が浮かぶ方もいるかと思われる、このガバナンスについては後述)

よくDPoSは間接民主制に例えられる。誰の目からも見ても明らかな真理ではなく、人の監視によるちからを借り、改ざんと分散性を保証しようとするアルゴリズムなのである。

2. DPoSに登場する2つの役割

DPoSはBitshares・EOS・LISKなどのブロックチェーンで採用されている。

Bitcoinではブロック生成においては「マイナー」という一種類の役割しかなかったが、DPoSはその役割が2種類に増えている。仕組みの理解の前に、まずはこの2つの役割を押さえておこう。

DPoSの2種類の役割

  • ❶ Stakeholder (ステークホルダー)
    DPoSを搭載しているプロトコルのトークンを所持し、
    トークンの量に応じた票数(投票権)を持つ。
  • ❷ BlockProducer (ブロック作成者、通称BP)
    ブロック作成者。Stakeholderの投票によって選ばれる。

❶ Stakeholder (ステークホルダー)

ステークホルダーは、トークンを保有している人。

トークンの保有量に応じた「票数(投票権)」を持つ。多くのトークンを持てば持つほど、多くの票数を保有できる。

投票権は ❷Witness (公証人)  ❸Delegate (デリゲート) の選出に使用される。

❷ Block Producer (ブロック作成者、通称BP) 

  • *この役割は通貨によって名称が異なるので注意。
    Bitshares ... Witness
    EOS ... Block Producer (通称BP) 
    LISK ... Delegator

Witnessはブロックを作成するノードを指している。❶ Stakeholder (ステークホルダー)から投票を得て得票数の多い上位101名から選出される。

選出されたWitnessの101名を「Slate」と呼ぶ。(スレートは選挙用語、公認候補者名簿の意味)

101名が選出されると、101名分ランダムにブロックを作成する順番がランダムに決定する。1名ずつ2秒ごとに1ブロックを作成し、すべての作成が終わると、順番が再度シャッフルされる。これを1日繰り返していく。そして、1日経過後、再度Stakeholderの投票結果を集計し、101名のWitnessを再度選出し直す。このルールは再度改めて後述する。

Witnessはブロックの作成の見返りとして、トークンを受け取ることができる。


3. DPoSのブロック生成の流れ

上記でDPoSには2つの役割があることを紹介した。

ではどのような流れでブロックが作られていくのか。通貨ごとに細かな差異はあるものの、大きく6つのステップに分けられる。

❶ Stakeholderの投票の集計(再集計)

StakeholderはBlockProducerに投票を行うことができる。投票数は定期的に集計される仕組みとなっている。

集計のタイミングは通貨によって様々である。

Bitsharesでは1日ごと。EOSでは2分6秒ごと。(Liskは不明)

❷ 投票数を元に任意の人数のBlock Producerを選出/再選出。

投票数を元に、上から順にBlock Producerを選出する。選出数はこれも通貨によって異なってくる。

Bitsharesでは101人ごと。Liskも101人。EOSでは21人となる。

❸ Block ProducerのBlock作成順番がランダムに決定/再決定する。

Block Producerが規定の人数選ばれた後は、ブロックを作成する順番を決めることとなる。これは上位のものから順番にではなく、作成順は完全にランダムにシャッフルされる。

❹ BlockProducerが❸で決定した順番でBlock作成を開始。

Block Producerが❸で規定した順番でブロックを作成する。ブロックの作成方法の大枠は他の通貨と特に遜色ない。トランザクションをかき集め、ブロックという箱に入れ、過去のブロックとハッシュによって連結させる。

だが、大きく違うのは、BitcoinなどのPoWであるような「マイニング」に該当する行為はここでは行われない

DPoSのブロック作成は、単純に要求されたトランザクション群をまとめ、過去のブロックと繋げ、そしてブロックを暗号学的ハッシュ関数にて要約するだけである。

PoWの場合、暗号学的ハッシュ関数の逆算的行為に時間がかかるように設計されているが、DPoSにはそれがない。ここがDPoSの速さの秘密でもある。

なおBlockProducerの自分の順番でつくるブロック数やブロックの作成間隔は通貨によって異なってくる。

❺ (一巡したら)❸〜❹を繰り返す。

BlockProducerたちがブロックを作り切り一巡したら、❸Block作成順番を入れ替える。なおこの一巡を一般にRound(ラウンド)と呼ぶ。

❸〜❹を繰り返していくことでブロックがスムーズに作成されていく。

❻ 一定期間経過後、❶の再集計に戻り、❶〜❻を繰り返していく。

❸〜❹が規定のブロック量、あるいは規定の時間達成したのち、今後は投票の再集計に戻り、その得票を持ってBlockProducerの再選出を行うフェーズに移行する。

❶〜❻をひたすら繰り返すことによってブロックが生成されていく。

4. プロトコルごとの違い

  • ここから作成中

ファイナリティの話(dBFTじゃないのそれ)とかClassicalPBFTやら、cosmosでのdbftやらなどをだらだら書く。




#SecurityToken(STO)関連

#PocketWP 一覧

#ゴリ学習メモ 一覧

PocketWPについて

暗号資産(暗号通貨, 仮想通貨)やブロックチェーンは理解が難しく、また一次情報の多くはPCに最適化されている状況にあります。PocketWPでは、下記の3点のアプローチによってその問題を解決しようとしています。
  • ・SmartPhoneFirst - スマホで最適化したスライド/UI
  • ・Stockable - 流れてしまいがちな情報を蓄積し、共有できる
  • ・Followable - 追いかけるべき情報源がわかる
将来的には共同で編集できる仕組みなども設計中です。 暗号資産・暗号通貨の価値を広げるには、良質な情報を読みやすく噛み砕くことが必要だと思っています。 よろしければご意見をこちらからお寄せください (お問い合わせフォーム)
運営者情報① : IXTgorilla
IXTゴリラ
@IXTgorilla
Twitterにて #PocketWP #ゴリ学習メモ なるスマホに最適化した暗号資産の学習情報をスライド形式にて発信しているゴリラ。 これまではTwitterのみの発信を行なっていましたが、蓄積される場所が欲しいという声にお答えし、Web化を行なってみました。
運営者情報② : CryptoGorillaz
暗号通貨に関する情報を共有するコミュニティ。当初はコラ画像などをつくる集団だったが、暗号通貨の魅力や将来性にほだされ、日夜暗号通貨に関する情報共有を行なっている。(IXTゴリラもここに所属しています)

寄付/投げ銭はこちら

  • Ethereum(ETH) / ERC20トークンでの投げ銭
    0x77535cb08CF5Ba3B85A34A3B037766103226c783