Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

ASIC终结者:X16R算法的异军突起

小饱1
79 0 0
/1/% b0 d9 Y2 h4 ?* z% H; L- y
算法发展史
3 I7 P% k3 B1 j5 K" d9 }共识算法可能是区块链挖矿行业最为重要的核心,其中又以PoW为主。Proof of Work简称为PoW(工作量证明),用于证明你在某时间内完成的工作量。( n% Q8 S" `$ `
这一概念最早被Cynthia Dwork和Moni Naor于1992年写在如何处理打击垃圾邮件的论文上。
7 h: [. U' m) D" i- V: w$ e
, o- a. p2 \8 B4 w; a. X2008年之后,Peer-to-Peer技术、PoW和加密算法被应用于Bitcoin。
& M" a) y# i- ^; t- e  fBitcoin采用的SHA-256算法属于SHA-2(Secure Hash Algorithm 2,安全散列算法2),由美国国家安全局研发。- G- L4 b: r4 w9 ^" B' o/ w
SHA-2安全吗?就目前来看是安全的,并且短期内哈希计算速度没有发生大幅度提升的趋势。
% Q5 k6 u4 Z! C7 H! o' V* ySHA-2的前身是SHA-1,目前想要破解一次SHA-1的成本大约在70万美元(可能更低)。破解需要进行的计算总量约为900万兆(9,223,372,036,854,775,808),5Ghz的CPU每秒计算速度约为20亿次。相当于使用CPU得花费150年才能破解SHA-1,足以说明破解难度之高。
) ^. Y+ |% @: V/ `SHA-2虽难以破解,但是其本身计算方式单一,只要加快哈希值计算便可以提高BTC开采的速度。ASIC矿机就是为了高效计算哈希值而生。
* k0 M' v1 d) r7 y# Q! v5 PASIC矿机的出现使社区产生了分歧,分歧点在于是否符合PoW这一理念以及对于每一个用户是否平等。8 z  o6 M" ?3 n1 S+ A# c
' O3 q/ J. W/ U+ ?& h# W: V# c
目前多个主流加密数字货币分别采用不同的算法或者共识去反抗ASIC矿机的出现。主要分为两种方式,一是共识机制的改革,二是通过更改算法规则。5 [& T5 {" x+ q: }# ?1 U: F
现行的共识机制下,公链上主要以PoW和PoS(Proof-of-Stake,股权证明)两种存在。4 o7 c( M: p  Z6 ^* g; M) a6 K; d+ g
二者皆有利弊,使用PoW便意味着消耗大量的能源去进行计算,并且理论上存在着算力攻击的风险,相对来说安全性较高;PoS缺少工作过程证明,也存在利益分配和贿选问题。而Ethereum试图采用PoW+PoS混合制的形式,就是为了改善现有共识来抵御ASIC的影响。其目前的状况是使用PoW共识,试图转至PoS,但没有推出一个完美的过渡机制(依旧使用PoW)。
+ B9 @: H0 ~* QEthereum使用了Ethash算法,前身为Dagger算法(Vitailk发明),其目的是为了抵制ASIC矿机。如何抵制ASIC矿机呢?通过将挖矿和内存带宽相捆绑,即降低其他硬件的运算优势,从而达到挖矿设备平等这一理念。; a6 }& e' L9 w( B
; l% p* N) i$ n9 C
Ethereum算力变化图) r! W: H3 j0 U/ V; Y* F- r- a8 \
Ethash算法没有阻挡ASIC矿机的出现,只是拖延了出现的时间。! [2 X  U: t# @' ]
绑定内存带宽意味着可以通过提高内存带宽速度来提高算力,或者在相同内存带宽速度下降低功耗,只不过目前内存带宽价格过高以及ETH价格过低,从成本上考虑,ASIC矿机相较GPU来得不够划算。
  f: F2 T0 ^6 a* y4 F7 ULitecoin使用的是密码学家兼程序员Colin Percival于2009年发表的论文Stronger Key Derivation via Sequential Memory-hard Functions上所发明的scrypt算法。原理和Ethash较为相似,都是提高挖矿时内存的使用成本,延缓ASIC矿机的出现。
* C# m, n7 p9 h( c7 i
1 v. \& }6 ^2 u% X2014年,Zeusminer研发出了专门针对scrypt算法的ASIC矿机。这也说明通过绑定某一硬件(如内存)从而抬高挖取的使用成本是没有办法完全杜绝ASIC矿机。! B' B5 e+ Y4 z# W( |' E
除了以上的算法外,还有Dash使用的X11算法,Zcash使用的Equihash算法,Bytecoin使用的CryptoNote算法等等。1 h. S6 A" Y" s; i# g7 k
算法的进化和变革的一个主要原因是抵制ASIC矿机的出现。. e: I% X! j% x! N; H4 N+ ]# }1 i% Y
ASIC矿机对整个生态存在的缺点如下:: C5 k* @' A$ I+ ?9 H
1、容易变成寡头之间的算力游戏,有发生算力攻击的风险。
1 P6 \& j. `7 G/ {! h' u) i0 ^2、挖矿设备不平等,算力过于集中。(也有观点认为设备不平等是客观存在的,ASIC矿机的研发和使用都投入了人力物力,不应该过分抵制。), t, K( P& Y  |7 |% G; ]
3、消耗大量的资源,用途较为单一。1 {7 C: o: O0 {9 D2 g7 O
如果以Bitcoin为例,ASIC矿机并非全是缺点,反而支撑起了BTC的价格。
! F& n( Q3 g1 O2 r中本聪曾在回复用户的邮件中写道,“it would be left more and more to specialists with server farms of specialized hardware”。如ASIC一类的专门用于挖矿的硬件(specialized hardware)会在未来出现早已被中本聪考虑到了。0 x. E* Z" m* m4 F' p
那么,那些为了抵制ASIC矿机的而设计发明出来的算法存在的意义呢?给予普通用户将过剩资源利用起来的入场券。$ Q) P' V# I! ?. c, ~. L' I  L5 G
/2/
% L& b- G6 P+ q$ M目前为止, 适合个人参与挖掘的算法
9 L$ B, ?$ j- Y# W$ N1 w5 R/ D* v& `
$ u6 V- X5 G$ B; C4 {最近,Binance上一个新上的通证引起了大家的注意,尤其是采用的X16R算法。
2 |0 v5 d5 E' D/ y4 o" a& oX16R算法是继X11、X13、X15、X17之后的一种变形算法。
6 k7 A5 @1 z* h/ Y1 n* p  u8 XX11算法指的是将11种固定的哈希算法串联使用,从而增大ASIC矿机的研发成本。X13算法则是将13种固定的哈希算法串联。然而单纯增加算法的数量和种类也只是延长ASIC矿机出现的速度。. r$ x4 d8 L' d8 {" O
X16R算法则是不断打乱哈希算法的串联顺序,使得计算难度得到几何级的提升。
# B5 u- v5 C2 z  X0 M* L& eX16R算法选择了X15算法中经过验证的15种,外加SHA-512算法(属于SHA-2,和SHA-256结构相同)。但是16种算法不是采用固定排列,而是基于前一个区块的哈希值进行动态变化。
. o6 e6 t- C6 @- L改变顺序和固定顺序之间的区别有多大?7 p2 {. }& V6 I% W. w
使用ASIC矿机进行固定顺序的哈希算法可以使芯片利用率达到100%。ASIC矿机在乱序的哈希算法上,平均芯片利用率只有64.38%。3 [& j1 f' T( S! a2 j3 V
如X11算法,矿机研发企业只需要将11种哈希算法逐一研发对应的ASIC矿机,并进行固定顺序组合。如同车间一般,每一种哈希算法都由相应的ASIC矿机进行计算,往复循环。每个芯片都不会闲置,利用率可以达到满负荷。
& Y, f4 P/ b2 Y" e( e: o1 GX16R增加了两个不确定性:: X0 P2 V2 e* h2 H
1、算法顺序的不确定性。! x' X/ _( Z# C& B7 U
2、算法出现频率的不确定性。. @+ U/ b1 @1 `1 f1 P5 {  s3 K/ O
每个区块会进行16次运算,这16次运算会出现什么哈希算法是无法确定。$ b' @% Q, E; u9 x
假设16次运算都是同一种算法,那么这样的概率是16/(16的16次方)=8.673617379884e-19
! ^3 E. R( n& q7 {' l7 p假设16次运算出现了两种不同的算法,那么这样的概率为[16*15/2(从16种算法选两种)*2的16次方]/(16的16次方)=4.2632564145606e-13
0 p: \2 M# ^! E. @( E  t
( G  U. {# X/ ^7 L3 t4 e假设16次运算出现了16种算法,那么出现这种情况的概率为16!/(16的16次方)=1.1342267125514e-6
! c. w  F5 g: Z% r: q通过加权平均计算,每个区块会涉及到10.3种函数。假设实现每种哈希计算的芯片面积相同,那么芯片利用率为10.3/16=64.38%。这也意味着即使使用ASIC矿机进行X16R计算将会造成至少35.62%的芯片浪费。
. v& `- u& [" c" J8 z5 y7 s4 e
4 S4 c* [' s& `8 MX16R还有一特点,由于每种哈希计算所需要的时间是不相同会导致出块时间不相同。在长时间上来看,出块时间会由于各个哈希函数的搭配而被平均。, j1 S2 P- P# e7 T
X16R具有如此多之前所不具备的特征,那么到底能不能防止ASIC矿机的产生呢?就现在来说,可以。- I- Q. c4 a/ h4 }
什么情况下会产生专门针对X16R的ASIC矿机?
& j% b- W/ b$ A6 R, S, [1、通证的价格足够高,有足够的利润吸引厂商去进行研发。
% B8 A' |; w, o* F0 `0 {2、新技术的产生,算力功耗比得到大幅度的提升,拉开和GPU的算力优势。$ s% p2 u8 Z& j: y6 I3 ?! @9 W. T& ^
不过,X16R目前能防止ASIC矿机却防不了FPGA矿机。当一个区块产生时,其哈希值的最后8个字节就确定了下一个区块所使用的哈希函数算法。FPGA矿机可以快速重新编程,为每一个哈希算法排好顺序,充分利用芯片资源,从而进行运算,但是其算力较为低下,和GPU相比优势不明显。+ s: Z' l9 i* E$ z# L) [
只要还有利可图、有人在乎设备平等,算法和ASIC矿机之间的较量就还会持续下去。
9 p. ^+ E: V6 M- E: d& D2 M  pX16R绝对不会是最后一个阻挡ASIC矿机的算法。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

小饱1 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    36