校验成本是什么意思?

时间:2022-05-04 23:54:26

Scrypt的另一个局限性是,它需要用与计算所用的同样大小的内存来做校验。校验成本是什么意思?为了让内存刚性有意义,校验成本N需要变得比较大。这校验成本意味着一个Scrypt的计算要比一个SHA-256的迭代计算(在比特币里只需要一个SHA-256计算就可以校验)昂贵许多倍。这会产生负面的结果,因为在网络里的每个用户必须校验成本重复这个计算来检查每一个新发现的区块是否有效。这会减缓新区块传播和被认可的速度,从而增加了分叉攻击[4]的风险。

它还要求每个客户端(即使是轻量级的SPV客户端)拥有足够的内存来有效地进行函数计算。这样一来,实际上校验成本在加密数字货币中能够被Scrypt用到的内存N是有限的。一直到最近我们都不明确,是否有可能设计一个挖矿解谜程序在计算上是刚性内存类的,又可以很快地(不需要大量内存)进行校验。这个校验成本特性对密码进行哈希运算没有多大作用,在用于加密数字货币之前,这是Scrypt算法的主要用途。

这个算法可能会让刚性内存或是内存限制类的证明工作在比特币共识里变得更加实用。可惜的是,这个校验成本函数无法在数学上证明,如果它不用内存的话就不能被有效地计算。通常,一个新的密码学算法看起来都是安全的,但是社区会对它持有保留意见,直到它存在了多年而没有被破解过。因为校验成本这个缘故,并且因为它也是最近才被发明的,当前杜鹃鸟周期算法还没有被任何加密数字货币所采用。