メッセージ署名を理解する
署名については、多くの誤解があります。この記事では、イーサリアムや他のEVM互換ブロックチェーンでメッセージに署名すること(ガスレス署名とも呼ばれることがある)に伴うリスクをユーザーに理解してもらうために、4種類のメッセージ署名について説明します。
4種類のメッセージ署名について
これらの署名は、web3でETHを扱うのすべての人がに絶対に理解しておくべきものです。
タイプ1 - ID認証 (安全)
これはweb3において一番よく使われる署名です。統一された基準はありませんが、一般的に、利用規約、ウォレットアドレス確認、時にはリプレイ攻撃を防ぐための暗号化、そしてソフトウェアウォレットで署名しているメッセージがハードウェアウォレットでも同じであることを確認するための短い文字列である場合もあります。
以下にいくつかの例を示します:


タイプ2 - 型付き署名 [スマートコントラクトでのやりとり] (注意が必要)
スマートコントラクトの一部は、オフチェーンでの署名に依存していることがよくあります。この種の署名は、契約のやりとりの一部となる、いろんな入力を分割します。
非常に便利ですが、権限を開く承認を要求される場合は注意が必要です。
承認に関する記事で説明したように、この例では何をしているのかが正確にわかりますが、この種の署名を要求しているソースが信頼できることを確認する必要があります。
例えば、Openseaの外で写真のような署名の承認リクエストを受け取った場合、警戒をして、決して署名しないでください。特に、「あらゆる場面に合せたウォレットの使い分け」で紹介した売買用のウォレットを使用している場合は、いっそう注意が必要です。

タイプ3 - 難解なHex(16進数)形式署名(細心の注意を払うこと!)
EIP-712の標準に従って美しく表記された署名がないからといって、それが詐欺とは限りません。しかし、あなたが署名するメッセージの種類が何であれ、本質的にメッセージをノールックで署名しているため、相手を信頼していることを意味します。Openseaでは、Seaportコントラクトのアップグレードにより、このようなメッセージの利用は見られなくなりましたが、このようなメッセージに署名する前に、特に権限がオープン状態のウォレットアドレスを使っている場合、私なら一瞬止まって考えると思います。
ウォレットの権限がオープン状態かよくわからないですか?承認の取り消しに関する記事をチェックし、そのウォレットアドレスで権限を開いている承認を確認してください!

タイプ4 - ETH_Sign - 時代遅れだし、なんかコワイ(キケン!)
これは非常に危険なタイプの署名で、基本的に「白紙委任状」である。要求者は、あなたの秘密鍵であらゆる取引に署名することができます。良いニュースとしては、Metamaskでこの署名が要求された場合、大きな赤い警告が表示されることです。
誰かが署名の中身を適切に細工すれば、事実上、自分(細工をした人)にETHを送るなど、自分の利益のためにトランザクションを何度も起こせるようになります。これは、WETHやNFT、その他のトークン詐欺のように承認に依存しません。このようなリスクがあるのはこのタイプの署名だけであり、これを合法的に使用するサービスは稀であるため、すぐ逃げましょう!

**更新情報:**私たちのコミュニティのフィードバックによると、ETH_SIGNは現在Metamaskではデフォルトで無効になっています(しかし、詳細設定で有効にすることができるので、万全を期すためにここに残しています!)
私たちはこれを、大きなUI/UXの勝利と見ていて、署名に関する私たちのメッセージをシンプルにしてくれました。
その他の資料
ここまででいくつかの専門用語を省略していることは分かっています。
「間違った言葉を使っているぞ!」と言う前に、私たちがあらゆる人にとって分かりやすく説明するために、敢えて簡略な表現をしていることは知っておいてください!
以下は、署名、署名タイプ、およびそれらの実装について、より詳しいリソースと技術的な説明です:
Can your wallet be drained simply by signing a message in Metamask?
Let's talk about it.
🧵👇— IOE (@CT_IOE) June 8, 2022
署名に関するその他の参考記事です:
Web3セキュリティについてもっと知りたい、最新のセキュリティ情報、詐欺、戦術について知りたいという方は、私たちのディスコード(https://discord.gg/boringsecurity)に参加してください。__![]()


