Hopr基础知识第三篇: 匿名路由

这是我们HOPR基础知识系列第三篇。 阅读以前的篇章可以点击这里(第一集 - HOPR是什么?)和这里(第二集 - 元数据是什么?)。

上次我们了解到每次上网做任何事情时都会创建大量的连接元数据。 此元数据可用于建立我们所有活动的档案,无论是线上还是线下。

这是一个巨大的隐私问题,但如何解决呢? 元数据对网络的工作方式必不可缺,所以不能通过关闭它来简单地解决问题。

在这一篇中,我们将了解HOPR网络等匿名路由数据的基础知识。

匿名信息的悖论

让我们回到上一集的信封类比:假设您通过邮件向您的朋友发送消息,但您不信任发送它的人。 您要如何保密? 一种选择是用只有您和您的朋友知道的秘密代码编写消息。 那么即使有人打开信封,里面的信息对他们来说也是胡言乱语。 这大致相当于数据从端到端加密。

但上次我们提过实际问题不在于数据,而是元数据。 如果您需要确保没人知道您正在给朋友写信怎么办?秘密代码也没有用。 如果您用秘密代码来写邮寄地址,信件就永远不会到达目的地。

一种解决方案是通过一系列人发送信件来掩盖来源和目的地。比方说您准备了一包信封,像俄罗斯套娃一封套一封。 每一封里面的那一封都发给链中的下一个人。 当有人收到包裹时,他们会打开最外面的信封,然后将包裹发送到下一个地址。 这种情况一直持续到您的朋友收到最后一个信封,即装有信息的信封。任何只看到一次交付的人都无法判断它是最终目的地还是链条中的一个链接。

这是洋葱路由工作原理的基本类比,在 Tor 项目等平台中使用(Tor 代表洋葱路由器)。 在洋葱路由中,信封实际上是加密层,因此任何人都不可能打开超过一层,或者向前看并监视消息将采用(或已经采用)的路由。 当您接收数据时,您只知道它刚刚来自哪个节点,它接下来要去哪个节点。

将消息从一个接收者传递到下一个接收者的过程称为中继。 这也是 HOPR 得名的原因,因为数据在到达目的地之前从一个人“跳跃”到另一个人。 中继器的整个集合称为网络,网络中的每个点称为节点。

这是一个非常好的系统,对于很多人们来说,跟踪谁向谁发送消息太复杂了。 但是如果拥有足够的分析能力,仍然有可能破解这样的网络。

如果您可以跟踪网络活动,您就可以开始寻找节点之间的模式。 如果 Chāo 从 Betty 收到一个数据包,然后向 Dmytro 发送另一个数据包,您可以推断它们都是同一条链的一部分。 通过足够的推断,您就可以参透网络的隐私了。 如果 Betty、Chāo 或 Dmytro(甚至这三个)都是黑客,这会更容易!

由此可见,我们需要同时防范两种类型的黑客:可以从外部看到所有网络活动的人,以及冒充一个或多个诚实节点从内部攻击系统的人。 请记住,在一个开放的去中心化网络中,自由是很重要的,任何人都应该可以加入,但这也使其安全更难捍卫。

数据分包

还有个提高安全性的方法是将我们的消息分成不同编号的数据包。 当所有数据包到达目的地时,编号可用于重构整个消息。 该系统在互联网上用于标准的数据传输,但它在像 HOPR 这样的网络中获得了新的用意,因为您可以选择通过不同的路由发送每个数据包。 多重的路由使得实时跟踪变得更加困难,并且还减少了恶意节点可以访问的信息。

遗憾的是,更加困难也不等于不可能。 即使具有所有这些复杂性,黑客仍然可以使用其他元数据(如时间、消息大小和连接日志等)来构建一个连贯的网络流量梳理图。 我们还需要做得更好。

幸运的是,我们可以通过引入混合网络将数据分包这种方法提升到一个新的水平,使其复杂更加一层。 下次我们会讲解这个工作原理。

Jose Aguinaga,

HOPR 工程主管

官网: https://www.hoprnet.org
推特: https://twitter.com/hoprnet
Telegram: https://t.me/HOPRChinese
Discord: https://discord.gg/dEAWC4G
领英: https://www.linkedin.com/company/hoprnet
论坛: https://forum.hoprnet.org
Github: HOPR Association · GitHub