pow共识算法,

  pow共识算法,

  原始实现(python2版本)

  https://github.com/santisiri/proof-of-work

  依据python3特性改进后:

  #!/usr/bin/env python

  #工作证明算法示例

  导入摘要算法

  导入时间

  max _ nonce=2 * * 32 # 40亿

  延期工作证明(表头,难度_位):

  target=2 ** (256难度位)

  对于范围内的随机数(max_nonce):

  hash _ result=哈希表。sha 256((str(header)str(nonce)).编码( utf-8 ).hexdigest()

  if int(hash_result,16)目标:

  打印(成功,随机数为% d“% nonce”)

  打印(哈希是% s“% hash _ result”)

  返回(哈希结果,随机数)

  打印(在%d(最大随机数)次尝试% nonce后失败)

  返回随机数

  if __name__==__main__ :

  nonce=0

  hash_result=

  对于范围(32)内的难度位:

  难度=2 **难度_比特

  打印()

  打印(难度:%ld (%d位) %(难度,难度_位) )

  打印(开始搜索.)

  start_time=time.time()

  new_block=带有事务的测试块哈希结果

  (hash_result,nonce)=proof_of_work(new_block,cave _ bits)

  end_time=time.time()

  经过时间=结束时间-开始时间

  打印(运行时间:%.4f秒% elapsed _ time’)

  如果已用时间为0:

  hash _ power=float(int(nonce)/elapsed _ time)

  打印(哈希能力:%ld每秒哈希数% hash _ power’)

  运行结果:

  注:

  具体原理不知。

  参考:

  简述目前相对成熟的区块链共识算法

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: