作者:DeanEigenmann编译:Unitimes_David
本文将概述多地址,ENR和enode这三类网络地址。
在与FelixLange讨论之后,我认为攥写这篇关于在以太坊生态中遇到的各类网络地址及其差异的文章是很有意义的。我自身对它们理解也存在着些误区,因而觉得对其进行阐述会很有价值。多地址(Multiaddr)
美国说唱歌手Megan Thee Stallion与Cash App合作发布比特币科普视频:美国说唱歌手Megan Thee Stallion与由Square开发的移动支付服务Cash App合作发布了一段名为“Bitcoin for Hotties”的视频。该视频从她的角度解释了什么是比特币,为什么比特币有价值等内容。Megan Thee Stallion在Instagram上拥有超过2410万粉丝,在 Twitter上拥有640万粉丝。(Bitcoin News)[2021/8/8 1:41:10]
让我们从最早或按commit时间来看最早被归档的多地址(Multiaddr)开始。多地址是ProtocolLabs的多格式项目的一部分。多格式本质上是自描述值的各种规范。由于被广泛用于libp2p,IPFS以及其它ProtocolLabs的项目,你可能早就听说过它们。多地址有两种表示形式:一种是存储或传输时使用的二进制表示;另一种是提供给用户的可读格式。/ip4/127.0.0.1/udp/1234上面展示了一个以可读格式表示的多地址。该多地址是一种以键值对来表示地址的可递归格式。。二进制表示也是相同的——有一个字节数组表示键,还有一个用于表示值。键可以通过协议表从可读形式映射为代码形式。enode
现场 | 火币中国推出数字经济及区块链产业科普新书:金色财经现场报道,12月6日,由海南省工业和信息化厅主办,南南合作金融中心协办,海南生态软件园、火币中国承办的“海南自贸港数字经济和区块链国际合作论坛”在海口举行,这是全球首次区块链部长级论坛。
在本次论坛上,火币中国举行了“数字经济及区块链产业科普系列新书发布”仪式,希望通过教材、专业教育、培训等多种方式,帮助从业者、高校、研究机构深入了解区块链,从而建立起区块链全局性知识模型,真正推动区块链应用落地。火币中国CEO袁煜明介绍,将联合机械工业出版社面向普通高等教育推出《区块链导论》、《区块链系统设计与应用》和《区块链新商业模式分析》系列教材,这是国内最早推动的区块链教材之一;火币中国还积极参与数字经济的研究,由中信出版社出版的新书《读懂Libra》已经上市;由火币中国负责编写的区块链技术科普读物《区块链技术进阶指南》将于12月面世;首本行业内最全的区块链应用案例集《区块链产业应用100例》在本次论坛进行了首次刊印。[2019/12/6]
接下来就是enode。enode并不是真正的网络地址格式而是url格式。由于enode是ENR的前身,我们仍会介绍它。一个enodeURL如下所示:enode://6f8a80d6ad92a0@10.3.58.6:30303?discport=30301enode体系被用于表示URL。enode://后面跟着一个十六进制编码的节点ID。接下来,@符号后面表示的是主机,其必须为一个IP地址。主机后面列出了TCP端口,在我们的例子中为30303。若UDP和TCP的端口不同,UDP端口可通过在末尾添加discport参数来指定。ENR
声音 | CNBC主持人:加密货币最大的缺点之一就是难以向外行快速科普:CNBC主持人Ran NeuNer近期发推称,加密货币最大的缺点之一就是很难向外行快速解释。当人们要求我向他们解释比特币时,我知道他们至少需要一个小时才能真正理解。[2019/9/10]
最后我们来介绍ENR。ENR很有趣,原因在于其皆使用了前两种类型的特性,使得它变得十分通用。ENR的主要动机是允许转发过程中携带更多的信息,因而引入了节点记录。节点记录是自证的,而且节点可通过签名来鉴别身份。这些记录被表示为一个RLP列表——此处我不会进行详细介绍,但稍微提及一下,RLP是以太坊使用的一种序列化格式。
节点记录包含了一个签名,序列号与一个表明用于创建和验证签名的身份认证机制所需的字段。最后,记录的其余部分包含了任意键值对,这些键值对可包含诸如连接信息之类的东西。EIP定义了一些具有预定义含义的键,如ip,其为4字节表示的节点IPv4地址。
中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]
签名被用于通过确保传递的公钥为创建签名所使用的公钥来验证记录。
如果同一个身份签发了2个不同的记录,那么序列号可用于解决冲突:规定使用序列号较大的记录。
需要注意的是,节点记录的RLP编码版本号不能超过300字节。
该格式是面向未来的,新键即使在部分客户端不能解析的情况下仍能被添加,以及新的身份认证机制可被添加以检验签名。
Eth2.0
现在,让我们来看看Eth2.0。在Eth2.0之前,以太坊中从未使用过多地址,而其现在变得非常重要。为什么?因为Eth2.0使用libp2p,而libp2p又使用多地址来识别节点。
那么,我们该怎么处理这种情况呢?Eth2.0的P2P规范展示了2种方案:
多地址可从ENR导出
由于ENR能够添加任意键,多地址能被包含在ENR中。
希望本文能够给出一个关于不同的网络地址是什么,这些地址间的区别,工作方式以及用途的精简概要。
原文链接:
https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/
参考链接:
https://multiformats.io/multiaddr/
https://github.com/multiformats/multiaddr/blob/master/protocols.csv
https://github.com/ethereum/wiki/wiki/enode-url-format
https://eips.ethereum.org/EIPS/eip-778
https://github.com/ethereum/wiki/wiki/rlp
https://github.com/ethereum/eth2.0-specs/blob/065b4ef856aeb7f84f1bed5c4a2cd4d6ac1edc87/specs/phase0/p2p-interface.md#what-is-the-difference-between-an-enr-and-a-multiaddr-and-why-are-we-using-enrs
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。