Solana之旅3:PoH

什么是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 With Data
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DongAoTony

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

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

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

打赏作者

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

抵扣说明:

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

余额充值