当前位置:首页 > 文章列表 > 文章 > 软件教程 > 点对点网络详解

点对点网络详解

来源:云东方 2023-04-27 19:32:24 0浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《点对点网络详解》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

什么是点对点 (P2P)?

在计算机科学领域,点对点网络由一组可以储存,共享文档的设备组成。每一个参与者(节点)都相当于一个对等的个体。也就是说,所有的节点都拥有同样的权利并执行相同的任务。

在金融科技领域,P2P通常指代的是通过分布式网络进行数字货币或数字资产交易。一个P2P平台允许买卖双方在没有中间商的情况下直接进行交易。有些网站也可以为借贷双方提供P2P的交易环境。

P2P的架构适用于各种场景,但它真正盛行是在上世界九十年代,当第一个文件共享程序诞生时。现今,点对点网络已经成为大多数数字货币的核心,占区块链行业的一大部分。然而,它也被用于其他各种分布式的计算机程序中,包括:网络搜索引擎,流媒体平台,网上市场,以及星际文件系统(IPFS)网络协议。

P2P的工作原理

本质上,一个P2P系统是靠一个分布式网络中的用户所维持的。通常来说,他们没有中央系统管理员或服务器,因为每一个节点都拥有一个文件副本 -- 对于其他节点来说就相当于一个用户和一个服务器。因此,每一个节点都能从其他节点那里下载文件或者给他们上传文件。而传统服务器系统的客户端设备需要从中央服务器中下载文件,这就是P2P网络与其他传统服务系统的区别。

在P2P网络中,互联设备共享的文件储存在他们的硬盘当中。并使用软件运用程序来传递共享的数据,用户也可以在其他设备当中找到并下载文件。如果一个用户下载了一个指定的文件,他就能充当该文件源。iphRFUHgmxnQsVOqts3g

换言之,当一个节点充当了一个用户,那他就要从其他节点那里下载文件。但如果他是作为服务器工作,那其他节点就可以在他那里下载文件。实际上,这两种功能可以同时进行(例如,下载A文件以及上传B文件)。

由于每一个节点都能储存,传输和接收文件,并且随着P2P网络的用户群逐渐壮大,它也变得更加快速以及高效。分布式的结构也让P2P系统更能抵抗网络攻击。与传统模式不同的是,P2P网络没有单个故障点。

根据其结构,我们可以将P2P系统归类,其中主要的三种类型是:非结构对等网络,结构化对等网络以及混合对等网络。

非结构化P2P网络

非结构对等网络并不会展现节点的具体架构。参与者之间可以随意交流。这些系统都是耐高频活动的,也就是说几个节点频繁地进出该网络也不会对系统造成任何影响。

虽然非结构对等网络比较容易建立,但它却需要更强大的中央处理器和内存,因为搜索查询会发送给最多的对等点。特别是如果一小部分的节点能提供所需要的内容,大量的搜索便会涌入到网络中。

结构化对等网络

不同于非结构对等网络,结构化对等网络展现了一个组织架构,它可以让节点有效地搜索文件,即使该文件的内容没有被广泛使用。大多数情况下,搜索是通过使用哈希函数来帮助数据库查找。

相对来说,结构化对等网络会更加高效,因其更能展现高层次的中央集权,并且需要用到更多的启动资金和维护费用。除此之外,结构化对等网络比较不耐受高频活动。

混合对等网络

混合对等网络结合了传统的主从式架构以及点对点架构的某些特征。例如,它可能会建立一个中心服务器来加速各点之间的结合。

不同于其他两种模式,混合对等网络倾向于呈现改良后的总体性能。它结合了各个方式的优点,同时达到了高效性和去中心化。

分布式 VS 去中心化

虽然点对点结构都是分布式的,但是其去中心化的程度却是不相同的。因此,并不是所有的点对点网络都是去中心化的。

事实上,很多系统都需要一个中央部门来指导网络活动,或多或少地使其中心化。例如,一些点对点文件分享系统可以让用户从其他用户那里搜索并下载文件,但是他们却不能参与像是一些管理搜索查询的流程。

此外,某些被少量的用户所管控的小型网络也可以说是高度中心化的,尽管它可能没有中性化的基础设施。

点对点在区块链中的作用

在比特币诞生的初期,中本聪(Satoshi Nakamoto)将其定义为一个“点对点的电子现金系统”。比特币以一种电子现金的形式出现在大众视野。通过点对点网络,它能够在两个用户之间相互转移,而这需要用到分布式账本,即:区块链。在区块链中,点对点的架构可以让比特币以及其他数字货币在不需要中间商和任何中央服务器的其况下,在全世界范围内进行相互转移。如果任意用户想要参与到验证区块的程序当中,都可以建立一个比特币节点。

因此,在比特币网络中没有任何的银行步骤或者交易记录。取而代之的是,区块链作为一个电子账本,公开地记录了所有的交易活动。基本上,每一个节点都拥有一个区块链副本,并将其与其他节点进行对比,来保证数据的正确性。比特币网络能快速地清除各种错误和恶意的活动。

节点在区块链中可以扮演各种不同的角色。例如,全节点通过共识规则来验证交易,从而保障了网络的安全性。

每一个全节点维持了一个完整的,升级的区块链副本 — 让这些区块链副本可以共同来验证分布式账本的真实状况。需要注意的是,不是所有的验证节点都是矿工。

优势

区块链的点对点架构有许多优点。更重要的是,相较于传统的主从式架构,点对点网络有更高的保密性。大部分节点几乎都能抵抗损害了许多系统的“拒绝服务(DoS)”攻击。同样地,由于数据被添加到区块链中需要大部分节点的一致同意,所以攻击者几乎不可能改变数据。尤其是在比特币这样的大型网络中。然而相对较小的区块链则容易受到攻击,因为一个个人或组织往往会控制大量的节点(这也就是51%攻击)。因此,在多数节点一致同意的前提下,分布式点对点网络使区块链更能抵抗恶意的网络攻击。点对点模式是比特币网络能够实现拜“占庭容错”的主要原因。

除了安全性之外,点对点架构让数字货币区块链避免了中央机构的审查。不像一般的银行账号,数字货币钱包不能够被政府冻结或消耗。个人的支付处理和内容平台也能避免相应的审查工作。一些网上的商家为了避免他们的支付被第三方干预,都采用了数字货币的支付方式。

局限性

尽管它有以上这些优点,但在区块链中使用P2P网络也有一定的局限性。

由于分布式账本必须在每一个节点上进行升级,因此在区块链中增加交易便需要庞大的计算机算力。虽然这提高了安全性,但也大大降低了效率,并且也成为了区块链网络扩展和推广的主要障碍之一。但是,密码学家和区块链开发人员正在研究相关的替代方案,用于解决扩展性的相关问题。几个明显的案例包括“闪电网络”,“以太坊等离子体”和“Mimblewimble协议”。另一个潜在的限制是关于硬分叉期间可能出现的攻击。由于大多数区块链是去中心化的和开源的,因此节点可以自由地复制和修改代码并从主链中分离出来,通过这种方式形成新的并行网络。硬分叉是完全正常的,并不会形成威胁。但是如果没有适当地采用某些安全措施,这两条链都可能会受到重放攻击的影响。

此外,P2P网络的分布式特性使它们相对难以控制和监管。该问题不仅仅是在区块链中,某些P2P应用程序和公司也同样涉及到侵权等非法活动。

总结

点对点架构可以被开发运用到许多不同的方面,它在区块链中的核心地位也促成了数字货币的诞生。通过在一个大的节点网络中分发交易账本,点对点架构提供了安全性、去中心化和防范监管等优势。

而除了在区块链技术中的优势之外,P2P系统还可以应用于其他分布式计算应用领域,范围包括文件共享网络到能源交易平台等。

今天关于《点对点网络详解》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

版本声明
本文转载于:云东方 如有侵犯,请联系study_golang@163.com删除
如何重置 Xbox Series S 或 X 的控制器如何重置 Xbox Series S 或 X 的控制器
上一篇
如何重置 Xbox Series S 或 X 的控制器
修复:Windows 11 色彩管理不工作
下一篇
修复:Windows 11 色彩管理不工作
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 美图AI抠图:行业领先的智能图像处理技术,3秒出图,精准无误
    美图AI抠图
    美图AI抠图,依托CVPR 2024竞赛亚军技术,提供顶尖的图像处理解决方案。适用于证件照、商品、毛发等多场景,支持批量处理,3秒出图,零PS基础也能轻松操作,满足个人与商业需求。
    13次使用
  • SEO标题PetGPT:智能桌面宠物程序,结合AI对话的个性化陪伴工具
    PetGPT
    SEO摘要PetGPT 是一款基于 Python 和 PyQt 开发的智能桌面宠物程序,集成了 OpenAI 的 GPT 模型,提供上下文感知对话和主动聊天功能。用户可高度自定义宠物的外观和行为,支持插件热更新和二次开发。适用于需要陪伴和效率辅助的办公族、学生及 AI 技术爱好者。
    15次使用
  • 可图AI图片生成:快手可灵AI2.0引领图像创作新时代
    可图AI图片生成
    探索快手旗下可灵AI2.0发布的可图AI2.0图像生成大模型,体验从文本生成图像、图像编辑到风格转绘的全链路创作。了解其技术突破、功能创新及在广告、影视、非遗等领域的应用,领先于Midjourney、DALL-E等竞品。
    43次使用
  • MeowTalk喵说:AI猫咪语言翻译,增进人猫情感交流
    MeowTalk喵说
    MeowTalk喵说是一款由Akvelon公司开发的AI应用,通过分析猫咪的叫声,帮助主人理解猫咪的需求和情感。支持iOS和Android平台,提供个性化翻译、情感互动、趣味对话等功能,增进人猫之间的情感联系。
    40次使用
  • SEO标题Traini:全球首创宠物AI技术,提升宠物健康与行为解读
    Traini
    SEO摘要Traini是一家专注于宠物健康教育的创新科技公司,利用先进的人工智能技术,提供宠物行为解读、个性化训练计划、在线课程、医疗辅助和个性化服务推荐等多功能服务。通过PEBI系统,Traini能够精准识别宠物狗的12种情绪状态,推动宠物与人类的智能互动,提升宠物生活质量。
    38次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码