Delegated Proof of Stake(DPoS)について

Immm
TeamGeekHash
Published in
2 min readJan 14, 2019

概要

DposはPoSから派生したコンセンサスアルゴリズムであり、ノード間の投票によって選択されたブロック生産者が新規ブロックを作成するアルゴリズムとなっています。

ブロック生産者が他のコンセンサスアルゴリズム と比較して少数となるため、非常に高速なブロック生成速度を実現することができます。

ブロック生成までの流れ

DPoSでは、最初にブロック生成者を決定するために、全てのノードによって投票が行われます。
また、投票時の票はそれぞれのノードのstake(トークンの保有量)に応じています。
次に投票を通じて選択されたX人のブロック生成者(Xはプロトコルによって異なる、例、EOS:21, Lisk:101等)は順番にブロックを生成し、報酬を得ます。
X個のブロックが生成されると、次のX個のブロック生成者を決定するために投票が行われ、これを繰り返すことでブロックチェーンが構築されます。

フォーク

DPoSにおいては、順番にブロックの生成が行われるため、基本的にはフォークが発生しませんが、もし不正なフォークを実現しようとする場合、ブロック生成者の半数以上を投票で占める必要があります。
さらに、不正なフォークを試みたブロック生成者は次の投票においてブロック生成者を外される可能性が非常に高いため、これは非常に困難です。

分散性

DPoSでは、ブロック生成者はプロトコルによって定められた数のノードに限られるため、分散性が不十分であると指摘されます。
一方で、PoWでは一部のノードが大部分のマイニングを行なっていることに比べれば、DPoSの方が分散的であるという反論もあります。この点については現在でも議論が別れるところとなっています。

--

--