WebGL2 实现的 SHA256 挖矿,试试有多快 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zjcqoo
V2EX    分享创造

WebGL2 实现的 SHA256 挖矿,试试有多快

  •  
  •   zjcqoo 2017-03-13 10:37:18 +08:00 20021 次点击
    这是一个创建于 3210 天前的主题,其中的信息可能已经有所发展或是发生改变。

    周末研究 WebGL2 时写了个 SHA256 PoW 简单挖矿演示:

    http://www.etherdream.com/FunnyScript/glminer/glminer.html

    用笔记本的速度是 30M hash/s 左右,感觉好慢。配置如下:

    • OSX 10.11.6
    • MacBook Pro ( Retina 显示屏, 15 英寸, 2013 年末)
    • 2 GHz Intel Core i7
    • 8 GB 1600 MHz DDR3
    • Intel Iris Pro 1536 MB

    感觉还是显卡不行。。。用 Chrome 和 FireFox 测试,速度基本相同,应该和浏览器关系不大。

    2015 款的 Air 的 CPU 更差,不过显卡是 HD6000 ,可以跑出 50M+ 的速度。

    看看你们有多快~~~

    106 条回复    2021-07-05 10:37:50 +08:00
    1  2  
    phrack
        1
    phrack  
       2017-03-13 11:01:56 +08:00 via Android
    30m hash/s 是指每秒计算三千万个 sha256 ?
    zjcqoo
        2
    zjcqoo  
    OP
       2017-03-13 11:09:10 +08:00
    @phrack 是的。不过这个案例输入数据比较短,每次 SHA 只有 1 轮。
    gam2046
        3
    gam2046  
       2017-03-13 11:36:54 +08:00
    有趣,单位六代 i5 核显, 23M/S ,回家试试看自己的电脑如何(入门级 RX 460 4G 版本)。
    Kilerd
        4
    Kilerd  
       2017-03-13 12:00:56 +08:00
    203m/s

    i5 4590 + gtx 1060 3GB

    不知道有没有用到 1060 来跑 ( win10 自己装的驱动,好像没装成功。)
    zjcqoo
        5
    zjcqoo  
    OP
       2017-03-13 12:33:15 +08:00
    @Kilerd 这么快~ 那肯定用到 GPU 了。。。
    cst4you
        6
    cst4you  
       2017-03-13 12:36:05 +08:00
    Speed: 132.23M hash/s

    GTX 960
    zjcqoo
        7
    zjcqoo  
    OP
       2017-03-13 12:36:13 +08:00
    ** 有些显卡要运行个两三秒才能达到最高速度,所以刷新多试几次,才能看到最高速度 **
    jin5354
        8
    jin5354  
       2017-03-13 12:44:43 +08:00
    我 rmbp 配置和 lz 一样, 46M/s
    popu111
        9
    popu111  
       2017-03-13 12:51:54 +08:00
    新笔记本 6300HQ + 960M = 15M/s ,好像有点尴尬
    zsx
        10
    zsx  
       2017-03-13 13:01:21 +08:00
    i7-6600U + Intel HD 520 , 20M/s
    lutla
        11
    lutla  
       2017-03-13 13:02:09 +08:00
    6600K+1060 3g
    230m/s
    RqPS6rhmP3Nyn3Tm
        12
    RqPS6rhmP3Nyn3Tm  
       2017-03-13 13:06:47 +08:00
    Speed: 46.2M hash/s
    15015613
        13
    15015613  
       2017-03-13 13:06:59 +08:00
    ```
    loading shader files
    ready
    compile shader...
    compile: ERROR: 0:? : '' : syntax error
    ```
    @zjcqoo
    zjcqoo
        14
    zjcqoo  
    OP
       2017-03-13 13:07:57 +08:00
    刚刚更新了下,本来是挖连续 28 个 bit 0 ,好的显卡一下就完成了。。。

    现在改成挖连续 32 个 bit 0 ,可以多跑一会。(顺便加了个进度条~)
    Troevil
        15
    Troevil  
       2017-03-13 13:10:26 +08:00
    53 hash/s
    rmbp 2015 mid
    loading
        16
    loading  
       2017-03-13 13:13:51 +08:00 via Android
    手机浏览器有惊喜
    dvcake
        17
    dvcake  
       2017-03-13 13:24:11 +08:00
    E3 1231 +1060 6g 240m/s
    zjcqoo
        18
    zjcqoo  
    OP
       2017-03-13 13:31:05 +08:00
    @loading 移动端现在应该都不支持 WebGL2
    zjcqoo
        19
    zjcqoo  
    OP
       2017-03-13 13:32:41 +08:00
    @15015613 你是什么版本的浏览器?着色器不应该有语法错误啊。。。
    ETiV
        20
    ETiV  
       2017-03-13 13:34:33 +08:00 via iPhone
    switch 也不支持 webgl2 ……
    ps4 应该也不支持?
    zjcqoo
        21
    zjcqoo  
    OP
       2017-03-13 13:44:34 +08:00
    @ETiV 现在貌似只有 PC 版的 Chrome 和 FireFox 支持 http://caniuse.com/#search=webgl2
    Laynooor
        22
    Laynooor  
       2017-03-13 13:47:53 +08:00
    似乎不占用 CPU ,一直是 1%左右。

    6700K+1080

    329M/s
    jasontse
        23
    jasontse  
       2017-03-13 13:51:19 +08:00 via iPad
    Chrome 和 Firefox 最新的 stable 都说 not support
    Laynooor
        24
    Laynooor  
       2017-03-13 13:53:09 +08:00
    i5 6300U 核显 20M/s
    zjcqoo
        25
    zjcqoo  
    OP
       2017-03-13 13:58:52 +08:00
    @jasontse 刚刚也发现这个问题了。试了一台 windows 笔记本, Chrome 56 也提示无法创建, canvas.getContext('webgl2') 不成功。。。
    xzpjerry731
        26
    xzpjerry731  
       2017-03-13 14:00:00 +08:00
    7570M 差不多 34M hash/s

    但是结果是:
    '''

    compile shader...
    compiled
    mining... (4096 threads)
    not found!

    '''


    所以是假的?
    zjcqoo
        27
    zjcqoo  
    OP
       2017-03-13 14:04:41 +08:00
    @xzpjerry731

    穷举范围只有 4 字节( 0x000000 - 0xffffffff ),是有可能挖不到的,多试几次就有了。

    刚才把难度调大了,结果要满足连续 32 个 bit 0 。
    lanstonpeng
        28
    lanstonpeng  
       2017-03-13 14:06:55 +08:00
    72.07M hash/s
    zhangyh26258
        29
    zhangyh26258  
       2017-03-13 14:08:35 +08:00
    159.65M hash/s
    zjcqoo
        30
    zjcqoo  
    OP
       2017-03-13 14:14:10 +08:00
    早上还有 30M hash/s 的,现在程序开多了只有 27M
    ![]( )
    rrfeng
        31
    rrfeng  
       2017-03-13 14:24:25 +08:00
    46
    sseven
        32
    sseven  
       2017-03-13 14:35:02 +08:00
    一下就给我整黑了。
    Kyaru
        33
    Kyaru  
       2017-03-13 14:47:11 +08:00
    老电脑, GTX560
    avg speed: 55.19M hash/s
    honeycomb
        34
    honeycomb  
       2017-03-13 14:47:20 +08:00 via Android
    adreno 430 6.9M/s
    adreno 530 8.7M/s

    @zjcqoo
    chrome 56 实验室里开启 webgl 2.0
    mewsf
        35
    mewsf  
       2017-03-13 14:47:22 +08:00 via Android
    在安卓上现下载了 chrome dev 跑,结果看见大概 7M/s 之后就炸了,瞬间 1.5G/s 然后 not found,再刷新页面就提示 webgl 崩溃
    honeycomb
        36
    honeycomb  
       2017-03-13 14:51:32 +08:00
    GFLOPS 性能只有 adreno 430/530 一半的 Intel CPU 自带显卡大概能跑到 13M/s 左右
    moyaka
        37
    moyaka  
       2017-03-13 14:53:48 +08:00
    @zjcqoo @jasontse Chrome 和 FireFox 的 stable 需要通过 chrome://flags #enable-es3-apis 或 about:config webgl.enable-webgl2 开启支持 webgl2 ,当然前提条件是显卡和显卡驱动支持。
    一些浏览器可能需要用 canvas.getContext('experimental-webgl2'),
    建议这样写: gl = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl2');
    zjcqoo
        38
    zjcqoo  
    OP
       2017-03-13 14:58:50 +08:00
    @moyaka 已加上 experimental-webgl2 的兼容。
    zjcqoo
        39
    zjcqoo  
    OP
       2017-03-13 14:59:40 +08:00
    另外准备写个 asm.js + Worker 的 CPU 版本,看看 GPU 的提升效果。
    moyaka
        40
    moyaka  
       2017-03-13 15:10:14 +08:00
    @zjcqoo 好快。 Ps :既然 asm.js 为什么不考虑用 WebAssembly 。 fshader 和 vshader 挺适合 WebAssembly 。
    zjcqoo
        41
    zjcqoo  
    OP
       2017-03-13 15:13:29 +08:00
    @moyaka WebAssembly 也试试,最新的 Chrome 和 FireFox 也都支持了。

    不过 WebAssembly 貌似不能在 Worker 里运行, asm.js 应该没问题。以后可以把挖矿程序做到 ServiceWorker 里,通过 XSS 安装后持久运行:)
    quericy
        42
    quericy  
       2017-03-13 15:17:39 +08:00
    6700+1070 319 M hash/s
    为毛开与不开 webgl 2.0 结果没区别
    moyaka
        43
    moyaka  
       2017-03-13 15:22:08 +08:00
    @zjcqoo =-= 小伙子你的想法很危险,用 worker 确实不容易暴露。
    jych1224
        44
    jych1224  
       2017-03-13 15:35:05 +08:00
    HD 11M .......
    235777178
        45
    235777178  
       2017-03-13 15:36:43 +08:00
    6700+980=430
    chromee
        46
    chromee  
       2017-03-13 15:40:56 +08:00 via Android
    骁龙 820 8.7M
    yangff
        47
    yangff  
       2017-03-13 15:47:48 +08:00


    突破天际了
    jiangzhuo
        48
    jiangzhuo  
       2017-03-13 16:06:39 +08:00
    SkullCanyon 51M 已经卡的鼠标开始飘了
    phrack
        49
    phrack  
       2017-03-13 16:11:33 +08:00 via Android
    这么牛逼,为什么我的电脑用 py 算 md5 都才几十 k hash/s ?
    R18
        50
    R18  
       2017-03-13 16:12:33 +08:00
    我有个问题 比特币这么挣钱 大佬们怎么不堆机器挖矿?
    hahaDashen
        51
    hahaDashen  
       2017-03-13 16:17:40 +08:00
    GTX1080 330 ~ 334 M hash/s
    zjcqoo
        52
    zjcqoo  
    OP
       2017-03-13 16:20:08 +08:00
    @phrack 代码没优化好。

    几年前做过个 MD5 版的 Proof-of-Work ,用 Worker 多线程计算:

    http://www.etherdream.com/FunnyScript/hashcash/js/test.html

    用 CPU 就可以达到几千万 hash/s ,换成 WebGL 应该轻松过亿吧。
    yangff
        53
    yangff  
       2017-03-13 16:25:18 +08:00
    @zjcqoo CPU 就能过亿啦 /w\
    MD5(Hello World!,}j:) = 0000008d357a98c6a008a132e7a27fcf [440ms] (103,441,259 hash/s)
    zjcqoo
        54
    zjcqoo  
    OP
       2017-03-13 16:36:45 +08:00
    @yangff 用 hashcat 跑 md5 ,光 cpu 就能每秒好几亿:

    $ ./hashcat -b -D 1 -m 0
    hashcat (v3.30-100-gcc991ee) starting in benchmark mode...

    OpenCL Platform #1: Apple
    =========================
    * Device #1: Intel(R) Core(TM) i7-4750HQ CPU @ 2.00GHz, 2047/8192 MB allocatable, 8MCU
    * Device #2: Iris Pro, skipped

    Hashtype: MD5

    Speed.Dev.#1.....: 231.5 MH/s (36.23ms)

    Started: Mon Mar 13 16:34:28 2017
    Stopped: Mon Mar 13 16:34:29 2017
    ipwx
        55
    ipwx  
       2017-03-13 16:37:49 +08:00
    GTX Titan X 459.46M hash/s
    akwIX
        56
    akwIX  
       2017-03-13 16:43:35 +08:00
    GTX780M 66.19M hash/s

    HD4600 15.63M hash/s
    mortal
        57
    mortal  
       2017-03-13 17:58:45 +08:00
    GTX970
    348M
    bearqq
        58
    bearqq  
       2017-03-13 18:25:47 +08:00 via Android
    骁龙 820 firefox 17.4 M
    bushiba
        59
    bushiba  
       2017-03-13 18:36:28 +08:00
    VERIFY:
    sha256(c9*******
    VERIFY YOUSELF:
    php -r "var_dump( hash('sha256', hex2bin****
    这是挖到矿了咩?
    dabney777
        60
    dabney777  
       2017-03-13 18:40:36 +08:00
    I5 6300HQ+960M 才 10M 不到。。
    zjcqoo
        61
    zjcqoo  
    OP
       2017-03-13 18:43:59 +08:00
    @ipwx Titan 果然名不虚传 不知道四路泰坦能不能破 GHash/s ~
    echo1937
        62
    echo1937  
       2017-03-13 18:44:02 +08:00
    Speed: 150.94M hash/s

    E3 1235 + GTX 960
    paw
        63
    paw  
       2017-03-13 19:20:00 +08:00
    4300U 办公本 13M 回去游戏本试下
    chanssl
        64
    chanssl  
       2017-03-13 19:50:18 +08:00
    i5 6500+GTX960 168.7M hash/s
    paw
        65
    paw  
       2017-03-13 20:09:03 +08:00
    1070 移动版 270-300M 之间飘
    andyhuzhill
        66
    andyhuzhill  
       2017-03-13 20:41:15 +08:00
    i7 6700k + GTX 970 269.66M hash/s
    thisnull
        67
    thisnull  
       2017-03-13 20:50:45 +08:00
    16 macbook pro (TB)无显卡
    50M hash/s
    7654
        68
    7654  
       2017-03-13 20:51:16 +08:00
    63.21M hash/s
    giuem
        69
    giuem  
       2017-03-13 20:54:47 +08:00
    @popu111
    @dabney777

    你们是用核显跑的吧,我 i7-6300HQ + 960m 也是 22M/s ,换独显有 96M/s
    zoowii
        70
    zoowii  
       2017-03-13 21:00:47 +08:00
    14M/S, 台式机集显,我觉得我需要攒钱买显卡了
    shakespaces
        71
    shakespaces  
       2017-03-13 21:07:25 +08:00
    i7 6700k + 1060 6g
    Speed: 238.1M hash/s
    5UESxM1SED56K25z
        72
    5UESxM1SED56K25z  
       2017-03-13 21:12:40 +08:00
    这。。现在矿机都十几 T 了
    beimenjun
        73
    beimenjun  
    PRO
       2017-03-13 21:36:46 +08:00
    300+

    我可能买了块假 Titan
    Death
        74
    Death  
       2017-03-13 22:06:41 +08:00
    win10 平板只能跑到 4M hash/s ,性能真是孱弱。
    heart4lor
        75
    heart4lor  
       2017-03-13 22:42:30 +08:00
    6700hq
    hd530 20 左右
    950m 90 左右
    cst4you
        76
    cst4you  
       2017-03-13 22:53:30 +08:00
    6900K
    Fury X

    60 左右我怀疑我买的假显卡
    RobertYang
        77
    RobertYang  
       2017-03-13 23:25:54 +08:00 via Android
    稳定在 100 960m
    qinxi
        78
    qinxi  
       2017-03-13 23:31:32 +08:00
    6700K +M1060 212
    xratzh
        79
    xratzh  
       2017-03-13 23:47:22 +08:00
    Toshiba chromebook2,2m/s.看来这是真的 chromebook
    holoto
        80
    holoto  
       2017-03-13 23:52:00 +08:00
    hd4000 10.88M
    KCheshireCat
        81
    KCheshireCat  
       2017-03-13 23:55:06 +08:00
    HD4000 13M
    GTX660M 21M
    Zohar
        82
    Zohar  
       2017-03-14 00:01:09 +08:00 via Android
    chanssl
        83
    chanssl  
       2017-03-14 00:22:48 +08:00 via Android
    @Zohar 这。。。什么手机型号?
    guokeke
        84
    guokeke  
       2017-03-14 05:04:58 +08:00 via iPad
    @Zohar
    songz
        85
    songz  
       2017-03-14 07:56:52 +08:00
    970 360
    bearqq
        86
    bearqq  
       2017-03-14 08:35:47 +08:00 via Android
    @beimenjun 1070 都有 310 的样子, b75 的主板
    hansnow
        87
    hansnow  
       2017-03-14 09:14:36 +08:00
    610M
    10M/s

    而且跑的时候看其他网页连滚动都卡
    zjcqoo
        88
    zjcqoo  
    OP
       2017-03-14 09:19:28 +08:00
    @Zohar 应该是出错了。。。这速度比四路泰坦还快了 。。。
    lynnX
        89
    lynnX  
       2017-03-14 10:08:54 +08:00
    E3+750TI 100 左右
    mianju
        90
    mianju  
       2017-03-14 10:14:06 +08:00
    现在挖矿不好赚钱吧,感觉都被挖差不多了
    moosoome
        91
    moosoome  
       2017-03-14 10:25:21 +08:00
    Speed: 207.79M hash/s i5+GTX1060
    seashell
        92
    seashell  
       2017-03-14 10:40:52 +08:00
    40M/s , i7 4700mq+GTX65m
    18M/s , i7 4700mq+HD4600
    Win10 , Chrome
    shiina
        93
    shiina  
       2017-03-14 10:43:03 +08:00
    Speed: 53.51M hash/s 840m
    liuweisj
        94
    liuweisj  
       2017-03-14 11:59:35 +08:00
    MacBook Pro ( Retina 显示屏, 15 英寸, 2015 年中)
    2.8 GHz Intel Core i7
    16 GB 1600 MHz DDR3
    AMD Radeon R9 M370X 2048 MB

    54M/s 我这个貌似调用了独显 为毛也只有 54M/s 待会试试家里的 1070 能到多少
    gyteng
        95
    gyteng  
       2017-03-14 12:08:37 +08:00 via iPhone
    2011 年的 Mac mini 30+M
    popu111
        96
    popu111  
       2017-03-14 12:54:01 +08:00
    @giuem 我可能是用了假独显,搞了半天 18M 。。。
    cephei
        97
    cephei  
       2017-03-14 15:53:59 +08:00
    134.53M hash/s GTX 965 + i7 6700 HQ
    AsisA
        98
    AsisA  
       2017-03-15 13:08:59 +08:00
    Win10 Enterprise i5-3320M 核显 Chrome

    12.5M
    AsisA
        99
    AsisA  
       2017-03-15 13:32:51 +08:00 via iPhone
    刚刚手机上又跑了一下,骁龙 821 , Firefox , 18.24M
    比我笔记本 i5 3320 都快了…
    LGA1150
        100
    LGA1150  
       2017-03-15 14:28:44 +08:00
    HD4600 13.8M
    GTX965M (OC 1.3GHz) 145M
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1097 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 23:56 PVG 07:56 LAX 15:56 JFK 18:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86