SHA-256
介绍:SHA代表安全散列算法,SHA-256是由NSA设计的SHA-2加密散列函数的成员。加密散列函数是对数字数据运行的数学运算,通过将所计算的“散列”与已知的散列值进行比较,人们可以确定数据的完整性。 单向散列可以从任意数据生成,但不能从散列生成数据。在比特币等多个区块链应用中的多个环节被使用。
论文:Courtois, Nicolas T., Marek Grajek, and Rahul Naik. "Optimizing sha256 in bitcoin mining." International Conference on Cryptography and Security Systems. Springer, Berlin, Heidelberg, 2014.
应用:Bitcoin(BTC)、BitcoinCash(BCH)、Peercoin(PPC)、Zetacoin(ZET)、Universal(UNIT)、Deutsche eMark(DEM)、AUR-SHA(AUR)、DGB-SHA(DGB)
Scrypt
介绍:Scrypt是一个内存依赖型的hash算法。有趣的是算法是由著名的FreeBSDColin Percival为他的备份服务Tarsnap开发的。内存依赖顾名思义会占用很多内存空间,从而减少cpu负荷。由于其内存依赖的设计特别符合当时对抗专业矿机的设计,成为数字货币算法发展的一个主要应用方向。
论文:Percival, Colin. "Stronger key derivation via sequential memory-hard functions." Self-published (2009): 1-16.
应用:Litecoin(LTC)、Dogecoin(DOGE)、DNotes(NOTE)、Florin(FLO)、Gulden(NLG)、DGB-Scrypt(DGB)、GameCredits(GAME)、Verge-Scrypt(XVG)、Einsteinium(EMC2)、AUR-Scrypt(AUR)
X11
介绍: X11算法的推出和litecoin采用的Scrypt算法目的一样,为了抵制ASIC矿机的扩张。X11就是使用了11种加密算法(BLAKE, BMW, GROESTL, JH, KECCAK, SKEIN, LUFFA, CUBEHASH, SHAVITE, SIMD, ECHO)。数据需要进行11次不同算法的运算,一方面提高安全性一方面增加计算量。
论文:Duffield, Evan, and Daniel Diaz. "Dash: A PrivacyCentric CryptoCurrency." (2014).
应用:Dash(DASH)、Prime-XI(PXI)、Onix(ONX)、Startcoin(START)、Creamcoin(CRM)、Influxcoin(INFX)、MonetaryUnit(MUE)、Monoeci(XMCC)
Equihash
介绍:Equihash是由卢森堡大学跨学科中心开发的面向内存的工作量证明(PoW)算法。算法的核心点是基于广义生日问题(Generalized Birthday Problem)。我个人是比较看好这个算法的,他提高了定制硬件(ASIC)的成本效益。
论文:Biryukov, Alex, and Dmitry Khovratovich. "Equihash: Asymmetric proof-of-work based on the generalized birthday problem." Ledger 2 (2017): 1-30.
应用:Zcash(ZEC)、Zencash(ZEN)、BitcoinGold(BTG)、Zclassic(ZCL)、Hush(HUSH)、Komodo(KMD)
NeoScrypt
介绍:NeoScrypt是替代Scrypt的下一代工作量验证算法。 它消耗的内存少于后者,但内存更密集,密码更强。 将流密码算法Salsa20,Salsa20改良的ChaCha20,BLAKE2s和FastKDF的功能结合到一个安全的ASIC抗性解决方案中。
论文:Doering, John. "NeoScrypt, a Strong Memory Intensive Key Derivation Function." (2014).
应用:GoByte(GBX)、Innova(INN)、Trezarcoin(TZC)、Vivo(VIVO)、Crowdcoin(CRC)、Phoenixcoin(PXC)
Lyra2REv2
介绍:Vertcoin使用Lyra2REv2作为工作量证明算法改进Bitcoin,目的同样也是为了抵抗ASIC。Vertcoin向Scrypt算法引入了“自适应N因子”。 Scrypt的N因子组件决定计算散列函数需要多少内存。 Vertcoin的N因子随着时间的推移而增加,以阻止开发专用的“采矿”硬件并鼓励在个人用户的电脑上分发验证任务。目前的LyraREv2由BLAKE, Keccak, CubeHash, Lyra2,Skein 和 Blue Midnight Wish 哈希算法组成。
论文:Lyra2RE – A new PoW algorithm for an ASIC-free future
应用:Vertcoin(VTC)、Monacoin(MONA)、Verge-Lyra2REv2(XVG)
Ethash
介绍:Ethash将DAG(有向非循环图)用于工作量证明算法,通过共享内存的方式阻止专用芯片,降低矿机的作用。 这个算法是以太坊(Ethereum)现阶段的过度算法,前身是Dagger-Hashimoto。Casper the Friendly Finality Gadget(FFG)实现后以太坊将从概率最终性变成确定最中性。
论文:Buterin, Vitalik. "A next-generation smart contract and decentralized application platform." white paper (2014).
应用:Ethereum(ETH)、EthereumClassic(ETC)、Pirl(PIRL)、Musicoin(MUSIC)、Expanse(EXP)、Metaverse(ETP)
X11Gost
介绍:x11GOST由10个SHA3算法和Stribog哈希函数组成 散列值,各个算法逐个进行计算有效的防止了ASIC的获胜概率。
论文:CRYPTO CURRENCY ON THE BASIS OF DELEGATED NODES (MASTERNODS) WITH QUICK SCALE TECHNOLOGY
应用:Sibcoin(SIB)
CryptoNight
介绍:CryptoNight是一种工作证明算法。 它被设计为适用于普通的PC CPU,利用现有cpu的优势(本地AES加密和快速64位乘法器 - 调整为使用与英特尔CPU上的每核心三级高速缓存大小相当的暂存器,大约2MB),因此CryptoNight只能进行CPU挖掘,目前没有专门的采矿设备针其做出设计。 CryptoNight依赖随机访问慢速内存并强调延迟依赖性,每个新块都取决于所有以前的块(不像scrypt)。
论文:CryptoNight Hash Function
应用:Dinastycoin(DCY)、Dinastycoin(DCY)、Electroneum(ETN)、Karbo(KRB)、Bytecoin(BCN)、Monero(XMR)
Blake(14r)
介绍:BLAKE和BLAKE2是基于Dan Bernstein的ChaCha流密码的密码散列函数,但是在每个ChaCha回合之前添加一个输入块的排列副本,其中包含一些常量异或。BLAKE的两个主要实例是BLAKE-256和BLAKE-512。 它们分别使用32位和64位字,并生成256位和512位摘要。
论文:Aumasson, Jean-Philippe, et al. "Sha-3 proposal blake." Submission to NIST (2008).
应用:Decred(DCR)