中国领先的IT技术网站
|
|

1.4.2 比特币核心程序:中本聪客户端(4)

《白话区块链》第1章初识区块链,本章我们将从区块链的原理及分类、技术组成、技术特点等出发来初步介绍区块链的概念,并通过分析比特币的结构让大家对区块链有一个感性的认识。比特币作为区块链技术的第一个应用,它的原理设计影响深远。本节为大家介绍比特币核心程序:中本聪客户端。

作者:蒋勇/文延/嘉文来源:机械工业出版社|2017-11-24 11:44

开发者大赛路演 | 12月16日,技术创新,北京不见不散


1.4.2 比特币核心程序:中本聪客户端(4)

一目了然了,在“客户端–服务器”网络架构中,总是有一个中心的,一旦中心服务器出了问题,基本等于天塌了;而“对等”网络结构,相比中心化服务器这种单点故障结构有很强的抵抗能力,我们可以看到,“对等”结构中的节点都是可以与其他节点互连的,而且某个节点出问题也不影响其他节点之间通信,这种结构的好处显而易见。当然,无论哪种网络结构,底层的网络协议都是一样的,还是TCP/IP那一套。

比特币是属于区块链技术的首创应用,其特点就是去中心化或者说是分布式,由比特币节点组成的网络自然也就是属于“对等”网络了,那么既然没有一个服务器,大家彼此如何来认识对方呢,即如何发现其他的节点呢?这是需要通过一个协议的,首先节点会启动一个网络端口,通过这个网络端口与其他已知的节点建立连接。连接时,会发送一条包含认证内容的消息进行“握手”确认,比特币网络中是靠彼此共享节点信息来寻找其他节点的,当一个节点建立与其他节点的连接后,会发送一条包含自身IP地址的消息给相邻的节点,而邻居收到后会再次发送给自己的其他邻居,当然节点也不是只能被动地等别人来告诉自己,也可以自己发送请求给其他节点索取这些地址信息,如果与发现的节点之间能够成功连接,那么就会被记录下来,下次启动时就会自动去寻找上次成功连接过的节点。

简单地说,作为网络路由的功能,比特币节点在失去已有连接时会去发现新节点,同时自己也为其他节点提供连接信息,没有服务器的对等网络就是这么来认识陌生人的。

至此,大家对比特币的核心客户端就有了一个较为完整的理解了吧。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

数据挖掘:概念与技术

本书第1版曾被KDnuggets的读者评选为最受欢迎的数据挖掘专著,是一本可读性极佳的教材。它从数据库角度全面系统地介绍了数据挖掘的基本概念...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 51CTO学院双十二活动