Pages:
Author

Topic: CPU->GPU->ASIC->Memory - page 2. (Read 4888 times)

member
Activity: 69
Merit: 10
November 30, 2013, 06:49:58 PM
#3
好文章,支持个。
newbie
Activity: 2
Merit: 0
November 30, 2013, 12:47:35 PM
#2
电子货币的价值 寄托于真正的去中心化 无论是资本还是技术 现在看来无论如何 BTC模式只能是一个先驱
newbie
Activity: 20
Merit: 0
November 30, 2013, 07:50:50 AM
#1

挖矿从CPU到GPU到ASIC的过程,大家都了解了。如何设计一种只能CPU挖矿的算法呢?其实很简单,估计看完本文,你也就会了。
本文是我看了Scrypt算法以后的一些感受。

整篇文章我也没全看,主要是其中的各个证明,全是数学的东西,我就跳过了。但对于其中提到的三种算法,我是理解了。
这三种算法,其实就是三句话,1:要防止破解,需要用大量的内存。2:要防止破解,要不可并行。3:要防止破解,要在内存中分散存储。

如果真正使用了大量的内存,是不可能出现矿机的。LTC矿机之所以出现,是因为LTC也只使用了128K的内存,是比sha256的288字节大的多了,但还是不够大。
我们来看一下,LTC的Scrypt算法在CPU和GPU中的情况。
对PC而言,一般4核CPU,所有的数据只能动员512K的内存,但因为只有4个核,就只可以启动四个进程。
对显卡而言,N卡有1000+个计算单元,A卡有3000+个计算单元,动员100多M和400多M内存,启动1000+或3000+个进程。当然每个进程的速度可能比不上CPU但总计效率提升几百到几千倍。

对于ASIC而言,(还是说BTC的矿机吧)一个内核中有几千个门电路,可以在一个时钟周期内,完成CPU、GPU需要几千时钟周期内完成的工作。差不多一个矿机内核,顶的上一块显卡。(烤猫USB 333M,就是这样一个核)
而avalon两模块就是8*10*2=160个芯片,320个内核。速度直接就上去了。


设想一下,如果有一个算法,在整个计算过程中,需要使用1G内存,会发生什么情况。
对PC而言,一般有4核CPU,和4G内存。不考虑什么操作系统了。就算他正好,可以同时开4个进程来计算。
对显卡而言,N卡有1000+个计算单元,A卡有3000+个计算单元。但是,就算你是再高端,也不过4G显存。你也不过开4个进程同时计算。
前面所说的算法要求,不可并行,就是指从内存角度讲,只够同时开展4项工作,那么就只能动员4个计算单元。无法用多个计算单元来同时完成一项工作。
对ASIC来说,如果一块ASIC能够直接访问1G内存,他就已经不能被称为ASIC了,至少已经是定制CPU了。

那么我们看看这种定制CPU是否值得制造呢?
目前4G内存200大洋,而如果用于挖矿还需要配的CPU主板、电源,不会超过2000大洋。即内存价格占总计价格的10%以上。
如果出现了专业矿机,就算他芯片的价格为0,但仍旧是需要使用200块的内存,才能达到上述计算机的性能。即专业矿机的性价比,不超过普通计算机的10倍。
以这样的性价比提升,是不值得来设计如此复杂的专用芯片的。

好了,大家已经知道了,只要设计出一种使用真正大内存的算法,就可以只运行CPU挖矿。当然,算法如像算力提升那样,可以将需要使用的内存进行调整,那就更好了。

那么如何设计一种这样的算法呢?我们仍旧只讨论hash算法,质数算法什么的,我还没研究呢。
其实,就拿sha256做一个变异就行了。我称之为sha256M,
sha256算法中,有w数组,共64项。直接把这个数组扩大到256M项,占用1G内存。
并把算法中涉及这个数组的各种64次的循环,变成256M次。应该就可以了。

但是问题来了,一般CPU的sha256算力为1M每秒,而我这个sha256M,因为用不上cache,估计速度为0.1次每秒。好像太低了。
那也没问题,先让一下步,来个sha256-1M,-2M什么的。当算力提升上去以后,在逐步调整难度么。

对于Scrypt来说,就更简单了。LTC中使用的Scrypt是MFcrypt算法的一种特例,是使用了SMix和sha256,并将长度定为128K的MFcrypt算法。
Scrypt本身就有个N参数调整内存使用大小。将他调大,并可以根据算力继续调整就行了。

好了,回到文章的标题吧。
如果存在矿机,那么挖矿的门槛直接就提高了,个人无法与机构抗衡。但如果只能用CPU挖矿,即便是再大的机构,也不过能动员几万到几百万台计算机集中。这些计算机足以被淹没于人民大海中。
而要去中心化,只能用CPU挖矿,也就是必须使用真正足够大的内存来计算。
也就是说,未来的挖矿,不是比CPU,不是比GPU,更不是比ASIC,而是比MEMORY。

Pages:
Jump to: