本文へスキップ
buybitcoinsmart

用語集 / 開発者向けリファレンス

ラベル

ラベルとは?
Bitcoin URIにおけるラベルは支払いを受ける個人または事業者の名前を示し、ウォレットにおいてはアドレスやトランザクションに付ける自分専用のメモのことです。

BIP-21で規定されています。

ラベルは、ビットコインの支払いのうち純粋に人間のためだけに存在する唯一の部分です。ラベルに入力した内容がブロックチェーンに届くことはなく、シードフレーズから復元されることもありません。Bitcoin Coreは2018年10月にバージョン0.17.0で従来のアカウントシステムをラベルに置き換え、ラベルはウォレットファイルだけに存在します。ラベルを失うと、確定申告の際に自身の取引履歴を失うことになります。

仕組み

「ラベル」という言葉は2つの異なるものを指しており、これを区別すると多くの混乱を避けられます。

1つ目はBIP21で定義されたlabelパラメーターです。支払いURIの中でパーセントエンコードされたUTF-8として格納されるため、label=Coffee%20Shopは確認画面にCoffee Shopと表示されます。これはURIを作成した者が提供する参考情報です。署名に含まれることも、ウォレットが検証することもなく、フィッシングリンクを作る攻撃者は正直な加盟店と同じ自由さでこれを選べます。

2つ目は自分で書き込むメモです。Bitcoin Coreはこれをsetlabel、getaddressesbylabel、listlabelsを通じて公開しています。これはアカウントが非推奨となった0.17.0に登場したAPIで、0.18.0にアカウント関連の呼び出しが削除された際にアカウントを完全に置き換えました。Sparrow、Electrum、そしてほとんどのモバイルウォレットは同等のフィールドを備えています。

ウォレット側のラベルは鍵の隣にあるメタデータであり、鍵の中にあるものではありません。シードフレーズを新しいソフトウェアに復元すると、すべてのコインは出所の記憶を一切持たずに戻ってきます。BIP329はこの問題のうち移植性の部分を解決するために存在します。1行につき1レコードを持つJSON Lines形式のエクスポートを定義し、各レコードはtx、addr、pubkey、input、output、xpubのいずれかの種類、参照、ラベル本文を持ちます。複数のデスクトップウォレットとモバイルウォレットがこの形式を読み書きできるため、ソフトウェアを変更する際にラベルを移行できます。

どこで目にするか

ラベルは、支払いの見た目を整えることとは無関係な3つの場面で、実質的に重要な役割を果たします。

1つ目はコインコントロールです。どの未使用のアウトプットを使い、どれを分けておくかを決めるには、それらを区別できることが前提となり、このコインは確認済みの取引所からの出金で得たもので、あちらは個人間取引で受け取ったものだという記録になるのがラベルです。1つのトランザクションでそれらを統合すれば、2つの履歴を永久に結びつけてしまいます。マージ回避を記憶だけで行う人はいません。

2つ目は税務記録です。自己管理の送金には価格が伴わないため、あるコインの取得原価は自分自身のメモに存在します。入金にラベルが付き、法定通貨建ての金額が書き込まれたウォレットは、すでに手元にある表計算シートのようなものです。ラベルのないUTXOでいっぱいのウォレットは、毎年半日がかりの再構築作業になります。

3つ目はフィッシングで、これは逆方向に働きます。URIのラベルは攻撃者が管理するテキストです。支払い画面に見慣れた企業名が表示されても、それは誰かがその名前を文字列に入力したというだけで、それ以上の意味はありません。

実践的な習慣として、取引の内容をまだ覚えている取引の時点でラベルを付け、バックアップを取るたびにウォレットのディスクリプターと一緒にラベルをエクスポートしてください。シードフレーズとディスクリプターとラベルファイルがあれば完全な復元になります。シードフレーズだけでは資金は復元できても、その経緯は失われます。

ラベルvs PPメモ

BIP70支払いプロトコルのメモは、署名されたメッセージの中を移動する加盟店のテキストだったため、ウォレットは少なくともそれを証明書の保有者と結びつけられました。BIP21のラベルは、それを保証するものがないまま平文で移動します。この違いが支払いプロトコルの論拠のすべてでしたが、それを救うことはありませんでした。BIP70は2020年6月にバージョン0.20.0でBitcoin Coreから削除され、署名のないラベルが、実際に誰もが使う形式として残りました。

混同しやすい用語

よくある質問

シードフレーズはラベルをバックアップしますか?

いいえ。シードフレーズで復元できるのは鍵とコインだけです。ラベルはウォレットファイルまたはアプリのデータベースに存在するため、別途エクスポートしていない限り、新規の復元では失われます。BIP329のラベル形式はそのために設計されています。

支払い画面に表示される名前を信頼できますか?

それだけでは信頼できません。BIP21 URIのラベルは、リンクを作成した者が選んだ平文であり、背後に署名はありません。そのためフィッシングページは好きな企業名を表示できます。代わりに送金先アドレスを確認してください。

次に読む

関連用語

開発者向けリファレンスのその他の用語

このページを英語で読む