Bitcoinの取引のしくみについてメモ
Bitcoinについて技術的に理解したいとおもって色々調べていたけど、
ブロックチェーンに関する詳細説明が多くて、
もう少し全体的な取引部分(トランザクション部分)の話が
まとまっているのがないかなと思って調べていたら
これがわかりやすかったです。
トランザクション部分のまとめ(解釈ふくむ)
まず、お金の送金についての登場人物を単純化すると、送る人(仮にAとする)と、もらう人(仮にBとする)の二人。
銀行は、A・Bの財布を管理している、サーバ型。
例、AからBへの1円の送金
銀行:サーバでA-1、B+1すれば終わり。
Bitcoin:Aが、「A-1、B+1」したという情報を全ノード(ex: C.D.E....)に送信する。
つまり、Aが送金したその時点では、財布からお金が減らない。Bに+1されたかどうかもわからない。
これだと、Bに送金して、速攻、Cに送れるのではないかと思うが、
AがCに送金をしようとしても、他のノードは、Bに送金したことを知っているので、不正とみなされる。「A-1、B+1」されたという情報をA自身が知るのは、
10分ごとに送られてくる全ユーザの取引情報のアップデート(ブロックチェーン)を受け取ったとき。
流行るかどうか、など色々な考察はおいておいて、
仕組みだけ見ると、無駄な通信が大そうだとは感じる。
ひろゆき氏が言っていたように、P2Pは、
「ビール1杯目無料の居酒屋で、客がみんな1杯しか飲まずにみんな返ったら破綻するシステム。」
な気はする。基本的にスケールしづらいよね。
しようとすると、どんどん複雑な機能を足さないといけないし、足しても完璧ではない。