PoW算法,请出示你的证明

  口信消息型拜占庭问题的解可以防止 (n - 1) / 3 个坏人 (其中 n 为节点数)作恶,这样一来也是可以通过不断增加节点数来突破 (n - 1) / 3 的限制。为了防止这一行为可以使用区块链技术中的工作量证明(Proof of Work)算法。

原理

  PoW算法,换言之工作量证明(Proof Of Work)算法,即通过一份证明来确认你做过一定量的工作。比如,你可以通过考取一张证书来证明你通过努力拥有了某个领域的专业技能。
具体来说就是,请求方需要做有一定难度的计算才能得到一个结果,验证方可以通过简单的计算来检查客户端是不是做了相应的工作。
  PoW算法分为请求方和验证方两个角色,请求方首先通过计算得到一个计算结果,然后将这个计算结果发送给验证方核验;验证方收到计算结果后通过简单的计算来核验请求方发送来的计算结果是否正确。
  注意:PoW算法具有不对称性,即对于请求方来说证明工作是有难度的,但是对于验证方核验工作真实性是比较简单的。

PoW使用的哈希算法

  不同的PoW算法就是内部使用不同的哈希算法,在比特币圈中都是使用一些被认证过的安全算法,要么是单独使用,要么是排列组合使用。

SHA256

  SHA-2安全散列算法2(Secure Hash Algorithm 2)由美国国家安全局研发的一种密码散列函数算法标准,向上它属于SHA算法之一,是SHA-1的后继者;向下它有可分为SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224和SHA-512/256六个不同的算法标准。

串联哈希算法

  所谓串联就是将多种哈希算法串起来使用,2013年夸克币发布时就对输入数据进行了九次哈希函数的计算,即将前一轮计算的结果作为下一轮哈希函数计算的输入。这九轮哈希函数共使用了BLAKE、BMW、GROESTL、JH、 KECCAK和SKEIN六种加密算法。
  虽然这类串联算法可以很好的增加PoW的安全性,但是因为整个串联过程是一条链环环相扣,只要破解其中一环,那么整个链条就断裂了。

并联哈希算法

  所谓并联同样也使用了多种哈希算法,但是与串联不同的是,并联首先将输入数据通过某个哈希算法计算出一个值,然后将该值交给多个哈希算法分别计算出一个值,最后将这些值混淆编排成一个哈希结果。
  如Heavycoin(HVC)算法:

  1. 使用HEFTY1哈希算法计算输入数据,得到结果d1;
  2. 将d1作为输入数据交给SHA256、KECCAK512、GROESTL512和BLAKE512分别计算出结果d2、d3、d4和d5;
  3. 提取d2-d5前64位混淆编排后形成一个256位的哈希结果。

你可能感兴趣的:(分布式协议,分布式,哈希算法,后端)