質問1

BTCのブロックチェーンエクスプローラやイーサスキャンの読み方を教えてほしいです。

特にBTCのトランザクションの送った履歴みたいな見方がイマイチ理解できません

ハッシュa 2BTC

ハッシュb 1BTC

ハッシュc 0.5BTC

合計1.5BTC

みたいに書かれてるとこです。

質問2.

ビットコインのフルノード動かしてますが世界中のフルノード見れるサイトで自分のIPアドレス調べてもそれらしきでてきません、視覚化されてるノードは何かしらの条件があるのでしょうか?

質問にお答えしますね。

1.

「⇒」

の前後で何が起こっているのかということを理解できればいいわけです。ビットコイン送金というのは、送金というより、配分や分割と考えたほうがいいかもしれません。

ハッシュa(アドレスa)にある2BTCを、ハッシュb(アドレスb)に1BTC、ハッシュc(アドレスc)に0.5BTCに配分・分割しなおしましたよ、というのがビットコインのトランザクションの意味です。

ですから、⇒の前後でビットコインの合計額が一致している必要があります。つまり a = b+c です。

そういう意味で言うと上記の例は、2.0 = 1 + 0.5 となり、計算がありません。本来であれば、2.0 = 1 + 0.5 + 0.5 とならないと左右の額が一致しませんよね。

おそらく、ハッシュd(アドレスd)が0.5BTCを受け取っているのを見逃して書いているのだとおもいます。

なお、ビットコインのマイナーは、このように左右で合計額があっているかといった基本的なことをちゃんと検証します。

ビットコインのトランザクションはこのように、左右の合計額が一致するように、アドレス間でコインの再配分を行うものです。ですので、一見すると送金にみえないかもしれません。

しかしアドレスの所有者はそれぞれ異なるひとでも良いので、実質的に送金が実現できます。

上記の例でいうと、このようになります。

ハッシュa 2BTC 自分所有

ハッシュb 1BTC  送金先1

ハッシュc 0.5BTC  送金先2

ハッシュd 0.5 BTC おつり(自分所有)

最後のお釣りのところに注目してください。このおつりアドレスは自分所有の別のアドレスです。ハッシュaにある2BTCは全部送ってしまうのですが、0.5BTCは自分に再び帰ってくるので実質的には差分の1.5BTCだけが送金されているという感じになります。

なお、第三者がエキスプローラーだけを見た場合、どれがおつりであるかを判別する方法はありません。ハッシュb,c,dすべてが自己宛送金かもしれませんし、またはすべて他人宛である可能性もあります。そうした事柄は判別できません。これにより、プライバシー上の優位性があります。コイン送金毎にアドレスを使い捨てにすることでプライバシー上の利便性があがっています。

このような方式をUTXO方式といいます。それに対するのが、アカウント形式で、イーサリアムがそれです。アカウント形式とは銀行口座と一緒で、口座への入金、出金という形でトランザクションを管理するものです。

2.

フルノードですが、フルノードサイトに掲載されるためにはパブリックノードである必要があります。パブリックノードというのは他人の接続を受け入れることです。

普通にフルノードを立ち上げただけだと、デフォルトの設定は、outbound onlyになっていて、他人からの接続はうけつけないようになっています。これを変更する必要が有ります。

また、家庭内でノードを立てている場合などは、ルータやファイアーウォールなどの設定で、外部の接続を許可するようにしてあげる必要があります。

その上で、可視化されるためには、多くの他のノードとつながっていて「発見」されるひつようがあります。自然に発見されない場合は、自分で通知することもできます。

https://bitnodes.io/

などでは、JOIN THE NETWORKという接続をテストする欄で通知してあげることによって、bitnodeのほうで監視対象にふくめてくれるようです(添付画像参照)。

私も自分のノードをこれに入れてみましたが、しばらくするとノード検索リストにも出てくるようになりました。

(大石)