この記事は、こん丸のカルダノチェーンに関するレポート(英語)の一部です。
英語版はこちら。
内容:
1. ウロボロス(Ouroboros)コンセンサスメカニズム
1.a. リーダーの選出
1.b. フォークチェーンの選択
1.c. 報酬
1.d. このセクションの資料
2. 他チェーンとの比較
2.a. コンセンサスメカニズムとセキュリティ
2.b. このセクションの資料
1. ウロボロス(Ouroboros)コンセンサスメカニズム
カルダノチェーンのセキュリティの強みは、新しい製品、サービス、アップデートをリリースする前に、科学論文に準ずる学術的な査読プロセスを経ていることです。これにより、他のほとんどのブロックチェーンプロジェクトが提供するレベルよりも高いセキュリティが保証されています。カルダノは現在、147の査読済みの学術論文によって証明された技術を採用しています。ウロボロスコンセンサスメカニズムも、他の技術と同様にこのような厳格なプロセスを経て証明され、実装された技術です。プルーフ・オブ・ワーク(PoW)コンセンサスメカニズムと同等のセキュリティが保証されています。以下では、ウロボロスのコンセンサスメカニズムの詳細とその優位性について説明します。
1.a. リーダーの選出
プルーフ・オブ・ワーク(PoW)コンセンサスメカニズムでは、暗号(hash)パズルを最初に解いた人が勝者(リーダー)となります。この暗号(hash)パズルを解くためには、単にランダムな値(nonce)を試し、毎回異なるnonceで暗号(hash)を計算し直す以外に戦略がないため、パズルを解く勝者はランダムに選ばれるといえます。より速く計算するために、より良いコンピュータを購入するなど、計算能力を高めることで勝率を上げることはできますが、他のすべてのコンピュータを合わせたよりもはるかに高い計算能力を持つことはまずありえないといえます。
一方、プルーフ・オブ・ステーク(PoS)コンセンサスメカニズムでは、勝者はチェーンに賭けられた資産の量に比例してランダムに選択されます。その際、いかに公平でランダムなリーダー(勝者)選出を実行できるかどうかが、PoSにおけるセキュリティ上の課題になります。ランダム性を担保し次のリーダーを予測することを防ぐことで、チェーンの安全性を維持することが必要不可欠です。ウロボロスは、ランダム性を確保するために、簡単で安全な多数によるコイン投げプロトコルを利用しています。この方法では、エポックと呼ばれる一定期間ごとにランダムに選ばれた参加者が委員会を構成し、コイン投げプロトコルを実行します。プロトコルの結果によって、次のエポックでプロトコルを実行する参加者と、そのエポック内のリーダーの選出結果すべてが決定します。このようなプロセスにより、ウロボロスは他のPoSアルゴリズムに比しても、リーダー選出時の偏りの無いランダム性を保証しています。
ウロボロス・プラオス(Ouroboros Praos)のアップデートでは、プライベートなリーダー選出とより予防性の高い進化型キーの署名を採用することで、さらに安全性が強化され、悪質なハッカーが次のリーダーを予測し、集中攻撃を仕掛けることができないようになりました。ウロボロス・クロノス(Ouroboros Chronos)は、新しい時刻同期メカニズムによって時計の安全な同期を実現し、それによって外部の時間サービスに依存しないため、時間情報を狙った攻撃に対してより強いシステムが実現可能になりました。
👉 より詳しいPoWとPoSの違いについては、[解説#1]プルーフ・オブ・ワーク(PoW) vs プルーフ・オブ・ステーク(PoS)で解説しています。
1.b. フォークチェーンの選択
ブロックチェーンは、枝分かれしたツリー状のブロックではなく、単一のチェーンを維持します。ビットコインやイーサリアムと同様、ウロボロスのコンセンサスアルゴリズムでは、参加者が2つの異なるチェーンを観察した場合、最長チェーンルールを採用しています。このルールでは、公開されたすべてのブロックのうち、最も長いチェーンを採用すると決められています。したがって、参加者は新しいブロックを現在知っている最も長いチェーンに追加する必要があります。このシンプルなルールにより、悪意のないチェーンのみが成長することが保証されます。
ウロボロスPoSの設定では、一定数のエポックが参加者に一度に割り当てられるため、悪意のある参加者のグループが、ブロックを自由に生成した後、生成されたブロックのアップデート情報を悪意のない参加者へ向けて公開するタイミングを操作することができてしまいます。また、そのブロックが、先行するブロックチェーンに採用されてしまう可能性もあります。これに対し、一般的なPoWの設定では、悪意のある参加者はオンラインで意思決定を行わなければならないという制約があり、複数のブロックを自由に生成することはできません。ウロボロス・プラオス(Ouroboros Praos)を改良したウロボロス・ジェネシス(Ouroboros Genesis)は、新しいチェーン選択ルールを採用しており、最新の暗号化技術で保証された安全性の高いPoSプロトコルになっています。この新しいチェーン選択ルールによって、追加的なシステムや仮定を設定せずに、新規またはオフラインの参加者でも、信頼できるブロックのコピーからのみ安全にブロックチェーンを繋げたり、採用したりすることが可能になります。
1.c. 報酬
また、プロトコルのインセンティブ構造、すなわち報酬メカニズムは、ブロックを保留したり利己的なマイニングといった特定のタイプの攻撃を軽減するために重要です。ウロボロスは、参加者にインセンティブを与えるために新しい報酬メカニズムを採用しており、これが(近似)ナッシュ均衡であることが証明されています。
各エポックにおいて、報酬は(自分若しくは他者の)ステークプールに委任したすべてのステークホルダーに分配されます。報酬は取引手数料と準備金から得られます。準備金とは、ADAの総供給量(現在流通しているすべてのADAと国庫にあるADAの合計)とこれまでに記録されたADAの最大供給量との差分によって計算されます。基本的に、プールに委ねられたステークが多ければ多いほど、(相対的なプールの飽和サイズを上限として)ステークホルダーが受け取る報酬は多くなります。報酬は、プール運営者の影響度やプールのパフォーマンスによって調整され、プール運営者とプールに一部または全部のステークを委任した人の間で分配されます。
報酬メカニズムの核となる考え方は、プロトコルの参加当事者たちによって抑止されることのないプロトコル上の行動に対して正の報酬を与える、というものです。そうすることによって、あるプロトコルを実行する際の実行コストは小さい、というもっともらしい仮定の下で、合理的なプレーヤーがプロトコルに忠実に従うことが(近似)ナッシュ均衡であることを示すことができます。
👉 カルダノチェーンについて、台帳モデルや開発言語、各チェーンのスケーラビリティに関わる要素など、詳しくは[解説#4]台帳モデル、言語、その他で解説しています。
1.d. このセクションの資料
🔗 https://docs.cardano.org/core-concepts/ouroboros-overview#gatsby-focus-wrapper
📄 Kiayias et. al. (2019)
📄 Bernardo et. al. (2017)
📄 Badertscher et. al. (2019)
📄 courses.grainger.illinois.edu
🔗 https://www.coindesk.com/learn/cardano-vs-ethereum-can-ada-solve-ethers-problems/
🔗 https://docs.cardano.org/core-concepts/pledging-rewards#distributingrewards
2. 他チェーンとの比較
2.a. コンセンサスメカニズムとセキュリティ
ブロックチェーンには、二重支出攻撃(double spending attacks)、取引拒否攻撃(transaction denial attacks)、51%攻撃(51% attacks)、Nothing-at-stake、非同期攻撃(desynchronization attacks)など、潜在的な攻撃が知られています。各チェーンには、これらの攻撃からチェーンを保護するためのロジックがありますが、セキュリティ上の事故や潜在的な懸念も報告されています。以下の表4では、各チェーンのコンセンサスメカニズム、リーダー選出方法、フォークチェーンの選択ルール、そしてセキュリティ上の懸念事項を示しています。カルダノは他のチェーンと比較してやや早い開発段階にあり、多くのユーザーによるセキュリティチェックに晒されていないものの、今のところ、他のチェーンでしばしば観察されるようなブロックチェーンのセキュリティに影響を与える重大なセキュリティ事故やネットワークの寡占的な傾向は確認できていません。
表4. 各チェーンのコンセンサスメカニズムとセキュリティに関する懸念事項
<表4の資料>
🔗 https://www.hongkiat.com/blog/bitcoin-security/
🔗 https://www.npr.org/2022/06/21/1105815143/cryptocurrency-bitcoin-blockchain-security-tampering-darpa
🔗 https://ethereum.org/en/developers/docs/consensus-mechanisms/#proof-of-stake
🔗 https://ethereum.org/en/developers/docs/smart-contracts/security/
🔗 https://www.gemini.com/cryptopedia/what-is-cardano-roadmap-cardano-ecosystem-ada-crypto
🔗 https://www.cryptoeq.io/corereports/cardano-abridged
🔗 https://tezos.gitlab.io/active/proof_of_stake.html
🔗 https://101blockchains.com/tezos/
🔗 https://www.cryptoeq.io/corereports/tezos-abridged
📄 Chen and Micali(2016)
🔗 https://www.cryptoeq.io/corereports/algorand-abridged
🔗 https://v1.cosmos.network/resources/whitepaper
🔗 https://www.cryptoeq.io/corereports/cosmos-abridged
🔗 https://docs.solana.com/cluster/synchronization
🔗 https://thenewstack.io/how-secure-is-solana-really-industry-analysts-weigh-in/
🔗 https://news.coincu.com/114240-solana-security-phantom-users-beware/
📄 Haugum et. al. (2022)
🔗 https://www.cryptoeq.io/corereports/polkadot-abridged
🔗https://www.forbes.com/sites/shehanchandrasekera/2022/05/31/emin-gun-sirer-founder-of-the-avalanche-blockchain-is-not-sweating-a-76-drop-in-token-price
📄 Buterin and Briffith(2019)
🔗 https://crypto.news/ethereum-beacon-chain-blockchain-reorganization-years/
🔗 https://hackernoon.com/ethereums-client-diversity-problem
2.b. このセクションの資料
🔗 https://ethereum.org/en/developers/docs/consensus-mechanisms/#proof-of-stake
📄 Kiayias et. al. (2019)
📄 courses.grainger.illinois.edu





