首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链算法追根溯源(二)

书接前文,上文书说了POW算法中的SHA256、Scrypt、改良S系X11串联算法、深度加密的并联算法,今天继续讲讲其他的POW算法。

接下来登场的是企图让区块链的POW为现实世界制造贡献的算法——Prime素数算法。为什么会诞生这个算法,这个还要跟当时的舆论环境结合在一起。正当一部分人在算法探索之路上进行的如火如荼之时,另一部分人的声音也非常刺耳,那就是指责POW浪费能源(彼时POS机制已经实现)。POW党虽极力维护,但也承认耗费能源这一事实。这一指责打开了另一条探索之路,即如果能找到一种算法,既能维护区块链安全,这些Hash运算又能在其他方面产生价值,那简直更完美。

在这条探索之路上最让人振奋人心的成果来自于Sunny King(这大神之前已经开发了Peercoin,即点点币,关于点点币是另一个神话,这个可能还要留到下一篇文章去讲述)发明的素数币(Primecoin)。素数币算法的核心理念是:在做Hash运算的同时寻找大素数。素数在数轴上不但稀有(相对于偶数而言),而且分布不规律,在数轴上寻找素数只能盲目搜索探测,这正是POW的特征。

素数到底有什么用?肯定是有用的,只可惜素数虽然如今已被广泛应用于各个领域,但人类对他的认识还是有限。而且还出现了个问题,由于素数在数轴上分布不均匀,且根据目前掌握的知识来看,数越大,素数越稀有,寻找难度并不是线性递增,耗时也就不可预估,但是区块链要求稳定出块。于是这种搞法实在是不招矿工的喜欢。除了素数算法,还有解析蛋白基因的算法甚至计算π值的算法之类,最后也都悄无声息了,但探索还在继续。

接下来就是目前人人都用到的以太坊的算法了,以太坊采用Ethash的算法,开发团队一点也不含糊,一如既往发扬其“简单问题复杂化,繁琐细节秀智商”的设计风格。Ethash 是最新版本的 Dagger-Hashimoto改良算法,是Hashimoto算法结合Dagger算法产成的一个新变种。开发团队最后倒腾出来的Ethash挖矿时基本与CPU性能无关,却和内存大小和内存带宽成正相关。不过在实现上还是借鉴了SHA3的设计思路,但是使用的”SHA3_256” ,”SHA3_512”与标准实现很不同。

以太坊的算法也是号称抵抗矿机,而且确实抵抗了很久,只可惜架不住人们的各种手段去,就算是显卡都能集成在一起搞成矿机,搞得整个市场都断货。但是也着实让显卡厂商大赚了一笔,即使再“抵抗矿机”,也没法抵抗人们的欲望,只要利润够高,活神仙都能买通。

接下来再聊聊零知识认证的EQUIHASH算法,这个算法如今被部分币种采用,但是早期刚出来的时候还曾引起过轰动,就是Zcash,这个币种可了不得,曾经创造出过单币“天价”,一枚Zcash在没上线的时候期货价格最高甚至达到200万美元,令人叹为观止。Equihash算法由Alex Biryukov 和 Dmitry Khovratovich联合发明,其理论依据是一个著名的计算法科学及密码学问题——广义生日悖论问题。Equihash是一个内存(ARM)依赖型算法,机器算力大小主要取决于拥有多少内存,根据两位发明者的论文描述,该算法执行至少需要700M内存,1.8GHz CPU计算30秒,经Zcash项目优化后,目前每个挖矿线程需要1G内存,因此Zcash官方认为该算法在短时间内很难出现矿机(ASIC)。此外,Zcash官方还相信该算法比较公平,他们认为很难有人或者机构能够对算法偷偷进行优化,因为广义生日悖论是一个已经被广泛研究的问题。此外,Equihash算法非常容易验证,这对于未来在受限设备上实现Zcash轻客户端非常重要。

不过虽然容易认证,但是究竟能不能彻底保证安全是个未知数,就连Zcash自己的项目团队都表示,如果EQUIHASH算法出现问题,将来Zcash会进行算法更换。

剩下还有一些门类的POW算法,暂时就先不一一赘述,如果有必要的话,未来可能进行补充。本篇文章对于POW的讲述先进行到这里,下一篇文章,来聊一聊敢于和POW公开对抗的POS算法中的重磅拳击手们,纯POS算法以及改良后的DPOS算法,欢迎大家届时观看。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180225B0DL6H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com