此刻,让我们来看看 Eth2.0。在 Eth2.0 之前,以太坊中从未利用过多地点,而其此刻变得很是重要。为什么?因为 Eth2.0 利用 libp2p,而 libp2p 又利用多地点来识别节点。
让我们从最早或按 commit 时间来看最早被归档的多地点 (Multiaddr[1]) 开始。多地点是 Protocol Labs 的多名目项目(multiformats project)的一部门。多名目本质上是自描写值的各类类型。由于被遍及用于 libp2p,IPFS 以及其它 Protocol Labs 的项目,你大概早就传闻过它们。
1. 多地点可从 ENR 导出接下来就是 enode[3]。enode 并不是真正的网络地点名目而是 url 名目。由于 enode 是 ENR 的前身,我们仍会先容它。一个 enode URL 如下所示:
但愿本文可以或许给出一个关于差异的网络地点是什么,这些地点间的区别,事情方法以及用途的精简提要。需要留意的是,节点记录的 RLP 编码版本号不能高出 300 字节。
节点记录包括了一个签名,序列号与一个表白用于建设和验证签名的身份认证机制所需的字段。最后,记录的其余部门包括了任意键值对,这些键值对可包括诸如毗连信息之类的对象。EIP 界说了一些具有预界说寄义的键,,如 ip,其为 4 字节暗示的节点 IPv4 地点。
该名目是面向将来的,新键纵然在部门客户端不能理会的环境下仍能被添加,以及新的身份认证机制可被添加以检讨签名。
enode://6f8a80d6ad92a0@10.3.58.6:30303?discport=30301
/ip4/127.0.0.1/udp/1234
签名被用于通过确保通报的公钥为建设签名所利用的公钥来验证记录。
本文将概述多地点,ENR 和 enode 这三类网络地点。
2. 由于 ENR 可以或许添加任意键,多地点能被包括在 ENR 中。原文地点:https://mp.weixin.qq.com/s/yOpPEfVfLI45fDzG9MvxlQ
Eth 2.0
原文作者:Dean Eigenmann
原文编译:Unitimes_David
多地点 (Multiaddr)
enode 体系被用于暗示 URL。enode://后头随着一个十六进制编码的节点 ID。接下来,@ 标记后头暗示的是主机,其必需为一个 IP 地点。主机后头列出了 TCP 端口,在我们的例子中为 30303。若 UDP 和 TCP 的端口差异,UDP 端口可通过在末端添加 discport 参数来指定。
最后我们来先容 ENR[4](以太坊节点记录)。ENR 很有趣,原因在于其皆利用了前两种范例(多地点和 enode URL)的特性,使得它变得十分通用。ENR 的主要念头是答允转发进程中携带更多的信息,因而引入了节点记录。节点记录是自证的,并且节点可通过签名来辨别身份。这些记录被暗示为一个 RLP 列表 [5]——此处我不会举办具体先容,但稍微提及一下,RLP 是以太坊利用的一种序列化名目。
上面展示了一个以可读名目暗示的多地点。该多地点是一种以键值对来暗示地点的可递归名目。(笔者注,地点可表达为 {<ip4, 127.0.0.1>, <udp, 1234>})。二进制暗示也是沟通的——有一个字节数组暗示键,尚有一个用于暗示值。键可以通过协议表 [2] 从可读形式映射为代码形式。
那么,我们该怎么处理惩罚这种环境呢?Eth2.0 的 P2P 类型 [6] 展示了 2 种方案:以太坊 网络地点 科普
多地点有两种暗示形式:一种是存储或传输时利用的二进制暗示;另一种是提供应用户的可读名目。
ENR
区块律动 BlockBeats 提醒,按照银保监会等五部分于 2018 年 8 月宣布《关于防御以「」「」名义举办犯科集资的风险提示》的文件,请宽大公家理性对待区块链,不要盲目相信口不择言的理睬,树立正确的钱币见识和投资理念,切实提高风险意识;对发明的违法犯法线索,可努力向有关部分举报反应。
假如同一个身份签发了 2 个差异的记录,那么序列号可用于办理斗嘴:划定利用序列号较大的记录。
enode
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。