ブロックチェーンの歴史と各チェーンについて調査
個人的なまとめとして、ブロックチェーンの歴史を紐解いてみました。
また、面白そうなチェーンについても調べたので市の調査メモ
ブロックチェーンの歴史
2008年10月
Satoshi NakamotoによるBitcoin: A Peer-to-Peer Electronic Cash Systemにおいて、第三者機関を介さないPeer-to-Peerネットワークを使用して、二重支出の問題を解決する手法が提案された。
PoW(Proof-of-Work)というブロックを生成するメカニズムを使用し、最も多くの計算力が投入された最長のチェーンを正しいものと見なすことで、二重支払いを防止している。
これにより、誠実なノードがCPUパワーの過半数を制御している限り、攻撃者が取引の履歴を改ざんすることが確率論的に不可能になる。
2012年8月
Sunny King, Scott NadalによるPPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stakeにおいて、PoS(Proof of Stake)が提案された。PoWはその性質上、非常に多くのエネルギーを消費するが、その問題をPoSが解決した。PoSが初めて実装されたのはPeercoin(PPCoin)である。初期のPPCoinでは初期発行を容易にするために、PoWも導入された。
この論文におけるPoSの手法では、Coin Ageという概念があり、コインの保有期間と量に基づいて、ブロック生成の権利が与えられる仕組みである。Coin Ageが大きければそれに反比例してハッシュターゲットが低くなる。
2014年
Vitalik ButerinによるEthereum White Paper: A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORMにおいて、チューニング完全なスマートコントラクトをサポートするブロックチェーンである、Ethereumを発表した。Bitcoinでもスクリプトを実行する機構は存在したが、チューニング完全でない(特に無限ループを発生させないためにループ処理が実現できない)、また複雑な状態を保持することができなかった。Ethereumではそれを解決し、さまざまなアプリケーションをEthereum上で実現できるようになった。
David SchwartzによるThe Ripple Protocol Consensus Algorithmにおいて、分散型支払いシステムにおけるレイテンシー問題に対する提案がされた。Rippleでは、すべてのノードによる承認ではなく、特定のノードによる承認により合意を得る。それにより高速に取引を行うことができる。ただし、特定のノードが収束することで中央集権に近くなり、既存の中央集権システムとブロックチェーンの中間のシステムと言われている。
Iddo BentovとCharles LeeとAlex MizrahiとMeni RosenfeldによるProof of Activity: Extending Bitcoin’s Proof of Work via Proof of Stakeにおいて、新しいコンセンサスアルゴリズムであるPoAが提案された。PoAでは、マイニングによるブロック報酬が提供されなくなった際のセキュリティを提供します。具体的なプロトコルとして、マイナーがトランザクションを含まない空のブロックを生成する。それを受け取ったノードが、ランダムに選ばれる幸運なノードに選ばれていれば署名し、ネットワークに伝播する。それを繰り返し、N番目の幸運なノードが最後の署名をネットワークに伝播すると、マイナーとそれまでに署名した幸運なノードに手数料が分配される。
2016年
Florian TschorschとBjörn ScheuermannによるBitcoin and Beyondにおいて、その時点でのBitcoinの仕様と問題点が整理された。Bitcoinがどのようにビザンチン将軍問題を解消したか、そしてPoWによる問題点(スケーラビリティの問題やエネルギーの消費問題)が指摘された。
2017年11月
Anatoly YakovenkoによるSolana: A new architecture for a high performance blockchainにおいて、PoH(Proof of History)に基づく新しいブロックチェーンアーキテクチャが提案された。分散型システムでは正確なタイムスタンプを記録することが難しいが、PoHではイベント間の順序と時間の経過を正確に証明することができる。それにより、最大で1秒間に710,000回のトランザクションが処理できる。
アルゴリズムとしては、ノードに選出された、複数のPoHジェネレータが単一のコアで一連のシーケンスを生成する。複数のPoHジェネレータ間でシーケンスを互いに混合することで、シャーディングを伴わずに水平スケーリングが行われる。
PoSの実装では、PoHジェネレータによって生成される一連のシーケンスを検証、PoHジェネレータの選出、および不正行為を行なったノードの処罰を行う。
Proof of Replicationで提案された、PoRep(Proof of Replication)を用いて、ブロックチェーンにおけるデータ管理と検証の効率を大幅に向上させた。
2024年3月
EthereumのParis VersionのYellow Paperが公開された。
Paris Versionへのアップグレードは、総難易度が58750000000000000000000に達した、2022年9月15日のブロック15537393で発生した。このアップグレード以降では、コンセンサスアルゴリズムがPoWからPoSへ移行された。
Yello Paper内では、Ethereumが準チューリング完全(「準」がついているのは、ガスが不足した場合に処理が強制終了されるため)を実現するための仕組みを数式を用いて定義している。例えば、ブロックやそれに含まれる各トランザクションの状態変更関数や、各アカウント(アドレス、もしくはコントラクト)がどのように生成され、トランザクションが発生するとどのように状態が変更されるかを数式を用いて定義された。
各プロックチェーンの特徴
MegaEth
MegaEthは、Ethereum L2のパフォーマンスをハードウェアの限界まで押し上げ、Web2レベルのパフォーマンスを暗号通貨の世界に初めてもたらすEVM互換のブロックチェーンを目指す。
Web3では、低いトランザクションスループット、貧弱な計算能力、長時間(1秒以上)のブロック生成時間という問題を抱えている。MegaEthはそれを技術の進歩で解決する。
ブロックチェーンは複雑なコンピュータシステムなので、局所的な最適化を行なっても、エンドユーザーに利益をもたらすパフォーマンス向上に繋がることはほとんどない。MegaEthの開発では「測定してから構築する」という哲学のもと、パフォーマンス測定を行うことから始める。そして、システムをハードウェアの限界に到達させるように設計することを目指す。
MegaEthの方向性として、Sequencer、Prover、Full nodeの3つの役割に分け、それぞれ独立した処理を行う。Sequencerは送信されたトランザクションを受け取り、それらを順序付けの上ブロックを生成し、ネットワークにブロードキャストする。ProverはSequencerによって生成されたブロックが正しい事を証明する。Full nodeはローカルのブロックチェーンを最新状態にし、Proverの証明を利用して、トランザクションを検証する。
それぞれの役割におけるハードウェア要件を以下の表に示す。
CPU | メモリ | ネットワーク | ストレージ | Example VM (Price/h) | |
---|---|---|---|---|---|
Sequencer | 100cores | 1-4TB | 10Gbps | SSD | AWS r6a.48xlarge ($10) |
Prover | 1core | 0.5 GB | Slow | None | AWS t4g.nano ($0.004) |
Full node | 4-8cores | 16 GB | 100 Mbps | SSD | AWS Im4gn.xlarge ($0.4) |
Sequencerにのみ高スペックのインフラを用意することにより、高速化を実現する。
Celestia
Celestiaは世界初のモジュラー型ブロックチェーンである。
ブロックチェーンはExecution
, Settlement
, Consensus
, Data Availability (DA)
の4つの機能がある。モノリシックなブロックチェーンでは、4つの機能を1つのコンセンサス層で実装される。コンセンサス層で全ての処理を実行しないといけないので、特定の機能に最適化することが難しい。
CelestiaはConsensus
とDA
に特化したブロックチェーンで、Execution
, Settlement
の機能を持つその他のモジュラー型ブロックチェーンと組み合わせることで簡単にチェーンを生み出すことが可能となった。
CelestiaのData Availability
はスケール可能な解決策を提案する。主な特徴は、data availability sampling (DAS)
とNamespaced Merkle trees (NMTs)
である。DASは、ライトノードがブロック全体をダウンロードすることなくデータの可用性を検証できるようにする。NMTは、Celestia上の実行レイヤーと決済レイヤーが自分たちに関連するトランザクションだけをダウンロードできるようにする。
Berachain
Berachainは、コンセンサスメカニズムとしてProof of Liquidity(PoL)を採用するEVM互換のL1ブロックチェーンである。
現在のPoSモデルでは、バリデーターとプロトコルの間で協力がなく、インセンティブが異なる。具体的には、バリデーターはステーキングしたトークンの安全性と、ブロック報酬に関心があるが、プロトコルはセキュリティの向上や、その上で動作するアプリケーションの数やトランザクション数に関心がある。
BerachainのPoLは全てのステークホルダーにインセンティブを与えるために設計された新しいコンセンサスメカニズムである。
前提として、Berachainでは固有の3つのトークンがある
- $BERA
- ガス代として使用できる、送金可能なトークンである。
- ステーキングされる。(v1では$BGTがステーキング対象コインだった)
- $BGT
- Berachainのガバナンストークンである。
- 送金不可能で、流動性を提供することでのみ取得することができる。
- 1:1で$BERAに変換することができる。
- $HONEY
- Berachainのネイティブステーブルコイン。
PoLのステークホルダーはValidators
, $BGT Holders & Farmers
, Bera Foundation
, Ecosystem Projects
の4つである。
- Validators
- $BERAトークンをステーキングし、ガス料金と優先料金を受け取る。
- また、特定のプロトコルに$BGTを提供することで、関連するインセンティブを受け取ることができる。
- $BGT Holders
- $BGTホルダーは、ガバナンスを通じてエコシステムの意思決定に影響を与えることができる
- $BGTを特定のバリデータに与えることで、間接的にエコシステムの方向性に影響を与えることができる。
- Bera Foundation
- Bex、Bend、BerpsなどのdAppsを運営し、それらが生み出す手数料を$BGTホルダーへ配分する。
- Ecosystem Projects
- PoLは、バリデーターからの$BGT報酬を特定のゲージに向けることで、プロトコルが預金を増やすことができる。
- $BGTを中心に報酬が集まることで、ネットワークの参加者全員が連携して全体の価値が高まる。
Sunrise
Sunriseは料金抽象化とPoLに特化した、DAレイヤーである。SunriseはBerachainのPoLを拡張し、Celestiaアーキテクチャとの互換性がある。
L2運用コストの90%以上がデータ可用性層の手数料と言われており、L2ブロックチェーンがDAレイヤーをEthereumからCelestiaやAvail、Sunriseなどのいわゆる「altDA」に切り替えた場合、手数料の観点で有利である。
Celestiaとの差別化として、DA Fee Abstraction(手数料の抽象化)が挙げられる。CelestiaをDAレイヤーとして使用する場合、手数料はそのネイティブトークンである$TIAで支払う必要があり、それがモジュラーブロックチェーン設計でL2を作成するネックとなる。
Sunriseでは、USDC/USDTなどのステーブルコインやL1やL2プロジェクトを含む様々なトークンをLPing(Liquidity Providing、流動性の提供)するだけで、DAレイヤーを使うことができる。
SunriseはBerachainのProof of Liquidityを拡張し、独自のガバナンスを実現する。BerachainのPoLメカニズムをSovereign Rollupとネイティブに連携することで、流動性と安全性の相互向上が実現する。Sunriseのセキュリティや流動性が高まると、Sovereign Rollupのセキュリティが向上し、Sovereign Rollupが成長し取引量が増えるとSunriseの流動性とセキュリティが向上する。これを独自にSovereign Proof of Liquidityと呼ぶ。
Discussion