世の中、DPoSとDBFT混同してない?
DLT
まずブロックチェーンの上に、分散型台帳技術(DLT)というより広範な概念を持っておきましょう。
このDLTの中に、ブロックチェーンとPBFTと含めることができます。
DPoS
DPoSはDelegated Proof of Stakeの略です。delegatorは、validatorに自分の持ってるステークを委任することができます。
NEMでの委任ハーベストにとても近いです。
しかし、「DPoS固有の特徴」というとこれしか言えないと思います。
DBFT
DBFTは、PBFTを応用したものです。
PBFTでは参加するノードの数があらかじめ決まっていて、今まではプライベート用に使われてきました。内輪の中の全員で高速に合意をとってしまいます。
DPOS BFT— Pipelined Byzantine Fault Tolerance
プレコミット→コミット→ファイナライズという流れですが、参加ノードの2/3の合意を待って、フォークせずにファイナライズできるようにしています。
参加するノードを制限しない場合、2/3の合意がかなり大変になりますよね?なので、参加ノードを制限することになります。
そこでPBFTでは、信頼できるノードだけが参加します。
一方DBFTは、参加するノードが制限されてますが、ノードでない人も委任によって投票に参加することができ、パブリックに使うことができるということになります。
現状
現状では、Cosmos(Tendermint)もEOSもDPoSと表現されることが多いです。
その横で、NEOはDBFTを自称しています。
ですがDPoSの特徴としては「デリゲーターとバリデーターがいる」くらいしかなく、これでは即時ファイナライズの無いDPoS系と区別がつきません。
つまり、根本的にDBFTであるかどうかとDPoSであるかどうかは別ベクトルです。
それを以下の表にまとめてみました。
分散型台帳技術(DLT) | ブロックチェーン型 | PBFT型 |
Proof of Authority | プライベートブロックチェーン | HyperLedger Fabric v0.6 |
Proof of Work | Bitcoinなど | 原理的に不可 |
Proof of Stake | 草コインに多い? | Delegatedでないと不可 |
Delegated Proof of Stake | Liskとか? | Cosmos Hub,NEO,EOS |
Proof of Importance | NEM |
※ HyperLedgerFabric v1.0はPBFTじゃなくなったらしい)
(DBFTの中でも、Tendermintのようにノードも民主的に決めるか、NEOのようにあらかじめ決まっているかでグラデーションがありますが、これはDBFTとPBFTの間のグラデーションの話であり、今回の本題でとは関係ないので割愛します。)
根本的にDBFTであるかどうかとDPoSであるかどうかは別ベクトル 、ということをわかっていただけたらと思います。