ビットコインアドレス
Last updated
Last updated
ビットコインアドレスが、支払いを受けるために公開するものであることは知ってのとおりだ。
あなたがこのアドレス宛てにもらったビットコインを使うには、ウォレットで秘密鍵を使うということも、おそらく知っているだろう。
秘密鍵はネットワークには保管されず、インターネットにアクセスすることなく生成することができる。
秘密鍵を生成してみよう。
秘密鍵から公開鍵を作成する。これは一方向性の暗号学的な機能を使っていて、逆に公開鍵から秘密鍵は作れない。
ビットコインには2つのネットワークがある。
TestNet は開発を目的としたビットコインのネットワーク。このネットワーク上のビットコインに価値はない。
MainNet は普通のユーザーが使うネットワークである。
注釈:TestNetのコインはfaucets(蛇口)サイトを使うことですぐに手に入る。「get testnet bitcoins」で検索してほしい。
公開鍵とアドレスを使用するネットワークの種類から、ビットコインアドレスを簡単に作ることができる。
正確に言うと、ビットコインアドレスはバージョンを示す先頭1バイト(TestNetかMainNetかで異なる)と公開鍵ハッシュで構成されており、それらが結合された後、Base58Checkにエンコードされる。
注釈:公開鍵ハッシュは、まず公開鍵をSHA256でハッシュ化し、その結果に対してRIPEMD160でさらにハッシュ化してビッグエンディアンで並べている。プログラミング関数なら、「RIPEMD160(SHA256(pubkey))」のように表せるだろう。
Base58Checkエンコーディングには誤字を防止するためのチェックサムがあったり、「0(ゼロ)」や「O(オー)」のようにどちらとも見える文字を使わないようにするという気の利いた機能がある。 Base58Checkエンコードされたビットコインアドレスは、ウォレットを使っているユーザーが、間違えて意図していないネットワークにビットコインを確実に送らないようにする。
参考:MainNetでビットコイン プログラミングを練習すると、もし失敗したらそれはきっと忘れられないものになるだろう。