这是我们 HOPR 基础知识系列中的第四篇。 往期的篇章可以在文章末尾找到以前链接。
上次我们探讨了在没有任何人能够跟踪或确定谁是发送者或接收者的情况下私下在线发送数据的问题。 将数据拆分为多个数据包并通过中继节点网络在不同的路由上发送每个数据包是一个很好的想法,但厉害的黑客仍有可能收集足够的信息来对网络去匿名化。
在这一篇中,我们将探讨像HOPR这样的混合网络 (mixnet) 如何将复杂性提升到可以实现真正的元数据隐私。
网络的力量
在上次的简单示例中,我们探讨了一条信息如何通过网络路由,将数据拆分为数个带编号的数据包以增加额外保护。 这些例子使路由的概念更容易理解,但这忽略了一个我们可以利用的重要点:实际上很多人会同时使用我们的网络。
这意味着有数千或数十万个数据包会同时通过网络。 我们可以利用这些数据流为潜在的攻击者制造额外的混乱。
混合
不同于单独中继每个数据包的方式,我们的想法是每个节点可以将来自不同信息的多个数据包组合在一起,然后将它们捆绑一起发送到另一个节点。 然后,该节点将数据包分离,并将它们与从其他节点收到的新数据包重新组合。 这整个过程称为混合。
从单个节点的角度来看,它可能是这样的:
此处的 HOPR 节点正在接收来自三种不同数据传输的数据包,以黄色、浅蓝色和深蓝色表示。 当数据包成组进入节点时,它们将被分开、重新组合,这些新的数据包组合在它们前往目的地时被发送到不同的节点。
请记住:虽然在上面的动画中各个数据包是分开的,以便您更好地了解混合过程,但它们实际上在每个连接上都集中在一起。 局外人无法通过节点跟踪任何一个数据包的路由。 一些数据包甚至会暂时保留到未来的混合周期,以破坏数据包进入和离开节点的时间之间的任何链接。
为了进一步遮盖此元数据,HOPR 混合网络使用一种称为 Sphinx 的数据包格式来确保所有这些数据包捆绑包都可以轻松混合且无法区分。 使用 Sphinx 格式意味着通过网络的每个数据包都是相同的字节数,因此无法根据大小跟踪数据。
只要创建一个足够大的混合网络和足够的数据流量,实现真正的线上通信隐私便触手可及。
问题解决了吗?
所以这样问题就解决了吗? 并不。 事实上,这只是问题的一半 (且也许是更容易的一半)。 如您所见,混合网络是一个极其复杂的系统。 与直接和公开地发送数据相比,所有这些加密、混合、重新混合和中继在计算上都非常昂贵。 混合网络在理论上很好,但实际上,必须有人为所有这些额外的努力付出代价。
这就要说到激励了,这并不是向节点汇款那么简单。 我们需要一种方式来为数据传输付费,而这种方式不能撤销我们迄今为止为隐私性所作的设计。 我们还需要确保不道德的节点在没有真的中继数据的情况下不能利用混合网络的匿名性来接收付款。
我们将在下一篇中深入了解为什么这是个棘手的问题。
Jose Aguinaga,
HOPR 工程主管
官网: https://www.hoprnet.org
推特: https://twitter.com/hoprnet
电报: https://t.me/HOPRChinese
Discord: https://discord.gg/dEAWC4G
领英: https://www.linkedin.com/company/hoprnet
论坛: http://forum.staging.hoprnet.org
Github: HOPR Association · GitHub
往期 HOPR 基础知识篇章: