区块狗开发">区块狗开发找(崔先生138-2863-2352微电)区块狗源码开发,区块狗定制开发。Scrypt是一个刚性内存的哈希函数,最早是为了加密密码而不容易被暴力破解(比如,反复试错破解),所以挖矿解谜与比特币用的“不完全哈希函数原像解谜”是一样的,只不过用Scrypt取代了SHA-256。
软件开发公司,可开发类似系统。非平台方,玩家勿扰

在时间和内存之间的权衡。如果没有一个较大的内存缓存,计算Scrypt会变得很慢,但是用较少的内存来增加相对较少的计算还是有可能的。假设我们使用一个大小约N/2的缓存(而不是N的大小),现在,我们只在j是偶数的情况储存V【j】的值,丢掉那些j是奇数的值。
而在第二次循环里,一半的情况下j为奇数的值将会被选到,但这种情况还是很容易被计算的。我们只需要简单地计算SHA-256(V【j-1】),因为V【j-1】在我们的缓存里。在一半的时间内会产生这种情况,所以它增加了N/2个额外的SHA-256计算。
因此,对内存要求量的减半只会增加1/4的SHA-256计算量(从2N到5N/2)。总体来说,我们可储存缓存区域V里的每个k排数据,即使用N/k的内存和计算(k+3)N/2次的SHA-256迭代计算。在这个限制下,如果我们设定k=N,我们就回到先前运算时间为O(N的平方)的计算。这些数字不一定非常准确地适用于Scrypt算法本身,但是渐进预测的方式确实是适用的。
除此之外,还有其他的设计可以弱化用时间来换取内存地能力。举例来说,如果一个缓存持续地在第二次循环中被更新,它可以让时间与内存之间的互换不是那么有效,因为这些更新必须被储存在内存中。