被忽视的平底,详解区块链之P2P互连网

作者: 奥门永利总站网址  发布:2019-07-19

近几年,区块链技术大热,几乎所有领域都期望通过这项前沿技术解决当前的行业痛点,无数美好的应用场景被描绘出来,技术被神化为一种信仰。

奥门永利总站网址 1image

同时,这些区块链项目的理想也都是相似的,去中心化、去信任地、建立一个透明高效的价值传递网络。

如果我们简单来看 P2P 技术,它的应用领域已经非常广泛了,从流媒体到点对点通讯、从文件共享到协同处理,多种领域都有它的身影出现。

然而,从早期的比特币到当前不胜枚举的各类公链、DApp奥门永利总站网址 ,,区块链项目大多停留在宏观的应用层面,随着未来数以百亿级的智能设备、应用程序不断接入,现有互联网的基础设施建设,似乎有些跟不上了。

同样的,P2P 的网络协议也有很多,比较常见的有 BitTorrent、ED2K、Gnutella、Tor 等,也就是我们常说的 BT 工具和电驴。

实际上,无论是点对点、去中心化的网络传输逻辑,还是以token经济为代表的价值传递,具体到实现过程,均绕不开隐藏在应用层之下、定义每一个联网设备如何实现沟通的数据传输标准,也即互联网协议。

比特币、以太坊等众多数字货币都实现了属于自己的 P2P 网络协议,但是这种模式并不同于以上讨论的 P2P 网络协议,所以本讲重点主要是区块链技术的 P2P 技术,也就是比特币和以太坊的 P2P 网络。

奥门永利总站网址 2

1. 网络连接

现有的互联网结构,是基于TCP/IP的五层模型。从即时聊天、影音文件传输等上层应用到光纤、电缆等底层实体,每一层均定义了许多协议,规定数据该如何传输。

除去少数支持 UDP 协议的区块链项目外,绝大部分的区块链项目所使用的底层网络协议依然是 TCP/IP 协议。

当前,两个分属不同子网的联网设备间建立通信,需要通过网络的中间结构——网关——找到对方的IP地址,发送数据包,这一基于IP地址的通信模式自诞生起,已沿用了四五十年。

所以从网络协议的角度来看,区块链其实是基于 TCP/IP 网络协议的,这与 HTTP 协议、SMTP 协议是处在同一层,也就是应用层。

正如此前V神做客“王峰十问”和在TechCrunch沙龙上提到的,互联网结构缺乏有效的演进。加之物联网(IoT: Internet of Things)的迅速发展,如何在未来有效支持各种联网智能设备,以及区块链DApp间频繁的数据通信,已经成为当前整个互联网亟待解决的问题。

在“区块链的常见误区”这篇文章中,我们提到了“区块链是否会颠覆互联网”这一说法,如果要是认真分析的话,它颠覆的层面其实最多只到 HTTP 协议,不能再多了。

博链财经于近期接触到的积木云(Blockcloud)项目,便致力于为互联网制定与时俱进的通信标准。

以 HTTP 协议为代表的、与服务端的交互模式在区块链上被彻底打破了,变更为完全的点对点拓扑结构,这也是以太坊提出的 Web3.0 的由来。

兼容IP协议,构建以服务为中心的网络

比特币的 P2P 网络是一个非常复杂的结构,考虑到矿池内部的挖矿交互协议与轻节点。我们仅仅讨论全节点这种场景下的 P2P 网络发现与路由。

积木云核心成员来自于普林斯顿、东京大学、清华大学等顶级研究机构,专注于互联网协议研究多年。他们发现,现有的通信模式更适用于协议设计之初小规模的静态网络,根本不足以支持未来移动互联网的飞速发展。

比特币的 P2P 网络基于 TCP 构建,主网默认通信端口为 8333。

现阶段,互联网需要处理海量的内容传输,且联网设备普遍具有移动性,其IP地址实时变动,支持动态分配IP的网络协议虽可暂时解决这一问题,却并非长久之计。

以太坊的 P2P 网络则与比特币不太相同,以太坊 P2P 网络是一个完全加密的网络,提供 UDP 和 TCP 两种连接方式,主网默认 TCP 通信端口是 30303,推荐的 UDP 发现端口为 30301。

考虑到当前网络流量的90%以上为数据传输、流媒体等内容服务,用户无需关心服务提供方的具体地址,积木云引入了SCN(Service-centric Networking,以服务为中心的网络),将IP的身份与位置语义进行分离,应用程序可直接与所需服务建立连接,进而绕过复杂的IP地址管理逻辑。

2. 拓扑结构

这一做法比动态分配IP更契合移动互联网,能够有效提升服务的访问效率,且与传统的IP协议完全兼容。

P2P 网络拓扑结构有很多种,有些是中心化拓扑,有些是半中心化拓扑,有些是全分布式拓扑结构。

结合区块链技术,创新提出服务证明机制

比特币全节点组成的网络是一种全分布式的拓扑结构,节点与节点之间的传输过程更接近“泛洪算法”,即:交易从某个节点产生,接着广播到临近节点,临近节点一传十十传百,直至传播到全网。

但是,联网设备通过SCN请求所需服务,如何保证服务提供方是真实可信的?SCN是个好点子,但它并不完善。为此,积木云结合区块链技术,创新提出PoS(Proof of Service,服务证明共识机制),对信任机制进行了优化,同时借鉴了TCP/IP轻耦合的层次化结构,将SCN传输逻辑分为四层,每一层都相对独立,分别完成服务的发布、验证、匹配及记账功能。

奥门永利总站网址 3image

奥门永利总站网址 4

全节点与 SPV 简化支付验证客户端之间的交互模式,更接近半中心化的拓扑结构,也就是 SPV 节点可以随机选择一个全节点进行连接,这个全节点会成为 SPV 节点的代理,帮助 SPV 节点广播交易。

具体的,服务提供方将服务发布到积木云网络中,用户从网络中订阅相应服务。积木云采用智能合约,以基于博弈论的连续双边拍卖机制(TCDA)实现服务的公平定价,以及服务提供方与用户的自动匹配。

节点发现是任何区块链节点接入区块链 P2P 网络的第一步。 这与你孤身一人去陌生地方旅游一样,如果没有地图和导航,那你只能拽附近的人问路,“拽附近的人问路”的这个动作就可以理解成节点发现。

另外,积木云开发了Compacted DAG快速记录交易。在token经济的构建上,不同于许多区块链项目,积木云倡导交易无手续费,以开放的姿态邀请服务提供方加入进来,为进行服务匹配及记账的矿工提供酬劳。

节点发现可分为初始节点发现,和启动后节点发现。初始节点发现就是说你的全节点是刚下载的,第一次运行,什么节点数据都没有。启动后发现表示正在运行的钱包已经能跟随网络动态维护可用节点。

奥门永利总站网址 5

1. 初始节点发现

可以说,区块链技术的兴起,适时地帮助积木云团队成员破解了SCN面临的难题,将高效推动互联网基础设施建设及下一代互联网的发展。

在比特币网络中,初始节点发现一共有两种方式。

克服P2P传输弊端,打造新一代智能网络

第一种叫做 DNS-seed,又称 DNS 种子节点,DNS 就是中心化域名查询服务,比特币的社区维护者会维护一些域名。

其实,互联网实现“点对点”“去中心化”,早已践行良久。一直以来,为了提高网络利用率、最大程度地使用网络带宽资源,基于TCP/IP协议的P2P通信网络被广泛应用于即时聊天、文件传输、分布式数据计算等领域。然而,尽管P2P技术为网络传输带来一些便利,其弊端也不容忽视。

比如 seed.bitcoin.sipa.be 这个域名就是由比特币的核心开发者 Sipa 维护的,如果我们通过 nslookup 会发现大约二十多个 A 纪录的 IPv4 主机地址。

在这当中,最为突出的是P2P高并发连接带来的网络拥堵问题。而积木云提出的SCN网络,绕过了IP地址管理,是对传统P2P网络的优化迭代。在P2P网络中,数据存储在本地,网络节点仅存储数据的索引与链接,不对数据本身负责。这样一来,在知识产权保护与网络业务的管理上,传统P2P网络存在明显的短板。

我们通过 nc 命令尝试连接域名下的某个主机的 8333 端口会发现连接成功,运行结构如下。

由于现有P2P网络缺少监控,大量违法、不良信息在网络上得以传播,且盗版横行,极大损害了权利人的合法利益。同时,一些服务利用P2P网络漏洞侵犯用户隐私,对本地保存的数据造成破坏,引发系统安全。在解决信任问题与确权上,采用区块链技术可谓对症下药。

$ nc -nvv 149.202.179.35 8333found 0 associationsfound 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif en0 src 192.168.1.104 port 62125 dst 149.202.179.35 port 8333 rank info not available TCP aux info availableConnection to 149.202.179.35 port 8333 [tcp/*] succeeded!

积木云引入的SCN、PoS等前沿技术,正是针对传统通信技术在传输和信任机制上进行了改进,主要改善了P2P网络在移动、性能、安全等方面的劣势,进一步实现了网络传输协议的可扩展性。

第二种方式就是,代码中硬编码( hard-code )了一些地址,这些地址我们称之为种子节点(seed-node),当所有的种子节点全部失效时,全节点会尝试连接这些种子节点。

以协议为基石,走在科技前沿

用在以太坊中,思路也大致相同,也是在代码中硬编码(hard-code)了一些种子节点做类似的工作。

本文由奥门永利官网误乐域发布于奥门永利总站网址,转载请注明出处:被忽视的平底,详解区块链之P2P互连网

关键词:

上一篇:至暗时刻,ICO和区块链区别
下一篇:没有了