网络:数据可用性、分片、轻客户端

https://open.harmony.one/harmonys-networking

作者 🎹 尤金·金

我们这样做是因为我们坚信,我们协议和实现的关键属性不仅由关键组件驱动,而且由集成在一起以实现不同级别的关键可交付成果的整个垂直技术堆栈驱动。如果任何技术层还有很多不足之处,那么总体结果就会受到影响。此外,次优组件所在的级别越低,其爆炸半径越大,其挫折就越大,并且越难以解决或掩盖故障。

在 Harmony,我们不仅仅关注完成今天的工作需要什么——我们希望构建能够在几年后完成工作的东西。这适用于我们技术堆栈的所有层,不仅是更接近我们关键可交付成果的较高层(例如智能合约和共识),还适用于其他人倾向于认为理所当然的较低级别的“平凡”领域,例如系统和网络.

**stephen tse s.one stse.eth**@stse _ 谁得到了区块链三难困境?在 2 秒内通过统一分片和即时确定性进行水平扩展如何?Harmony具有恒定大小的~~#bls签名,可在单轮中提交块;用于安全性的大分片我们的#EPoS~~是第一个用于视图更改和链上委托41May 8, 2021 7:27 AM (GMT+8)

[data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2736%27%20height=%2736%27/%3e](data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2736%27%20height=%2736%27/%3e)

https://open.harmony.one/_next/image?url=https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FE00kqgXVgAAu6wJ%3Fformat%3Dpng%26name%3Dsmall&w=3840&q=80

在这篇文章中,我们将讨论这样一个低级但关键的组件: 网络。我们会尽量让事情变得简单和平易近人,所以如果您已经是一位经验丰富的网络专家,请耐心等待我们的网络 101 式解释。

这些是我们目前最好的方法,但与任何前沿技术前沿一样,我们最终在生产中发布或部署的内容可能与我们将在此处讨论的内容大不相同。

端到端通信首选

Harmony 建立在 端到端原则之上,该原则建议尽可能多地将应用协议的关键逻辑推向相互通信的端节点。节点是自包含的,不使用 中间盒 将消息传递给其他节点,少数情况除外。具体而言,一个节点不通过其他节点的覆盖网络上的多跳路径向另一个节点发送单播消息。

为什么?因为我们假设节点可能以相对较高的概率损坏:在区块链领域,我们通常会谈论只有 67% 甚至 50% 的节点是诚实的!我们称这个概率为 p。然后,如果一条消息被发送到另一个节点 h 跳开,单播消息到达诚实接收者的总概率 p ^ h。对于单跳、直接端到端传输,节点到达诚实节点的概率为 67% 或 50%;对于两跳,44% 或 25%;三跳;30% 或 12.5%。概率呈指数级递减!

https://super-static-assets.s3.amazonaws.com/ddd230a2-0e60-4a28-87ba-f998dd2ebcf8/images/84afc972-ac5a-40b5-87d0-db7a72b80e23.png?w=1500

通过多跳 P2P 覆盖与对手进行单播消息传递

该原则的例外情况包括:

HIPv2:Id/Loc、发现、移动性、多宿主、NAT 遍历