05-BTC-网络

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

二、比特币网络的设计原则

三、等待上链的交易

总结


前言

    今天看了北大肖臻老师《区块链技术与应用》公开课,有很大收获,在此写博客以做笔记,加深印象,若有不当之处,欢迎斧正。


比特币工作在应用层(Bitcoin Block chain),它的底层网络层是P2P Overlay Network

一、P2P网络

  • 比特币的P2P网络是非常简单的,所有节点都是对等的
  • 如果你要加入到这个网络,首先你得至少知道一个种子节点(seed node),然后你和这个种子节点联系,它会告诉你它所知道的这个网络中的其它节点。
  • 节点之间是通过TCP来通信的,这样有利于穿透防火墙
  • 你离开这个网络时不需要任何操作,不用通知其它节点,直接退出你的应用程序就行,其它节点没有听到你的消息,过一段时间就会把你给删掉

二、比特币网络的设计原则

simple,robust,but not efficient 

  • simple(简单)和robust(稳健)都是比特币的设计原则
  • 每个节点维护一个邻居节点的集合
  • 消息传播在网络中采取flooding的方式,节点第一次听到某个消息时,把它传给所有的邻居节点,同时记录一下这个消息我听到过,避免重复传播
  • 邻居节点的选取是随机的,没有考虑底层的拓扑结构,比如一个在湖南省的节点,它选取的邻居节点可能在阿根廷,这样设计的好处是增强稳健性

三、等待上链的交易

每个节点要维护一个等待上链的交易的集合 

  • 集合中的交易都是等待上链的,第一次听到收到这个交易时,就把这个交易加入到集合中,并且转发这个交易给邻居节点
  •  一个交易上链以后,就把这个交易从集合中剔除
  • 集合中只保存合法的未上链的交易

总结

P2P网络也叫点对点网络

猜你喜欢

转载自blog.csdn.net/qq_28559977/article/details/125763950
今日推荐