Tech

Proof of Stake とは何か?

  • このエントリーをはてなブックマークに追加

ざっくり言うと

  • 分散合意形成アルゴリズム(コンセンサス・アルゴリズム)の一つ
  • Proof of Work への代替案
    • マイニングによる消費電力がない
    • 51%攻撃の可能性を低くできる
    • コンセンサスに必要な時間が短い
    • ASIC等を使った一部のマイナーによる中央化のリスクが少ない
  • コインを持っている割合(Stake)で、ブロックの承認の割合を決めることを基本とする
  • Proof of Stakeを発展させたものが沢山ある

前提知識

以下を知っているものとします。

Proof of Workの問題点

  • ネットワークへの悪意のある攻撃に弱い
  • マイニングによる電力消費、コストが高い
  • Proof of Stakeに比べると、合意に時間がかかる傾向がある

Proof of Stakeの目的

  • プルーフオブワークのセキュリティを上げる
    • 51%攻撃の可能性を低くする
  • Bitcoin networkはコストが高い

解決策

  • マイニングの能力でなく、コインを持っている割合を基礎にコンセンサスを決めるシステム

PoSの問題

参考: 深読みビットコイン (2) コンセンサスの行方

実装の提案

現在いくつかの実装方法の提案がある

  • Cuniclulaの実装
    PoWとPoWをミックスした実装

  • Meniの実装
    ステイクホルダーが時にチェックポイントを置くというPoWの実装

Vitalik のPoSのブログ

引用元:
* 2014/07/05 On Stake – Ethereum Blog
* 2014/01/15: Slasher: A Punitive Proof-of-Stake Algorithm – Ethereum Blog
* 2014/10/03: Slasher Ghost, and Other Developments in Proof of Stake – Ethereum Blog
* 2014/11/25 Proof of Stake: How I Learned to Love Weak Subjectivity – Ethereum Blog
* 2015/08/01 Introducing Casper “the Friendly Ghost” – Ethereum Blog

PoSのシンプルな公式

SHA256(prevhash + address + timestamp) <= 2^256 * balance / diff
  • prevhash: 一つ前のブロックのハッシュ
  • address: ステーク・マイナーのアドレス
  • timestamp: 現在のUnix時間(秒)
  • balance: ステーク・マイナーのアカウントの残高
  • diff: 調整可能なグローバルな難易度パラメータ (difficultyの略と思われる)

balanceを使わないで coin ageを使うこともある。

  • coin age: 例えば、balance * コインが弄られてない時間の量

実装

Peercoin (PPCoin/PPC)

  • Peercoin が初の PoS/PoWの実装したコイン
  • Proof of Stake と Proof of Work のハイブリッド
  • 公式サイト: Secure & Sustainable Cryptocoin.
  • 2012年Sunny Kingによりリリース
  • 批判: 開発者の秘密鍵でサインして、チェックポイントをブロードキャスト。(中央集権的)

実装に問題があるという指摘もあります。

Nxt

NEM

Blackcoin

Ethereum

参考URL

プルーフ・オブ・ステーク

関連する参考URL

参考になる日本語記事

POS関連のコンセンサス・アルゴリズム

などなど沢山あり、数カ月ごとに様々な提案、実装が出てきています。

検索用語

  • Proof of Stake / プルーフ・オブ・ステーク
  • Tendermint / テンダーミント
  • DPOS: Delegated Proof of Stake
  • POI: Proof Of Importance
  • POA: Proof of Activity
  • POE: Proof of Excellence
  • POW: Proof of Work / プルーフ・オブ・ワーク
  • Peercoin / ピアコイン
  • Bitcoin / ビットコイン
  • Nxt / ネクスト
  • Ethereum / イーサリアム、エセリウム
  • BitShares/ ビットシェアーズ
  • このエントリーをはてなブックマークに追加