LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > pi白皮书(二)

pi白皮书(二)

2019-12-30 EOS右上角 来源:区块链网络

共识算法的简要介绍

在开始介绍Pi一致性算法之前,有助于简单解释一致性算法对区块链的作用以及当今区块链协议通常使用的一致性算法的类型,例如比特币和SCP。为清楚起见,本节以过于简化的方式明确写出,并且不完整。要获得更高的准确性,请参阅下面的“ 适应SCP ”部分,并阅读恒星共识协议文件。

区块链是一种容错的分布式系统,旨在完全排序一系列交易。容错分布式系统是计算机科学领域,已经研究了数十年。它们被称为分布式系统,因为它们没有集中式服务器,而是由分散的计算机列表(称为节点或对等体)组成,这些计算机需要就块的内容和总排序达成共识。它们也被称为容错,因为它们可以容忍一定程度的故障节点进入系统(例如,多达33%的节点可能有故障并且整个系统继续正常运行)。

共识算法分为两大类:选择节点作为产生下一个区块的领导者的类别,以及没有明确领导者但所有节点在交换选票后对下一个区块达成共识的共识算法。彼此发送计算机消息。(严格来说,最后一句话包含多个不准确之处,但它有助于我们解释广泛的笔画。)

比特币使用第一种类型的一致性算法:所有比特币节点在解决加密难题时相互竞争。因为解决方案是随机发现的,所以基本上是偶然找到解决方案的节点被选为产生下一个块的轮次的领导者。该算法被称为“工作证明”并导致大量能量消耗。

Stellar Consensus Protocol的简要介绍

Pi使用其他类型的共识算法,并基于恒星共识协议(SCP)和称为联邦拜占庭协议(FBA)的算法。这样的算法没有能量浪费,但是它们需要交换许多网络消息,以便节点对下一个块应该是什么达成“共识”。每个节点可以基于加密签名和交易历史独立地确定交易是否有效,例如进行转换和双重支出的权限。但是,对于计算机网络来同意在块中记录哪些事务以及这些事务和块的顺序,它们需要相互发送消息并进行多轮投票才能达成共识。直观地说,建议我们都投票给A块作为下一个“; “我投票支持A区成为下一个区块”; “我确认我信任的大多数节点也投票给了块A”,共识算法使得该节点能够得出结论:“A是下一个块; 并且除了A之外可能没有任何区块作为下一个区块“; 即使上述投票步骤看起来很多,互联网也足够快,而且这些消息都是轻量级的,因此这种共识算法比比特币的工作证明更轻量级。这种算法的一个主要代表称为拜占庭容错(BFT)。今天的几个顶级区块链基于BFT的变体,例如NEO和Ripple。

对BFT的一个主要批评是它有一个集中点:因为涉及投票,参与投票“法定人数”的节点集合由系统的创建者在其开始时集中确定。FBA的贡献在于,每个节点不是具有一个集中确定的仲裁,而是设置它们自己的“仲裁片”,这将形成不同的法定人数。新节点可以以分散的方式加入网络:它们声明它们信任的节点并说服其他节点信任它们,但它们不必说服任何中央机构。

SCP是FBA的一个实例。SCP节点不是像比特币的工作证明一致算法那样燃烧能量,而是通过担保网络中其他节点值得信赖来保护共享记录。网络中的每个节点都构建一个仲裁片,由他们认为值得信赖的网络中的其他节点组成。仲裁基于其成员仲裁切片形成,并且当且仅当其仲裁中的一部分节点也将接受该事务时,验证器才接受新事务。由于整个网络的验证者构建了他们的法定人数,这些法定人数可以帮助节点就保证安全性的交易达成共识。您可以通过观看这个简短的7分钟解释视频或查看此信息来了解有关恒星共识协议的更多信息SCP技术摘要。

Pi对恒星共识协议(SCP)的改编

Pi的共识算法建立在SCP之上。SCP已经正式证实[ Mazieres 2015 ],目前已在Stellar Network内实施。与主要由公司和机构(例如IBM)作为节点组成的Stellar Network不同,Pi打算允许个人设备在协议级别上做出贡献并获得奖励,包括移动电话,笔记本电脑和计算机。以下是关于Pi如何将SCP应用于个人采矿的介绍。

作为Pi矿工,Pi用户可以扮演四个角色。即:

? 先锋。Pi移动应用程序的用户,每天只是确认他们不是“机器人”。该用户每次登录应用时都会验证其存在。他们还可以打开应用程序来请求交易(例如在Pi中向另一位先锋付款)

? 贡献者。Pi移动应用程序的用户通过提供他或她知道并信任的先驱者列表来做出贡献。总的来说,Pi贡献者将构建一个全局信任图。

? 大使。Pi移动应用程序的用户,他将其他用户引入Pi网络。

? 节点。作为先锋的用户,使用Pi移动应用程序的贡献者,并且还在他们的台式机或笔记本电脑上运行Pi节点软件。Pi节点软件是运行核心SCP算法的软件,考虑了贡献者提供的信任图信息。

用户可以播放多个上述角色。所有角色都是必要的,因此只要他们在那一天参与并贡献,所有角色每天都会获得新创建的Pi奖励。在一个“矿工”的松散定义中,作为一个用户,他将收到的新货币作为捐款的奖励,所有四个角色都被认为是Pi矿工。我们比其传统意义更广泛地定义“挖掘”等同于执行比特币或以太坊中的工作证明共识算法。

首先,我们需要强调Pi Node软件尚未发布。因此,本节更多地作为架构设计提供,并作为征求技术社区意见的请求。该软件将是完全开源的,它也将在很大程度上依赖于stellar-core,这也是开源软件,可在此处获得。这意味着社区中的任何人都可以阅读,评论并提出改进建议。以下是Pi提议对SCP进行的更改,以便通过单个设备进行挖掘。

节点

为了便于阅读,我们将正确连接的节点定义为SCP论文所指的完整节点。此外,为了便于阅读,我们将主要的Pi网络定义为Pi网络中所有完整节点的集合。每个节点的主要任务是配置为正确连接到主Pi网络。直观地,未正确连接到主网络的节点类似于未连接到主比特币网络的比特币节点。

在SCP的术语中,要使节点正确连接,意味着该节点必须选择“仲裁片”,以便包含此节点的所有结果仲裁与现有网络的仲裁相交。更确切地说,一个结点V n + 1个被正确地连接到主网络N已经正确连接的n的节点(V 1 ,V 2 ,...,V ? )如果所得到的系统N” n + 1个节点(V 1 , v 2 ,...,v n + 1 )享有法定人数相交。换句话说,如果任何两个法定人数共享一个节点,N'享有法定人数相交。-即,对于所有法定人数ù 1 和U 2 ,U 1 ∩U 2 ≠?。

Pi对现有Stellar共识部署的主要贡献在于它引入了Pi贡献者提供的信任图的概念,作为Pi节点在设置其配置以连接到主Pi网络时可以使用的信息。

在选择仲裁片时,这些节点必须考虑贡献者提供的信任图,包括他们自己的安全圈。为了帮助做出这一决定,我们打算提供辅助图形分析软件,以帮助运行节点的用户做出尽可能明智的决策。该软件的日常输出包括:

? 按照与信任图中当前节点的距离排序的节点排序列表; 节点的排名列表基于PageRank的节点的信任图分析

? 社区报告的节点列表,以任何方式出现故障,寻求加入网络的新节点列表

? 网上关于“行为不端的Pi节点”和其他相关关键词的最新文章列表; 包含Pi网络的节点的可视化表示,类似于StellarBeat Quorum监视器中显示的 [ 源代码 ]

? 与QuorumExplorer.com类似的仲裁浏览器 [ 源代码 ]

? 像StellarBeat Quorum监视器中的模拟工具,它显示当前节点的配置发生变化时,此节点与Pi网络的连接所产生的预期影响。

未来工作的一个有趣的研究问题是开发可以考虑信任图的算法,并建议每个节点的最佳配置,甚至自动设置该配置。在Pi网络的第一次部署中,运行节点的用户可以随时更新其节点配置,系统将提示他们每天确认其配置,并在他们认为合适时要求更新它们。

移动应用用户

当Pioneer需要确认某个特定交易已经执行时(例如他们已经收到Pi),他们就会打开移动应用程序。此时,移动应用程序连接到一个或多个节点以询问交易是否已记录在分类帐上,并且还获取该块的最新块编号和散列值。如果Pioneer也在运行Node,那么移动应用程序将连接到Pioneer自己的节点。如果Pioneer未运行节点,则应用程序将连接到多个节点并交叉检查此信息。先锋将有能力选择他们希望他们的应用程序连接到哪些节点。但是为了使大多数用户变得简单,应用程序应该具有合理的默认节点集,例如基于信任图最接近用户的多个节点,以及随机选择的高页面节点。

挖掘奖励

SCP算法的一个美妙特性是它比区块链更通用。它协调分布式节点系统的共识。这意味着相同的核心算法不仅每隔几秒用于在新块中记录新事务,而且还可用于定期运行更复杂的计算。例如,每周一次,恒星网络正在使用它来计算恒星网络上的通货膨胀,并按比例分配所有恒星硬币持有者(Stellar的硬币称为流明)。以类似的方式,Pi网络每天使用一次SCP来计算在任何特定日期积极参与的所有Pi矿工(先驱者,贡献者,大使,节点)的全网新Pi分布。换一种说法,

为了比较,比特币在每个区块上分配采矿奖励,并且它给予矿工足够幸运能够解决计算密集型随机任务的所有奖励。比特币目前的12.5比特币(约40,000美元)的奖励每10分钟只给一名矿工。这使得任何给定的矿工都不可能获得奖励。作为解决方案,比特币矿工正在组织集中式采矿池,这些采矿池都有助于提高处理能力,增加获得奖励的可能性,并最终按比例分享这些奖励。采矿池不仅是集中化的重点,而且它们的运营商也会削减开采量,减少个别矿工的数量。在Pi中,不需要采矿池,因为每天都有一次贡献得到新Pi的精英分布。

交易费用

与比特币交易类似,Pi网络中的费用是可选的。每个块都有一定的限制,可以包含多少个事务。当没有积压的交易时,交易往往是免费的。但是如果有更多的交易,节点会按费用对它们进行排序,最高费用交易位于顶部,并且只选择要包含在生产的块中的最高交易。这使它成为一个开放的市场。实施:每天一次在节点之间按比例分摊费用。在每个街区,每笔交易的费用都会转移到一个临时钱包中,从那里最终分配给当天活跃的矿工。这个钱包有一个未知的私钥。

限制和未来的工作

作为Stellar Network的一部分,SCP已经进行了多年的广泛测试,在撰写本文时,它是世界上第九大加密货币。这给了我们很大的信心。Pi项目的一个目标是将Pi网络中的节点数量扩展为大于Stellar网络中的节点数量,以允许更多的日常用户参与核心一致性算法。增加节点数量将不可避免地增加必须在它们之间交换的网络消息的数量。即使这些消息比图像或YouTube视频小得多,并且今天的因特网可以可靠地快速传输视频,但是必要的消息数量随着参与节点的数量而增加,这可能成为达成共识的速度的瓶颈。这最终会降低网络中记录新块和新事务的速率。值得庆幸的是,Stellar目前比比特币快得多。目前,Stellar已经过校准,每隔3到5秒生成一个新块,每秒可以支持数千个事务。相比之下,比特币每10分钟产生一个新的块。此外,由于比特币缺乏安全保障,比特币在极少数情况下的区块链可在第一个小时内被覆盖。

—-

编译者/作者:EOS右上角

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...