メインコンテンツへスキップ

スマートコントラクトの安全装置「担保(Collateral)」の仕組み

DEX(分散型取引所)などでスマートコントラクトを利用しようとした際、ウォレットから「Collateral(担保)」の設定を求められたことはありませんか?

「なぜ送金以外にADAを確保する必要があるの?」と疑問に思う方も多いはずです。今回は、Cardanoネットワークの健全性を守るための重要な安全装置である**担保(Collateral)**について、分かりやすくお話しします。


1. 担保(Collateral)が必要な理由
#

Cardanoでは、取引の検証を2段階で行っています。前回の「決定論」の記事でお話しした通り、ほとんどの取引はネットワークに流れる前にローカルで成否が判定されます。

しかし、スマートコントラクト(Plutusスクリプト)の実行において、稀にネットワーク上での検証時にエラーが発生する可能性があります。もし「失敗した取引」が無制限にネットワークに流せてしまうと、悪意のある人がネットワークをパンクさせる攻撃(DoS攻撃)が可能になってしまいます。

これを防ぐために、もしネットワーク上でのスクリプト実行に失敗した場合は、この担保から手数料を支払いますという約束として、あらかじめ少額のADAを担保に設定しておく必要があるのです。


2. 担保はいつ「没収」されるのか?
#

ここがもっとも大切なポイントですが、普通に利用している限り、担保が没収されることはまずありません

担保が使われるのは、ローカルでの検証では成功したはずなのに、ネットワーク上での実行でフェーズ2バリデーション(スクリプト実行)に失敗したという極めて特殊なケースのみです。通常の送金や、正しく設計されたアプリの利用で没収される心配はありません。


3. 担保の特徴
#

Cardanoの担保メカニズムには、ユーザーを守るための工夫が施されています。

  • 上限設定: 没収される可能性がある金額には上限(現在は手数料の150%程度)があります。ウォレットに入っている全財産がなくなるようなことは絶対にありません。
  • 分離された管理: 多くのウォレットでは、通常の残高とは別に「5ADA」程度を担保専用として隔離して管理するようになっています。

公式ドキュメントより引用: “Collateral is a mechanism used to guarantee that nodes are compensated for their work in case of script validation failure.” (担保は、スクリプトの検証に失敗した場合でも、ノードの作業に対して確実に報酬が支払われるようにするためのメカニズムです。)


4. CCSPとしての想い
#

私たち CCSP は、皆様のトランザクションが一件残らず安全に処理されるよう、常に最新のノード環境を維持しています。

「担保」と聞くと少し身構えてしまうかもしれませんが、これはCardanoというインフラが「スパム攻撃に強く、安定して動き続ける」ための、いわば**「信頼の保険金」**のようなものです。皆様が設定した少額の担保が、私たちSPOが運営するノードを攻撃から守り、ひいてはネットワーク全体の安定に繋がっています。

CCSP は、こうした細かな安全設計の一つひとつを大切にし、皆様が安心して最先端のWeb3体験を楽しめる環境を支え続けてまいります。


参照元: Cardano Docs - Collateral mechanism

免責事項: 本記事の翻訳および要約にはAIを使用しています。技術的な内容の正確性については細心の注意を払っておりますが、原文の解釈に誤りがある可能性もあります。間違いや不正確な表現にお気づきの際は、お手数ですが管理者までご連絡ください。