

ブロックチェーンを趣味で勉強しており、大まかな概要は掴めたのですが、具体的なピア同士の通信方法が、いまいち腑に落ちていません。  
いろいろな参考書では「P2P通信を使って〜」と記されていますが、一口にP2Pと言われても、なかなかピンと来ないのです。

もちろん、定義の上では、通信方法そのものはブロックチェーンをブロックチェーンたらしめるものではないと思いますので、究極的には「なんでも良い」となるとは思いますが、  
実際に運用されているブロックチェーン技術において、例えばREST-
APIを使ってHTTP通信でP2Pで相互通信を行うメリットや、他にもBitcoinのように独自のプロトコルを作って通信を行うメリット等を、教えていただけたら嬉しいです。  
Bitcoinはソースコードを追ってみたのですが、「先頭の数バイトがこの値で〜」みたいなことをやりつつスリーハンドシェイク？みたいなことをしていたので、独自でプロトコルを作ってるんだろうな、という認識です。

私は、ITに関する知識がほとんどありません、高卒で派遣の土方をやってますので、正直、土台がないのでおかしな質問になっているかもしれません。  
ですが、せっかく面白そうだなと思って勉強しはじめたので、もしよろしければどなたかご回答をよろしくお願いいたします。


CC BY-SA 4.0
2021-12-30T20:53:36.607
85418
2022-01-02T09:22:56.943
2021-12-31T05:47:51.790
3060
50706
question
ethereum
ブロックチェーンのP2P通信プロトコルは、なんでも良いのでしょうか？


まず基本的なことを言います。

インターネットはただ多くのコンピューターをルーターでつなぐだけです、そこまで複雑なことを考えなくても良いと思います。

「P2P通信を使って〜」この言葉の意味を理解して行きましょう、pはpeerの意味だろうと思います。p2pがここでの意味は中間のサーバーを通さずに直接に通信すること。インターネットではそれがとても簡単にできます（相手のIPアドレスが知れば通信可能）

確かにおっしゃるとおり究極的には「なんでも良い」とも思っています。

メリットとデメリットは主に以下いくつの面から考えてもいいと思います：

  1. 通信データ量の消耗
  2. 計算量の消耗（プレスとかをかける時）
  3. 安全性（途中に見られたり、変えられたりしないように）

この中に1と2は逆な関係だと思います。（圧縮すればするほど計算量の消耗が大きい通信データ量の消耗が少なくなる）

3の安全性を考えなければtcpかudpの基本的なプロトコルで自分なりのプロトコルを作っても問題ないと思います（もしできれば）

3の安全性を手早く手に入れたいなら REST-API+HTTPS を使った方が楽でしょう。

ブロックチェーン元々も定義されるもので今まだに細かいところまでの定義はありません、つまり何のプロトコルを使おうとしてもブロックチェーンのコアの考え方にあっていればそれがブロックチェーンではないかと思います。

頑張れ！


CC BY-SA 4.0
2022-01-02T09:13:52.230
85442
2022-01-02T09:22:56.943
2022-01-02T09:22:56.943
41314
41314
85418
answer