Solana之旅3:PoH

本文深入探讨Solana区块链中的Proof of History (PoH)机制,包括其工作原理、如何确保时间戳的准确性、横向扩展性、一致性保障及抵御逆序攻击、抢跑攻击和长程攻击的防御策略。PoH通过序列化事件和时间戳验证,为Solana的高效和安全性提供了关键支持。
摘要由CSDN通过智能技术生成
什么是PoH
  1. 通过SHA256之类的Hash加密函数,来计算生成序列,提供验证两个事件(这里可以理解为两个区块生成)之间的时间流逝。
  2. 创世区块中,第一笔交易Hash函数的输入是一个随机值,然后该函数的输出,将是下一次Hash函数计算的输入参数之一:
PoH序列
Index Operation Output Hash
1 sha256(“any random starting value”) hash1
2 sha256(hash1) hash2
3 sha256(hash2) hash3
自此以下,上一笔的hash函数输出,都会是下一笔hash函数的输入实参之一。
  1. 不用每个序列(区块)的Hash及其索引,PoH Generator都要发给下游的Validators;而是每隔一段时间才发
PoH序列
Index Operation Output Hash
1 sha256(“any random starting value”) hash1
200 sha256(hash199) hash200
300 sha256(hash299) hash300
  1. 这个PoH可证明的序列,在技术实现上应注意两个关键点:
  • Hash函数要是抗碰撞的,因为一旦可以发生碰撞,就会出现Hash值相同,从而无法区分序列;
  • 该Hash的计算应在单核上,以单线程的方式来计算,因为该Hash的计算是依次顺序依赖上一次Hash计算输出的。
  1. 最终,基于PoH生成的链式证明如下:
    在这里插入图片描述
将外部事件的时间戳囊括进来
  1. 只是纯粹地生成序列(区块),是没有意义的,该区块里应还能承载外部的事件(Events)。
  2. combine函数将把现实世界关联的数据,与当前序列的Index和Hash结合起来,再通过hash函数计算,产生不同于上节所述的序列(包含了外部信息),也同样可以挂载可证明的链上的,比如从Solana链下来了一张照片:
PoH Sequence Wi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DongAoTony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值