这是我们 HOPR 基础知识系列中的第六篇。 往期的篇章可以在文章末尾找到以前链接。
构建使用激励的混合网络存在着一个核心悖论:要如何确保节点是真的在执行它所负责的中继数据任务,而不是拿了激励的钱却什么都不做?
HOPR的解决方案是中继证明,这一篇我们将解释这是如何实行的。
无需信任的隐私
我们不能单纯依赖人们去自觉遵守道德的规则。我们需要让遵守规则成为理性和有益的事情。 这是许多加密系统的基石,也是使得它们无需信任的原因(听着有点怪,但意思就是您可以信赖这个系统而无需相信里面任何成员)。 基本上,当最自私的行为正好是系统所希望您这么做时,我们就不需要依赖任何人的道德良心。
在 HOPR 里,我们需要一种方法来确保每个人在进行了数据中继之后才能得到公平的奖励。这种机制需要确保每个人的诚信但不需直截了当地去跟踪或检查每个人,否则混合网络的隐私设计都将毫无意义。
确保节点的诚信
在上一集中,我们研究了一种单纯的支付方法,其中用户将预先为整个输送路线付款,然后在每一跳跃站中,节点运行者将收取他们的费用份额并将其余部分向下传递。
但这个方法的问题是没有保障,节点运行者可以拿了钱但却不继续传递数据。 HOPR网络的匿名性使得节点可以从系统中收取费用却不进行中继任务。 请记住,只有发送方知道数据包采用的完整输送路线,而混合网络意味着无法跟踪路线是从哪l个节点停止传送的。
因此,我们需要一种方法来确保节点仅在完成中继后才能获得报酬。 这是一个直观的解决方案。 毕竟,人们通常在工作后获得报酬,而不是工作前。 但要如何才能实现呢?
一种简单的方法是尝试让链中的每个节点支付前一个节点的费用。 所以当 Dmytro 从 Chāo 收到数据时,他会给 Chāo 发送付款作为奖励。 但是这样我们又遇到了同样的问题。 Dmytro 为什么要费劲去给前个节点发送付款呢? 何不省点麻烦,直接不发钱呢? 同样的问题,网络的匿名隐私性意味着没有办法对不诚信的节点执法。
(而且这有点过于简单化了——毕竟,Chāo 知道他向 Dmytro 发送了一些数据,也知道他没有收到任何付款。但他无法证明这是恶意的,毕竟网络总是出问题!即使 Dmytro 以不转发付款而臭名昭著,他也可以退出网络并以新的身份重新开始。所以隐私再次成为一把双刃剑。)
那么我们如何解决这个问题呢?
中继证明
HOPR 的创新想法是让链中的每一对连续节点相互依赖支付进行。 Chāo 在将数据转发给 Dmytro 之前不能要求付款,但 Dmytro 在 Chāo 解锁他的奖励份额之前也不能要求付款。
这是通过加密技术实现的,但这很容易理解。
当数据通过 HOPR 网络发送时,将为链中的每个节点生成一笔付款。 这是用加密密钥锁定的。 如果您拥有完整的钥匙,则可以领取付款。 但如果缺少任何部分,它就毫无价值。
这些钥匙被分成两半,因此您只能在拥有两半后才能申请付款。
当数据沿着链传递时,连续的节点对彼此交换密钥的一半。 Chāo 将他的前半部分钥匙换成了 Betty 的后半部分。 他将 Dmytro 钥匙的前半部分换成了他的后半部分。然后 Chāo 可以申请解锁他的付款,因为此时能确保数据已成功从 Betty 跳转到 Chāo 再到 Dmytro。
这样会迫使每个人遵守规则。 如果我是一个从您那里接收数据的节点,除非我们交换密钥的一半,否则我们都不能要求任何付款。 推卸责任没有好处,也没有偷钱的漏洞。 这里自私的做法是合作,这意味着每个人的动机都是完全一致的。
保护隐私
这个简单但极其强大的创新开启了一个充满可能性的世界。 通过中继证明,我们最终可以构建一个充满激励的匿名混合网络,它的扩展规模是无限的,因为我们不必依赖于寻找值得信赖的利他者来运行或监督它。
不过,我们还没有走出困境。 如果每笔付款都在公共区块链上产生一笔交易,这可能会变相地给提供了我们的网络数据库,这很危险。 HOPR 将使用概率支付将 HOPR 的支付层与消息层分离,以确保隐私得到保护。 下次我们将解释这是如何实行的。
Sebastian Bürgel,
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.hoprnet.org
Github: HOPR Association · GitHub
往期 HOPR 基础知识篇章: