確認と署名
アプリは、投票や送金、投稿といった Hive のトランザクションへの署名を求めることがあります。その際 Hivesigner を開くリンクが送られてきます。Hivesigner は、そのリクエストが何をするのか、どのキーが必要か、そのあとどこへ送られるのかをわかりやすい言葉で示します。あなたが承認するまで何も署名されません。アプリは、ブロックチェーンには届かないメッセージへの署名を求めることもあります。
「トランザクションの確認」画面
署名リンクは「トランザクションの確認」という見出しの画面を開きます。リクエストに含まれる操作ごとに 1 枚のカードが表示されます。操作とは、1 回の投票や 1 回の送金のような Hive 上の 1 つの行為です。
リクエストに複数の操作が含まれる場合、カードには番号が付き、その上の行に「このリクエストには 3 件の操作が含まれています。承認する前にすべての内容を確認してください。」と表示されます。
概要
各カードは、その操作が何をするのかをリクエストの値とともに示す 1 文から始まります。たとえば次のようになります。
| 操作 | カードの表示 |
|---|---|
| 送金 | 1.000 HIVE を @bob に送金(その下にメモが「メモ:...」の形で表示) |
| 投票 | @alice/my-post にアップボート(その下に投票の重み、たとえば 100% が表示) |
| 投稿や返信 | 投稿「私のタイトル」を公開、または @alice/my-post に返信 |
| Hive アプリが定義する操作 | カスタムアクション(follow) |
| アカウントの支配者を変える操作 | アカウントの権限を更新 |
その他の操作は「パワーアップ」「ハイブパワーの委任」のように名前が表示されます。
文の隣には、その操作に必要なキーが大文字のラベルで示されます。投稿、アクティブ、オーナーのいずれかです。
詳細
文の下に、カードはその操作が持つ値を並べます。
- 操作がどのアカウントとして実行されるか
- 投稿やコメントの場合:パーマリンク(投稿のアドレス)、コミュニティまたはタグ、本文、メタデータ
- カスタムアクションの場合:データの値をすべて 1 行に 1 つずつ。切れて見えなくならないようにするためです
- 権限変更の場合:設定されるしきい値、キー、アカウント
権限の変更があなたのキーを外す場合は、「キー:【なし】(あなたのキーは削除されます)」と示されます。しきい値がない場合は「しきい値【未設定】(署名時は 0 として扱われます)」と表示されます。
概要と詳細では、文字を隠したり向きを変えたりできる文字は � として表示されます。読んでいるものが別のものになりすますことはできません。
操作の元データを表示を選ぶと、実際に署名される操作がそのまま開きます。
金額がハイブパワーで示されている場合、Hivesigner は現在のレートで換算します。「現在のハイブパワーのレートを読み込み中…」と表示し、そのレートを得るまで承認できません。
リクエストによっては、別の場所で用意されたトランザクションを持ち込むことがあります。たとえば複数人が管理するアカウントの場合です。そのとき画面には「このリクエストには独自のトランザクションヘッダーが指定されています。有効期限:日付」と表示されます。すでに他の人が署名していれば「すでに 2 件の署名が付いています。」が加わります。
どのキーが必要か
カードの下に、リクエスト全体で必要なキーを示す行があります。「投稿キーで署名されます」「アクティブキーで署名されます」「オーナーキーで署名されます」のいずれかです。
Hivesigner はまさにそのキーで署名します。アクティブキーで投票に署名することも、オーナーキーで送金に署名することもできません。これは 2025 年のハードフォーク以降の Hive のルールです。どのキーを追加するかをご覧ください。
1 つのリクエストに含まれる操作は、すべて同じキーを必要としなければなりません。そうでない場合、その行は「このトランザクションには複数の権限が必要なため、1 つのキーでは署名できません。」となります。承認するボタンはありません。アプリに戻ってください。
オーナーキーを求めるリクエストはまれです。あなたのアカウントを支配できる人や復旧できる人を変えるものです。二度読んでください。承認する前に読むをご覧ください。
キーがない場合
選択中のアカウントがそのキーをこのデバイスに持っていない場合、画面がそれを知らせます。たとえば「アクティブキーが必要ですが、このデバイスには @ユーザー名 のアクティブキーがありません。」のように。
- メッセージの下の別のアカウントを追加を選びます。アカウントを追加フォームが開きます。
- 同じユーザー名と、足りないキーを入力します。アカウントにパスコードがあれば、それも入力します。
- アカウントを追加を選びます。Hivesigner はキーを追加し、リクエストに戻します。
アカウントがロックされている場合、画面はボタンの上にパスコード欄を表示します。1 回のクリックでロックを解除し、そのまま承認します。実際にキーが足りなかった場合は、ロック解除のあとに画面が知らせます。
このブラウザーにまだアカウントがない場合、ボタンは続行になり、アカウントを追加フォームを開きます。
承認する、または署名する
ボタンの上のアカウントの行には「署名するアカウント」と、署名するアカウントが示されます。アカウントを切り替えで別のアカウントを選べます。アカウントを切り替えるをご覧ください。
- 承認は、あなたのブラウザーでトランザクションに署名し、Hive ネットワークに送ります。結果には「トランザクションをブロードキャストしました」と、そのトランザクションをブロックエクスプローラーで開くトランザクション ID が表示されます。
- リクエストが署名だけを求めている場合は、代わりに署名が現れます。Hivesigner はトランザクションに署名し、ネットワークには送りません。署名をアプリに渡すか、リクエストがサイトを指定していない場合は画面に表示します。
ネットワークがトランザクションを拒否すると、「トランザクションはブロードキャストされませんでした」と、ネットワークが返した「エラーメッセージ」が表示されます。もう一度試せます。
戻り先のサイト
リクエストが戻り先のサイトを指定している場合、上部の案内に「HOST にリダイレクトされます。」と表示されます。承認すると Hivesigner はそこへ送ります。HOST があなたの来たサイトであることを確認してください。
リクエストがサイトを指定していない場合、Hivesigner は結果の画面にとどまります。
別のアカウント向けのリクエスト
リクエストは、選択中のアカウントとは別のアカウント向けに作られていることがあります。Hivesigner はそれを 2 通りの形で示します。
別のアカウントによる署名が必要なリクエスト。 画面には「このリクエストには @アカウント による署名が必要です。そのアカウントに切り替えてください。」と表示されます。アカウントの行は「選択中のアカウント」となり、その下にアカウント一覧が開きます。そのアカウントを選ぶか、別のアカウントを追加で追加してください。Hivesigner が他のアカウントでこのリクエストに署名することはありません。
別のアカウントとして実行される操作。 複数人が管理するアカウントで起こります。上部の警告に「この操作は @ユーザー名 としてではなく、@アカウント として実行されます。そのアカウントもあなたが管理している場合にのみ続行してください。」と表示されます。各カードの詳細に、どのアカウントとして実行されるかが示されます。
Hivesigner が読み取れないリクエスト
Hivesigner は、完全に読み取って示せないリクエストにはけっして署名しません。知らない操作、操作が 1 つもないリクエスト、操作に合わない値(数値でない数値、形式の壊れた金額)、表示できない余分なデータなどが含まれます。
その場合、画面には「問題が発生しました。指定されたデータが無効です。」と表示されます。アプリに戻ってください。Hivesigner チームに伝えるにはこの問題を報告を選びます。
メッセージ署名のリクエスト
トランザクションではなくメッセージへの署名を求めるアプリもあります。たとえばアカウントの所有を証明するためです。メッセージはテキストであり、署名してもブロックチェーン上では何も変わりません。
画面には次が表示されます。
- 「アプリ がメッセージへの署名を求めています。」のような見出し。アプリが Hive アカウントを持つ場合、その下の行が「Hive アカウント @アプリのアカウント」とアカウント名を示します。
- 「移動先:HOST」:署名を受け取るサイトです。同じ行がボタンの横にもう一度出ます。
- メッセージ:署名されるとおりのテキスト全文。文字を隠したり向きを変えたりできる文字は、
\u{200B}のように強調されたコードで表示されます。 - 使われるキー:「投稿キーで署名されます」または「アクティブキーで署名されます」。Hivesigner がオーナーキーでメッセージに署名することはありません。
- 警告:「あなたの署名は、それを見るすべての人に @ユーザー名 がまさにこのテキストに署名したことを証明します。内容を理解したメッセージにだけ署名してください。」
- アカウントの行「署名するアカウント」とアカウントを切り替え。
署名するには署名を選びます。Hivesigner は、署名、あなたのユーザー名、キーの種類、署名を作った公開鍵とともに、あなたをサイトに戻します。公開鍵は鍵ペアのうち共有できる側で、それ自体では何にも署名できません。
キャンセルを選ぶとアカウントページに移動します。サイトは何も受け取りません。
アカウントがそのキーをこのデバイスに持っていない場合、画面がそれを知らせます。たとえば「投稿キーが必要ですが、このデバイスには @ユーザー名 の投稿キーがありません。」のように。アカウントを切り替え、続いて別のアカウントを追加を選んでください。同じアカウントに足りないキーを追加すると、Hivesigner がリクエストに戻します。
一部のメッセージが拒否される理由
Hivesigner のログインとして使えてしまうメッセージ。 テキストによっては、Hivesigner のログインとまったく同じ形をしています。それに署名すると、サイトにあなたのアカウントへのアクセスを与えてしまいます。Hivesigner はそうしたテキストにけっして署名せず、「このメッセージは Hivesigner のトークンです。署名するとサイトにあなたのアカウントへのアクセスを与えてしまうため、署名できません。」と示します。
Hivesigner が使えないリクエスト。 Hivesigner は、メッセージのないリクエストや戻り先アドレスのないリクエストを拒否します。投稿キーとアクティブキー以外を求めるリクエスト、Hive アカウントでないものをアプリとして指すリクエスト、戻り先アドレスが安全でないかアプリに登録されていないリクエストも拒否します。そのとき「この署名リクエストは使用できません。メッセージ、投稿キーまたはアクティブキー、そしてアプリに登録された安全なリダイレクト URL が必要です。サイトに戻ってもう一度お試しください。」と表示します。
Hive ネットワークからアプリの情報を読み取れない場合は「Hive ネットワークからアカウント情報を読み込めませんでした。」と表示し、読み取れるようになるまで何も署名しません。再試行を選んでください。
自分でメッセージに署名する
アカウントを自分が管理していることを示すために、自分でメッセージに署名できます。
- hivesigner.com/signmessage を開きます。フッターからはメッセージに署名としてリンクしています。
- 選択中のアカウントがロックされている場合は、パスコードを入力してロック解除を選びます。アカウントが選ばれていない場合は、ページからアカウント一覧にリンクしています。
- メッセージにテキストを入力します。Hivesigner は前後の空白と改行を取り除きます。
- 署名に使うキーでキーを選びます。このデバイスにある選択中アカウントのキーが、強い順に並びます。最初は最も強いキーが選ばれています。別のキーが必要でなければ投稿に変えてください。
- メッセージに署名を選びます。
署名の概要には署名者、使用した権限、検証トークン、検証リンクが表示されます。検証トークンは、メッセージ、ユーザー名、署名を 1 つのテキストにまとめたものです。メッセージを確認すべき相手にリンクかトークンを渡してください。
署名からキーが漏れることはありません。ただし、どのキーで署名したかはわかります。
メッセージを検証する
- hivesigner.com/verifymessage を開きます。フッターからはメッセージを検証としてリンクしています。
- 検証トークンにトークンを貼り付け、署名を検証を選びます。
検証リンクはこのページを開き、メッセージを自動で確認します。
結果には「ユーザー名 の署名として有効です」または「アカウントのキーで署名を検証できませんでした。」と表示されます。その下に署名者、復元された公開鍵、一致した権限(署名したキーの種類)、メッセージが並びます。
Hivesigner は、そのアカウントが Hive ネットワーク上で現在持っているキーと照合して署名を確認します。その後アカウントが置き換えたキーで署名されたメッセージは、もう検証できません。