水钟解释的历史证明

理解索拉纳的网络架构是一个有用的类比。

索拉纳特

什么是历史证明?

概括地说,区块链技术最简单的是,是一个无可信赖的点对点、分散的计算机网络(或节点),通过数字账本验证交易。 PoW比特币算法的主要问题之一是交易时间和顺序的一致。

基于历史证明 (PoH) 协议的区块链依赖于加密方法创建记录到”分类账”的可靠交易/事件排序,以解决按时达成协议的问题,并且它允许数十万的几乎即时完成每秒事务数。

对于那些已经率先进入区块链领域的人来说,索拉纳的网站、白皮书索拉纳电报上的各种对话等资源对PoH的工作原理给出了更技术性的细分。

然而,对于许多刚刚进入区块链领域或对区块链技术持狂热、非技术信仰的新兴用户来说,这篇文章将用更简单的术语来解释PoH。

水钟类比

古代水钟的工作方式是,调节的水流会以恒定的速度滴入容器中。 船上的痕迹和水位的上升将使古希腊人能够记录时间的流逝。

同样,为了记录时间的流逝,索拉纳基于PoH的区块链使用可验证的延迟函数,其输出以加密方式验证在生成该输出的过程中实时通过(即运行该函数)。 在这种情况下,区块链的上升”水平”不是秒或时间单位,而只是哈希区块链状态和计数的顺序输出。 通过这种方式,就像水钟一样,您知道较低的水平或”标记”(哈希)必须位于较高级别或”标记”(哈希)之前。

古代水钟草图(维基百科)

古代水钟草图(维基百科)

索拉纳使用的特定可验证延迟函数是一个预图像抗哈希函数。 简单地说,这是一个函数,它获取一堆数据(输入)并吐出一个小型的固定大小的输出。 例如,大型视频可以通过预图像抗哈希功能放置,然后以 256 位的另一端显示出来。 或者一段字符串数据,比如您最喜爱的餐厅的名称可以哈希成固定的、微小的位大小的数据量。 这些功能的有用性在于安全性。 无论给定的输入数据如何,都无法预测确切的输出 – 您必须执行整个函数才能真正知道输出(这是区块链技术工作的原因的加密部分,很难”破解”)。

鉴于此,如果我们在循环中运行此函数,将以前的输出作为输入,并尽可能快地执行此操作,则无法确切知道输出将是什么,哦,假设,从现在起有一百万个哈希函数。 如果我们使用计数器运行它并记录循环的次数和当前状态(哈希值),则这些信息将一起表示告诉我们时间已经过去的数据结构。 我们还可以通过将数据与当前状态(哈希)一起哈希,将外部数据”追加”到此哈希流中。 由于 PoH 流是可验证的排序,因此我们可以确切地知道任何附加事件和/或消息在流中插入的位置。 因此,无论记录到基于 PoH 的数据结构的数据有多快或有多少条,我们都知道在其他”块”之前或之后必须及时通过上限和下限来记录哪些数据/消息。 类似于水钟中的水位。

将”水钟”广播到网络

虽然运行此函数确实需要实时生成此 PoH 数字分类账中的最终”块”,但我们可以获取数据结构的每个切片,并在 gpu 内核上并行地验证它们。 例如,如果您的笔记本电脑拥有 8 核处理器,它可以同时运行多个并行进程。 现代 GPU 卡几乎可以立即验证基于此时间的数字分类账上的交易。 这种验证方法也比比特币的区块链PoW协议快得多。

现在,当一个分散的网络接收数据结构的各个部分时,由于在区块链中编码的事件的加密可靠排序,所有节点都能够接收和信任结构的顺序,而无需重新验证它们。 回到我们的类比,分散网络上的各种节点基本上接收一个加密古老的水钟的快照,其最新的、已验证的事件、数据和消息的分类账已添加到区块链中。

就像水钟一样,您不需要就时区或时间戳达成一致(因为 PoH 使操作全局区块链变得非常容易),即可信任索拉纳区块链上记录的数据的顺序。