亦来云常见问题之思考(十八)

任何新事物在被人认知过程总会产生无数个疑问,正如当年福特发明汽车时,马车依然大行其道,多少人质疑过汽车的前途,但随着实践的发展,这些问题如片雪入红炉,终不见了踪影。有问题不可怕,可怕的是找不到解决问题的思路。亦来云是一个庞大的系统工程,有太多问题需要理清。

   五十二、通讯协议上如何实现“去中心化”?
   说到区块链,我们常常会碰到“去中心化”这个概念。但是,真正的去中心化是一个系统工程,有一个环节出问题都会导致“去中心化”形同虚设!现在许多的区块链项目在区块链通信既昂贵又缓慢,许多应用需要大量信息传递之时怎么办呢?大都还在http 原有互联网协议下进行,这就必须面对原有互联网环境下的盗版、作恶等不安全问题。

   亦来云项目是"区块链驱动的智能万维网项目"。在其技术架构中,Elastos Carrier 占有重要的基础地位,是用来取代 http 这种 client-server 通讯协议,实现 p2p serverless 对等通讯的关键措施。

   Carrier是亦来云平台上的去中心化的通讯框架,为亦来云平台上的DApp提供通讯服务。现有条件下,大规模DApp是无法在区块链上运行的,亦来云通过ElastosRuntime可以支持DApp运行在链外,为去中心化的应用提供多样性的支持和丰富的形态。Carrier就是为这些去中心化的应用提供完全去中心的,符合区块链哲学的通讯框架。

   五十三、亦来云Carrier如何保证通讯真正的“去中心化”?
   首先,Carrier是没有中心化的服务器为大家提供应用间的通讯服务,它是一个完全自运行的网络,这一点和国内的QQ、微信,国外的WhatsApp、Facebook、Messenger等这样的应用有着本质的差别。这些应用虽然都是IM应用,但都是通过一个中心化的通讯服务设施来承载的,并且由对应的服务商来运作这些中心化的服务设施。这些通讯设施不仅被应用于IM应用,比如QQ,腾讯同时也用它的通讯服务设施来支持IoT设备,Carrier因为没有中心化的服务器,所以也就没有所谓的服务商的概念。


   其次,Carrier的通信在去中心的基础之上还有一定的匿名性,这种特征类似于区块链的匿名性,用户或者应用可以根据需要来保持一定的匿名性。同时,Carrier本身也采用了非对称密钥加密技术,节点间的通讯数据是透明加密的。每个节点的ID就是它自己的公钥,私钥自己持有,任何两个节点间的通讯数据只有这两个节点可以正常解读。另外,应用也可以将Carrier ID和DID关联,从而实现对节点身份的认证需求。

   五十四、亦来云Carrier如何保证通讯的安全性?
   Carrier的ID其实是椭圆曲线上的一个密钥对的公钥,可以理解为CarrierID非常类似于钱包的ID。CarrierID是在Carrier节点第一次运行期间,初始化的时候会生成一个自身的CarrierID。CarrierID是公钥,后面关联着私钥,个人所有的通讯都是这个私钥加密的,包括认证。

   Carrier的ID是对用户身份的标识,但是别人拿到你的CarrierID是不能直接访问数据的。首先他要跟你ID建立Friend关系,Carrier有一个基本认证,由应用来完成。所以不存在我知道你的ID,我就可以访问你的数据的问题。另外Carrier还提供了一些No Spam的支持,来防止这种垃圾的请求。所以说这里没有安全的问题,别有即使有你的ID,也不能访问你的数据。

   关于Ddos攻击,因为Carrier的网络是Friend to Friend的网络,也就是说如果这个节点虽然都在DHC网络(去中心化、分布式的网络)之上,但是没有建立起任何Friend关系,那这两个节点是不能产生直接通讯的,所以也就无从攻击起。如果这两个节点之间建立Friend可信的关系才能发起通讯,在这种机制下很大程度上制约了Ddos的攻击。

   Carrier中间所有的数据都有传输加密,比如说节点之间的数据传输,A结点到B节点的数据传输,是拿A和B的公钥、私钥做加密的,它是跟身份有关的加密上下文。所以A发给B的数据只有B能解密,B发给A的数据只有A能解密。因此重点截取数据,对截取者而言没有任何意义,他也不能对数据进行解密,所以不涉及到中间数据的泄露。

   请记住:成功之前有千万个疑问,成功之后有千万个故事,当然,失败之后会有千万个笑柄而已!