V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zjcqoo
V2EX  ›  分享创造

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

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

    周末研究 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
    一下就给我整黑了。
    chust
        33
    chust  
       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  
       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   ·   实用小工具   ·   2673 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 15:02 · PVG 23:02 · LAX 07:02 · JFK 10:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.