ウォレットから送金指示
ウォレットは、以下の3つの情報を持っています。
- 秘密鍵(プライベートキー、private key)
- 公開鍵(パブリックキー、public key)
- ビットコインアドレス(銀行口座の口座番号に相当するもの)
この3つには、以下の関係があります。
秘密鍵を元に計算して公開鍵を作り、そして、公開鍵を元に計算してビットコインアドレスを作ります。
そして、公開鍵で暗号化されたデータは、その公開鍵に対応する秘密鍵でのみ復号(暗号を解読すること)が可能です。
その逆も成り立ちます。秘密鍵で暗号化されたデータは、その秘密鍵に対応する公開鍵でのみ復号できます。
また、秘密鍵から公開鍵を作りますが、公開鍵を分析しても、秘密鍵を特定することはできません。
同様に、公開鍵からビットコインアドレスを作りますが、ビットコインアドレスから公開鍵を特定することはできません。
なお、公開鍵から自由にいくつでもビットコインアドレスを作ることができます。ハッカーからの攻撃を避けて取引を安全にするため、頻繁にビットコインアドレスを変更して使ったほうが良いと言われています。
送金リクエスト後の流れ
実際に送金を依頼する場合は、以下の作業が行われます。
- 1.送金したいというリクエストに、送金内容を記載します。「自分のウォレットからAさんのビットコインアドレスに××BTC」という具合です。
- 2.そして、その送金内容を、秘密鍵を使って暗号化します(電子署名)。
- 3.公開鍵情報とともに、そのリクエストをP2P(パソコンがお互いにインターネットで結び付いて作られたネットワーク)に送ります。送信したい相手に向けて送る必要はありません。
P2Pに送るというのは分かりづらいかもしれません。銀行送金だったら、銀行に送金の内容を送ります。しかし、ビットコインはP2Pのネットワークで維持されていますから、P2Pを構成しているパソコンに送ります。すなわち、送金の実行をP2Pネットワークに依頼するのです。
こうして、送金リクエストが完了します。なお、このP2Pネットワークに参加しているパソコン等のことを「ノード」といいます。
こうして送金リクエストが完了した後、「送金リクエストの検証作業」が行われます。
