• 简体版 | 繁體版
  • 联系我们
  • 加入我们
  • 关于我们
  •  
  • 首页
  • 快讯
  • 价值号
  • 视频
  • 专题
  • 科普区块链
  • 入驻价值号
  • 碳链APP
    微信公众号

    扫码下载App

  • 登录
  • 微信公众号

    微信公众号

导航
  • 首页
  • 快讯
  • 区块链+
  • 价值号
  • 视频
  • 专题
  • DeFi优选
碳链价值APP
专注服务于金融科技和区块链
立即打开

一文了解以太坊的「 P2P 网络」

以太坊爱好者以太坊爱好者  •  2020-01-23
此文旨在帮助你理解 P2P 网络,并阐述一些以太坊的实现细节。

作者: Larry Hu;翻译 & 校对: haiki 、阿剑

此文旨在帮助你理解 P2P 网络,并阐述一些以太坊的实现细节。P2P 技术利用终端设备的丰富资源,能够缓解中心化系统的短板,而且从九十年代开始,这项技术就已经被 eMule,bitTorrent和Skype等知名软件所采用。P2P 技术也是比特币或者以太坊区块链系统的核心组件。很多人都听说过 P2P,但是不知道它到底是什么。那就让我们从了解什么是 P2P 网络开始吧。

什么是 P2P网络?

点对点(P2P)网络是一种网络覆盖层(overlay network)——就是说,它是建立在公开互联网之上的。从数学的角度来说,P2P 网络可以被视作一个有向图 G = (V,E),其中 V 是网络中的对等节点集合,E是对等节点所连成的边的集合(也即节点间连接的集合)。每个对等节点 p 都有一个独一无二的标识号 pid。集合 E 中的边(p,q)指 p 可通过直接相连的路径向 q 发送消息;也就是说,p 使用 q 的 pid 作为目的地址,在网络之上向 q 发送消息。尽管在底层的 TCP/IP 网络中,相似的 IP 地址可以转译为在地理位置上相互接近,但很少有这么明确的直接关联。

理想情况下,所有的对等节点间都应该有一条路径相连。但因为每个节点对网络拓扑和其他对等节点只有一个不完整的视图,所以网络覆盖层需要中间节点将消息转发至正确目的。图的结构为每对节点提供了多条中间路径,因此就算对等节点改变,也可通过图的连通性提供网络的恢复能力。对每个对等节点来说,图的连通性通过与其他对等节点的邻接关系来反映。当对等节点加入或者离开网络,邻接的对等节点可能会持有不正确的邻接信息。因此使用网络覆盖层维护机制(Overlay maintenance mechanisms)保存更新的邻接信息,使得所有节点间保持连通性。

P2P 网络中的参与者向其他网络参与者提供部分资源。不需要中心化的协调者,每个对等节点都可贡献计算周期(CPU),磁盘存储和网络带宽。传统的 客户端-服务器 模型中,服务器提供资源,客户端使用资源;与之相对的,在 P2P 网络中,对等节点既是网络资源的供应者,也是消费者。因此,P2P 网络可以很好地解决 客户端-服务器 模型下的一些短板,比如可扩展性和单点故障。

一般来说,P2P 网络会有一个门槛,节点的资源贡献高于这个门槛才能加入网络。度量资源贡献的标准应该是公平的,比如说,要求网络中每个对等节点的平均贡献应该在 P2P 系统总体平均值的统计范围内等。资源贡献应该是双方互惠的。付出贡献后可得到的利益,吸引着用户加入 P2P 应用。

以太坊的 P2P 网络是如何工作的?

以太坊的官方客户端节点软件 Geth,基于一种覆盖层维护机制 (称作 Kademlia 分布式哈希表)实现了对等节点发现协议(RLPx 节点发现协议)。虽然 Kademlia 是为了在 P2P 网络中有效地定位和存储内容而设计的,以太坊的 P2P 网络只用它来发现新的对等节点。

Kademlia

以太坊网络中,每个客户端节点都配备有一个 enodeID,之后将此 ID 用 SHA3 算法散列为一个 256 位的值。Kademlia 使用 XOR 操作定义距离,因此两个 256 位的数字之间的距离是他们的按位异或值(bitwise exclusive OR)。每个对等节点都拥有一个包含 256 个不同的桶(buckets)的数据结构,每个桶 i 中存储与本节点距离在 2i-1 到 2i 之间的 16 个节点。为了发现一个新的对等节点,以太坊节点选择自己作为目标 x,从桶中寻找到 16 个与目标 x 最近的节点,之后请求这 16 个节点,让它们从自己的桶中各找出 16 个与目标 x “更近” 的节点并返回,这样以来,会得到至多 16x16 个新发现的节点。之后请求这 16x16 个新发现的节点中离目标 x 最近的 16 个节点,让它们返回与 x 更近的 16 个节点。这个过程持续迭代,直到没有新节点被发现。

-异或操作示意图--异或操作示意图-

-bucket 与距离对应的示意图--bucket 与距离对应的示意图-

对等节点间通信

Geth 使用 UDP 连接交换 P2P 网络的信息。有 4 种类型的 UDP 消息。一条 *ping*消息请求一条 *pong*消息作为返回。此对消息用来判断相邻节点是否可响应。一条 *findnode*消息请求一条 *neighbors*消息(其中包含 16 个已经被响应节点知晓的节点列表)作为返回。当建立好对等节点的连接之后,Geth 节点通过加密和认证的 TCP 连接来交换区块链信息。

数据结构

Geth 客户端用两种数据结构存储其他节点的信息。第一种是称作 db的长期数据库,它存储在磁盘内,客户端重启之后数据也是持久存在的。db中包含客户端交互过的每个节点信息。db 的每条记录包含节点 ID,IP 地址,TCP 端口,UDP 端口,(此客户端)最后一次向(记录中)节点发送 ping 的时间,最后一次从节点收到 pong 的时间,节点响应 findnode消息的失败次数。如果最后一次从一个节点收到 pong消息的时间超过了一天,此节点将会被移出 db。

第二种数据结构是称作 table的短期数据库。当客户端重启时 table是空的。table包含 256 个桶,每个桶存储至多 16 条记录。每条记录存储其他以太坊节点的信息——节点的 ID,IP 地址, TCP 端口和 UDP 端口。如果记录中的某个节点对于 findnode消息连续响应失败,多于 4 次时将被移出 table。

当某个客户端第一次启动时,它的 db 是空的,只知道 6 个硬编码的引导节点。随后,当客户端开始发现对等节点,客户端依据上面描述的机制,将节点加入 db 和 table。

如果你想查阅更多关于以太坊 P2P 网络的内容,可以参见下面一些由以太坊社区成员贡献的文章:

  • “RLPx Node Discovery Protocol” by Felix Lange, Gustav-Simmonsson, and Roman Mandeleil

  • “Peer to Peer” by Felix Lange

  • “Kademlia Peer Selection” by James Ray

参考:

Vasilios Darlagiannis, (2010). P2P Systems and Overlay Networks, [PDF file] Retrieved

from:https://www.iti.gr/iti/files/document/seminars/p2p_eketa_090610_v2.pdf

S. Umamaheswari and Dr. V. Leela, (2011, Mar.01). P2P Overlay Maintenance Algorithm, [PDF file] Retrieved from:http://journals.sagepub.com/doi/pdf/10.1260/1748-3018.6.3.555

(完)

展开全文
打开碳链价值APP  查看更多精彩资讯
声明:本文内容为作者独立观点,不代表碳链价值立场,且不构成任何投资理财建议。
0 0
以太坊P2P 网络Geth Kademlia TCP

扫一扫,分享到微信

相关推荐

2022年第一场寒潮:以太坊清算与三箭资本的败局 价值号

2022年第一场寒潮:以太坊清算与三箭资本的败局

达瓴智库 2022-06-26 价值号
以太坊三箭资本
尽管有许多项目和VC可能会在这一场熊市中倒下,但加密资产行业仍然会有触底反弹的一天。
加密货币熊市简史,你会发现所有的下跌都是为了更好的发展 价值号

加密货币熊市简史,你会发现所有的下跌都是为了更好的发展

AXA Labs 2022-06-24 价值号
数字货币以太坊熊市生存
在过去的 60 天里,由于加息影响加密货币市场经历了自成立以来最悲观的时期之一,在此时间范围内损失了近 1 万亿美元。2022 年排名前两位的比特币和以太币的价值分别下跌超过 35% 和 43%。
以太坊合并碰上熊市,还能如期上涨吗? 价值号

以太坊合并碰上熊市,还能如期上涨吗?

一只团子 2022-06-24 价值号
以太坊比特币数字货币区块链
如果事情顺利,以太坊甚至可以击败比特币是最佳价值储存手段的说法

碳链快讯更多 ›

2022-06-27

Otherdeed总交易额超过10亿美元,24小时交易额涨幅达338.20%

2022-06-27

外媒:Celsius CEO曾试图逃离美国但被当局阻止

2022-06-27

中国科协主席万钢:希望走出一条具有中国特色的“元宇宙”发展路径

2022-06-27

澳新银行推出的澳元稳定币已被用于购买该国代币化碳信用额度

2022-06-27

人民网评比特币暴跌:虚拟货币终究是黄粱一梦、庞氏骗局

2022-06-27

四川法院在一起虚拟货币交易案件中判决借条无效且交易平台停止造成的损失风险自担

2022-06-27

北京:培育人工智能、区块链等新兴产业集群

2022-06-27

伊朗央行计划在2个月内推出加密里亚尔的试点

2022-06-27

印度推出首个NFT电子竞技平台Loco Legends

2022-06-27

印度时尚Web3初创公司Bitliberte完成176万美元融资

2022-06-27

彭博ETF分析师:SEC不会批准一个现货比特币ETF

2022-06-27

《徐州日报》发行江苏首份新闻数字藏品

2022-06-27

英国议员:加密市场的抛售并未动摇他对该行业的信心

2022-06-27

FatMan:今年1月Hodlnaut在未告知客户的情况下将资金大量转移到Anchor

2022-06-27

尼日利亚央行行长:推出e-naira以确保尼日利亚在日益数字化的世界中保持竞争力

2022-06-26

萨尔瓦多比特币城由墨西哥建筑师Fernando Romero设计

2022-06-26

字节跳动收购元宇宙社交厂商波粒子科技

2022-06-26

俄罗斯加密矿业价值190万美元的硬件被盗

2022-06-26

重庆市国家区块链创新应用综合性试点(渝中区)建设启动

2022-06-26

广州地区已落地数字人民币支付场景8.5万个

2022-06-26

Harmony创始人:跨链桥Horizon私钥泄露导致攻击,已转移至更严格的多签

2022-06-26

4个头部稳定币总市值首次超以太坊

2022-06-26

印度加密货币市场状况恶化 ,平台纷纷收缩

2022-06-26

风险投资家Tim Draper:比特币将在2023年达到25万美元

2022-06-26

Patrick Hansen:欧盟两项加密货币法规所有的大问题都已达成一致

2022-06-26

扎克伯格:元宇宙将在本10年后期成重要业务

2022-06-26

罗马尼亚发布将政府文件存储为NFT的计划

2022-06-26

Morgan Creek Digital试图筹集2.5亿美元,以收购BlockFi的多数股权

2022-06-26

华谊兄弟王中磊:内容是元宇宙的核心

2022-06-26

普华永道:中国市场中,数字藏品、虚拟人、虚拟世界成为当前最重要的三个元宇宙赛道

2022-06-25

农民日报首发地标农品主题数字藏品

2022-06-25

四川日报:川港交流系列活动将发行庆回归25周年NFT数字艺术品

2022-06-25

BitMEX创始人:高盛拟收购Celsius资产或仅为公关噱头

2022-06-25

上海布局元宇宙等“新赛道” 促进细则6月底公布

2022-06-25

IMF:美国经济可能在未来两年放缓,将勉强避免衰退

2022-06-25

高盛正筹集20亿美元计划收购Celsius的不良资产

2022-06-25

彭博社:以矿机为抵押物的近40亿美元贷款或对加密贷款机构构成潜在风险

2022-06-25

加密金融服务公司Flowdesk完成3000万美元A轮融资,Coinbase等参投

2022-06-24

美国用户现可通过 Apple Pay 在 Crypto.com APP 中直接购买加密货币

2022-06-24

Polygon 首席信息安全官:用于部署 Harmony 桥的多签钱包被黑客控制导致资产被盗

2022-06-24

慢雾:Ribbon Finance遭遇DNS攻击,某用户损失16.5 WBTC

2022-06-24

内蒙古通信管理局推进虚拟货币“挖矿”整治工作

2022-06-24

瑞士金融市场监管局CEO呼吁对加密市场实施更多监管

2022-06-24

Cardano联合创始人:加密合规问题应由自律组织处理,而非监管机构

2022-06-24

Ripple CEO指责美国SEC对加密公司的监管太双标

2022-06-24

成都链安:Harmony Bridge疑似私钥泄露,损失金额约1亿美元

2022-06-24

纳米比亚大学将于2024年提供区块链技术硕士学位

2022-06-24

美SEC主席敦促制定加密规则手册,以避免监管漏洞

2022-06-24

香港金管局:加密资产有需要纳入监管框架

2022-06-24

BSC链上托管平台Justcows疑似跑路,项目方已转移500万美元资金

推荐文章

  • Binance.US 遭集体诉讼:它在Terra事件中对投资者究竟做了什么?

    2022-06-27

  • 「杰伦熊」暴跌96.6%:明星带货NFT为何遇冷?

    2022-06-27

  • a16z:元宇宙带来的游戏变革会是怎样的?

    2022-06-27

  • 对加密货币崩盘和周期性的思考

    2022-06-27

  • 如何确定购买哪些 NFT:必读指南

    2022-06-26

价值号更多 ›

吉时通信
吉时通信
文章: 134
  • 从OpenSea的挑战者看NFT交易平台的演进历程
  • 以太坊合并:如何影响显卡和区块链行业?
  • 以太坊合并的底层观察:区块结构和MEV
链集市ChainMarket
链集市ChainMarket
文章: 181
  • 区块链产业周刊|重庆国家区块链创新应用综合性试点启动;蚂蚁链实现能源产业物理资产“上链”;《关于加强数字政府建设的指导意见》发布
  • 区块链产业周刊丨日本政府计划开始全面改善Web3环境;三星资产管理将上市其区块链ETF;中国支付清算协会提议推广数字人民币新场景
  • 区块链会彻底改变整个亚太地区供应链吗?
Unitimes
Unitimes
文章: 388
  • Web3 解锁更有价值的互联网
  • Messari:如何看待以太坊「以 Rollup 为中心」的未来?
  • EVM 网络效应:为什么说 EVM 可能比以太坊本身更重要?
换一批

热门标签

新基建 比特币 以太坊 矿业 DeFi 共识对话 区块链+ 研报 美联储 央行数字货币 无限QE 加密衍生品 AI 云计算 大数据 5G 政策 交易所 稳定币 电子支付 Libra 算力产业 联盟链 公链 区块链 加密货币 Nervos Cosmos EOS STO

邮件订阅

及时、全面、专业、准确的资讯与数据,致力于为区块链爱好者以及数字货币投资者提供最好的服务。

App内打开

邮件订阅

及时、全面、专业、准确的资讯与数据,致力于为区块链爱好者以及数字货币投资者提供最好的服务。

Moshou

碳链价值是集资讯、行情、数据于一身的区块链信息服务平台,我们追求及时、全面、专业、精确的资讯与数据,致力于为区块链创新者和数字货币投资者提供优质的服务。

关于我们 加入我们 联系我们 隐私条款
微信公众号

扫一扫关注微信公众号

Copyright © 2018-2020 碳链价值 京ICP备18046423号
下载碳链App

下载碳链App

微信公众号

微信公众号

微信公众号

微信公众号

打赏文章作者

支付宝打赏二维码 支付宝扫一扫打赏
微信打赏二维码 微信扫一扫打赏

# 热门搜索 #

CBDC 比特币 DeFi 以太坊 区块链