世の中にはびこるコンセンサスアルゴリズムを調査した件（Proof of X）

世の中にはびこるコンセンサスアルゴリズムを調査した件（Proof of X）

## はじめに
アルトコインを調べていたら色々なコンセンサスアルゴリズムがあったので、それぞれ簡単にどんなものかをまとめてみるよ

これ以外のコンセンサスアルゴリズムがあればお知らせいただけると嬉しいよ

## コンセンサスアルゴリズムリスト
※発言する＝ブロックを作成する＝報酬を得る
※コンセンサスアルゴリズム＝暗号通貨においてブロックが選ばれる順序を維持するためのアルゴリズムのこと

|略名称  |正式名称                            |コンセンサスアルゴリズム簡易説明                                |論文リンク
|:------|:----------------------------------|:-------------------------------------------------------|:------------:|
|PoW    |Proof of Work                      |一番早く難しい計算問題を解いた人に発言権を与える|[bitcoin ホワイトペーパー](https://bitcoin.org/bitcoin.pdf)|
|PoS    |Proof of Steak                     |コインの保有割合に応じて多い方により多くの発言権を与える|[bitcoin wiki](https://en.bitcoin.it/wiki/Proof_of_Stake)|
|PoI    |Proof of Importance                |コインの保有量・取引した人・取引額（回数）から総合的にスコアを決めて高い方により多くの発言権を与える|[NEM ホワイトペーパー](https://www.nem.io/NEM_techRef.pdf)|
|DPOS   |Delegated Proof of Stake           |コイン保有者による投票により発言権利者を選出し、全投票トップN名（仮想通貨毎に異なる）に発言権を与え、発言権を得た人は、コインの保有割合及び投票によって委任されたコイン数に応じて多い方により多くの発言権を与える|[bitshares](https://bitshares.org/technology/delegated-proof-of-stake-consensus/)|
|PoA    |Proof of Authority                 |プライベートなネットワーク内で行われ、信頼された署名鍵を持つ人達のみに発言権を与える|[GitHub ethereum/EIPs](https://github.com/ethereum/EIPs/issues/225)|
|PoC    |Proof of Consensus                 |信頼された承認者（銀行等）達のみに発言権を与え、発言はネットワーク内全体の80%が承認すると合意される|[ripple ホワイトペーパー](https://ripple.com/files/ripple_consensus_whitepaper.pdf)|
|PoC    |Proof of Capacity                  |ネットワークに接続したディスクの割当容量に応じて多い方により多くの発言権を与える|[burst-coin](https://www.burst-coin.org/proof-of-capacity)|
|PoSpace|Proof of space                     |同上|
|PoR    |Proof of Resource                  |CPU・帯域幅・ディスクスペース・オンライン時間の提供割合が多い方により多くの発言権を与える|[SAFE Network wiki](https://safenetwork.wiki/en/Proof_of_resource)|
|PoE    |Proof of Excellence                |一番早く人類にとって有用な難しい問題を解いた人に発言権を与える、扱う題材が数学の定理ならProof of Proof、何らかの関数の最大化であればProof of Optimization、科学プロジェクトであればDistributed Proof of Research|[gridcoin](http://wiki.gridcoin.us/Proof-of-Research)|
|PoA    |Proof of Activity                  |コインの保有割合に応じて多い方により多くの発言権を与え、承認はランダムにする|[Bitcoinフォーラム](https://bitcointalk.org/index.php?topic=102355.0)|
|PoH    |Proof of Human-work                |一番早くコンピューターは解きにくいが人間には簡単な問題を解いた人に発言権を与える|[ホワイトペーパー](https://eprint.iacr.org/2016/145.pdf)|
|PoST   |Proof of Stake-Time                |コインの保有割合に応じて多く保有している方により多くの発言権を与える（トランザクションの年齢がたつに従ってコインの保有割合が多い人ほど発言権が得られにくくなる）|[ホワイトペーパー](http://www.vericoin.info/downloads/VeriCoinPoSTWhitePaper10May2015.pdf)|
|PoSV   |Proof of Stake Velocity            |コインの保有割合と保持時間に応じてより短く多く保有している方により多くの発言権を与える（古いコインは評価が下がる）|[reddcoin](https://www.reddcoin.com/papers/PoSV.pdf)|
|PoMAS  |Proof of Minimum Aged Stake        |最低限の残高を持つ人で、コインの保持期間が短い人により多くの発言権を与える|[Nxtフォーラム](https://nxtforum.org/index.php?topic=8989.0)
|PoA    |Proof of Asset                     |実物の金を情報（登録日時・金の重さ・品質保証者・保有者・外部監査人）化し、トークンとして扱い、トークンが多い方により多くの発言権を与える（金の情報から実際の金への交換も可能）|[D​igix ホワイトペーパー](https://digix.global/whitepaper.pdf)|
|PoL    |Proof of Luck                      |運がいい人ほどより多くの発言権を与える|[ホワイトペーパー](https://eprint.iacr.org/2017/249.pdf)|
|PoB    |Proof of Burn                      |ビットコインを捨てる量が多い方により多くの発言権を与える|[bitcoin wiki](https://en.bitcoin.it/wiki/Proof_of_burn)|
|PoA    |Proof of Access	            |基本PoWと同じだが、前ブロックはランダムに選択され、他ノードにあまり登録されていないブロックが多ければ多いほど発言権を得られる|[archain ホワイトペーパー](https://archain.org/whitepaper.pdf)|

## まとめてみて
日々オリジナルのコンセンサスアルゴリズムは生まれてて、よく考えるもんだなぁという感心する反面、結局どのコンセンサスアルゴリズムが優れているかわからなくなったよ