什么是scrypt算法?
Scrypt是由Colin Percival于2009年开发的密码学函数,在2013年被选为比特币区块链中的加密货币Litecoin的默认哈希算法。
Scrypt的功能是将一个大块的数据转变成一个较短,不可逆的哈希值。Scrypt算法采用了“内存硬度”技术,即使相同的密码在多台机器上运行,它们也需要耗费相同数量的内存和时间来生成哈希值。
如何应用于加密货币?

Scrypt算法的内存硬度特征使其成为加密货币挖掘中的理想选择。它减缓了ASIC芯片的使用和矿机的加速,并使个人用计算机进行挖掘变得更加有可能。
Litecoin是第一个广泛采用Scrypt算法的数字货币。此后,其他许多算法也采用了Scrypt,包括FEATHERCOIN、DOGECOIN和NOVA等。
Scrypt算法如何确保安全性?
Scrypt采用了哈希函数的公共模块,同时也使用了独立的salt和nonce和不同的哈希函数,因此攻击者需要对一个区块链中全部的哈希函数汇总信息进行攻击。
同时Scrypt算法相对于SHA-256算法,在攻击硬件上更为困难,攻击成本高,所需的成本和时间大大增加了。这样,scrypt算法减缓了ASIC芯片的使用和矿机的加速,并使个人用计算机进行挖掘变得更加有可能。
Scrypt算法与SHA-256算法的区别在哪里?

SHA-256算法在加密时占用的内存较少,使得ASIC设备可以极大地提高其哈希速度。相反,Scrypt算法占用的内存较多,在这种情况下,即使是拥有无限垃圾处理能力的ASIC设备,也很难优于GPU或CPU提供的哈希速度。
SHA-256算法块大小为512比特,而Scrypt算法块大小为128比特,这意味着在相同的时间内,SHA-256算法会比Scrypt算法处理更多的数据。
Scrypt算法有没有缺点?
尽管Scrypt算法确保了更为稳健的加密保护,但它并不是万能的,也不是不受攻击的。若在一个最佳的硬件上处理,则比SHA-256算法慢,需要更多的处理器和加密软件来在短时间内完成。此外,Scrypt算法不能很好地抵御攻击,比如暴力攻击和彩虹表攻击。
Scrypt算法将带来怎样的变革?
Scrypt算法为加密货币的矿业带来了显著的变革。以使用ASIC设备为例,SHA-256算法会极大地提高其哈希速度,这意味着挖掘加密货币的竞争将竞争变得很激烈。然而,Scrypt算法更有利于使用GPU或CPU进行挖掘。
在加密货币行业中,Scrypt算法可能会激发新型加密货币的开发。比如,Ripple采用了自身的算法验证XRP交易,而不依赖于SHA-256或Scrypt。这意味着第二代加密货币将越来越多地采用自身的独特算法。