見出し画像

PubkeySollet の使い方

PubkeySollet は公開鍵のみを入力し、その公開鍵のウォレットとしてアプリケーションに接続できるウォレットです。

公開鍵のみを入力するため、署名はできません。「俺俺ウォレット」や「読み取り専用ウォレット」という名前でも呼べるものです。

クリプトで資産を毀損する事故は誤って署名してしまうことに起因することが多いと思います。

注意していても、ふいに表示されたものをクリックしてしまったとか、別のものだと勘違いしていたとか。

私がインフラエンジニアとして勤務していたとき、一番肝を冷やしたミスは、誤ってとある機能を無効化してしまったときです。

リモートデスクトップごしに右クリックしてなにも表示されなかったので、ふと左クリックしてしまいました。そしてその瞬間遅延していたポップアップメニューが表示され、クリックしてはならないものがクリックされ…

PubkeySollet は絶対に署名できないウォレットなので、この間違いは起こりません。

このポストでは用途をいくつかご紹介します。

インストール

インストールは Chrome web store でインストールボタンを押すだけです。

拡張機能が表示されるツールバーでピン止めすると「PS」というアイコンが表示されます。

Solflare や Phantom とならんで表示されるとこんな感じになります。

「PS」をクリックすると、よく使う公開鍵を保存しておくことができます。ニックネームや番号の入力により公開鍵を指定でき、便利です。

この機能は「よく使う公開鍵」を保存する補助機能です。

接続時には直接 Base58 の公開鍵を打ち込むこともできます。ユーザサポートとかをしている場合は使うのは一度きりということも多々あります。

用途1: 自分のポートフォリオをチェックする

自分がアセットを保持していて、状態をチェックしたいウォレットのアドレスを入力して接続します。

PubkeySollet を選択して接続すると、アドレスを尋ねるダイアログが表示されますので、公開鍵を入力します。

接続すると入力した公開鍵のウォレットとして認識されるため、アセットの状態を確認することができます。

私の場合、アセットを保持している Phantom のパスワードは強度が高いものにしているので、アクセスするのはかなり面倒です。Phantom でアクセスするのは本当にアセットを操作するときに限定しています。

Phantom を操作しているときは「本番」という意識にもなれるのは良い副作用だと思っています。

用途2: エアドロップの確認サイト接続

エアドロップの対象なのかどうかを確認する際に、ウォレットの接続を求められることがあります。

接続だけでトランザクションを承認しなければ、「基本的に」は安全なはずですが、署名が「絶対に」できない PubkeySollet は、安心感が違います。

しみじみと幸せを感じられるかもしれません?

用途3: トランザクションチェック

有識者・開発者向けにはなりますが、用心しなければならないサイトでトランザクションを表示させることができます。

Claim ボタンを押すと Developer tools のコンソールにトランザクションの内容が表示されます。

1個目の命令は Associated Token Program が呼ばれているので、このトークンの ATA を作る以上のことは起きないと考えられます。

2個目の命令は独自のプログラムを呼んでいるようなので注意が必要です。Token Program も渡しているので、他に渡されているキーにトークンアカウントが "w" 権限付きであれば、転送される危険性があります。

渡しているトークンアカウントが問題ないものであればセーフです。

署名しているウォレットの SOL を転送される危険性は、System Program を渡していないので、ひとまず無いと思います。(普通に 1111…1111 渡してますねorz 最悪は SOL を全て転送される可能性もあると思います。)

このあたりは最終的には Phantom などのシミュレーションによるチェックの補強材料となります。

明らかなスキャムサイトは、ウォレットを接続した瞬間だったり、Claim ボタンのようなものを押した時に大量の Token Program の転送命令や Approve を含んだトランザクションの承認を依頼してきます。

用途4: デバッグ / リバースエンジニアリング

用途3 のトランザクションがコンソールに表示される機能は、UI が意図したとおりのトランザクションを生成しているかの確認に使うことができます。

プログラムのインタフェースを公開していないプロジェクトのプログラムを CPI で利用したい場合には、調査用のトランザクションを実際に実行することなく、容易に命令や渡されているアカウントを調査可能です。

用途5: ユーザサポート

用途1 の発展形ですが、公開鍵は自分のものである必要はありません。

アプリケーションを利用しているユーザから問い合わせがあった際に、公開鍵さえ教えてもらえれば、再現検証をすることができます。

実際に表示したりトランザクションを作って再現さえしてしまえば、問題はほぼ解決に向かいます。

まとめ

  • PubkeySollet は任意の公開鍵を入力してアプリケーションに接続できる

  • 署名できない安心が得られる

  • 署名を求められたトランザクションをチェックできる

  • デバッグ・リバースエンジニアリング・ユーザサポートに活用できる

オープンソースです

公開鍵のみを扱うため、それほど気にならないかもしれませんが、コードはオープンソースです。

いくつかオープンソースのウォレットがありますが、PubkeySollet は機能が圧倒的に少ない(笑)ので、ウォレットがなにをしているのか理解するのにも役立つと思います。

この記事が気に入ったらサポートをしてみませんか?