まず、少し専門用語を説明します。あ "メッセージ" ブロックチェーン ネットワーク内の 2 人以上の参加者間の通信の単位です。あらゆる種類のデータを含めることができ、通常はユーザーからデジタル承認を得るために使用されます。
A "取引"一方、 は、ある参加者から別の参加者への価値の移転を伴う特定のタイプのメッセージです。通常、送信者のアドレス、受信者のアドレス、転送される暗号通貨の金額、送信者の転送許可を証明するデジタル署名などの情報が含まれます。
ユーザーは、Ledger デバイスを使用して署名トランザクションをすでにクリアできます。 この投稿で詳しく説明されているようにそして、同じ原則を使用してこの良い実践をメッセージにも拡張しました。その方法は次のとおりです。
Web3 でメッセージに署名するのはなぜですか?
ブロックチェーンは以下に基づいています 「公開鍵暗号」ここで、ユーザーはペアを形成する公開キーと秘密キーを所有します。公開キーは所有者の身元を表し、秘密キーは秘密であるため、キー ペアの所有者であることを証明できます。
メッセージに署名するときは、署名アルゴリズムで秘密キーを使用して、署名をメッセージと公開キーにリンクします。誰もあなたの秘密キーを取得したり、有効な署名を偽造したりすることはできません。ただし、公開キーを知っている人なら誰でも、メッセージが秘密キーで署名されたことを簡単に検証できます。
簡単に言えば、これはトランザクションの署名と同じプロセスと考え方ですが、ここでは、手当という別の目的を果たすメッセージの署名に焦点を当てている点が異なります。実生活で紙に書いた署名を使用するのと同じように、ユーザーの同意を集めるために暗号化アプリケーションでメッセージに署名しています。これは「法定通貨署名」の暗号版です。
EIP-712の重要性
メッセージに署名することは新しいことではありません。私たちは何年も前からメッセージに署名できるようになってきましたが、時間の経過とともに改善されるにつれて、メッセージはさまざまな形や形式を取ることができます。実際、 イーサリアム改善提案 191 (EIP-191) 2016 年に提出され、Ledger デバイスでネイティブにサポートされる人間が読めるメッセージを可能にする標準が導入されました。ただし、EIP-191 が不十分な点は、この標準がデータを構造化していないことです。これはメッセージの最後に長さ無制限のデータを宣伝するだけなので、使いにくいです。実際には、メッセージが長すぎると切り詰められてしまい、ユーザーが重要な情報を見逃してしまうことがよくあります。貧弱なUX。
冒頭でも述べたように、 イーサリアム改善提案 712 (EIP-712): 「バイト文字列だけを気にするのであれば、データへの署名は解決された問題です。残念なことに、現実の世界では、私たちは複雑で意味のあるメッセージを重視しています。」 – これ以上同意できませんでした。メッセージがより複雑な操作に対応できるようになるにつれて、EIP-712 で指定されているメッセージへの型付きデータ構造の導入は歓迎すべき変更でした。
これがユーザーにとって意味することは、開発者がメッセージ内のデータを解析して内容を把握し、それをユーザーに公開できるようになるということです。解析とは、内容がどのように構成されているかを知っているため、内容を読み取ることができることを意味します。これは、ユーザー エクスペリエンスという点で大きな変化をもたらしましたが、署名している内容を確認できるようになったため、セキュリティの観点からも大きな変化をもたらしました。
メッセージが何に使用されるかという文脈に戻りますが、アリスにウォレットの内容に対する特定の許可を与えるよう依頼する場合、アプリ開発者として、彼女が続行できる可能性を最大限に高めるために、そのことについて非常に明示的に示す必要があります。しかし、それは単なるコンバージョン率の最適化ではありません。
敵対的な環境でのセキュリティと防御について考えると、詐欺師は明らかにそのメッセージを可能な限り不透明にして、アリスをだましてその悪意のある操作を許可するでしょう。透明性と、アリスが自分が署名している内容を再確認できる機能は、絶対に不可欠です。
そこで EIP-712 が登場します。この EIP が登場するまで、署名付きメッセージは、メッセージを構成する項目に関するコンテキストがほとんどない状態でユーザーに表示される不透明な XNUMX 進文字列でした。
これにサインしていただけますか?ここで何を許可しているかわかりますか?
EIP-712 仕様では、メッセージの型指定されたデータ構造を導入しています。これにより、メッセージをウォレットで解析し、アリスが情報に基づいた意思決定を行えるようにユーザーフレンドリーな方法で表示できるようになります。さらに、これは標準であり、業界全体で相互運用可能です。EIP-712 をサポートしているため、メッセージは Ledger、MetaMask、Rainbow、Argent、Coinbase Wallet などで解析できます。
EIP-712 の台帳サポート
まず第一に、Ledger デバイスは EIP-712 メッセージをネイティブにサポートしているため、開発者はデバイス上でのメッセージの表示方法を正確に制御できます。
Ledger デバイス上のメッセージには基本的に 3 つのレベルのサポートがあります。
レベル 1: ブラインドサイン
アプリ開発者のボブが EIP-712 メッセージを使用していない場合、ボブは本質的に、読み取り不可能な XNUMX 進文字列に署名するようアリスに求めています。ボブはアリスに、読み取ることさえできないものに署名するよう求めています。 ブラインド署名.
レベル 2: 透明性のある署名
EIP-712 メッセージを実装することで、Bob は XNUMX 進文字列から読み取り可能なコンテンツへと一歩前進しました。これにより、アリスはメッセージの内容を読むことができるようになりましたが、メッセージの全内容が彼女に表示されるため、技術情報と混合された重要な情報を見つけるのは困難です。 透明だけどまだはっきりしてない.
レベル 3: 明確な署名
デバイスはメッセージの内容を解析できるため、何をどのように表示するかを指定することで、明確な署名を実現できます。したがって、ボブが必要なメタデータを設定した場合、アリスは Ledger デバイスに次のように表示されます。
16 進文字列よりもはるかに優れていますね。
もう一つの重要なポイントは、完全に安全な環境で表示されるため、 改ざんできない別個のデバイス, アリスは、そのデバイスに表示されているものが自分が署名しているものであると 100% 確信しています。マルウェアや悪意のあるアプリケーションによって、表示されている内容を変更することはできません。デバイスに表示された内容が彼女の期待と一致しない場合、彼女は安全を確保し、メッセージへの署名を拒否できます。
この改善された UX と追加のセキュリティをユーザーに提供するには、Bob は 2 つのことを行う必要があります。 どのフィールドをユーザーに表示するかを指定し、適切で明示的な表示名をそれらのフィールドに提供します。
開発者として Bob に参加して自分のアプリでそれを実行したい場合は、 すべてのドキュメントはここにあります、基本的には、以下を含む JSON ファイルを介して、Ledger の dApps Asset Registry で契約をホワイトリストに登録するためのプル リクエストを作成することになります。
- デバイスがアリスを表示する必要があるフィールドを示すセレクター、
- 各セレクターに表示名を付けます。
これは化粧品ではありません、良い習慣です
スマート コントラクトをホワイトリストに登録し、Ledger デバイスがメッセージを表示できる方法を指定することで、アプリケーションを操作するときのユーザー エクスペリエンスが大幅に向上するだけでなく、さらに重要なことに、私たち全員を詐欺から守り、良い習慣を築くのに役立ちます。 web3エコシステム。
理解できないものには決して署名すべきではありません。
あなたなしではこれを行うことはできません。明確な署名を標準にするためにご協力ください。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 未来を鋳造する w エイドリエン・アシュリー。 こちらからアクセスしてください。
- PREIPO® を使用して PRE-IPO 企業の株式を売買します。 こちらからアクセスしてください。
- 情報源: https://www.ledger.com/blog/securing-message-signing
- :は
- :not
- :どこ
- $UP
- 1
- 2016
- 22
- 220
- a
- 能力
- できる
- 私たちについて
- それについて
- 絶対に
- 達成する
- 越えて
- 住所
- 敵対者
- アルゴリズム
- すべて
- 許す
- 許可
- ことができます
- 既に
- また
- 量
- an
- &
- 別の
- どれか
- 誰も
- アプリ
- 申し込み
- 承認
- です
- Argent
- AS
- 資産
- At
- 承認
- ベース
- BE
- なぜなら
- き
- 開始
- さ
- より良いです
- の間に
- ビット
- ブロックチェーン
- ブロックチェーンネットワーク
- ボブ
- ビルド
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 缶
- これ
- 応じます
- チャンス
- 変化する
- チェンジャー
- クリア
- coinbase
- コインベース財布
- 来ます
- 一般に
- コミュニケーション
- 複雑な
- 同意
- コンテンツ
- 中身
- コンテキスト
- 縮小することはできません。
- コントロール
- 変換
- 作成
- cryptocurrency
- DApps
- データ
- 日
- 決定
- 防衛
- 詳細な
- Developer
- 開発者
- デバイス
- Devices
- 異なります
- デジタル
- ディスプレイ
- 表示
- do
- ドキュメント
- そうではありません
- ドント
- ダウン
- 各
- 簡単に
- エコシステム
- EIP
- end
- 環境
- 本質的な
- 本質的に
- イーサリアム
- さらに
- 除く
- 期待
- 体験
- 露出した
- 余分な
- 追加のセキュリティ
- 実際
- フィールズ
- File
- 焦点
- 偽造する
- フォーム
- フォーム
- フォワード
- から
- フル
- 完全に
- さらに
- ゲーム
- ゲームチェンジャー
- 集める
- 取得する
- GIF
- 行く
- 良い
- 助成金
- ハンド
- ハッピー
- ハード
- 持ってる
- 助けます
- 助け
- 彼女の
- こちら
- HEX
- 彼の
- 認定条件
- しかしながら
- HTTPS
- 人間が読める
- i
- アイデア
- アイデンティティ
- if
- 重要性
- 改善します
- 改善されました
- 改善
- 改善
- in
- 含ま
- 示す
- 示します
- 産業を変えます
- 情報
- 情報に基づく
- 相互作用
- 相互運用可能な
- 導入
- 紹介します
- 概要
- IT
- リーディングシート
- join
- JPG
- JSON
- ただ
- キー
- 知っている
- 元帳
- 長さ
- レベル
- 生活
- LINK
- 少し
- 長い
- make
- 作成
- マルウェア
- 方法
- 一致
- 最大幅
- 最大化します
- 意味のある
- 手段
- メッセージ
- メッセージ
- MetaMask
- 行方不明
- 混合
- 他には?
- 名
- ネイティブ
- ニーズ
- ネットワーク
- 決して
- 新作
- nice
- いいえ
- 今
- of
- 頻繁に
- on
- ONE
- の
- 不透明な
- 操作
- 業務執行統括
- 最適化
- or
- その他
- でる
- が
- 自分の
- ペア
- 紙素材
- 参加者
- 許可
- 視点
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- 貧しいです
- 可能
- :
- 練習
- 正確に
- 原則
- プライベート
- 秘密鍵
- 問題
- プロセス
- 提案
- 保護
- 受験する
- 証明する
- 提供します
- 提供
- 公共
- 公開鍵
- 目的
- レート
- 読む
- リアル
- 実生活
- 現実の世界
- レジストリ
- 表し
- 要求
- の提出が必要です
- 結果として
- 安全な
- 同じ
- 詐欺
- 秘密
- 安全に
- セキュリティ
- 見て
- 役立つ
- セッションに
- シェイプ
- 彼女
- ショート
- すべき
- 表示する
- 符号
- 署名されました
- 著しく
- 署名
- から
- スマート
- スマート契約
- So
- 何か
- 特定の
- 仕様
- 指定の
- Spot
- 標準
- 明記
- 滞在
- 手順
- ストーリー
- 文字列
- 構造
- 構造化された
- 提出された
- そのような
- スーパー
- サポート
- サポート
- 支援する
- 取る
- テク
- 条件
- より
- それ
- アプリ環境に合わせて
- それら
- ボーマン
- 彼ら
- もの
- 物事
- 考える
- この
- それらの
- しかし?
- 時間
- 〜へ
- あまりに
- 取引
- 転送
- 転送
- 透明性
- トランスペアレント
- 2
- type
- わかる
- 残念ながら
- 単位
- 無限の
- us
- つかいます
- 中古
- ユーザー
- 操作方法
- 「DeckleBenchは非常に使いやすく最適なソリューションを簡単に見つけることができるため、稼働率が向上しコストも削減した。当社の旧システムは良かったが改善は期待していなかった。
- users
- 通常
- ux
- 値
- 確認する
- 、
- 財布
- 財布
- 欲しいです
- ました
- we
- Web3
- Web3エコシステム
- 歓迎
- WELL
- した
- この試験は
- 何ですか
- いつ
- which
- ホワイトリスト
- 誰
- 意志
- 無し
- 世界
- でしょう
- 書かれた
- 年
- 貴社
- あなたの
- ゼファーネット