ビットコインアドレスの仕組み。送金時に毎回変わっても大丈夫?

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

こんにちは。くりぷつです。

ビットコインのアドレスってなんであんなに複雑なんだろう。分かりにくくない?

と思いますよね。

それに、同じところに送るのに、前に使ったビットコインアドレスと違う・・・。大丈夫?

と思われるかもしれません。

少なくとも私は最初、すごく不安でした。

ビットコインのアドレスが複雑で、さらに、アドレス自体が変わることはおかしいことではありません。

むしろ、複雑であったり、アドレスが変わった方がベターなんですね。

この記事ではビットコインアドレスが生成される仕組みや、ビットコインアドレスが変わる理由などについてまとめています。

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

ビットコインアドレスとは、ビットコインを送ったり、受け取ったりするときに必要になるものです。

1や3などから始まる27文字以上、34文字以下の英数字で構成されています。

1Uop92*****************wBQ59

みたいな文字列ですね(*は英数字)

このアドレスを指定してビットコインを送受信することができますし、QRコードに変換して、QRコードを読み取ることでビットコインを送ったりできます。

ビットコインアドレスは特定の文字からはじまる

ビットコインアドレスを何度か見ていると、法則があることに気づくと思います。

だいたい、「1」か「3」で始まるアドレスが多いんですね。あとは「bc1」でしょうか。

これには理由があります。

1から始まるビットコインアドレス
ビットコインを送付する時に、1つの秘密鍵の署名だけで送付できるアドレス
3から始まるビットコインアドレス
ビットコインを送付する時に、複数の秘密鍵による署名が必要になるアドレス

ビットコインを送付する際は、基本的に秘密鍵で施錠して送ることになります。

MEMO
秘密鍵について、詳しくは以下の記事でまとめています。
秘密鍵・公開鍵とは?ビットコインが不正送金されない仕組み 秘密鍵・公開鍵とは?ビットコインが不正送金されない理由

使う秘密鍵が1つなのか、複数なのか?という違いですね。

一つの秘密鍵だけで鍵をかける仕組みをシングルシグ、複数の秘密鍵を使う仕組みをマルチシグと言ったりします。

当然ながら、複数で鍵をして送る仕組みの方が安全性は高まります。

秘密鍵は盗まれないようにするのが大前提ですが、仮に秘密鍵が盗まれてしまった場合、シングルシグの場合にはそのままビットコインが盗まれてしまいます。

しかし、マルチシグの場合はほかの秘密鍵が盗まれていなければビットコインは盗まれずに済みます。

参考
bc1から始まるビットコインアドレスは、Segwit(セグウィット)に対応しているウォレットで生成されたビットコインアドレスです

ビットコインアドレスが生成される仕組み

ビットコインアドレスは、公開鍵から生成されます。

そして、公開鍵は秘密鍵から生成されます。

じゃあ秘密鍵はどうやって作られるのか?と言えば、2の256乗というとてつもない数の中から、乱数生成器を用いて無作為に選ばれる整数です。

MEMO
78桁らしいです。宇宙で観測可能な原子の数は80桁くらいらしいので、ものすごい数ですね。ー【Bitcoin】3つのビットコインアドレスとその作り方について

つまり、

(1)乱数生成器で秘密鍵作成
(2)秘密鍵から公開鍵作成
(3)公開鍵からビットコインアドレス作成

という流れになります。

という流れになりますとさらっと書いてますが、どうやって作成されるん?

と思われるかもしれません。

複雑です。

複雑に暗号化されています。

書きますか?

一応書きますね。(私も理解しきれていない部分があるので、引用します。)

ビットコインの公開鍵は、Secp256k1という楕円曲線暗号を用いたデジタル署名アルゴリズムを使い、秘密鍵から計算されて作られます。(中略)

Secp256k1とは何かと言いますと、簡単に言ってしまえば点の集合です。(中略)

ここから公開鍵のハッシュを求めます。(中略)

公開鍵のハッシュを作る上で重要なポイントは、これも不可逆な一方向性の処理であり、公開鍵のハッシュから公開鍵を求めることは現実的には不可能ということです。

ビットコインアドレスを自分の手で作って理解する

続けますか?

もういいですね。本当に詳しく知りたい人は、以下に詳しく書かれています。が、技術者でなければ理解できないと思いますので悪しからず。
ビットコインアドレスを自分の手で作って理解する

ここで重要なのは、複雑に暗号化されているんで、それぞれは不可逆だ、ということです。

ビットコインアドレスから公開鍵、公開鍵から秘密鍵の生成は不可能
ビットコインアドレスから公開鍵、公開鍵から秘密鍵の生成は不可能

つまり、ビットコインアドレスから公開鍵は特定できないし、公開鍵から秘密鍵は特定できない。ということです。

なので、ビットコインアドレスを他人に教えても(教えなければビットコインを受け取れないわけですが)問題ないということです。

ビットコインアドレスから秘密鍵を特定することはできないからですね。

ビットコインアドレスが変わる理由

ビットコインのブロックチェーンは、その取引履歴(トランザクション)がオープンになっています。

オンライン上で取引履歴が簡単に検索できます。

そうすると、このビットコインアドレスに〇〇BTC送られたとか、そういう情報が分かるんですね。

でもそれ自体は問題ありません。

なぜなら、ビットコインアドレスと個人情報は紐づいていないからです。

ただ、ビットコインアドレスに紐づくビットコインの保有量は分かってしまうため、仮に大量のBTCを保有していた場合、ハッカーに狙われる可能性が高まります。

ブロックチェーンのセキュリティは強固なんですが、ハッキングリスクはゼロではないんですね。

そのため、ビットコインアドレスが都度変わった方が、取引上より安全。ということになります。

MEMO
ビットコインアドレスと秘密鍵は紐づいています。

ビットコインアドレスが複数あるということは、ビットコインウォレットで秘密鍵を何個も管理している。ということになります。
詳しくは以下の記事でまとめています。 仮想通貨のウォレットとは ビットコインウォレットの仕組み。中に仮想通貨通貨は入っていない?

ビットコインアドレスについてまとめ

私もビットコインを保有したばかりの頃は、ビットコインアドレスなんか怖い・・・。

意味わからない文字列だし、なんかいつも違うし・・・・と思っていました。

が、仕組みをしれば、なんて事はないですね。

むしろ、安心感につながりました。

ビットコインを含む仮想通貨の領域は難しい仕組みが多く学ばなければならないことも多いですが、一つ一つ理解することで、適切なリスク管理もできるようになるんじゃないかな。と思います。

仮想通貨をはじめるなら
仮想通貨をはじめて買う方であれば、操作画面が分かりやすく簡単に仮想通貨を買えるコインチェックがおすすめです。

■5分で申し込み完了(無料)
>>コインチェックで口座を開設する場合はこちら

コインチェックのメリット コインチェック(Coincheck)のメリットとは?初心者におすすめする理由 コインチェックの始め方。口座開設をする方法 コインチェック(Coincheck)の始め方。口座を開設する方法。必要書類は?簡単3ステップ