比特币网络节点具有所有四个功能(理论上的很多来自《精通比特币》):

  • 钱包:用户钱包也可以作为全节点的一部分(桌面比特币客户端中比较常见);当前,越来越多的用户钱包都是SPV节点(诸如智能手机)
  • 矿工:挖矿节点通过运行在特殊硬件设备上的工作量证明(proof-of-work)算法,以相互竞争的方式创建新的区块,一些挖矿 节点同时也是全节点,保有区块链的完整拷贝;还有一些参与矿池挖矿的节点是轻量级节点,它们必须依赖矿池服务器维护的全节点进行工作
  • 完整的区块链数据库:保有一份完整的、最新的区块链拷贝,这样的节点被称为“全节点”。全节点能够独立自主地校验所有交易,而不需借由任何外部参照
  • 网络路由:每个节点都参与验证并传播交易及区块信息,发现并维持与对等节点的连接

比特币主网络:大约5000-8000个运行着不同版本比特币核心客户端(Bitcoin Core)的监听节点  +   以及几百个运行着各类比特币P2P协议的应用,一小部分节点也是挖矿节点,大型公司运行 着基于Bitcoin核心客户端的全节点客户端(它们具有区块链的完整拷贝及网络节点,但不具备挖矿及钱包功能),这些节点是网络中的边缘路由器(edgerouters),通过它们可以搭建其他服务,例如交易所、钱包、区块浏览器、商家支付处理。

比特币P2P主网络上连接着许多矿池服务器以及协议网关,它们把运行其他协议的节点连接起来。这些节点通常都是矿池挖矿节点(参见挖矿章节)以及轻量级钱包客户端,它们通常不具备区块链的完整备份。

比特币整个网络:

网络发现:

新的网络节点必须发现至少一个网络中存在的节点并建立连接

由于比特币网络的拓扑结构并不基于节点间的地理位置,因此各个节点之间的地理信息完全无关

节点通常采用TCP协议、使用8333端口

首先,节点之间是握手:

实践出真知,通过抓包来解析一下这个过程吧(A是自己,B是公网节点)

A=>B(公网上一个bitcoin节点)发送一个version握手包:

B=>A也发送一个version握手包:

B=>A回一个verack握手包:

A=>B回一个verack握手包:

要求从peer节点批量获取指定区块HASH的区块头

B=>A请求的所有块头信息

在https://btc.com/查询进行验证:

bitcoin P2P协议分析相关推荐

  1. 数据链路层网络类型和协议分析(P2P)

    数据链路层的网络类型: 根据数据链路层所使用的协议及规则来进行划分:1.P2P网络 --- 点到点网络2.MA网络 --- 多点接入网络①BMA -- 广播式多点接入网络②NBMA -- 非广播式多点 ...

  2. 常见P2P协议之BitTorrent 分析

    这段时间在研究BT数据流如何突破防火墙的,但是最后好像有点拦截的意思,反了:(,还是把它总结一下,欢迎讨论,wengpingbo@gmail.com BitTorrent协议介绍 BitTorrent ...

  3. RTSP再学习 -- RTSP协议分析(转载)

    最近一直在看 RTSP,但是RTSP协议是个啥?还没有搞清楚. 首先流媒体百度百科上有这样一段,从基本的名字上或多或少可以理解一下这些传输协议的区别.这很重要!! 传输协议 1.RSVP:资源预留协议 ...

  4. NS2相关学习——可靠的MANET应用程序的Gossip协议分析

    好久不写,应该努力啦!老师把这篇论文给了我,现在还不知道它在讲什么,来边翻译边学习吧! 文章链接:https://www.researchgate.net/publication/316844643_ ...

  5. TLS协议分析 (九) 现代加密通信协议设计

    六. TLS协议给我们的启发 - 现代加密通信协议设计 在看了这么多的分析和案例之后,我们已经可以归纳出加密通信协议设计的普遍问题,和常见设计决策, 设计决策点: 四类基础算法 加密/MAC/签名/密 ...

  6. UDT 最新协议分析

    UDT4 最新协议分析 背景 协议 与IETF草案版本差异 简介 数据结构 数据包 控制包 定时器 两种连接模式 数据发送与接收 发送端算法 发送端数据结构 数据发送算法 接收端算法 接收端数据结构 ...

  7. qq2007bate3协议分析

    QQ即时通信协议分析 软件名称 QQ 软件版本 默认版本为2007Bate3 分析平台 Win2000 + sp2 分析工具 Wireshark0.99.3,allydbg 分析人员 分析时间 200 ...

  8. TLS协议分析 与 现代加密通信协议设计

    本文目标: 学习鉴赏TLS协议的设计,透彻理解原理和重点细节 跟进一下密码学应用领域的历史和进展 整理现代加密通信协议设计的一般思路 本文有门槛,读者需要对现代密码学有清晰而系统的理解,建议花精力补足 ...

  9. 基于服务器的p2p协议实现,基于P2P协议的文件服务器技术.PDF

    基于P2P协议的文件服务器技术.PDF 第 15 卷 第 6 期 微 机 发 展 Vol. 15 No. 6 2005 年 6 月 Microcomputer Development J un. 20 ...

  10. Skype 协议分析(2006版)

    Skype 协议分析(2006版) 整理翻译:袁建明 Angel_YY@126.com 概要: Skype是创建Kazaa的组织在2003年开发的一个基于Peer-to-Peer(对等网络)的VoIP ...

最新文章

  1. 【NCEPU】韩绘锦:扩散卷积神经网络
  2. Windows Server 2008技术概述(自CSDN)
  3. 值得学习的寓言故事和哲理
  4. Sprint(第十天11.23)
  5. nio框架中的多个Selector结构
  6. Vue2.0+ElementUI+PageHelper实现的表格分页
  7. 一种视频录制时,类似监控视频中加入动态时间标记的装置
  8. 前端 docker + gitlab CI 的持续集成(三)
  9. OpenCV编译、安装、测试
  10. swagger - RESTFUL接口文档在线自动生成、代码自动生成工具详解
  11. QTreeWidget使用
  12. uniapp H5微信公众号跳转小程序
  13. 零电压开关(ZVS)电路原理与设计(整理)
  14. AD7606(并行8080方式)的STM32F103ZET6配置
  15. 趣图:程序员的斗志曲线图
  16. 【初赛】计算机操作系统
  17. 微信小程序怎么上架和发布商品?
  18. 使用Java输出所有水仙花数
  19. Wenli Zou's homepage
  20. 2022年全球与中国非定向信标市场现状与未来发展趋势分析

热门文章

  1. 微信小程序,Python爬虫抓包采集实战,采集某成考题库小程序
  2. pico3pro使用unity播放360全景视频及事件交互
  3. mac磁盘清理的方法大全
  4. java怎么编写木马_Java也能写木马~(附源码!)
  5. 【Pyecharts50例】GEO使用外国地图/使用美国地图
  6. Scaling Your Node.js Apps 免积分下载
  7. 关于对《上海市人民政府办公厅关于执行〈上海市非营业性客车额度拍卖管理规定〉若干要求的通知》的政策解读...
  8. PIE-engine 教程 ——提取黄河流域/山西省1980—2018年流域降水量并对比分析
  9. 内网安全-隧道穿透漫游(二)
  10. 222Echarts - 3D 地球(Globe Displacement)