Skip to main content

ブログ > 2025 > June > スラッシングか否か、それがブロックチェーンの問題だ

スラッシングか否か、それがブロックチェーンの問題だ

2025年 6月 24日 IO Research 19 分で読めます

スラッシングか否か、それがブロックチェーンの問題だ

ブロックチェーンシステムは、暗号と経済的インセンティブの交差点で稼働し、セキュリティメカニズムとゲーム理論の原則を組み合わせて、数十億ドルに相当するデジタル資産を保護する。このセキュリティの中心にあるのは暗号技術、そしてなによりもコンセンサスアルゴリズムだ。これは、トランザクションを受け取り、順序付け、決済することによって、世界規模で一貫した台帳を維持するものである。しかし、このセキュリティは無条件ではない。台帳の完全性は、システムの基盤となる全リソース(コンピュテーション、ステーク、記憶領域)が、一定の割合を超えて敵対的存在にコントロールされない限り保持される。

ブロックチェーンシステムを調査するうえでバリデーターの行動とセキュリティメカニズムは欠かせないトピックだ。特にコンプライアンスを守ることに対する報酬や(スラッシングを使った)不適切なふるまいに対する罰則は、もっとも効果的な戦略だ。これは重大な問題を提起する。リソースの過半数がプロトコルに忠実に従うと仮定すべきなのはなぜか。バリデーターがプロトコルの指示から逸脱せず、従うことを保証するメカニズムはどのようなものか。コンプライアンスは報酬を通じて奨励されるべきか、それとも罰則によって悪い行動を抑止するべきか。

この課題にどうアプローチするかは、ブロックチェーンプロトコルによって大きな違いがある。例えば、イーサリアムはスラッシング系モデルを採用し、Cardanoは形式的検証、ステーク比重インセンティブ、確率論的ファイナリティに根付いた非スラッシングアプローチを採る。

本稿では、バリデーターの行動を決める基本的な原則を探り、ブロックチェーンネットワークを安全に保つ経済的および技術的なセーフガードを検討する。こうしたメカニズムを理解することはブロックチェーン技術に携わる、またはこれを頼りとする誰にとっても重要だ。なぜなら、こうしたシステムや、それに保護されるさまざまな資産の安全性、安定性、そして分散性に直接影響するからだ。Cardanoはスラッシングを必要としない。その理由を理解することは重要だ。

ブロックチェーンの約束

ブロックチェーンの中核をなすのは、相互に信用のない一時的に存在するノード(一部は悪意のあるものもある)からなるグローバルに分散したネットワークが、成長を続ける、順番に並べられたトランザクション台帳に合意することを可能にするプロトコルである。そして基本的に、これがすべてだ。

ではなぜこれほど強力なのか。それは、事実上あらゆる種類のシステムを分散型に実装できるためだ。もっとも一般的な例は決済システムである。ブロックチェーンは、普遍的に受け入れられた出発点であるジェネシス状態を確立し、「アリスがボブに100ADAを送金」などのトランザクションを処理することで、このシステムを提供することができる。こうしたトランザクションを厳密なシーケンスで配置すれば、すべてのトランザクションを台帳に表示されている順序で再生することによって、いつでも誰が何を所有しているかを正確に判断することが可能になる。

ブロックチェーンシステムの重要な特性は不変性であり、一度トランザクションが「決済される」または「ファイナリティに達する」と、それが台帳に置かれた場所に正確に永久に残ることが保証される。これはセキュリティにとって不可欠である。なぜなら、トランザクションを取り消したり並べ替えたりできると、二重支払いなど攻撃者がシステムを悪用する可能性があるためだ。二重支払い攻撃では、悪意のあるアクターがまず販売者に資金を送信して購入を完了する。その後でトランザクションを台帳から消去できる場合、別の場所で同じ資金を再利用する。販売者は支払いも受け取れないし売った商品も戻らず、手元は空となる。したがって、トランザクションが最終的で不可逆的であることを保証することは、ブロックチェーンシステムの信頼とセキュリティを維持するために不可欠である。

正直な過半数の条件

ビットコインやCardanoなどのブロックチェーンは、最長チェーン型コンセンサスプロトコルに従ってブロックチェーンを構築している。ブロックの生成は、最長のチェーンを延長することを許可される次の参加者を選出するためのプライベートくじによって管理されている。ビットコインでは、このくじはハッシュパズルを解くことに基づくプルーフオブワーク型メカニズムによって実現される。Cardanoでは、くじはOuroborosプロトコルにより検証可能なランダム関数を使用して暗号的に実装されており、これによってビットコインの計算集約的なパズルを回避している。

両プロトコルは、堅牢性を支える重要な諸機能を共有している。ビットコインの場合の計算能力やCardanoのアクティブステークなど、両者ともシステムでアクティブなリソースの50%近くを所有する攻撃者を許容しているし、どちらもある程度の自己修復を享受している。つまり、正直な参加者の突然の減少によって攻撃者がネットワークを制御したとしても、全参加者が復活するとプロトコルは安定した実行状態に戻ることができる。

では、何をもって安全とするのか

ビットコインとCardanoは確率論的決済として知られる決済概念を実現している。トランザクションが受ける承認が多くなればなるほど(トランザクションを含むブロックに追加されるブロックの数を考えてみればよい)、このトランザクションが取り消される可能性は低くなる。さらに、リスク評価のために、決済の可能性を承認数および攻撃者の相対的な強さの関数として定量化することができる。大まかに言って、決済エラーの可能性は承認数とともに指数関数的に低下する。攻撃者の強さの影響も重要である。攻撃者の相対的なリソースが大きいほど、この決済エラーの指数関数的減衰は遅くなる。

ここまで、ビットコインやCardanoのようなブロックチェーンに、ユーザー定義のファイナリティ機能が備わっていることを見てきた。ビジネスユーザーが行う任意の承認数をkとした場合、チェーン内の深度kのトランザクションの決済が行われない場合の可能性と影響を考慮してリスク評価を行うことができる。これは、ビジネスプロセスのさまざまな評価に適応することができる。

暗号経済の観点

これまでのところ、一定の強さの攻撃者が、一定の承認レベルに達したトランザクションを取り消すことができる確率として、セキュリティの観点からのみ決済について議論してきた。ここでは、経済的な観点が依然欠けている。攻撃には大きなコストがかかることが多く、潜在的な利益によって補償されなければならない。決済エラーを誘発するコストを定量化するためにこのような具体的な下限を持つことは、財政的観点から攻撃の実用性と可能性を評価するのに役立つ。ここでは、豊富なメカニズム設計技術を使ってコストを押し上げることができる。顕著な例としては、システムを十分な分散性レベルとアクティブステークの大部分に導いてシステムを保護するメカニズムがあり、Cardanoはこれに力を入れている。一方、ロックとスラッシングはバリデーターに一定量のステークをシステムにロックさせることでコミットメントを達成することを目的とするメカニズムであり、不正行為のデジタル証拠が表面化するとそれが没収される可能性がある。イーサリアムはこのメソッドを使用している。

攻撃の合理性

ブロック生成をコントロールするステークのうち、敵対者の手に渡っているのはごく一部のみであるという仮定は、究極的には経済的考察から生じる。この量のステークを取得するということは、(i) 攻撃者にとっては不可能である、または、(ii) 攻撃のコストが潜在的な利益よりも大きいため、経済的に(すなわち合理的に)実行不可能であるほどの、高額の金銭を投資することを意味する。攻撃が強力になればなるほど高額になるが、リスクをもたらす程度も高まる。これは次の2つのカテゴリーに分類できる。

攻撃者がアクティブステークの過半数を獲得

これは、プルーフオブステーク型システムにとって、最も深刻(かつ高価)な攻撃である。明らかに、攻撃者のコストは、より多くのアクティブステークがブロック生成に参加しているほど増加する。ここでの重要なのは、スラッシングは過半数の攻撃に対して防御を提供しないということである。これは、スラッシングを強制するには、アクティブステークの過半数によって不正行為の証拠がブロックチェーンに記録されることを保証しなければならないためだ。実際、最近の研究BLR24は、このシナリオでは攻撃者を「標的」とした罰は不可能であることを示している。詳細は以下の議論を参照して欲しい。それどころか、スラッシングがこのシナリオで有害となる場合もある。スラッシングはバリデーターに経済的リスクをもたらすため、誠実で合理的なアクターが積極的にステークすることを妨げる可能性があり、そうなるとアクティブステークの量が減ることになる。ステーキングレベルが低いほど、こうした攻撃のコストは低くなるため、これは問題になる可能性がある。

攻撃者が少数派

前述のように、(ビットコインやCardanoなどの)ナカモト型コンセンサスでは、ユーザーは承認を待つことで独自のセキュリティレベルを設定できる一方、システム全体はいわゆる少数派による攻撃を受けても常に動作可能である。これは、ステークの過半数を獲得していない攻撃者に直面している限り、50%までならいかなる「強さ」の攻撃からも保護する承認ルールが常に存在することを意味する(もちろん攻撃者が強力になればなるほど時間がかかることになるが)。販売者や暗号資産取引所がセキュリティレベルを仮に承認30回に設定した場合、これを攻撃することは、ブロックチェーンで30ブロックの深さにあるトランザクションを元に戻すことができるのに十分なステークを取得するに等しくなる。成功したとしても、これはブロックチェーン自体が壊れているとか、安全ではないことを意味するものではないことに注意してほしい。これは単に、ナカモト型コンセンサスによって得られる実際の一般的なプレフィックスが販売者が信じていたものよりも短いという意味である。より多くの承認を待つだけで、販売者は攻撃にかかるコストをブロックチェーンを完全に制御するためとほぼ同程度にまで上げる可能性さえある。

上記のユーザー定義のファイナリティ機能は、他のコンセンサス設計には存在しない。例えば、繰り返し型BFTファイナリティ戦略のクラスでは、アクティブステークの数が1⁄3以上の攻撃者は、競合する確定済みブロックを含む2つのブランチにブロックチェーンをフォークすることに成功する可能性がある。これによって販売者が二重支払い攻撃に対して脆弱になるだけでなく、バリデーターによって2つの最終決定のどちらを無視するかに合意するという、社会的コンセンサスが関わる複雑で時間のかかるタスクによって状況が解決されるまで、システム全体が矛盾した状態となる。したがって、ナカモト型コンセンサスとは異なり、繰り返し型BFTファイナリティ戦略には通常追加的メカニズムが採用される。例えば、イーサリアムは「デュアルレイヤー」アプローチとスラッシングメカニズムを実装し、ステークの1⁄3以上の攻撃に対して「ファイナリティ層」を保護している。下の図1に示すように、Cardanoとイーサリアムは、スラッシングを1つの重要な違いとして、(1⁄3, 1⁄2)の範囲の攻撃から保護するために異なるメカニズムを使用している。

ステーク保有量50%未満の攻撃者に対するメカニズム

少数派による攻撃をよりコストのかかるものにするアプローチが、根底にあるコンセンサスアルゴリズムによって大きく異なることは驚くに値しない。

ナカモト型コンセンサスとCardano

Cardanoでは、ステーキングと報酬メカニズムはインセンティブスキームを実装している。これは、ステーキングに対するインセンティブを活用することによって、システム内における多くのステークプールオペレーター(SPO)に分散された高レベルのアクティブステークを実現するものだ。これは、プールへのオンチェーン委任メカニズム(完全な流動性を持つ)と、覚悟のある複数のステークプールにインセンティブを与える適切なキャップ&マージン報酬スキームによって達成される。このいわゆる「出資」はロックされてはいないものの、報酬はプールに出資が維持され、移動されない場合にのみ支払われる。これにより、前述した少数派による攻撃のコストを増加させる状況がもたらされる。ステーキングが非常に活発に行われているシステムでアクティブステークのかなりの部分を取得することは高額となり、より高額な出資をしている複数のSPOに焦点を当てると、コンセンサスアルゴリズムで少ないステークによって十分な影響力を及ぼすことは困難である。

ただし、能動的にスラッシングが行われるわけではない。デリゲーターは、長期的にはプールの不正行為を「罰する」力を持っている。彼らは、不正行為に携わることで報酬と相対的な影響力が将来低下することを余儀なくされるSPOへの委任をやめ、他のより良いパフォーマンスのプールに委任することを選択できる。不正行為に携わるSPOがその後同様の強度で攻撃を開始するための唯一の方法は、以前持っていたステークの割合を回復することである。これには、少なくとも以前と同等、場合によってはそれ以上のステークを再取得する必要がある。というのも、失った分の委任が正直なアクティブステークを増加させる傾向にあるためだ。

繰り返し型BFTとイーサリアム

イーサリアムでは、少数派による攻撃に対処することがより重要である。なぜなら、攻撃者が一旦アクティブステークの1⁄3を獲得してしまうと、システムが危険にさらされるからである。したがって、アテステーションを曖昧にしたり、ファイナライズを妨げたりすることでシステムの運用を妨害しようとする試みに対しては、不正行為に携わるバリデーターにスラッシング可能なステークが大量にもたらされるように設計されている。システム全体の運用セキュリティのリスクアセスメントを実行する際には、この数値が中心となる。対照的に、ナカモト型ブロックチェーンでこの数値に相当するのは、システムの基盤となるリソースの約50%を達成するためのコストである(その後はもはやスラッシングに効果はない)。

イーサリアムの文脈では、メカニズムとしてのスラッシングは、図1に示すように、合理的な攻撃者に対してセキュリティしきい値を最大50%まで効果的に増加させることができる。最近の研究[BLR24]では、「システム崩壊がない限り攻撃に高いコストがかかる」(expensive to attach in the absence of collapse:EAAC)プロトコルという概念が導入されている。すなわち、もしプロトコルが正直な参加者にも影響を与える程「広範に甚大な被害」を引き起こすのではなく、攻撃者に「的を絞った直接的な金銭的ペナルティ」が課されることを保証するとしたら、そのプロトコルはEAACである。この概念は、スラッシング的メカニズムによって攻撃者に課される罰則によってもたらされる潜在的な利益をモデル化することを意図している。ただし、EAACはプロトコルの標準動作の範囲内で動作している場合、プロトコルのセキュリティとは対話しないことに留意したい。むしろ、プロトコルがそのセキュリティモデル外で攻撃された場合でも保証を提供する補完的な概念である。図1が示すように、イーサリアムは半数未満のステークを支配する少数派敵対者に対して安全である(すなわち、安全性と活力を提供する)。ゆえに、EAACを提供していることは自明だ。さらに、すべてのステークの1⁄3から1⁄2を支配している敵対者は、一時的に(単に活動しないことによって)ファイナリティを妨げられるかもしれないが、非活動リークと呼ばれる特定の形のスラッシングによって結局はステークシェアの減少につながり、ファイナリティが回復する。一方Cardanoは、50%までの運用上の安全性を確保するためにスラッシングを必要としない。Cardanoとイーサリアムのように、参加者の変動を許容するプロトコルは、50%を超える攻撃者に対してEAACを保証できないことが[BLR24]で証明され、これにより全体像が完成されることは注目に値する。

スラッシングでCardanoのセキュリティを向上できないのか

ロックとスラッシングがメカニズムとして役立つかどうかは、主にユースケース次第である。スラッシングのプラスの効果は、コンセンサスアルゴリズムが1⁄3を超えた場合の安全性を提供しないことを選択したシステムについては議論の余地がない。これは、50%未満で安全なCardanoには適用されない。

不正行為の証拠が検出されたときに当事者がステークをロックして罰を与えるアプローチは、本稿で説明したユースケースという意味合いを超えて役立つ可能性がある。このアプローチは、システムが本来なら提供できないような、具体的な不正行為にかかるコストの下限を保証しようとする場合に有効であると考えられる。例としては、システムに対する外部からの贈収賄攻撃やリステーキングプロトコルにおける不正行為などがあり、レバレッジ(つまり攻撃の財政的実現可能性)は外部要因に依存する[E24、KKZ24]。

ただし、スラッシングには顕著な欠点があることも知られており、これはブロックチェーンセキュリティと大いに関連する。

  1. 管理権の喪失:ロックされたステークはロック期間中、元のステークホルダーの管理外に据え置かれなければならず、オペレーターのパフォーマンス不足による資金の損失にステークホルダーをさらすため、サイバーセキュリティ上、余分な懸念が生じる。これはさらに、信頼できるステーキングソリューションを提供するという点においては専門的な大規模オペレーターに有利に働くことから、集中化につながる。
  2. ステーキング参加の抑止:ロックされた資産に自由にアクセスして利用することができないことは、資本の用途として他に優先事項を持つステークホルダーが(管理権の喪失への警戒感も相まって)ステーキングを思いとどまる可能性があるため、参加の抑止に働きかねない。

従来、流通供給量全体に占めるステーキング済みETHの割合は期待外れだった。実際、Vitalik ButerinのようなETH保有者でさえ、自分のETHのほとんどをステーキングしたがらない。2024年9月時点で、ステーキングされているイーサリアムは約28%であり[C24]、Cardanoの場合は約58%である。さらに、最近のステーキング済みETHの増加は、Cardanoを彷彿とさせる液体ステーキングの形態をイーサリアムに導入したLIDO(ステーキング全体の28%を占める支配的なステーキング選択肢[C24])のような液体ステーキングプロバイダーの利用可能性の結果であると考えられる。

したがって、すでに最適な回復性を達成しているCardanoのようなナカモト型ブロックチェーンにスラッシングを導入することは、セキュリティにとって有害となる可能性がある。スラッシングのデメリットは、分散型台帳の最も重要な側面である参加と分散性を損なう可能性があるからだ。

執筆協力:Christian Badertscher、Sandro Coretti-Drayton、Peter Gaži、Aggelos Kiayias、Paolo Penna、Alexander Russell

参照