EthDNS:一个域名系统的以太坊后端

什么是域名系统?

-一个完全合格的 DNS 名称的分解-

其分解后的组成部分可以在 DNS 层次结构中找到,如下所示:

DNS 层次结构使得从 DNS 根开始遍历所有节点成为可能,其方法是按照 DNS 域名的组成部分逐层从右到左遍历。

域名树中的每个节点映射到一个数据存储,其中每个节点的数据存储必须包含其正下方所有直接连接的节点数据。服务器保存这些数据,并使其可供 DNS 客户端查询(这种服务器称为“域名服务器”)。

-解析my.xyz域名所需的传统的 DNS 服务器基础设施-

(请注意,上图及其解释是 DNS 的简化视图,但这对于本文来说就足够了)。

什么是 EthDNS ?

EthDNS 由两个部分组成:一个是以太坊域名服务(ENS)解析器,另一个是域名服务器。前者允许在区块链上存储和访问 DNS 信息,后者允许使用与保存在传统域名服务器上的同等 DNS 信息的方式访问 DNS 信息。

这两个部分相结合,将域名解析基础设施图变成了下面的样子:

-包含提供my.xyz服务的 EthDNS 的 DNS 域名服务器基础结构-

my.xyz域名的域名服务器已经被配置为从以太坊区块链而非本地存储中获取信息,在图片中以右下角的以太坊符号表示。请注意,域名解析过程与上一张图片记录的过程完全相同,并且客户端不知道信息是从区块链返回的。 这使得 EthDNS 可以替换现有的域名服务器并与现有基础设施无缝配合。

EthDNS 的优点

在传统的 DNS 基础设施上使用 EthDNS 有许多的优点。

EthDNS 比传统的 DNS 更高效。 DNS 的分布式体系结构允许不同的域名服务器负责 DNS 层次结构中的不同部分,例如一个域名服务器可能负责根域名,另一个负责xyz域名,还有一个负责my.xyz域名。但这就导致了上一张图那样的来回的请求。相比之下, EthDNS 域名服务器只能提供各域名所有者在以太坊区块链上存储的信息,而无法修改信息。因此, EthDNS 域名服务器可以直接为存储在以太坊上的所有域名提供信息,如下图所示:

EthDNS 域名信息的直接解析

另一个显着的好处是信任。 DNS 依赖于一个信任网络,特别的是层次结构中的每一级都信任它的上一级。如果这个信任失效,例如,如果xyz域名服务器的所有者决定删除my.xyz域名,那么my.xyz的域名所有者就没有办法让他们的用户解析他们的域名。这种情况可以在下图看到:

-在传统 DNS 中拉黑一个域名-

EthDNS 避免了这样的恶意拉黑,因为它是基于区块链的而不是分层的。正如前文所述,一旦一个域名在ENS中注册了,它就可以被直接查到。因此,数据无法被阻止( EthDNS 域名服务器短缺可能造成拒绝提供服务的问题,但解决方法见下文)。

DNS 服务器可以说是互联网基础架构中非常值得信赖的一部分,但这种信赖在过去一直被滥用。 DNS 劫持和中毒曾多次发生,并导致了用户安全信息泄露以及网站被封杀。因为 EthDNS 仅提供区块链数据,因此有安全意识的系统可以独立确认所提供的信息,同时/或者绕过域名服务器,直接从 EthDNS 解析器获取数据,该过程如下图所示:

-客户端将域名服务器从解析过程中删除,直接查询 EthDNS 解析器-

EthDNS 域名服务器遵循一个描述良好的系统来从 EthDNS 解析器中获取数据(ENS解析过程)。因此,用户可以创建或运行自己的 EthDNS 域名服务器,从而避免恶意域名服务器提供错误信息或阻止域名的可能性。

现状

EthDNS 在以太坊的Ropsten测试网络上运行着由ENS支持的域名服务器。例如,如果您访问http://www.ens DNS .xyz/, 的IP地址是由 EthDNS 域名服务器解析的。如何为自己的域名设置 EthDNS 则是下一篇文章的重点。

未来的计划

一旦 EthDNS 域名服务器和解析器都通过了测试, EthDNS 解析器将部署到以太坊主网上,同时也将部署 EthDNS 域名服务器以允许在以太坊上运行生产级的 DNS 。

目前 EthDNS 还无法存储域名系统安全拓展( DNSSEC)记录。这是由于在链上存储这些信息的成本和复杂性过高,特别是更换密钥时的更新成本。 EthDNS 域名服务器计划未来提供 DNS 结果的实时签名,同时计划努力研究是否可能使ENS支持链下储存数据的原生 DNS SEC,如储存在IPFS上。

有关 EthDNS 的更多信息和讨论,请通过 https://gitter.im/ethereum/go-ethereum/name-registry 访问Gitter的ENS讨论室。

本文由作者授权 EthFans 翻译及再出版。

你可能还会喜欢:

ENS的深度剖析

http://ethfans.org/posts/351

嫌BTC贵?ENS一个换一套别墅!

http://ethfans.org/posts/670

以太坊域名注册方法

http://ethfans.org/liukan/articles/575

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180221B0PH2F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券