MSTR Cat

ブロックチェーン/レベル VII · 進化/7.1 イーサリアム:ワールドコンピューター/レッスン 4

明示的な署名:UTXOとトークン承認

支出を行う署名と、その後も残り続ける許可

用意するものPSBTに対応したハードウェアウォレットEtherscanや同様のブロックエクスプローラーへのアクセスRevoke.cashのインターフェース

問い

  1. なぜスマートコントラクトは、ユーザーがそれとやり取りしてから何年も経ってからトークンを移動させることができるのか?
  2. トランザクションに署名することと、恒久的な権限を付与することの構造的な違いは何か?
  3. ファイル形式は、署名が行われる前にビットコイン取引のすべての入力と出力をどのようにして可視化するのか?

探究

  1. EVMチェーンでは、ERC-20規格がトークンの送金を規定している。外部ウォレットからコントラクトへトークンを移動するには、保有者はまず`approve`を呼び出し、自分に代わってそのトークンを特定の量まで使用する許可をコントラクトに与えなければならない。このアローワンス(許可量)はコントラクトの状態に記録され、取り消されるか使い切られるまで無期限に存続する。分散型取引所(DEX)のために10,000トークンを承認したユーザーは、スワップの完了後もその恒久的な権限を保持し続ける。
  2. EIP-2612は`permit`を導入し、ユーザーが即時のトランザクションを送信することなく、このアローワンスを設定するオフチェーンメッセージに署名できるようにした。この署名は使用されるか期限が切れるまで有効であり、同じ支出権限を与える。いったんアローワンスが存在すれば、承認されたスペンダーアドレスを管理する者は誰でも、`transferFrom`を呼び出すことでアローワンスを使い切ることができる。たとえユーザーがその後そのコントラクトと一切やり取りしていなくても、である。
  3. ウォレットドレイナーはこの仕組みを悪用する。フィッシングサイトはユーザーをだまし、悪意のあるアドレスに対する無制限の`approve`や`permit`に署名させる。署名した時点で、攻撃者はトークンを自由に移動できる恒久的な権限を手にする。これらの承認を取り消すには追加のトランザクションとガス代が必要となり、手間がかかる。結果として、たった1回の署名が恒久的な脆弱性を生み、ユーザーがRevoke.cashやEtherscanなどのツールを使って有効なアローワンスを自ら積極的に確認しない限り、それは見えないままとなる。
  4. ビットコインのUTXOモデルは、これとは異なる仕組みで動作する。恒久的な権限は存在しない。各トランザクションは、特定の未使用トランザクションアウトプット(UTXO)を明示的に消費して、新たなアウトプットを作成する。署名が承認するのは、特定のコインを特定のアドレスから特定の宛先へ移動することであり、後に権限は何も残らない。ユーザーが取引所へ1 BTCを送るトランザクションに署名しても、その署名を再利用して後から別の1 BTCを送ることはできない。
  5. BIP-174は、PSBT(Partially Signed Bitcoin Transaction:部分署名済みビットコイントランザクション)の形式を定義している。署名前のPSBTにはすべてのインプットとアウトプットが含まれているため、ソフトウェアウォレットやハードウェアウォレットは、何が支出され、どこへ送られるのかを正確に表示できる。ユーザーはインプット、アウトプット、手数料といったトランザクションの全体構造を確認したうえで、その特定のペイロードに署名する。デフォルトの署名タイプでは、署名はトランザクション全体にコミットする。隠れた権限が作成されないため、悪意のある署名であっても、その単一のトランザクションで指定されたコインしか移動できず、将来の送金のためのバックドアを残すことはできない。
  6. その代償はコンポーザビリティである。EVMの承認によって、コントラクトが複数のアクションにわたってユーザーに代わりトークン残高を管理する、複雑な多段階のやり取りが可能になる。一方、ビットコインの明示的なモデルではあらゆる移動に個別の署名が必要となるため、同じように柔軟な形でスマートコントラクトに権限を委任することは難しい。ユーザーは透明性と恒久的な権限の不在によってセキュリティを得るが、自動化された持続的なエージェント動作の利便性を犠牲にする。

重要な事実

  • ERC-20の`approve`は、保有者に代わってトークンを支出する権限をコントラクトに付与し、その権限は取り消されるまで存続する。
  • EIP-2612により、即時のトランザクションなしに、オフチェーン署名でトークンのアローワンスを設定できる。
  • ウォレットドレイナーは、無制限の承認や放置された承認を悪用し、侵害されたウォレットからトークンを抜き取る。
  • ビットコインのトランザクションは特定のUTXOを消費し、新たなアウトプットを作成する。恒久的な権限は生成されない。
  • BIP-174(PSBT)により、ユーザーは署名前にビットコイントランザクションのすべてのインプットとアウトプットを確認できる。
  • EVMのコンポーザビリティは永続的なアローワンスに依存し、ビットコインのセキュリティは明示的で一回限りの署名に依存している。

演習 九・六・三・一

9集めるDeFiや暗号資産において、ユーザーの署名が必要な一般的なアクションを9つ挙げてください。それぞれについて、恒久的な権限を生み出すものか、一回限りの送金かを記録してください。
6まとめる各署名が後に何を残すかによって、9つを6つのグループに分けてください。
3絞り込む6つを、恒久的な権限が一回限りの送金と比べて特有のセキュリティリスクを生む3つの主要な理由に絞り込んでください。
1結晶化する各モデルにおいて署名が何を認可するか、そしてその認可がどのように維持される(または維持されない)かについて1文で記述してください。

事実確認

日付、数字、主張は、下記に記載された公表資料と照合して確認しました。

インタラクティブ版で開く →

EN PT ES ZH KO RU DE FR MS