コールドウォレットに手を出すようなハッカーに対抗にするには、コインの送付過程について、論理的に詳しくみていく必要があります。

bitcoin-SignatureHash

コールドウォレットに手を出すようなハッカーに対抗にするには、コインの送付過程について、論理的に詳しくみていく必要があります。

そこでわかりやすい例を用いて工夫してみます。

1, アドレス
アドレスとは「ここにコインを送ってください」と、相手に渡す紙片のようなものです。そして、そのお札には「アドレスのID」「その紙片を利用可能にするための条件」が書かれています。もちろん、コインを受け取る場合は自分の紙片を渡しますので、利用可能にするための条件は自分のみが達成でき、それを解除できる自分の紙片を、相手に渡します。

2, コインの送付
コインを送る時は、自分が利用できる紙片(つまり自分の残高)をロック解除し、相手から受け取った紙片に、送付するコインの量を刻みます。ここで、この紙片は「使い切り」となっていますので、使った瞬間にこの紙片は無効で、紙片の残高が0になります。そのため、差分のお釣りが発生した場合、元の紙片にお釣りを戻せないため、新たに自分の新しい紙片を用意して、そこにお釣りの残高を刻む仕組みになっています。これにより、相手の紙片と自分のお釣りの紙片に残高がわかれますので、これでコインを送ったことになります。

3, コインの受け取り
コインを受け取ると、その紙片は自分の残高に加わります。相手に残高を加えてもらったので、その分が増加する訳です。ちなみに、ウォレットはそのような紙片の残高を自動計算して、残高にしているのです。そして、コインを使う時は「2, コインの送付者」と同じ過程になり、送った分が減ります。

4, 紙片の出入りの要約に署名
上のような仕組みは、あくまで自分と相手のみで完結できる仕組みが必要です。もし、勝手に第三者が操作可能であれば、すぐさま破綻してしまいます。そこで紙片の出入りを要約し、その内容で署名することで、その取引が署名した自分の意思によって確実に発生したことを証明することができます。この署名の過程で「秘密鍵」「公開鍵」を利用します。

ざっと、こんな感じになっております。2と4がちょっと複雑なのですが、そこがハッカーの狙い目になっているという状況でした。

タイトルとURLをコピーしました