- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;目录;什么是P2P;P2P网络的主要功能可以分为如下3种:
1、数据发布和传输
2、数据存储和检索
3、分布式数据处理;P2P网络技术架构;P2P网络集中式架构;P2P网络技术架构;P2P网络技术架构;四种拓扑结构的对比;;;P2P网络核心技术;分布式哈希表;如这个图所示,键为人名,值为buckets中的电话号码,bucket可以看作一个长度为16的数组。人名通过哈希函数转换为数字,数字作为buckets数组的下标。;分布式哈希表:存储的键值对数据并不仅仅存在于一台电脑中,而是分布在不同的节点(电脑)中。;Kademlia协议;1.如何衡量两个ID是否接近(Kademlia的距离衡量机制);2.如何根据文件的哈希值得到文件存储位置信息(kademlia的路由机制);Kademlia协议建立在上述K-桶之上,可以发起四种消息请求。
(1)PING:用来测试节点是否依然在线。
(2)STORE:在某个节点中存储一个键值对。
(3)FIND_NODE:消息请求的接受者将返回自己K桶中离请求的节点的ID最近的K个节点。
(4)FIND_VALUE:根据文件资源的KEY查找一个数据和FIND_NODE类似,如果请求接收着拥有KEY对应的文件资源则返回数据。;Gossip协议;(1)协议流程
节点A向节点K发送数据有三种方式:
1、push模式:
节点A将数据(key,version,value)推送给K,K更新version比自己新的数据。
2、pull模式:
节点A将数据(key,version)推送给K,K将本地version比A新的数据推送给A。
3、push/pull模式:
先采用push模式更新K,然后采用pull模式更新A。
;(2)Gossip缺陷
由于Gossip协议中,节点只会随机向少数几个节点发送消息,消息最终是通过多个轮次的散播而到达全网的,因此使用Gossip协议会造成不可避免的消息延迟。不适合用在对实时性要求较高的场景。
Gossip协议规定,节点会定期随机选择周围节点发送消息,而收到消息的节点也会重复该步骤,因此就不可避免地存在消息重复发送给同一节点的情况,造成了消息的冗余,同时也增加了收到消息的节点的处理压力。;;;什么是p2p网络?;P2p网络应用;1.文件交换;2.对等计算;3.协同工作;4.搜索引擎;5.流媒体;;;目录;为什么区块链会选择P2P作为网络基础;比特币P2P网络根据功能不同,各节点可能具有不同的分工。每个比特币节点都是路由、区块链数据库、挖矿、钱包服务的功能集合。一个全节点包括如图所示的四个功能:;下图描述了扩展比特币网络中常见的节点类型。;首先看一下P2P的整体技术点:;当一个新的网络节点启动后,为了能够参与协同运作,它必须至少发现一个其他网络中的节点并与之建立连接。比特币的网络拓扑结构不基于地理位置,因此可以随机的选择节点建立连接。;(1)利用种子节点:
比特币的客户端会维护一个列表,列表中记录了长期稳定运行的节点,这些节点也被称之为种子节点。在比特币里,可以通过“-dnsseed”选项来指定是否使用种子节点,该选项默认是开启的。;(2)节点引荐:将当前启动节点引荐给其他节点的方式。可以通过“-seednode”选项指定一个节点的ip,之后新节点将和该节点建立连接,将该节点作为DNS种子节点,在引荐信息形成之后断开与该节点的连接,并与新发现的节点连接。;节点A;当建立?个或多个连接后,新节点将?条包含IP地址的addr消息发送给其相邻节点。相邻节点再将此条addr消息依次转发给它们各?的相邻节点,从而保证新节点信息被多个节点所接收、保证连接更稳定。;
您可能关注的文档
- 区块链应用技术 课件 第1章 区块链初探.pptx
- 区块链应用技术 课件 第2章 区块链初级技术应用.pptx
- 区块链应用技术 课件 第3章 区块链数据结构与存储技术应用.pptx
- 区块链应用技术 课件 第4章 区块链密码学基础应用.pptx
- 区块链应用技术 课件 第6章 区块链共识机制及应用.pptx
- 区块链应用技术 课件 第7章 区块链智能合约与编程实现.pptx
- 区块链应用技术 课件 第8章 区块链商业应用.pptx
- 区块链应用技术 课件 第9章 区块链民生应用.pptx
- 区块链应用技术 课件全套 第1--9章 区块链初探 --- 区块链民生应用.pptx
- 小学生全国普通话推广宣传主题班会ppt课件(优质ppt).pptx
文档评论(0)