前言:时间对我们普通人来说,它是从钟表传达出来的。几点起床,几点上班,几点吃饭,几点睡觉......但真的认识时间的本质吗?而时间对于区块链来说,又意味着什么?基于对时间的理解,诞生了一个新的区块链项目Solana,它会对区块链世界带来什么级别影响?现在还不知道。不过,我们可以随时关注Solona这种探索,它的历史证明机制(PoH)的创新值得我们关注。
你如何辨别时间?
在有钟表之前,辨别时间很简单:抬头望天,找到空中的太阳,然后称之为白天。过了一段时期,尽管这样区分时间很简洁和优雅,但我们人类还是决定创造设备来将一天划分为更小、更可区分的部分,于是,人类有了日晷和水时钟。
如今,我们大多数人都依赖手机、手表以及设备中的时钟。在同一时区的两个人之间沟通共同时间很容易:我们要做的只是看我们的时钟,然后说出时间。
但是,我们的设备如何辨别时间?而且,更重要的是,我们的设备之间如何沟通时间?
答案比看起来更复杂。就算不是大多数计算机,很多计算机也依赖于可信来源——例如,原子时钟,以实现对事件的排序。因此,一台在柬埔寨的计算机可以信任一台在伦敦的计算机是同步相同时间的,对吗?
不完全是。
这是由于网络延迟、相对效应以及时间膨胀(飞机上的某个人和地面上的某个人之间是有差异的)的影响,这种变化,不管有多小,都会阻止整个网络上时间的准确同步。
在构建去中心化支付网络时,这种差异至关重要。节点无法依赖第三方系统,例如原子时钟。为了防止用户进行双花,网络需要可靠的系统来给交易排序。
PoW是支持比特币协议的机制,它通过SHA-256蛮力搜索解决了这一问题。这个解决方案虽然具有里程碑式的意义,但其速度慢且笨拙。比特币每秒最多只能处理7笔交易。Solana是世界上第一个为web规模而构建的区块链,因为它无须重大开销即可解决分布式时间问题。让它成为可能的核心创新是PoH(历史证明),它是一种持续排序的机制,可以作为Solana网络的全球时钟。
PoH创建了一条记录,可以证明事件在某个特定时刻发生。其他(区块链)网络要求参与者进行通信以确认时间的流逝,而每个Solana节点则通过在一系列连续事件中编码时间的流逝来维护自己的时钟。
在“沙子”的帮助下,让我们来学习它是如何运作的。
开始
在Solana网络上的时间概念来源于验证节点持续进行SHA-256哈希值计算,从而创建出一种事件的加密链。
想象一下,有一个沙漏,其中每个沙粒代表一个时间单位(计算SHA-256哈希值所花费的时间)。每粒沙子都有相应的ID与之关联,可以证明它在一沙粒之前,而沙粒在它之后。
沙漏充满时,它通过连续的沙粒创建事件链。
分组
沙漏持续让沙子通过瓶颈,直到达到一定的阀值。此时,沙漏将收集到的沙粒依次释放到在下面等待的桶中。
倒掉
各个沙漏会继续产生这些桶,直到准备好分组。为了将桶链接在一起,特定桶中的最后一个沙粒(如中间所示),被复制为下一个桶的第一个沙粒。这在桶之间创建了重叠,从而可以快速确定其正确排序。
立即将所有的桶释放到下面的另一组沙漏中。
秘制酱
此处的创新在于验证速度:即使它花费10个单元时间来充满10个桶,它也仅花费1个单元时间来验证所有10个桶中的沙粒排序。
通过连续制造沙粒的链,Solana网络解决了分布式计时的问题。
复制
这个过程在网络中的所有节点上复制。各个节点使用沙粒为基础验证时间的流逝,以确定沙桶之间经过了多少时间,且与其他节点通信。由于通过多个沙漏进行并行处理,因此只需要花费一小部分时间即可验证沙粒的排序。
花点时间考虑一下。例如,十秒的交易,可以被网络上的所有节点一秒内验证。时间记录的这种同时产生,随着时间流逝它被外推出数千个桶和数百万个沙粒,这意味着Solana网络可以在其他区块链网络的一小部分时间内同步事件。
现在怎么办?
这个过程创建了相对的PoH(蓝狐笔记:Proof of History,历史证明),它允许Solana网络上的所有节点以最佳容量运行,且专注于验证网络上的交易。就速度而言,PoH提出了区块链网络结构中的根本性进步,其在当前的测试网上可实现每秒50,000次个交易吞吐量。
我们怎么样?
历史证明(PoH)是支持Solana实现web级别扩展的区块链的众多技术创新之一。我们知道这不容易理解。现在能理解了吗?