Stacks-wallet-web: 任意のメッセージに署名するメソッドを公開します

作成日 2021年03月09日  ·  12コメント  ·  ソース: blockstack/stacks-wallet-web

アプリが任意のメッセージに署名する必要がある場合があります。 この機能はEthのウォレットに存在しますが、現在、スタックアプリでこれを行うための関数を公開していません。

https://eips.ethereum.org/EIPS/eip-712と同等のものを作成することをお勧めします

不和から:

さて、Ethの世界では、DeFiやDeXなど、さまざまなメッセージの署名が正しく行われています。

注文ハッシュに署名するのはいつものことでしたが、それはユーザーにとってあまり読みにくいものです。 (MetaMaskポップアップには、16進文字列のみが表示され、実際に何に署名しているのかわかりません。)

EIP712は、その順序ハッシュが何で構成されているかを示すことを可能にする構造を(jsonで)定義しました

署名しているハッシュの生成に使用された実際のフィールドが表示されます

image

enhancement

最も参考になるコメント

昨日の@MarvinJanssen@GinaAbramsとの会話中に、2つのことが連続して発生しない限り、.BTCアプリは任意のメッセージ署名を緊急に必要としないことが決定されました。

  1. 今後数週間以内に、Atlasの修正をメインネットに展開することはできません。
  2. 彼は、カスタムのClarityスマートコントラクトと、Stacks Wallet拡張機能を使用したトランザクションの署名とブロードキャストを使用して、回避策として必要なゾーンファイルレポートメカニズムを実装できません。

任意のメッセージ署名ルートは、基本的に上記のルートへのフォールバックであり、リストされている順序で実行することをお勧めします。 これには、ゾーンファイルデータを含む署名付きメッセージを集中型サーバーに送信することが含まれます。これにより、エンドユーザーはトランザクションに署名するコストを節約できますが、集中型パーティの望ましくない関与も発生します。

@agraebe @diwakergupta来週、splatにチェックインして、Atlasの展開計画がどのように進んでいるかを確認します。これにより、 @ MarvinJanssenに、タイミングとそれが彼のオプションに与える影響に関する最新情報を提供できます。

彼は、修正をメインネットで公開して、いずれかの回避策の作業を節約できるかどうかを確認するために、1〜2週間待って喜んでいます。

全てのコメント12件

これを投稿してくれてありがとう! そのような機能は非常に重要だと思います。

これを投稿してくれてありがとう! そのような機能は非常に重要だと思います。

私は同意します。チームの多くの人も同意すると思います👍この問題について話し合うときに、この問題を更新するように努めます。

@MarvinJanssen優先順位を比較検討するために、これを使用して短期的に構築したいユースケースを示していますか?

@markmhxは短期的に話していますが、私がそれを必要とする理由は本当に1つだけです。

ユーザーアプリのバケットURL(ゾーンファイル用)を追跡するサーバー側コンポーネントを作成しています。 このAPIを保護するには、ユーザーはConnectを使用してバケットのURLに署名する必要があります。 次に、サーバーはBNSコントラクトを介してユーザーの報告されたBNS名を解決し、対応するプリンシパルを使用して署名を検証します。 基本的に、特定のメッセージが実際にBNSで名前を所有しているプリンシパルから送信されたことを確認する必要があります。 別の解決策がある場合は、私に知らせてください。 私のバックアップ計画は、単純なクラリティ契約を導入し、ユーザーに契約コールを介して証明を提出させることでしたが、それは回避策の回避策の回避策になります...

Ethで署名が使用されているのを見た他の2つの主なユースケースがあります:

  • あなたが住所を所有していることを証明すると、サイトはあなただけがあなたの住所について見ることができる分析を明らかにします(これは素晴らしいです)
  • 投票(たとえば、ガス料金の支払いが必要なユニスワップとは異なり、synthetixは投票ごとに署名のみを必要とし、費用はかかりません。これは、ガバナンス投票の権利について聞こえます)

@psqうん、長期的には、DeFiとDeX、およびユーザー署名を必要とするサーバー側のマッチングを行うプラットフォームに必要です。 (イーサリアムの0xプロトコルとワイバーンのように。)

追加のコンテキストをありがとう🙏私はジャスパーに割り当てて、彼がデザインできるようにします。

これはアイスボックス@markmhxにあると思いますが、それは後のスプリントで検討されることを意味しますか? @MarvinJanssenは更新を待っています🙂

この問題をかんばんバックログに戻しました

2週間のスプリントではなく、上から下へのバックログに反映されている優先順位の段階的な配信に取り組んでいることに注意してください。

私は完全に署名された型付きデータ構造のシステムの評価に取り組んでいますが、それは私たちが最初に引き受けるべきではないと思うはるかに大きなエンジニアリングタスクです。 構造化データの主な利点は、その署名のデータに関連付けられたロジックを使用した、無料のオンチェーントランザクションです。 ただし、2つのことがあります。

  • スポンサー付きの取引により、契約の呼び出しは無料になります。 ここでの唯一の欠点は、バッチ署名を実行できないことです。
  • ETH仕様は、このデータ形式をRLPエンコードしてEVMで使用する方法と非常に密接に関連しています。 それがClarityでどのように機能するかを判断するために多くの作業を行う必要があります。それから仕様を作成し、それをウォレットに追加できます。

文字列は、現時点でスタックの最も明白なユースケースです。 これにより、ユーザーがSTXアドレスを所有していることを証明できるオフチェーンアクセスをユーザーに提供するという非常に一般的な使用例が可能になります。 たとえば、NFTを所有している場合に特定の機能を提供するWebアプリ。

ユースケースについてより具体的に:

  • Webアプリにサインインして、STXアドレスを所有していることを証明します

    • 2.0より前とは異なるキーで署名するため、現時点ではauthによって技術的に解決されていませんが、変更することはできます/変更する必要があります

  • STXアドレスを所有していることを証明するオフチェーンの特定のメッセージを共有する

    • この問題の「簡単な」バージョンである文字列に署名します

  • 手数料なしのトークン承認

    • 投稿条件で解決

  • 手数料なしのDAO投票

    • スポンサー付きトランザクションによって解決

  • バッチ処理された無料のDAO投票、またはその他の複雑なバッチ処理されたオンチェーンの無料のもの

    • ERC712と同等のものが必要

昨日の@MarvinJanssen@GinaAbramsとの会話中に、2つのことが連続して発生しない限り、.BTCアプリは任意のメッセージ署名を緊急に必要としないことが決定されました。

  1. 今後数週間以内に、Atlasの修正をメインネットに展開することはできません。
  2. 彼は、カスタムのClarityスマートコントラクトと、Stacks Wallet拡張機能を使用したトランザクションの署名とブロードキャストを使用して、回避策として必要なゾーンファイルレポートメカニズムを実装できません。

任意のメッセージ署名ルートは、基本的に上記のルートへのフォールバックであり、リストされている順序で実行することをお勧めします。 これには、ゾーンファイルデータを含む署名付きメッセージを集中型サーバーに送信することが含まれます。これにより、エンドユーザーはトランザクションに署名するコストを節約できますが、集中型パーティの望ましくない関与も発生します。

@agraebe @diwakergupta来週、splatにチェックインして、Atlasの展開計画がどのように進んでいるかを確認します。これにより、 @ MarvinJanssenに、タイミングとそれが彼のオプションに与える影響に関する最新情報を提供できます。

彼は、修正をメインネットで公開して、いずれかの回避策の作業を節約できるかどうかを確認するために、1〜2週間待って喜んでいます。

これは非常に貴重なものです。IDからの署名を使用すると、名前の所有権と多くのことが証明されます。特に、オフチェーンオペレーションに関しては、これが100%になります。

このページは役に立ちましたか?
0 / 5 - 0 評価