IOSTのコンセンサスアルゴリズムPoB-(Proof of Believability)とは

Immm
TeamGeekHash
Published in
4 min readFeb 5, 2019

PoBについ

PoBはIOSTokenで採用されているコンセンサスアルゴリズムです。
この記事はIOST White Paperより、Consensus Mechanismの章から抜粋したものです。

IOSTにおけるコンセンサスアルゴリズム

IOSトークンは全てジェネシスブロックによって生成されます。
IOSトークンのエコノミーにおいて、トークンの使用目的は以下の通りです。
・支払い:サービスや商品に対する対価として支払います。
・コミッション:スマートコントラクト の実行やメッセージの送信、シャードの利用などのリソースの利用と引き換えにバリデータに対して支払うものです。
・Believability:ユーザーのBelievabilityスコアの計算のために使われます。

また、IOSTでは、DPOSの課題であるバリデータの集中化への解決策として
Serviを利用しています、Serviの特徴は以下の通りです。
・取引不可;Serviは取引の材料として設計されておらず、交換不可です。
・自己破壊的:ブロックの承認の後、バリデータのもつServiの残高は自動的に初期化されます。
これによって高いBelievabilityスコアをもつノードは交代で公平にブロック生成を行うことができます。
・自己発行:Serviは、コミュニティサービスの提供、提供されるサービスの評価、他の特別な寄付の提供などのコミュニティに対する特定の貢献の後に生成され、ユーザーアカウントに入金されます。

Proof of Believability

従来のブロックチェーンシステムはシャードサイズの大小に対応してスループットと安全性の間にトレードオフ関係が生じており、多数のシャードを含むシステムにおいてはスループットが上昇する一方で攻撃に対して弱くなるという弱点を持ちます。
PoBは効率的なトランザクション処理を行いつつ、ノードの予期しない動きを制限します。

PoBでは全てのバリデータを二つのグルーブに分割します。
1.believable league(信用リーグ)
2.normal league(一般リーグ)

believable leagueに選出される方法はトークン残高、コミュニティへの貢献、レビューなどによって計算されるBelievabilityスコアによって決定されます。believable leagueのバリデータが手順に従ってトランザクションの処理を行います。トランザクションはランダムにbelievable leagueのバリデータに分配されます。

1段階では、believable leagueによって、処理されるトランザクションが比較的簡易的に検証されたブロックを生成します。これらのブロックは、同時に実行されている通常のリーグによって組み合わされ、サンプリング再検証のための入力として機能します。
normal leagueはその後、第一段階で処理されたブロックに対してサンプリング再検証を行います。トランザクションが正常に検証されると、それらはファイナライズブロックに含められ、シャードのブロックチェーンに追加され、そして最後にMSB(ここではメインチェーン)に含められます。
しかし、normal leagueが何らかの矛盾を検出すると、対応する検証済みトランザクションはブロックチェーンから除外され、無効なブロックに署名したバリデータは検出され、責任を負うことになります。
バリデータがいかなる状況下でも不正行為をするインセンティブを持たないように、IOSTでは罰則が強力に厳しくなるように設計されています。
バリデータが不正として検出された場合、そのバリデータはシステム内のすべてのトークンと評判を失い、以前に検証されたすべてのトランザクションが再チェックされます。

この仕組みによって、PoBでは不正ノードの防止と高速なトランザクション実行を両立しています。

--

--