IOHK官网博客:通过P2P促进网络去中心化

image
原文来自IOHK Olga Hryniuk,由卡尔达诺大使陈哲Anson翻译

随着网络的发展,权益池之间的对等通信将使Cardano更加活跃和高效

卡尔达诺的去中心化使权益池有了负责运行区块链的责任。其中一个基本要素是所有分布式节点之间的可靠且有效的连接,并确保网络能够应对故障。

使用更简单的拜伦版区块链,由Cardano基金会,Emurgo和IOHK控制的联邦(OBFT)节点全权负责管理区块生产和网络连接。这维护了网络,同时建立了由权益池操作的数千个分布式节点的系统。为了实现去中心化,卡尔达诺现已结束自2017年创建以来支持该系统的联合节点的普及。

2020年12月6日,我们将k参数设置为500,以扩大“可行”池的数量并进一步促进去中心化。我们还逐渐减少了d,以将区块生产的力量完全交到社区手中。权益池运营商(SPO)社区现在正在生产100%的区块,这意味着Cardano的区块生产已完全去中心化。这些参数更改可支持链的长期可持续性,并鼓励在权益池之间更均匀地分配权益和潜在的回报。

在短短六个月的时间里,我们已经从依赖于少数几个联邦节点的系统演变为由社区运行的权益证明系统,每个纪元由2,000多个权益池产生了数千个区块。

网络

卡尔达诺的网络层是一种物理基础结构,将节点及其交互结合到一个统一的系统中。网络在所有活动节点之间分发有关事务和块创建的信息。这样,系统将验证区块并将其添加到链中并验证交易。因此,节点的分布式网络必须将通信延迟降至最低,并且必须具有足够的弹性以应对故障,容量限制或黑客攻击。

在旧的联邦系统下,节点通过拓扑文件中定义的静态配置连接。自从Shelley引入以来,该系统一直以混合模式运行,其中节点连接到联邦中继和其他SPO的中继。这种连通性是部分手动构建的,但是,SPO可以交换块和事务信息,而无需依赖联合节点。

Marcin Szamotulski在他的文章《卡尔达诺的去中心化之路》中,讨论了网络的设计,并解释了Shelley到来之后卡尔达诺的网络去中心化方法。现在,我们已经在区块生产方面实现了完全去中心化,网络连接去中心化也是至关重要的。卡尔达诺将通过转变为点对点(P2P)连接来实现这一目标。

P2P网络

在这一点上,我们应该谈论网络“堆栈”,这是我们的工程团队最近增强的一组软件工具,用于应对更大,更动态,更复杂的网络。

P2P通信将增强节点之间的信息流,从而减少(并最终消除)网络对联合节点的依赖,并实现Cardano的去中心化。为了实现所需的弹性,IOHK的网络团队一直在忙于使用高级P2P功能改进网络堆栈。这些改进不需要更改协议,而是可以实现自动的对等方选择和通信。

由于我们使用了以下组件,从而启用了P2P网络:

图1. P2P架构

让我们仔细看一下如何建立节点连接的过程,并了解最新的发展如何简化节点之间的数据交换。

迷你协议

一组微型协议支持节点之间的通信。每种协议都实现了基本的信息交换要求,例如通知对等方最新的块,共享块或处理事务。链同步,块获取和tx提交协议已用于分发块链和事务链,以用于网络中的节点到节点通信:

•块获取从链数据库中获取信息。

•链式同步通过网络获取数据。

•tx-submission2消耗来自对等内存池的交易并将其添加到本地内存池,这使对等端可以将其交易提交到该节点。这是当前tx提交协议的修改。

这些小型协议支持Ouroboros共识协议。为了确保最佳的网络服务,该团队已实施了其他协议:

•保持活动状态:这可确保节点之间的连续连接并最大程度地减少性能故障。

•提示样本:此信息提供有关哪些对等方在性能方面提供更好的连接性的信息。

您可以在Cardano文档网站上找到有关网络体系结构和微型协议示例的更多信息。

连接管理

网络服务支持Linux,Windows和macOS,但是每个操作系统支持的连接数各不相同。

为避免系统过载,多路复用器将多个通道合并为一个传输控制协议(TCP)连接通道。这提供了两个优点:一,对等方之间的双向通信(因此,由于双方都在同一通道内具有读取和写入权限,因此任何对等方都可以无限制地发起通信),以及增强的节点到节点通信而不会影响性能。

该网络团队已经实现了一个双向感知的“连接管理器”,它与P2P调控器集成在一起,该调控器目前正在部署之前进行最终测试。此外,多路复用器的API已升级,可以监视新的连接和协议。此增强功能引入了更有效的连接管理和改进的问题跟踪。

P2P调速器功能

Cardano网络涉及多个对等节点。有些比其他的更活跃,有些已经建立了连接,有些应该进行升级以确保最佳的系统性能。正如“卡尔达诺的去中心化之路”中所讨论的,对等节点被分为三类:

•冷漠的对等节点

•温暖的对等节点

•热情的对等节点

为了在它们之间建立双向连接,至关重要的是我们知道哪些连接处于活动状态。

图2. Cardano上的对等节点发现

P2P调控器管理连接,并提供有关哪些对等节点处于活动状态并运行良好的信息。此功能促进对等连接,以增强系统性能,并通过构建和维护整个网络的连接图来提供出色的可见性。调控器将通过自动处理连接定义来简化连接定义的过程,因此一些中央权益池不再需要手动配置它们。调控器在冷,暖和热状态之间升级或降级对等体,并且还与连接管理器进行交互以打开新连接或重用现有连接。

P2P部署路线图

IOHK网络团队正处于对节点与P2P调控器集成进行质量测试的最后阶段。此后,团队将使用更多协议扩展网络堆栈,它将提供对等方之间的无缝数据交换并帮助构建去中心化的通信地图。

这些技术升级使我们能够简化Cardano节点接口并改善系统的配置。完成测试后,所有SPO都将能够更新和简化其配置首选项,以增强连接性。

在完全P2P部署之前,这涉及以下阶段:


图3. P2P部署路线图

有关首席建筑师邓肯·库茨(Duncan Coutts)对该计划的初步了解,请查看3月 Cardano360展示中的这段视频。

尽管治理在网络的建立,维护和支持中起着重要的作用,但只有通过去中心化,我们才能实现真正的网络可持续性,以确保所有利益相关者享有平等的机会。因此,改进堆栈的目标是允许所有权益池运行相同的配置,在去中心化的环境中建立相同的功能。

我们将继续在此博客中提供更多开发更新,您也可以关注Cardano状态更新,以了解最新的改进和发展。

原文链接:https://iohk.io/zh/blog/posts/2021/04/06/boosting-network-decentralization-with-p2p/