免责声明:
本文档描述了 Pi 节点的首次发布和测试网的初步计划,可能不是最新的。由于构建 Pi 的初始测试网的目的是测试和改进 Pi 的区块链,因此随着测试网生成更多数据来指导下一步,该计划可能会进一步改变。以下描述不涉及 Pi 主网节点,它们目前在主网正在进行的封闭网络期间处于主网防火墙之下。在即将到来的开放网络期间,主网防火墙将被移除,允许更广泛的 Pi 社区运行他们自己的 Pi 主网节点。在此处了解更多信息。
介绍
节点是 Pi 生态系统中的第四个角色,运行在笔记本电脑和台式机上,而不是手机上。与其他区块链类似,Pi 节点将负责验证分布式账本上的交易,并通过让所有节点就正在记录的新交易的顺序达成“共识”来解决维护分布式货币的挑战。
与使用工作量证明的节点(如比特币或以太坊)不同,Pi Node 使用基于恒星共识协议 (SCP) 的不同共识算法。在 SCP 中,节点形成受信任的组(仲裁切片),并且仅同意这些受信任节点同意的交易。来自 Pi 移动矿工的安全圈(请参阅 Pi FAQ:什么是安全圈?)聚合成一个全局信任图,使 Pi Node 能够形成仲裁切片,以确定谁可以和不能验证共享分类账上的交易。
与大多数其他加密项目不同,Pi Node 将继续遵循以用户为中心的设计理念。无需深厚的技术知识即可设置节点,普通人只需在计算机上安装桌面应用程序即可完成设置。通过此计算机应用程序,Pioneers 可以打开/关闭节点软件,使其设备可用作/不可用作节点。
Pi 将在开发其测试网时继续坚持渐进式去中心化的方法。在初始测试网期间,Pi 的节点软件区块链组件将具有一个集中层,以便更快地迭代场景压力测试并调整共识算法以满足 Pi 网络及其全球社区的需求(请参阅“测试网路线图”部分)。该节点的初始版本是构建 Pi 测试网并最终构建完全去中心化主网的第一步。
此版本的节点包括两个界面:节点界面和桌面 Pi App 界面。根据以下部分中定义的参与级别,先驱者可以相应地使用这两个界面。每个移动用户都可以将节点软件下载到他们的计算机并使用其桌面 Pi App 界面,因为它与移动应用程序的界面类似,并允许人们在他们的个人计算机上检查他们的 Pi 余额、观看媒体内容和使用 Pi 聊天。每个先驱者还可以通过节点界面申请成为节点并在那里安装区块链组件。最初将有一个选择阶段(参见部分 - 测试网路线图),核心团队将根据设备的可靠性和连接性校准节点选择标准。当核心团队选择一个节点时,他们需要通过 KYC 才能继续在测试网上担任节点。请参阅以下部分中的更多详细信息:节点和超级节点的选择过程。
节点参与级别
目前,先锋者可以通过三个级别在其计算机上使用 Pi Node 软件。
计算机应用程序
计算机应用程序是指仅使用节点软件的桌面 Pi 应用程序界面。它使想要从计算机与 Pi 应用程序交互的先驱者能够使用它,因此它具有与移动应用程序类似的功能。例如,许多先驱者之前曾表示,他们希望能够通过计算机而不是手机在 Pi 上聊天。因此,我们在 Pi 节点软件上设计了桌面 Pi 应用程序界面,并将该界面与节点软件相结合。此外,在未来,随着 Pi 应用程序中添加更多功能,例如应用程序平台和平台上的各种应用程序,其中一些可能比通过移动应用程序更容易通过桌面界面访问。
节点
节点意味着先驱者访问节点界面,根据说明完成必要的技术准备安装,并在被选为节点后打开/关闭节点界面,使其计算机可用于运行区块链组件。虽然他们不参与共识,但他们会验证区块链的有效性并提交交易以记录在区块链上。未来,当 Pi 的区块链扩展到不仅仅是保护分类账时,节点将扩展到包括选择加入以贡献网络集体硬件资源(如计算、存储和带宽)的计算机。
超级节点
超级节点是 Pi 区块链的支柱。除了节点执行的所有职责外,它们还负责根据算法达成共识,以在 Pi 分类账上写入正确的交易。它们还负责确保其他超级节点和节点获取区块链的最新状态。超级节点也使用节点接口,最初由核心团队选出。它们需要全天候连接到网络并拥有可靠的互联网连接。
请参阅下表,了解 Pi Node 软件的三个参与级别的摘要,以及每个参与级别的计算机硬件和软件要求。
笔记:
更精确地定义 Pi 节点的硬件和软件将需要来自测试网路线图中下面定义的选择阶段的初始节点测试网的额外数据,以了解节点在各种硬件和软件配置上的执行情况。
在 Windows 上安装 Node 时,如果突然有许多人安装从互联网下载的新应用,Microsoft Defender SmartScreen 可能会显示警告。由于我们的用户群庞大,Pi Node 很可能会出现这种情况。随着越来越多的 Pioneers 接受安装 Pi Node 软件,Microsoft Defender 将不再显示此警告。
节点和超级节点的选择过程
申请成为 Pi 测试网上的节点或超级节点:
在您的计算机上下载并安装 Pi Node 软件
在Pi Node软件里面填写Pi Node申请
根据节点界面的指示安装技术包,并尽可能保持软件运行(它可以在后台运行。)
核心团队将根据下一节中定义的标准选择节点和超级节点。
选定的节点和超级节点申请人将在未来 3 个月内通过节点界面滚动通知。选定的先锋人数将由符合以下部分列出的选择标准的申请人数量决定。
节点和超节点的选择标准
经过初步筛选期后,将根据以下标准选出节点和超级节点。虽然两者的评估标准相似,但节点的门槛将低于超级节点。
正常运行时间(即全天候在线)
良好的网络连接(快速且稳定)
(最初)能够在本地路由器上打开端口
足够的处理器和内存(查看表格中的建议)
先前对 Pi 社区的贡献
安全圈
根据您在 Pi Network 中的节点可靠性和信任分数,您将被邀请参加 KYC。完成 KYC 的申请人将被招募为 Pi 测试网中的超级节点和节点。
在初始测试网期间,主要目标是对网络的共识算法进行压力测试。虽然并非所有先锋都拥有参与初始测试网的硬件、软件和网络可靠性,但 Pi 始终致力于尽可能包容。所有先锋都将继续能够通过 Pi 的移动应用程序参与。此外,随着时间的推移,我们还旨在通过开发先锋可以为网络做出贡献的其他方式,使节点角色更容易获得。
测试网路线图
测试网将由三个阶段组成。
选择阶段
核心团队将与已申请成为节点并已成功在其计算机上安装区块链组件所有必要软件包的先锋一起运行共识算法。这些测试将使我们能够了解实现可靠和安全网络所需的单个节点的要求(例如硬件、在线时间、带宽、连接稳定性等)。虽然我们希望在定义节点要求时尽可能多地包括先锋,但网络中单个节点的可用性和可靠性会影响网络的安全性和活跃性。因此,我们需要在选择阶段通过测试平衡上述两个方面,并正确定义节点和超级节点的阈值。
修订阶段
修订阶段将包括两个活动的迭代过程:场景测试和共识算法修订。场景测试是指在不同场景下对共识算法、其可扩展性和配置进行压力测试。然后,场景测试产生的数据将为我们应该在哪里以及如何修改和调整共识算法提供指导,以确保安全性、提高活跃度并实现可扩展性。
这种快速、迭代的过程对于改进共识算法以满足 Pi Network 的需求非常重要。因此,在此阶段,此节点版本的区块链组件包含一个集中层,允许核心团队快速将网络图和配置的模拟数据分配给不同的节点,以更有效地测试各种网络场景和状态。例如,此功能使核心团队能够通过将模拟安全圈分配给网络中的不同节点来创建数百甚至数千个仲裁场景,而不是仅依靠安全圈的当前数据来测试共识算法(这只是一种场景)。有趣的场景还包括:如果一半的网络被隔离会发生什么?当网络中一定比例的节点突然退出或进入网络时会发生什么?这个集中层在完成测试目的后将在主网中被删除。
反过来,从这些测试中生成的数据可以为共识算法的修订提供信息。Pi 将面临独特的挑战,因为它需要调整和扩展恒星共识协议以满足 Pi 区块链的需求(例如,大量参与者、高度分布、个人计算机作为节点、结合移动矿工生成的信任图等)。修订阶段将允许网络测试诸如扩展消息传递和网络投票过程之类的内容,同时保持安全性和活跃性。修订共识算法的活动需要数据分析和研究,以创新适合 Pi 网络需求的解决方案。
实时测试网
实时测试网将是不同类型的节点积极履行上表所定义职责的阶段(参见“节点参与级别”部分)。节点将能够提交测试交易,这些交易将通过共识算法由节点记录在分布式账本上。目的仍然是测试网络的性能,但使用移动矿工生成的安全圈真实数据和网络参与者的真实活动。它还包含一个测试、数据分析、调试、修改和创新的迭代过程,以实现安全性并解决活跃性和可扩展性问题。
节点常见问题解答
Pi 节点软件和 Pi 网络移动应用程序之间有什么关系?
节点和移动应用程序并不相互排斥,而是相互补充。您将通过移动应用程序帐户登录节点软件,这意味着桌面应用程序和移动应用程序都指向同一个 Pi 帐户。根据 Pi 政策,一个人只能拥有一个 Pi 帐户,并且截至目前,一个帐户只能运行一个节点。移动挖矿只能从移动应用程序启动,而节点的桌面 Pi 应用程序界面将允许您在主屏幕上检查余额、聊天和观看任何媒体内容。帐户是否有节点不会影响移动应用程序中的任何功能。
节点会对我的设备产生什么影响?它会耗尽我的 CPU 和电池吗?
如果您不打开节点或超级节点部分,则影响很小,应该会消耗很少的 CPU、内存或网络流量,从而使每个人都可以使用。打开节点或超级节点功能将使用 CPU、内存、硬盘和网络资源。在测试网的过程中,我们将收集数据,以更清楚地确定在特定设备上运行节点的影响。
运行 Pi 节点会有奖励吗?
Pi 测试网的目标之一是确定运行节点应获得什么奖励(如果有的话)。虽然我们收集了确定最合适的激励机制所需的相关数据,但测试网节点不会获得任何挖矿奖励。
Pi Node 软件是开源的吗?
Node 的区块链组件将开源。我们正在整理 github 存储库,以便继续进行开源。我们的目标是直接在 github 存储库上维护一份未解决问题列表,社区成员可以根据需要为其做出贡献。敬请期待。