美文网首页
区块链的故事 - 17 - P2P 网络

区块链的故事 - 17 - P2P 网络

作者: 灯下鼠 | 来源:发表于2019-05-05 11:51 被阅读0次

P2P 网络

中本聪只在两个论坛上出现过,一个是密码朋克的邮件组,一个是 P2P 基金会论坛。 这近乎在暗示,干脆说明示也行,密码学与 P2P 协议乃是比特币系统的两大支柱技术。 密码学解决了货币之类的价值在网络上的归属权问题,在 P2P 协议之上构建的 POW 共识算法,则解决了双花欺诈问题。要知道,双花欺诈问题,困扰了乔姆等众多密码学家几十年。

P2P 在比特币和区块链技术中,既是因,也是果。 因为我们有了 P2P 网络,所以中本聪才能够发明比特币和区块链,这个角度 P2P 是因。 因为中本聪发明了比特币和区块链,我们才第一次拥有了 P2P 网络模式的数字货币,这个角度 P2P 是果。

可以说 P2P 乃是人们孜孜不倦追求的最终目标。乔姆的 ecash 耀眼一时,却依然囿于中心化的架构。之后的尼克萨博、戴维都在为了实现 P2P 而努力。

在谈及 P2P 时,人们常混淆于曾经红极一时,现在又臭名昭著的 P2P 金融。两者一个是计算机传输协议,一个是互联网金融模式。然而,细究其本质,理念乃是相同的。 计算机的 P2P 网络是一种分布式架构,网络中的节点,完全平等的分担计算任务和载荷。而 P2P 金融,则意指平等身份的个人之间互相借贷的行为,有别于银行与个人之间地位不对等的借贷交易。

P2P 网络要摆脱的,是 C/S 结构下的服务器。 而 P2P 金融要摆脱的是大型金融机构。两者追求的,都是一个词:平等。 人们对于平等的追求,完全不亚于对科技的追求,几乎成了人类发展的主旋律之一,在历史长河中关于平等的呐喊和斗争就像水花一样此起彼伏。但人们在追求平等时所犯错误之多,之大,并不输于追求科技时所犯之错。科技研发出来的武器,让人们互相残害。在平等的事业上,人们更是搞的生灵涂炭。托克维尔曾说过 “我爱好自由乃是出于审美,爱好平等则出于本能和理性”, 托克维尔自始至终对平等抱有警惕。

在 P2P 网络中,却可以较为贴切的解释托克维尔的平等理论。 在 P2P 网络中,每台计算机节点,都是独立的个体,拥有自己的计算自由,他们基于预定的协议进行交互协作,在协议面前,所有的计算机节点都是平等的,没有任何一台享有服务器或者客户端一般的特权。每台计算机节点在运算、存储等实际的境况上,并不一定要完全一致,而是在遵从协议的前提下,各自独立执行任务。

广泛认为,P2P 网络发端于 1999 年的 Napster。 1999 年肖恩范宁是一个 19 岁的大学生,他突发奇想要创造一个便于大学生分享音乐的技术,为此他自学编程,写出了 Napster。其间,更专业的黑客肖恩帕克加入他,成为他的合伙人。 帕克比起范宁,是更加根正苗红的黑客,他是放下奶瓶便编程的那种少年天才。帕克曾差点因黑客行为被 FBI 拘捕。  帕克还有一个特点,就是擅长“加入”。他加入了 Napster 还不算什么,后来他又加入一家创业公司并任总裁,那家公司名叫 Facebook。

且慢,实际上,还有更早的 P2P 技术。 Usenet 新闻组早在 1980 年出现,它是基于 UNIX 的 UUCP 协议的。新闻组的服务器之间,分享新闻消息的机制,就很类似 P2P 了。但 Usenet 的客户端与服务器之间,则是典型的 C/S 结构。

Napster 是最早在 PC 之间实现 P2P 的文件分享。当然从今天的眼光看来,它并非严格的 P2P,因为 Napster 依然维持了一台中心服务器,用来提供文件目录和地址的搜索。  Napster 在 1999 年发布后,近乎用火箭的速度发展。今天我们说爆品、爆款,在 Napster 面前,全部都是小儿科。Napster 1999 年上线, 2001 年就因为侵权被诉而关闭,就这 2 年间,它发展了 8000 万用户,记住,那是 2000 年,中国网民总数约为 2000 万上下。

Napster 的 P2P 协议,从技术层面上说,依然很原始。Napster 虽然关闭,但 P2P 网络及协议就此成为互联网的支柱。到了 Bittorrent, 分布式哈希表得以应用,P2P 技术趋于成熟。发明者 Bram Cohen,从 5 岁开始编程,他一直非常羞涩,不善社交。 Bittorrent 到底有多么成功呢,举个数字就知道了,大约有 40% 的互联网流量是用在了bittorrent 协议上,几乎是互联网的半边天。

比特币用 UDP 与 TCP 构建了自己独特的 P2P 协议。在本地客户端中存有一些种子,通过种子的 DNS 去获得初始的信息。一旦客户端连接上比特币网络,就像一群传闲话的街坊邻居一样,互相交流各自保存的节点信息,这样就形成了去中心化的节点发现机制。 客户端会将接收到的节点信息,保存在本地数据库中备用。

一个新安装的比特币节点连上了网络后,首先要下载所有区块,它要挑最长的区块链条下载。 拟人一下过程,会是这样:

新节点:“嗨,邻居节点,你有区块没?我这里只有一个创世块,不好意思,我是新人。”

邻居节点:“朋友你好,我有区块,给你 2000 个区块头,你先查查区块头。”  刷的一下,区块头信息就过来了,区块头内容很小,只有 80 字节,2000 个统共才 156 K。

新节点很高兴,查验了区块头没问题。继续问这个邻居节点:“好邻居,谢谢啦,麻烦您再给 2000 个区块头。”

同时,新节点还要去联系其它节点,最多联系八个节点。新节点一个个去问:“嗨,朋友,能麻烦您按照我这些区块头的信息,给我发区块嘛? 有的话,给我 8 个。”

其它节点:“没问题朋友,给您 8 个区块。”

新节点一一收下区块,验证之后,保存在自己的硬盘上。这样的过程一直持续下去,直到新节点获得了当前最长的链。之后,新节点就持续监控网络,从其它对等节点里去接受比特币网络产生的最新区块。

当矿工节点打包区块完成,且运算区块哈希成功,矿工节点就要广播区块到所有的连接节点。连接节点再将新区块广播出去。

矿工节点:“嗨,邻居啊,我产生了个新区块,要不要?” 

邻居节点:“要要,发我吧。”

矿工节点:“走一个! 好邻居,麻烦帮着传播一下。”

邻居节点:“收到,好嘞,马上传播。”

当一个节点做了一笔交易,该节点一样要将交易广播出去。

交易节点:“嗨,邻居啊,我做了笔交易,请您过目。”

邻居节点:“来,发给我吧。”

交易节点:“走一个!好邻居,麻烦帮着传播一下。”

邻居节点:“收到,好嘞,马上传播。”

通过 P2P 协议,比特币系统保证了所有的节点之间,能够就区块信息进行同步。

区块链的故事 - 1

区块链的故事 - 2

区块链的故事 - 3

区块链的故事- 4

区块链的故事 - 5

区块链的故事 - 6

区块链的故事 - 7

区块链的故事 - 8

区块链的故事 - 9

区块链的故事 - 10

区块链的故事 - 11

区块链的故事 - 12

区块链的故事 - 13

区块链的故事 - 14

区块链的故事 - 15

区块链的故事 - 16

相关文章

  • NEO 节点介绍

    全节点(full nodes)是存储 NEO 区块链全部数据的节点,通过 P2P 的方式与区块链网络连接,在区块链...

  • 【#2-王建琼】区块链对商业效率的提升

    区块链是随着比特币而产生的,但是区块链的技术包含了P2P网络、加密技术、时间戳等。因此区块链的是现金前沿网络技术的...

  • 区块链的故事 - 17 - P2P 网络

    P2P 网络 中本聪只在两个论坛上出现过,一个是密码朋克的邮件组,一个是 P2P 基金会论坛。 这近乎在暗示,干脆...

  • 区块链学习笔记(5)- 技术架构

    区块链+Ajax-->谷歌地图 区块链+加密解密技术+P2P网络-->比特币 区块链可以说是一种技术架构,自下而上...

  • P2P网络-区块基础

    在读一些区块链技术介绍文章中,一般都会看到P2P网络这个词汇,这里对P2P和区块链中P2P网络作一个简要说明。 P...

  • 了解概念

    一、组成区块链的节点和区块分别是什么? 1.区块链网络有很多节点组成,这些节点在p2p网络里相互同步信息,就沟通了...

  • 区块链公证和鉴证服务

    根据各个区块链采纳的技能组合不同,构成的区块链特征也大不相同。可是需求指出Factom是一个P2P网络体系。网络体...

  • 《An Accelerated Method for Messa

    Abstract 区块链基于P2P网络,支持当前加密货币的去中心化共识。 由于比特币和山寨币都利用底层的区块链,因...

  • 区块链

    区块链是一种运行在p2p网络中,使用数字链存储数据以便数据溯源的应用的统称。 p2p网络是什么:很多人只知道这个名...

  • 信任机制变革者——区块链

    什么是区块链 一条链,多个数据块(区块)串联起来的链表, 这条链的存储更新维护都是运行在一个分去中心的P2P网络系...

网友评论

      本文标题:区块链的故事 - 17 - P2P 网络

      本文链接:https://www.haomeiwen.com/subject/woucoqtx.html