加密货币挖矿的算法有哪些?
区块链挖矿算法主要分为两种:需要使用大量硬件资源用于计算的POW算法;不需要使用大量硬件资源用于计算,但需要用币挖矿的POS算法。
SHA-256
SHA代表安全散列算法,SHA-256是由NSA设计的SHA-2加密散列函数的成员。加密散列函数是对数字数据运行的数学运算,通过将所计算的“散列”与已知的散列值进行比较,人们可以确定数据的完整性。单向散列可以从任意数据生成,但不能从散列生成数据。在比特币等多个区块链应用中的多个环节被使用。
Scrypt
Scrypt是一个内存依赖型的hash算法,由著名的FreeBSD黑客Colin Percival为他的备份服务Tarsnap开发。内存依赖顾名思义会占用很多内存空间,从而减少cpu负荷。由于其内存依赖的设计特别符合当时对抗专业矿机的设计,成为数字货币算法发展的一个主要应用方向。
X11
X11算法的推出和litecoin采用的Scrypt算法目的一样,为了抵制ASIC矿机的扩张。X11就是使用了11种加密算法(BLAKE、BMW、GROESTL、JH、KECCAK、SKEIN、LUFF、CUBEHASH、SHAVITE、SIMD、ECHO)。数据需要进行11次不同算法的运算,一方面提高安全性一方面增加计算量。
Equihash
Equihash是由卢森堡大学跨学科中心开发的面向内存的工作量证明(PoW)算法。算法的核心点是基于广义生日问题(Generalized Birthday Problem),它提高了定制硬件(ASIC)的成本效益。
Tensority
Tensority是一种新型的PoW共识算法,由比原链率先提出,将矩阵和张量计算融入到共识算法过程中,从而实现AI加速芯片可以参与区块链共识计算。Tensority共识算法的特色在于算法过程中穿插了很多的矩阵生成,矩阵变换,矩阵乘法等运算,而这些能力在人工智能加速中也会频繁使用,同理可得,支持矩阵运算的矿机可以用作人工智能的加速服务,以此来提升矿机的资源利用率。
NeoScrypt
NeoScrypt是替代Scrypt的下一代工作量验证算法。 它消耗的内存少于后者,但内存更密集,密码更强。将流密码算法Salsa20,Salsa20改良的ChaCha20,BLAKE2s和FastKDF的功能结合到一个安全的ASIC抗性解决方案中。
Lyra2REv2
Vertcoin使用Lyra2REv2作为工作量证明算法改进Bitcoin,目的同样也是为了抵抗ASIC。Vertcoin向Scrypt算法引入了“自适应N因子”。 Scrypt的N因子组件决定计算散列函数需要多少内存。 Vertcoin的N因子随着时间的推移而增加,以阻止开发专用的“采矿”硬件并鼓励在个人用户的电脑上分发验证任务。
Ethash
Ethash将DAG(有向非循环图)用于工作量证明算法,通过共享内存的方式阻止专用芯片,降低矿机的作用。 这个算法是以太坊现阶段的过渡算法,前身是Dagger-Hashimoto。
X11Gost
x11GOST由10个SHA3算法和Stribog哈希函数组成 散列值,各个算法逐个进行计算有效的防止了ASIC的获胜概率。
CryptoNight
CryptoNight是一种工作证明算法。它被设计为适用于普通的PC CPU,利用现有CPU的优势,因此CryptoNight只能进行CPU挖掘,目前没有专门的采矿设备针其做出设计。