风险提示:理性看待区块链,提高风险意识!
基于侧链的P2P网络设计
首页 > 币界资讯 > 区块链新闻 2018-03-07 17:46:53


p2p网络是一种在组网节点之间进行任务分配和工作负载的对等网络。节点之间地位相等、功能相同、无主次之分。没有中心节点,每一个节点既是服务的请求者又是服务的响应者。资源冗余存储,部分节点的故障不影响整体网络的运行。


p2p网络是一个天然的分布式、去中心化的信息存储和查询网络,是区块链网络层的标准解决方案,区块链网络的数据同步、状态更新、消息广播都是通过P2P网络进行的。


在区块链出现之前,p2p网络已经被电驴、BitTorrent所广泛采用,块链P2P实现大多是对已有P2P网络的微小改进,以适应区块链自身的特点。



以太坊的P2P网络


以太坊的P2P网络由两部分组成:网络发现模块,数据传输模块。


网络发现模块主要包含ping/pong/findNode/sendNeighbours四个方法。


ping/pong方法用于节点发现;

findNode用于查询附近的节点;

sendNeighbours用于返回附近的节点,网络发现的细节参考了Kademlia协议。


整体结构是一个二叉树,每一个节点都是二叉树的一个叶结点,叶结点是一个256位的二进制值,是通过一个512位的公钥计算得到的。两个叶节点间的距离由叶结点进行异或运算得到。每一个节点都拥有一个由32个桶构成的路由表。表中由近及远存储了已经发现的节点,每个桶最多存储16个节点。


当一个节点A加入网络时,先通过外部机制,获取到初始路由表。A向路由表中距离自己最近的节点B发送ping消息,如果节点B存在则返回pong消息。A向B发送查询附近节点的请求findNode,B从自己的路由表中返回16个距A最近的节点。如果返回的节点中,C比B离A更近,则A向C发出ping请求,并重复以上步骤,直到找不到距离A更近的节点为止(如图一)在一个拥有2^n个节点的网络中,最多需要n次就可以找到距离A最近的节点列表。实际项目中,可以通过并行查找提高效率,通常使用UDP协议。

(图一)

数据传输模块负责和已发现的节点进行数据交换。A节点给B节点发送一个hello消息,定义了相互之间数据交互的规则,然后通过send和receive对加密数据进行交换,获取到数据之后,先解密然后存储到本地数据库。


当节点需要广播消息时,则取出附近的节点,向附近节点发送消息,附近节点发现这是一个广播消息,也会向其他附近节点发送该消息,直至传遍整个网络。



多侧链的p2p网络


第三代区块链项目通常都具有多侧链功能。而常规的P2P网络无法很好的适应该需求。FairBlock区块链项目在实现过程中对现有的p2p网络进行了改进,使得单个P2P网络可以同时运行多个侧链。每一个节点都为自己关心的所有侧链单独维护一张路由表(如图二)节点之前互相发现和消息传递时,都会增加额外的侧链编号字段,以唯一表示当前正在运行的侧链。同一节点可以同时运行多个侧链,而不会互相影响。


(图二)

在FB的基于CPOS的测试网络中,同时运行了100个侧链,平均3秒左右即可生成一个新的区块,在侧链增多的情况下,区块生成速度和传播速度几乎不受影响。

币界网免责声明:

1.本网站所提供的所有信息仅供参考,不构成任何投资建议。

2.用户在使用本网站的信息时应自行判断和承担风险。

3.币界网不对用户因使用本网站信息而导致的任何损失负责。

4.用户在进行任何投资活动前应自行进行调查和研究。

5.币界网不对用户基于本网站信息做出的任何投资决策负责。

6.用户在本网站发布的任何内容均由其个人负责,与币界网无关。

上一篇: 暴涨暴跌,如何预测BTC价格?
下一篇: ENS域名解析:像使用DNS一样使用ENS
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥188,693.21
26,438.36 USDT
+1.52%
ETH以太坊
¥11,961.70
1,675.99 USDT
+2.42%
USDT泰达币
¥7.23
1.01 USDT
+0.02%
BNB币安币
¥1,564.73
219.24 USDT
+2.67%
XRP瑞波币
¥3.79
0.53100 USDT
+1.84%
USDC
¥7.14
1.00 USDT
-0.01%
OKBOK币
¥314.88
44.12 USDT
+1.87%
ADA艾达币
¥1.93
0.27040 USDT
+4.44%
DOGE狗狗币
¥0.45560
0.06384 USDT
+1.94%
SOL
¥156.59
21.94 USDT
+6.38%
热搜币种
更多
币种
价格
24H涨跌幅
Filecoin
¥25.26
3.4742 USDT
+1.98%
dYdX
¥15.84
2.1789 USDT
+10.64%
Curve
¥3.40
0.4681 USDT
-1.29%
Yield Guild Games
¥1.89
0.2601 USDT
+14.68%
Terra Classic
¥0.00
6.465E-5 USDT
0%
比特币
¥192,254.47
26438.36 USDT
+1.52%
Shiba Inu
¥0.00
8.33E-6 USDT
+1.46%
柚子
¥4.32
0.5939 USDT
+2.5%
Livepeer Token
¥47.72
6.563 USDT
+11.99%
FTX Token
¥7.80
1.0733 USDT
-1.4%
Conflux
¥0.95
0.1305 USDT
+4.15%
Gala
¥0.15
0.020033 USDT
+2.8%
最新快讯
更多
Bithumb正式开通与LBank的白名单
2023-08-24 13:19:55
数据:某巨鲸花费400万美元买入UNI、LDO和AAVE
2023-08-24 12:51:16
巨鲸0xa38c在过去一小时内花费400万枚USDT买入UNI、LDO和AAVE
2023-08-24 12:51:16
巨鲸0xa38c在过去一小时内总共花费400万枚USDT买入UNI、LDO和AAVE
2023-08-24 12:51:16
巨鲸0xa38c在过去一小时内总共将400万枚USDT转为UNI、LDO和AAVE
2023-08-24 12:51:16
UXD Protocol计划购买500万美元的SOL并质押
2023-08-24 12:46:02
币安将于9月7日更新BTC零手续费交易计划
2023-08-24 12:39:29
下载币界网APP