ビットコインアドレスとは?作成方法や仕組みを徹底解説!

qrcode

ビットコインは2017年12月18日に過去最高値となる1万9511ドルを記録しました。

その後、2018年に入って価格が大きく下落し、調整色が強まる展開となっていますが、ビットコインの将来性を評価する声は多く、その人気はいまだ衰えていません。

ビットコインが人気の理由には、

ビットコイン人気の理由
・値動きが大きく多大の利益が狙えること
・安い手数料で世界中に送金できること
などが挙げられますが、このビットコインの送金に重要な役割を果たしているのがビットコインアドレスです。

ビットコインアドレスの仕組みは複雑なため、どのようにビットコインアドレスを作成すればよいかわからない人もいるでしょう。

そこで今回は、ビットコインアドレスの仕組みや作成方法について、初心者にもわかりやすいように徹底的に解説します。

ビットコインアドレスとは

ビットコインアドレスとは、ビットコインのありかを示す識別番号のことで、いわば銀行の口座番号のようなものです。

お金を送金したり、自分の口座に振り込んでもらう時に口座番号を指定するのと同じように、ビットコインを送金したり受け取ったりする際にはビットコインアドレスが必要になります。

ビットコインアドレスは、「1DtCfpuBRTvvLjvhSA6kBYjHTQefqFz9pW」のように、27~34文字の英数字から構成されています。

一見ランダムな文字列の羅列に見えますが、Base58と呼ばれるデータを58文字で表現するフォーマット形式になっています。

Webの世界では、電子メールなどに使われるBase64というフォーマットが主流です。

Base64は、64文字で表現するフォーマットですが、Base58は小文字のエル(L)や数字の1のように間違えやすい文字は除外されており、読み間違いなどによるミスがないように工夫されています。

またビットコインアドレスには、最初の文字が数字の「1」から始まる標準のビットコインアドレスと、「3」から始まるマルチシグアドレスがあります。

マルチシグとは、「マルチシグネチャー」の略称で、ビットコインを送付する際に複数の秘密鍵で署名するセキュリティ技術のことです。

マルチシグという言葉を聞くと、「コインチェック事件」を思い出す人も多いでしょう。

2018年1月26日、仮想通貨取引所のコインチェックからハッキングによって約580億円相当の仮想通貨「XEM」が盗まれました。

これは、インターネットで接続された「ホットウォレット」と呼ばれる状態で管理し、マルチシグに対応をしていなかったことが原因です。

マルチシグは、通常のシングルシグに比べてセキュリティが高いため、コインチェック事件以降、マルチシグを採用する取引所やウォレットが増えています。

ポイント
・ビットコインアドレスは銀行の口座番号のようなもの

ビットコインアドレスの仕組み

ビットコインには、公開鍵暗号方式というセキュリティ技術が使われています。

公開鍵暗号方式とは、データの暗号化する時と復元する時にそれぞれ別の鍵を使用して、第三者に暗号を破られないようにする技術です。

公開鍵暗号方式では、まずデータ受取者が

・「暗号化に使用する鍵」
・「復元に使用する鍵」

の2つを用意して、「暗号化に使用する鍵」だけを公開します。(ネットワーク上に公開されるため「公開鍵」と呼ばれます)

データ送信者は、その公開鍵を暗号化してデータ受信者に送信します。

データ受信者は、「復元に使用する鍵」を使用してデータを復元します。(復元に使用する鍵はデータ受信者しか知らないため「秘密鍵」と呼ばれます)

ビットコインアドレスに紐づく取引履歴はブロックチェーン上で公開されており、誰でも見ることができます。

しかし、ビットコインを引き出すためには秘密鍵が必要となり、秘密鍵を持っていない第三者がビットコインを引き出すことはできません。

例えるならば、誰でも見ることができるビットコインアドレスが銀行の口座番号、ビットコインを受け取る人しか知らない秘密鍵が暗証番号のようなものです。

秘密鍵を他人に知られるとビットコインが盗まれてしまう恐れがあり、秘密鍵を紛失してしまうとビットコインアドレスからビットコインを取り出せなくなります。

秘密鍵は、誰にも知られないように大切に保管しておかなければなりません。

ポイント
・ビットコインアドレスには公開鍵暗号方式というセキュリティ技術が使われている
・ビットコインアドレスは銀行の口座番号、秘密鍵は暗証番号のようなもの
・秘密鍵を他人に知られるとビットコインが盗まれてしまう恐れがある

ビットコインアドレスの作成方法

ビットコインアドレスは、「秘密鍵を作成する」→「秘密鍵から公開鍵を作成する」→「公開鍵からビットコインアドレスを作成する」という手順で作成されます。

秘密鍵を作成する

秘密鍵は「1~2の256乗」の整数からランダムに選ばれる数値で、OSの乱数生成器を用いて生成されます。

秘密鍵は、誰にも知られてはいけない大切なものですので、簡単にハッキングされないためにも不規則かつ大きな桁数でなければなりません。

秘密鍵から公開鍵を作成する

ECDSA(楕円曲線DSA)というデジタル署名アルゴリズムを使って、秘密鍵から公開鍵を作成します。

公開鍵は一方向関数に変換されて作成されるため、公開鍵からは秘密鍵を推測できません。

公開鍵からビットコインアドレスを作成する

公開鍵をSHA256とRIPEMD-160というアルゴリズムを使ってさらに暗号化し、160ビットの数字を作成します。

160ビットの数字のままだと長すぎて間違えやすいため、Base58というフォーマット形式(間違えやすい文字を除外したフォーマット形式)にエンコードしたものがビットコインアドレスとなります。

簡単にビットコインアドレスを作成する方法

上記の作成手順に従って自分でビットコインアドレスを作成しようとすると、専門的な知識が必要で手間もかかってしまいます。

そこで、「ビットコインを取り扱っている取引所」「ウォレット」を利用すれば簡単にビットコインアドレスを作成することができます。

例として、世界中で多くの人に利用されている「BLOCKCHAINウォレット(BLOCKCHAIN info)」でビットコインアドレスを作成する方法を紹介します。

BLOCKCHAINウォレット(BLOCKCHAIN infoは、オンライン上で利用するウェブウォレットの最大手です。

世界で約2200万人に利用されており、日本語に対応していることから日本でも多く利用されています。

まず、BLOCKCHAINウォレットにログインします。ログインすると、「DASHBOARD」というトップ画面に切り替わりますので、画面上部にある「受信」ボタンをクリックします。

「受信」ボタンをクリックすると、「Request Bitcoin」というポップアップ画面が表示され、「Copy&Share Address」の欄に作成されたビットコインアドレスが表示されます。

このビットコインアドレスをコピーし、送信元の取引所もしくはウォレットの送信画面に張り付ければ、ビットコインを受け取ることができます。

ビットコインアドレスは文字数が多く、手入力だと間違いやすいため、必ず「コピー&ペースト」かQRコードで表示させて読み取るようにしましょう。

ポイント
・秘密鍵から公開鍵が作成され、公開鍵からビットコインアドレスが作成される
・「取引所」や「ウォレット」で簡単にビットコインアドレスが作成できる
・ビットコインアドレスの入力は必ず「コピー&ペースト」か「QRコード表示」で

もし間違って送信してしまったら

もし間違って実在しないビットコインアドレスに送信してしまっても、ビットコインアドレスにはチェックサムという間違いを検知する仕組みが含まれています。

このチェックサムにより、無効なアドレスへの送信しても「送金不可」となり、送金は実行されません。

しかし、実在するアドレスに誤って送信してしまった場合、送金は実行されてビットコインは戻ってきません。

送金の際は、ビットコインアドレスを手入力ではなくコピー&ペーストで入力し、間違いがないか送金前に十分確認しましょう。

ハッカーに狙われるリスク

取引所を利用すれば、簡単にビットコインアドレスを作成できます。

しかし、取引所にビットコインを預けているということは、秘密鍵の管理も取引所に任せていることになります。(ビットコイン所有者は、取引所から秘密鍵の情報を教えてもらえません)

もし取引所がハッキングされたら、ビットコインが盗まれるリスクがあることを忘れてはいけません。

また、オンラインウォレットを利用する場合も同様で、インターネットに接続されていれば常にハッキングのリスクはあります。

取引所に多額のビットコインを預けたままにせず、

・複数の取引所に少額で分散して保管する
・オンラインウォレットからコールドウォレット(インターネットに接続されていないウォレット)に移す

などの対策が必要です。

まとめ

ビットコインアドレスは銀行口座のようなもので、ビットコインを送金したり受け取ったりする際に必要になります。

ビットコインアドレスには、第三者に暗号を破られないようにする公開鍵暗号方式というセキュリティ技術が採用され、秘密鍵がなければビットコインを引き出すことはできません。

ビットコインアドレスは、秘密鍵」→「公開鍵」→「ビットコインアドレス」手順で作成されます。

ビットコインアドレスは、一方向関数に変換されて作成されるため、ビットコインアドレスや公開鍵からは秘密鍵を推測できません。

取引所やオンラインウォレットを利用すれば簡単にビットコインアドレスを作成できますが、ハッキングされるリスクはゼロではありません。

複数の取引所に少額で分散して保管したり、オンラインウォレットからコールドウォレットに移すなどの対策が必要です。