科普 | 以太坊中的网络地址_区块链:SaveNode

作者:DeanEigenmann编译:Unitimes_David

本文将概述多地址,ENR和enode这三类网络地址。

在与FelixLange讨论之后,我认为攥写这篇关于在以太坊生态中遇到的各类网络地址及其差异的文章是很有意义的。我自身对它们理解也存在着些误区,因而觉得对其进行阐述会很有价值。多地址(Multiaddr)

让我们从最早或按commit时间来看最早被归档的多地址(Multiaddr)开始。多地址是ProtocolLabs的多格式项目的一部分。多格式本质上是自描述值的各种规范。由于被广泛用于libp2p,IPFS以及其它ProtocolLabs的项目,你可能早就听说过它们。多地址有两种表示形式:一种是存储或传输时使用的二进制表示;另一种是提供给用户的可读格式。/ip4/127.0.0.1/udp/1234上面展示了一个以可读格式表示的多地址。该多地址是一种以键值对来表示地址的可递归格式。。二进制表示也是相同的——有一个字节数组表示键,还有一个用于表示值。键可以通过协议表从可读形式映射为代码形式。enode

欧科云链集团正式启动区块链科普行动“星途计划”:欧科云链集团于4月26日,正式宣布启动了区块链科普行动——“星途计划”,行动包括将在全国范围展开系列沙龙,加大力度推进区块链科普进机关、进国企、进校园等,联合政府部门、行业协会等共同构建起更加完善和有效的区块链科普教育生态,与此同时,直击区块链科普现存痛点,推出简单易懂的“秒懂区块链”公益短视频课。

该计划旨在全维度推动社会建立对产业更清晰的认知,与“鲲鹏计划”一道助力数字经济及区块链产业本身健康发展夯实“人才”和“产业认知”两大基础。[2021/4/26 20:59:37]

接下来就是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

动态 | 报告:区块链等热点词促使童书科普百科类成交额同比增速最高:近日,京东图书与艾瑞咨询联合发布了《2019中国图书市场报告》。报告指出,AI、5G、区块链、机器人、VR、智能家居、AR这些热点词,不断点燃科技热潮,科技在改变大众生活的同时,也吸引了越来越多家长的关注,从小培养孩子对科技的兴趣和热爱。因此童书中科普百科类成交额同比增速最高,占比将近40%。[2020/1/8]

最后我们来介绍ENR。ENR很有趣,原因在于其皆使用了前两种类型的特性,使得它变得十分通用。ENR的主要动机是允许转发过程中携带更多的信息,因而引入了节点记录。节点记录是自证的,而且节点可通过签名来鉴别身份。这些记录被表示为一个RLP列表——此处我不会进行详细介绍,但稍微提及一下,RLP是以太坊使用的一种序列化格式。

动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]

节点记录包含了一个签名,序列号与一个表明用于创建和验证签名的身份认证机制所需的字段。最后,记录的其余部分包含了任意键值对,这些键值对可包含诸如连接信息之类的东西。EIP定义了一些具有预定义含义的键,如ip,其为4字节表示的节点IPv4地址。

动态 | 央行官微旧文重发“再科普”:范一飞详解数字货币:据中国经济网消息,今日,央行官微公众号头条重新发布央行副行长范一飞在2018年1月25日题为《关于央行数字货币的几点考虑》的文章,对央行数字货币再次进行科普。同时,微信公众号第二条发布支付司副司长穆长春8月10日在第三届中国金融四十人伊春论坛上的演讲。近年来,各主要国家和地区央行及货币当局均在对发行央行数字货币开展研究,新加坡央行和瑞典央行等已经开始进行相关试验,人民银行也在组织进行积极探索和研究。[2019/8/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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:46ms0-8:742ms