Maidsafe:去中心化互联网之安全网络的架构
尽管我们尽了最大的努力,偶尔还是会在论坛遇到一些人说他不太确切理解Maidsafe到底是个什么东东。他们通常会这样说“这个听起来很酷,但我事实上真的不知道去中心化互联网到底是什么意思”。我们花了大约12个月的时间,用来解释这一概念,做演讲、制作视频、文件以及许多东西,你可能认为这些会让你很沮丧。但是,你真搞错了。其实,这完全是……可理解的………。
首先,去中心化的概念很早就出现了,但是如果你对比特币或别的一些去中心化分布网络不熟悉的话,你很难想象他是什么意思。就像现在还有人问我们:“你们的服务器到底在哪里?“我怀疑这是由于“客户/服务器”的模式已经根深蒂固的存在于人们的思想里了,在我们的意识里,对计算机的网络运行工作原理的概念,一直停留在一个固化的模式里。
另一个原因可能是我们使用了一个可能还不足以完整表达含义的短语,比如“分布式网络”来简化我们交流的过程。现代媒体里层出不穷的信息和新名词很容易把它混淆和淹没在一个众多企业产品的和技术争相攫取我们每一分秒宝贵时间的乱糟糟的环境里。
为了克服这些挑战,尝试和运用一些上下文分析可能是有帮助的,来看看互联网目前的文章,是如何解释安全的网络的。因为这是一个被放在博客里讨论的很大的话题,所以请原谅这种简而化之的解释,这个链接里是一个有关于此的主要概念解释。然后,这里是一个由Rus shuler发表的更全面的解释,我分享的这些都是很宝贵的资源。
互联网最基本的层次,通常被描述成OSI模型,包括电缆、路由器、交换机、服务器和一些被连接上的终端设备。在这个层面上看,数据存在于它最基本的水平,是1和0的堆砌。这些硬件设备需要一个独一无二的位置地址(在TCP / IP网络里)以便他们彼此能够找到另一个设备,这个被称为IP(互联网协议)地址。
你可能听说过,现行的IPv4 的IP地址即将被耗尽(只有2 ^ 32个),所以,互联网工程任务组一直在试图向IPv6过渡,通过25年左右的时间来完成这一过程,然而,转变通常是缓慢的。你可以看到这个图上有一个网络层,它通过使用消息内容和目的地址(IP)进行数据的传输,网络层然后决定如何进行这一工作。这些信息通常是被分解成碎片,或数据包的形式进行传输。
现有的互联网
正是在这一点上,现有的互联网和安全网络(Safe network)的不同之处。传输层实现的是从一个资源和目的地之间进行可变长度的数据传递,不断检查以确保每个数据包都被传送到目的地,并且重新提交那些没有被成功传送的信息包。我们可以把传输层类比成一个邮局,分类和发送信件和包裹到达目的地。常见的两个层包含的协议是:传输控制协议(TCP)和用户数据包协议(UDP)。
会话层管理设备之间的连接;建立、管理和终止应用程序之间的交流与对话。会话层响应来自提交层的请求,它负责将数据从会话层传输到应用层,并将其转化成可被后者接受和显示的格式。这可能包括例如加密解密功能,数据压缩等手段。
最后我们来到了应用层,OSI模型的最高水平,这也是被广大互联网用户所熟悉的一层。应用层把信息从低层传导显示给用户,这就是我们每天都在使用与进行交互操作的一个个应用程序。在这个层面上我们会看到:在网络上进行数据通信的基础协议如超文本传输协议(HTTP),以及发送电子邮件的邮件简化传输协议(SMTP)。
安全的网络
我在这里不打算对安全栈作太多详细的描述,随后将在另一篇文章做讲解。这里的任务是介绍和展示如何进行比较和对比OSI模型。
如下面的图所描绘的,安全网络是一个覆盖的网络,利用互联网现有的硬件和网络层。值得注意的是在这一点上,我们专注于在软件层面的更改,可以预期的是,安全网络将在硬件层内有一个显著的影响。随着越来越多的网络资源被安全网络的用户所提供,我们将可以有能力减少部署的服务器数量以及改变他们使用的方式。
依托现有的互联网基础设施的硬件和基础网络,安全网络利用了UDP传输协议,使用一个可靠UDP交换器(CRUX)坐享资源。这两层的组合,和之上的路由层,提供了可靠性和TCP拥塞控制的同时还帮助解决NAT穿越的问题。
网络地址翻译(NAT)通常用于解决之前提到的IPv4地址耗尽问题,把个人IP地址添加在一个公共IP地址的后面。由于NAT无法确定传入的消息是来自哪个设备,这带来了一个问题,特别是P2P程序,如文件共享服务,如Torrents,或像Skype的VOIP应用。CRUX,UDP和路由的使用,使得安全网络得以遍历所有的NAT路由器。
根据上面的UDP和CRUX,路由层是分布式哈希表(DHT),基于Kademlia的,管理网络上的节点之间的路由。每个节点在本地存储的其他连接到这个节点的信息。到达目的地之前,用作信息交换的路由通常会把数据传输经过许多个中间的节点。CRUX提供的信息和确认/重传机制确保信息可以被可靠的传递,这是通信成功的关键。
通过在用户的计算机设备,验证设备和库可以完成网络图书馆所需要的一切。验证设备关键作用在于验证用户,使他们能够执行各种任务,如转移一个safecoin的所有权或访问一个文件。这些密钥并不需要中心化的权威授权验证。库被掌管在网络上的矿工手里。这些库在执行多种功能,包括;管理数据,存储数据,维护客户端,管理其他网络节点以及整个网络。
编程应用接口(API)在加密层的最上面,为安全的客户端(应用程序)提供连接到基础网络的方式。这些API(有两个)将被网络中的APP的开发者用于使他们的应用程序可以使用这些网络功能。其余的API可以用来创建一些简单的命令,比如:输入(put),得到(get),删除(delete),,,而像NFS API的POSIX则提供更精细的访问,加入更多的高级功能。驱动器是一个跨平台的虚拟驱动器,被API所公用的,在网络用户的计算机上作为一个本地驱动器来面向网络。
说到这里,希望本文有助于您理解什么是安全网络,以及如何将其与现有的互联网比较。它有潜在的可能会影响现有的网络物理层面的东西——通过减少服务器的数量,当然,还会有许多的软件层面的改变,数据在网络传输的方式。我们之前说过,我们将取代互联网的一些部分,我们认为这会在不久的将来就发生,但目前来看,未来如果想让安全网络发挥作用的话,对现有的互联网进行褒扬可能是一个不得已的办法。
这一事业对所有参与者来说都是一个庞大的工程,不是轻而易举的事情,这不是随便做点你喜欢的事。这一安全工程的首要驱动力是利用现有的网络设施把不可能变成可能,提供隐私的、安全的和自由的互联网给所有的互联网用户,这曾经被认为是一项不可能完成的任务。但我们认为打破陈规,进行大刀阔斧的重建是必须的。
而互联网本身也会在去中心化的过程中获的好处。不再严重依赖于互联网服务提供商,这无疑将是一个巨大的进步,再进一步去掉中心化控制,使得在对待所有数据时,能保持同等的重要性。公开分享和信息协作的能力将是一个对人类进步的主要驱动力,这一点是如此之重要,所以不能由公司或别的人来控制它。
原文:http://blog.maidsafe.net/2015/02/23/what-is-the-safe-network/
作者:MaidSafe
译者:随风潜入芭比特
Scan QR code with WeChat