【区块链实战】什么是 P2P 网络,区块链和 P2P 网络有什么关系

article/2025/9/27 22:58:50

目录

一、简介

二、知识点

P2P 网络

区块链节点与 P2P 的关系

区块链节点功能分类

P2P 网络特征

三、什么是 P2P 网络,区块链式使用 P2P 网络做什么

1、P2P 网络概念

2、P2P 网络节点特征

3、P2P 与区块链

4、网络节点功能


一、简介

在白皮书中,中本聪就已经说明了这个系统的网络结构是 peer to peer, 也就是 P2P 网络。【一种完全的点对点电子货币应当允许在线支付从一方直接发送到另一方 而不需要通过一个金融机构。数字签名提供了部分解决方案,但如果仍需一个 可信任第三方来防止双重支付,那就失去了电子货币的主要优点。我们提出一 种使用点对点网络解决双重支付问题的方案。】...

二、知识点

  • P2P 网络

  • 区块链节点与 P2P 的关系

  • 区块链节点功能分类

  • P2P 网络特征

三、什么是 P2P 网络,区块链式使用 P2P 网络做什么

1、P2P 网络概念

点对点技术(peer-to-peer, 简称 P2P )又称对等互联网络技术,是一种网络技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。

P2P 网络通常用于通过 Ad Hoc 连接来连接节点。这类网络可以用于多种用途,各种文件共享软件已经得到了广泛的使用。P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。

P2P 网络最早来自 Napster,这是一个为用户提供 免费 MP3 下载的网络服务。Napster 服务器上不存储 MP3 文件,但是他有一个索引服务器记录各个用户的 MP3 歌单信息,这样当用户有需求下载时,可以直接找到对应主机并下载文件,这种模式为后来者提供了很多的启发。

2、P2P 网络节点特征

(1)非中心化:

网络中的资源和服务分布在所有的节点上,每一个节点保存着所有的数据,信息的传输可以直接在节点之间,不需要中间环节的介入。

(2)可扩展性:

用户可以随时加入该网络,系统的资源和服务能力也同步扩充。理论上其可扩展性几乎可以是无限的。

(3)健壮性:

因为服务是分散在各个节点之间的,部分节点或网络遭到破坏对其他部分的影响很小,故 P2P 具有耐攻击、高容错的特点。P2P 网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。

(4)高性价比:

P2P 架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。

(5)隐私保护:

在 P2P 网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。

(6)负载均衡:

由于每个节点既是服务器又是客户端,减少了传统 C/S 模型中对服务器计算能力、存储的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。

3、P2P 与区块链

中本聪发明 比特币的时候也是站在巨人的肩膀上的。每个新加入的网络节点,都通过节点内置的 DNS 种子节点查询网络 IP 列表。

某些种子节点返回一组静态可靠的比特币节点 IP,某些种子节点返回动态的比特币节点 IP 集。新节点选择 8 个节点进行链接并对比,同步区块链数据。

如果有新交易产生,节点向自己所有相邻节点发送交易广播,后续继续向邻居广播,直至全网都收到交易信息。

4、网络节点功能

比特币网络节点主要有以下 4 个功能模块:

  • Wallet:钱包
  • Miner:矿工
  • Full Blockchain:全节点
  • 路由节点

(1)Wallet:钱包

主要功能是签名交易与账户余额管理,不一定需要保留全部区块的数据。

(2)Miner:矿工

主要用来挖矿。

(3)Full Blockchain:全节点

保留全部区块链的数据。

(4)路由节点

主要提供网络路由服务,让新加入的节点能找到它的另据

每个节点可以包含上述功能中的一种或多种,所有节点一起形成整个区块链 P2P 网络。


http://chatgpt.dhexx.cn/article/1OeMrjwg.shtml

相关文章

Peer to Peer ( P2P ) 综述

Peer to Peer ( P2P ) 综述 罗杰文 luojwics.ict.ac.cn 中科院计算技术研究所 2005-11-3 1 绪言 1.1 Peer-To-Peer 介绍 最近几年,对等计算 目前,在学术界、工业界对于P2P没有一个统一的定义,下面列举几个常用的定义供参考: 定义:1、Pe…

Ubuntu对分区扩容

Ubuntu对分区扩容 准备工具 1、U盘 2、准备好的内存空间 3、Ubuntu的镜像文件 4、清楚如何进入自己电脑的BIOS 扩容大致方向try Ubuntu 网络上的扩容方法大都是在自己的Ubuntu下使用GParted,对将要扩容的分区进行卸载,然后进行扩容,但是这样做有个前…

linux ubuntu 分区,查看Ubuntu分区列表方法

今天在Ubuntu修复Grub正好碰到了要展示分区列表看看 不然都不清楚哪个是哪个了。。 sudo fdisk -l 就是这个命令 ubuntuubuntu:~$ sudo fdisk -l Disk /dev/sda: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units cylinders of 16065 * 512 …

U盘安装ubuntu20.04 Linux系统分区方案 Invalid Partition Table

一、简介: 一般磁盘分区表有两种格式:MBR和GPT,目前主要的BIOS系统引导方式也有两种:传统的Legacy BIOS和新型的UEFI BIOS 如果主机BIOS系统引导方式采用传统的Legacy BIOS,那么安装ubuntu系统的磁盘分区表使用MBR格式…

Android布局

目录 1. Android的基础布局 2. LinearLayout 线性布局 3. RelativeLayout 4. 常用的控件 1. Android的基础布局 LinearLayout 线性布局 RelativeLayout 相对布局 TableLayout 表格布局 FrameLayout 帧布局(框架布局) ConstrantLayout 约束布局 &…

安卓布局简单归纳

安卓布局 1.线性布局LinearLayout 2.表格布局TableLayout以及网格布局GridLayout 3.帧布局FrameLayout 4.相对布局RelativeLayout 5.Android2.0已经过时的绝对布局AbsoluteLayout 这里仅谈xml的实现、不涉及java实现 布局管理器及组件的常用共有属性: 属性作用and…

安卓layout布局三等分

关于android LinearLayout的比例布局,主要有以下三个属性需要设置: 1,android:layout_width,android:layout_height,android:layout_weight三个值 2,当为水平布局时,android:layout_height“0dp",当为…

安卓APP(3)——安卓布局控件

嵌入式之路,贵在日常点滴 ---阿杰在线送代码 目录 一、布局的种类 二、布局和页面的关系 三、显示一张美女图 控件的宽度和高度 四、布局背景颜色,背景图,显示两个美女 关于控件ID 五、常用布局之相对布局 RelativeLayout中子控件常…

安卓的相对布局与线性布局

一、安卓布局的种类 Android共有七大基本布局。 分别是:线性布局LinearLayout、表格布局TableLayout、相对布局RelativeLayout、帧布局FrameLayout、绝对布局AbsoluteLayout、网格布局GridLayout。约束布局ConstraintLayout。 其中,表格布局是线性布局的…

Android:布局

Android&#xff1a;布局 LinearLayoutRelativeLayoutFrameLayoutTableLayoutGridLayoutConstraintLayout LinearLayout <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_height"match_parent"android:layout_…

安卓六大布局之 线性布局(LinearLayout)

Android的界面是有布局和组件协同完成的&#xff0c;布局好比是建筑里的框架&#xff0c;而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列&#xff0c;就组成了用户所看见的界面。 Android的六大布局分别是 LinearLayout&#xff08;线性布局&#xff09;RelativeLayo…

Android-布局管理器

线性布局(Linearlayout) 属性 orientation 布局管理器内组件的排列方式(horizontal&#xff08;水平&#xff09;和vertical&#xff08;垂直&#xff09;&#xff0c;默认值为 horizontal.) layout_weight 权重 用于设置组件占父容器剩余空间的比例 la…

android 布局

android学习笔记&#xff08;一 android布局学习&#xff09; 转自http://blog.sina.com.cn/s/blog_61c62a960100ev3q.html (2009-09-20 20:50:44) 转载 标签&#xff1a; it 分类&#xff1a;android 最近痴迷上了android &#xff0c; 因为有java 语言的基础学起来自己感觉很…

安卓六大布局介绍

安卓六大布局 布局的介绍安卓六大布局 布局的介绍 用户使用安卓看到的应用界面&#xff0c;是通过布局和组件构成的&#xff0c;组件根据布局的格式排列&#xff0c;形成用户所看到的界面。 安卓六大布局 线性布局方式&#xff08;LinearLayout&#xff09; 按照垂直或者水平…

安卓线性布局

安卓线性布局 &#xff08;一&#xff09;界面与布局1、界面2、布局&#xff08;1&#xff09;UI容器&#xff08;2&#xff09;UI控件 (Control)&#xff08;3&#xff09;两种方式声明布局 &#xff08;二&#xff09;线性布局&#xff08;1&#xff09;常用属性 &#xff08…

安卓的常用布局看一篇就够了

目录 1-1 布局通用的属性 1-2 线性布局&#xff08;LinearLayout&#xff09; 1、常见属性&#xff1a; 2、线性布局的例子&#xff1a; 1-3 相对布局&#xff08;RelativeLayout&#xff09; 1、常见属性&#xff1a; 2、 相对布局的例子&#xff1a; 1-4 帧布局&a…

android布局技巧:创建高效布局

Android UI工具包提供了一些布局管理器&#xff0c;它们使用起来相当容易&#xff0c;而且&#xff0c;大多数的时候&#xff0c;你只需要使用它们最基本的特征来实现UI。 执着于基本特征的使用对于创建UI来说&#xff0c;往往不是最高效的。一个常见的例子就是滥用LinearLayo…

安卓7大基本布局

一&#xff1a;基础知识 1.Android七大基本布局分别是&#xff1a; LinearLayout(线性布局)、TableLayout(表格布局)、RelativeLayout(相对布局)、FrameLayout(层布局)、AbsoluteLayout(绝对布局)、GridLayout(网格布局)、ConstraintLayout(约束布局)。 2.七大基本布局的继承…

Android的六大基本布局

线性布局 LinearLayout相对布局 RelativeLayout表格布局 TableLayout绝对布局 AbsoluteLayout网格布局 GridLayout帧布局 FrameLayout 布局通用属性 属性名称功能描述android:id设置布局的标识android:layout_width设置布局的宽度android:layout_height设置布局的高度android:…