作者:Raphaël

译者注:Dappy是RChain生态中的DNS【域名系统(服务)协议】。Dappy基于RChain的技术架构保障了域名系统的安全性。

Dappy是一个用于文件和Web应用程序的去中心化分发网络。Dappy既不使用DNS系统也不使用电子证书认证中心,它执行的是相同的工作,但是该服务是由分散的网络执行而不是集中式服务执行。DNS的问题之一,同时也是我们开发Dappy的原因之一,就是为了大福降低风险,并降低当今任何网站对DNS黑客和网络钓鱼的威胁。在本文中,我们将重点介绍DNS黑客入侵的性质以及Dappy系统如何防止DNS黑客入侵。

DNS黑客入侵是一种旨在阻止DNS服务器正常工作的恶意操作。所有代理(浏览器,操作系统等)都需要使用DNS服务器(例如负责* .fr *域名的服务器),其中大部分请求是DNS查找请求,这些代理想要的只是与给定域名相对应的IP地址(例如* pizza.fr *)。黑客可能会将客户端重定向到他的服务器,而不是* pizza.fr *的合法所有者的服务器。对于正规企业或组织,这种黑客行为会造成大量损失,并且常常还会损害品牌形象。

我们不会讨论DNS解析是如何工作以及黑客如何发挥作用的技术原理,要记住的要点是操作系统或Web浏览器会指向给定的DNS服务器(例如cloudflare是1.1.1.1。)。该服务器是入口点,是依赖它的代理的最终真理之源,所有的DNS查找都可以寻址到此服务器,它会将请求传播到正确的服务器,然后在最终已知IP时回复客户端。

为了了解Dappy系统是如何防止黑客入侵域名系统的(至少使得它变得更为困难),我们必须引入Dappy名称系统。Dappy包括了一个在RChain区块链上的名称系统,所有基于公司的域名购买,续订和转售工作均由分散的智能合约平台处理。当然,如果有名称的话,任何人都可以预订,因此具有密码学保证的属性。

在域名系统中,给定的服务器(或服务)是负责扩展的。例如,* .fr *域名是由AFNIC处理的(请参阅IANA Whois页面)。在Dappy中,还存在一个相互独立的代理网络,但是相反地,它们的职责是不分离的。这里是关键部分,Dappy网络上的每个成员都是名称解析的共同权威,RChain区块链则是一个复制的数据库,每个服务器应共享相同状态,因此,对于相同的查询,它们的响应是完全相同的。客户端将不依赖于给定服务器进行名称解析(记住上面的示例),而是依赖于许多彼此独立的代理。

Dappy系统的客户端不执行单个查询请求,而是执行多个请求;它们不询问中央计算机,而是询问计算机网络,这就是Dappy范式分散和强大的原因所在。黑客如果想欺骗客户,就必须使网络无法执行其工作,这比关闭或欺骗单个DNS服务器要复杂得多。Dappy浏览器包括一个共识层,允许它不信任任何给定的服务,因此,该名称系统不会出现单点故障。

假设某个客户想要访问资源“披萨:,Dappy浏览器将向所有单个网络成员(例如20个成员)发送查找请求,如果任何单个响应都与其他响应不同(100%准确度),则最终的配置会将查找操作视为失败。但是我们确实希望有一个异常行为的空间,那么80%的准确性就是一个很好的设置。每次客户加载网站时,所有Dappy网络成员都会被查询到,其中至少80%的用户给出相同的答案才能算查询成功,并让客户继续浏览Web。(但这样一来它仍然还是网络吗?)

重要的不是数字,而是实施或设计问题。关键是分散范式与集中式DNS有很大不同。Dappy集成并预测了部分可能的网络故障(可能是网络问题,黑客攻击,恶意行为等),这就是为什么必须分散管理的原因。Dappy客户端永远不会查询互联网上的单个服务器,而是从RChain区块链中获取某些数据,他们将始终查询多个服务器,Dappy系统仅依赖于分散的、公开可见的计算机网络。成员们唯一要做的就是对区块链平台的状态保持透明,而他们对该平台并无控制权。

Dappy主要提出了两种不同类型的应用程序,即dapps(去中心化应用程序)和IP应用程序。本文以及我们刚刚所提到的名称系统所考虑的仅仅是IP应用程序,而dapps是其他类型的应用程序,我们将会在未来的文章中涉及。

本文已经太长了,对于其他未来可能会出现的问题,我们当然还会有其他文章来详细进行介绍。

最新文章

  1. jQuery基础--样式篇(3)
  2. MYSQL EXPLAIN 很慢的原因
  3. SharePoint 2013 搜索体系结构
  4. pipe()管道最基本的IPC机制
  5. MySQL之学生名次问题
  6. VS2012中启动性能分析 独占样本数的分析
  7. CI框架深入篇(2)一些基础的我之不知道的标准格式
  8. kibana 访问IP分布图
  9. C# selenium环境配置
  10. ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler)
  11. Java方法参数的传递方式
  12. Spring———bean的创建方式,注入方式,复杂类型注入 概括
  13. Sqlalchemy python经典第三方orm
  14. IBM沃森会成为第一个被抛弃的AI技术吗?
  15. oracle函数大全-字符处理函
  16. 你不可缺少的技能——Markdown编辑
  17. test examples/test scripts
  18. 螺旋折线|2018年蓝桥杯B组题解析第七题-fishers
  19. BAT脚本编写教程(比较易懂和全面)
  20. Gogland编译LiteIDE工程需要注意问题!

热门文章

  1. HDU6578 2019HDU多校训练赛第一场 1001 (dp)
  2. Struts2标签库常用标签(转)
  3. .bash_profile 文件
  4. 分布式全局唯一ID生成策略
  5. The Annual Summary Of 2019
  6. 大白话抽象工厂模式(Abstract Factory Pattern)
  7. 聊聊密码学中的DES算法
  8. 吴恩达机器学习笔记 - cost function and gradient descent
  9. Jenkins2构建pipeline流水线
  10. 曹工说Spring Boot源码(8)-- Spring解析xml文件,到底从中得到了什么(util命名空间)