2026年10月19日周一

标签:网络协议

汇总与「网络协议」相关的文章,帮助你系统了解该主题。

libp2p是什么?把连邻居这件事拆成模块的网络栈
加密货币百科
libp2p是什么?把连邻居这件事拆成模块的网络栈

区块链节点之间怎么找到彼此、加密对话、并行传数据,很多项目没有从零发明轮子,而是用 libp2p 这套模块化网络栈。本文拆解它的身份(PeerID 与 Multiaddr)、传输与加密分层、流复用、Gossipsub 消息扩散、DHT 发现与 NAT 穿透各模块,以及 IPFS 与以太坊共识层的实际采用情况和选型时要看的边界。

新类型交易怎么在节点间流通:EIP-2976的八卦传输规则
加密货币百科
新类型交易怎么在节点间流通:EIP-2976的八卦传输规则

EIP-2718给交易加了类型字节,但块里放得下不等于节点之间传得出去。EIP-2976在2020年补上八卦协议这一环:交易消息直接装类型化交易的字节串,收到不认识类型的节点应当断开对端,升级前禁止广播新类型。这条Final提案解释了为什么新交易类型上线不需要再抬devp2p版本号。本文讲清规则文本、断开策略的缘由,以及它和交易哈希公告的配合关系。

闪电连接的把脉方式:ping、pong 与 65532 这条分界线
加密货币百科
闪电连接的把脉方式:ping、pong 与 65532 这条分界线

BOLT 1 的 ping/pong 用回包长度做关联:num_pong_bytes 小于 65532 必须回 pong,不小于则静默忽略;收不到 pong 可以断连接但不得作废通道。本文按规范拆解字段、保活用法与比特币层 ping 的分界。

分叉从块号改到时间戳后,节点握手怎么不认错链:EIP-6122
加密货币百科
分叉从块号改到时间戳后,节点握手怎么不认错链:EIP-6122

分叉指纹让以太坊节点在握手阶段就能踢掉不同链的邻居,但它的算法是按区块高度喂入的。合并之后分叉改按时间排期,老算法出现两个盲区。EIP-6122把时间戳也喂进指纹计算,本文拆解这次修补的来龙去脉。

节点为什么删掉按哈希点菜的功能:EIP-4938与eth/67的瘦身
加密货币百科
节点为什么删掉按哈希点菜的功能:EIP-4938与eth/67的瘦身

以太坊同步协议曾经允许节点按状态哈希逐条索要trie节点和合约代码,这条GetNodeData消息最终被EIP-4938从eth/67里删除。本文讲清这条消息原本干什么、为什么效率问题大到必须取消,以及删掉之后节点靠什么补齐缺的数据。

notfound 消息:比特币节点要货被拒时那句明确的"没有"
加密货币百科
notfound 消息:比特币节点要货被拒时那句明确的"没有"

节点发 getdata 点货,对端手里没有对应数据时回一条 notfound,把"在路上了"和"根本拿不到"区分开。比特币核心源码 protocol.h 定义该消息类型,net_processing.cpp 在处理 getdata 时把取不到的条目攒进 vNotFound 回给请求方。本文拆解它出现的位置、与孤儿交易等待和区块补洞的配合,以及误读它导致的排障弯路。

Kademlia 怎么路由?以太坊节点发现的异或距离与桶表
加密货币百科
Kademlia 怎么路由?以太坊节点发现的异或距离与桶表

新节点连上网络的第一步不是同步区块,而是“找人”。本文拆解以太坊发现协议 discv4/discv5 的 Kademlia 思路:节点 ID 之间的距离度量、桶状路由表怎么逐级逼近、以及它和 DNS 种子节点的分工。

feefilter 消息:比特币节点如何提前告诉邻居“低于这个费率的交易别通知我”
加密货币百科
feefilter 消息:比特币节点如何提前告诉邻居“低于这个费率的交易别通知我”

比特币节点之间会周期性发送一种叫 feefilter 的 P2P 消息,把“我当前内存池愿意接受的最低费率”提前告诉对方,让邻居在通知交易前先自查费率,省掉大量无效的 inv 与 getdata 往返。这套机制定义在 BIP133,对应协议版本 70013,Bitcoin Core 从 0.13.0 起支持。本文讲清它解决什么问题、消息内容是什么、为什么它是“允许而非强制”的规则,以及它对普通用户广播交易意味着什么。