比特币采用了基于互联网的点对点(P2P:peer-to-peer)分布式网络架构。
比特币网络可以认为是按照比特币P2P协议运行的一系列节点的集合。
本文来分析下比特币网络,了解它跟传统中心化网络的区别,以及比特币网络是如何发现相邻节点的。
中心化网络
这是一种典型的星型(“中心化”)结构,我们常见B/S及C/S网络架构就是这种模型,C1 、C2 、C3等之间没法直接的连接,C节点如果要连接必须要通过中心化S节点做为桥梁。
中心化节点充当服务者、中介作用,比如我们没有办法把资金直接从一个人转移给另一个人,必须通过银行这个中介。
P2P网络
P2P网络是指位于同一网络中的每台计算机都彼此对等,各个节点共同提供网络服务,不存在任何“特殊”节点,每个网络节点以扁平(flat)的拓扑结构相互连通。
对比中心化网络,在P2P网络中不存在任何服务端(server)、中央化的服务。
P2P网络的节点之间交互连接、协同,每个节点在对外提供服务的同时也使用网络中其他节点所提供的服务,每个节点即是服务端又是客户端。
P2P网络模型除应用于比特币网络,使用广泛的BT下载就是基于P2P网络。
P2P网络不仅仅去除了中心化带来的风险(中心化可能作恶),还可以提高传输的效率。(中心化网络当能也有优点)
如何发现节点
既然每个网络节点都是平等的(是指在网络层面上节点是平等的,但各节点在功能上可以有不同的分工, 如钱包节点、挖矿节点等),不存在任何“特殊”中心节点,那么当新的网络节点启动后,它是如何跟其他的节点建立连接,从而加入到比特币网络呢?
在中心化网络中,新加入的节点只要连接“特殊”的中心节点就可以加入网络。
为了能够加入到比特币网络,比特币客户端会做一下几件事情:
-
节点会记住它最近成功连接的网络节点,当重新启动后它可以迅速与先前的对等节点网络重新建立连接。
-
节点会在失去已有连接时尝试发现新节点。
-
当建立一个或多个连接后,节点将一条包含自身IP地址消息发送给其相邻节点。相邻节点再将此消息依次转发给它们各自的相邻节点,从而保证节点信息被多个节点所接收、保证连接更稳定。
-
新接入的节点可以向它的相邻节点发送获取地址getaddr消息,要求它们返回其已知对等节点的IP地址列表。节点可以找到需连接到的对等节点。
-
在节点启动时,可以给节点指定一个正活跃节点IP, 如果没有,客户端也维持一个列表,列出了那些长期稳定运行的节点。这样的节点也被称为种子节点(其实和BT下载的种子文件道理是一样的),就可以通过种子节点来快速发现网络中的其他节点。
节点通信简述
比特币节点通常采用TCP协议、使用8333端口与相邻节点建立连接, 建立连接时也会有认证“握手”的通信过程,用来确定协议版本,软件版本,节点IP,区块高度等。
当节点连接到相邻节点后,接着就开始跟相邻节点同步区块链数据(轻量级钱包应用其实不会同步所有区块数据),节点们会交换一个getblocks消息,它包含本地区块链最顶端的哈希值。如果某个节点识别出它接收到的哈希值并不属于顶端区块,而是属于一个非顶端区块的旧区块,就说其自身的本地区块链比其他节点的区块链更长,并告诉其他节点需要补充区块,其他节点发送getdata消息来请求区块,验证后更新到本地区块链中。
深入浅出区块链 - 系统学习区块链,打造最好的区块链技术博客
相关推荐
1. 点对点技术:一种去中心化的网络架构,允许多个节点之间进行直接通信和交易。 2. 电子现金系统:一种基于密码学原理的电子支付系统,能够提供安全、可靠的在线支付解决方案。 3. 随机散列(hashing):一种加密...
比特币网络上的每一笔交易都被记录在区块链上,这种公开透明的记录方式使得数据难以被篡改,为去中心化网站提供了一种可靠的数据存储和验证机制。 BitTorrent网络则在资源共享方面表现出色,其P2P(Peer-to-Peer)...
点对点(P2P,Peer-to-Peer)传输是一种网络通信模式,它允许网络上的设备,即“节点”或“对等方”,直接互相共享资源和服务,而无需通过中心服务器作为中介。这种技术在互联网上广泛应用,尤其在文件共享、流媒体...
此外,该平台的“去中心化”特性,意味着它可能采用了一种点对点的支付方式,用户之间可以直接进行支付,不受地理位置限制。这种特性使得平台非常适合小额支付市场,因为它不仅能够突破传统银行和支付网络的地理和...
Namecoin作为首个基于比特币为底层平台的去中心化域名系统,尽管在一定程度上实现了域名系统的去中心化,但仍存在一些问题,比如跨域数据验证效率低、系统事务处理吞吐率低、域名管理困难等。 #### 五、面向跨域...
5. **P2P技术**:在去中心化的网络中,数据的传输通常是通过点对点(P2P)的方式进行的。这意味着每个用户都可以同时作为数据的提供者和消费者,这大大提高了系统的效率和可靠性。 6. **智能合约**:如果spreddit...
点对点(P2P,Peer-to-Peer)网络学习是一种分布式系统架构,其中每个参与者,也称为节点或对等方,既是服务的消费者也是提供者。与传统的客户端-服务器模型不同,在P2P网络中,没有中心化的权威服务器,而是所有...
去中心化在网络架构、经济模式和社会组织等方面都有体现,如P2P网络、分布式计算和共享经济等。去中心化可以提高系统的健壮性,降低单点故障的风险,并增强用户隐私和数据安全。 综上所述,共享经济、新零售、...
- 将比特币的闪电网络与Nostr相结合,有望实现一个更快捷、低成本且高度去中心化的新型互联网生态系统。 2. **Nostr作为下一代互联网的底层协议:** - Nostr不仅仅是一个社交网络协议,它更有可能成为未来互联网...
区块链技术自2008年比特币的白皮书被提出以来,已经被逐渐应用到各个行业领域中,其中物联网(Internet of Things,IoT)就是区块链技术应用的重要方向之一。在物联网领域,访问控制一直是一个重大的技术挑战,尤其...
2. 区块链技术的定义与特点:区块链技术是点对点分布式数据库系统的一种,它通过共识算法确保网络中每个节点的数据保持一致,并采用加密算法来保证数据的安全性和隐私性。区块链具有时间戳和链状数据结构,提供了可...
洛伦兹曲线和基尼系数是经济学中用来描述财富分配公平程度的工具,文章将这两种工具运用到了区块链共识机制去中心化程度的评估中,提供了一种量化分析不同共识算法去中心化水平的方法。 接着,文章介绍了权益证明...
1. 区块链技术:区块链技术是一种新兴的互联网技术,它的特点包括分布式共享数据库、点对点传输、共识机制和加密算法。区块链通过链式数据结构将数据区块顺序相连,利用密码学方法保证数据的不可篡改性。区块链的首...
区块链技术起源于2008年,由化名为“中本聪”的日本学者发表的奠基性论文《比特币:一种点对点电子现金系统》。区块链技术的出现,主要是为了解决在分布式网络中缺乏信任的问题,其核心问题就是“信息的有效性传输与...
其起源于比特币,2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的个人发表了《比特币:一种点对点的电子现金系统》一文,阐述了基于P2P网络技术、加密技术、时间戳技术等的电子现金系统的构架理念。...
区块链是一种分布式数据库,也是去中心化基础架构与计算范式。它本质上是一个去中心化的数据库,由比特币等加密货币应用而广为人知。区块链通过密码学方法将数据块连接起来,每个数据块包含了一系列的交易信息,用于...
随着区块链技术的发展,P2P网络在数字货币(如比特币)、智能合约和去中心化应用(dApps)中扮演着关键角色。未来,P2P可能会进一步融合云计算、边缘计算,为物联网(IoT)和5G网络提供支持,推动更加分散、高效和...
区块链具有分布式、多中心化、点对点和共识机制等特点,与凯文·凯利在《失控:全人类的最终命运和结局》中所描述的分布式网络理念高度吻合。 在研究和应用区块链技术的过程中,企业面临诸多挑战和问题。因此,安永...
P2P,即Peer-to-Peer,是一种网络架构模式,其中每个参与者(称为对等方或节点)既是服务的提供者也是消费者。这种模式消除了传统的客户端-服务器架构中的中心化服务器,使得网络中的每个参与者能够直接与其它参与者...
区块链技术是指一种基于分布式账本技术的去中心化系统,可以实现数据的安全、可靠、不可篡改的存储和传输。区块链技术最早的一个应用,也是最成功的一个大规模应用是比特币(Bitcoin)。 知识点2:联盟链和以太坊 ...