V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Chigogo
V2EX  ›  Bitcoin

比特币挖矿的本质探讨。

  •  
  •   Chigogo · 2015-05-13 21:09:20 +08:00 · 3340 次点击
    这是一个创建于 3482 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比特币在前几年曾经很热,我也尝试过挖矿,也得知性能越好的机子,挖矿越快。

    这是不是说明,挖矿就是分布式计算然后获得佣金?

    如若不是,那么多的计算资源都哪去了?
    12 条回复    2015-05-14 08:34:27 +08:00
    luckykong
        1
    luckykong  
       2015-05-13 21:11:53 +08:00
    看你这个帖子,实在是无法理解怎么推出“是分布式计算”的~~
    wy315700
        2
    wy315700  
       2015-05-13 21:14:46 +08:00
    比特币就是个零知识证明的实现
    ysz19963
        3
    ysz19963  
       2015-05-13 21:42:06 +08:00 via Android
    不是 越到后面需要的计算能力越大
    v1024
        4
    v1024  
       2015-05-13 21:45:01 +08:00
    看标题,够深入,“本质探讨”。进来后。。。。。
    Chigogo
        5
    Chigogo  
    OP
       2015-05-13 21:59:21 +08:00
    @ysz19963 这我知道,但是在相同的时段里,性能好的自然快。
    Chigogo
        6
    Chigogo  
    OP
       2015-05-13 22:00:43 +08:00
    @luckykong 你想啊,你先要有个挖矿软件(分布式计算的客户端,用来接活)
    你得接入网络(从而在网络上接货)
    你得计算机要一直运行,并且性能好的机子挖矿快。

    难道不是分布式计算?
    harrysummer
        7
    harrysummer  
       2015-05-13 22:32:55 +08:00
    我的理解是,挖矿的过程就类似于穷举法破解密钥(这个比喻当然不太恰当,因为比特币的编码空间允许有许多非常稀疏的有效值),挖到这个密钥之后,就得到了对应的“比特币”。你可以向网络中的其他人证明这个比特币是你持有的,但你并不需要把密钥告诉别人,而是类似于公钥密钥对的想法,间接地、安全地、无法欺骗地向他人证明,自己确实持有这个比特币。

    如果单个机器独自去猜密钥,就跟彩票中奖一样,概率太低,无法保证收益。现在网上各种挖矿的网站,实际上是搭建了一个分布式计算的平台,让大家一起去猜这个密钥,猜到之后,收益根据各人的计算量分配。
    66450146
        8
    66450146  
       2015-05-13 22:36:00 +08:00
    https://bitcoin.org/bitcoin.pdf

    这篇啃完就懂了,有什么奇怪的
    lxrabbit
        9
    lxrabbit  
       2015-05-13 23:21:11 +08:00
    挖矿过程不过是个放置类小游戏罢了,哪那么多意义啊
    ryd994
        10
    ryd994  
       2015-05-14 01:14:26 +08:00   ❤️ 1
    首先要明确货币的本质:货币作为交换中介,并不需要自身有价值。
    说白了钞票就是张花纸,擦屁股还嫌硬。比特币也一样,说白了就是无聊程序跑出来的垃圾数据。但是只要有足够人数承认它的价值,并且愿意以它作为交易中介,它就有价值了。
    货币价值并不在与其本身,而在于其所能交换的商品。

    任何总量稳定的东西都可以用作货币。如果我家旺财的便便也能换东西的话,粪土也是货币。比特币只是以计算问题复杂度来担保总量稳定而已。

    其实这些计算量毫无意义,只是解一套公式然后浪费时间和电而已。用浪费掉的计算量的价值来担保。
    EnderSodium
        11
    EnderSodium  
       2015-05-14 08:11:45 +08:00   ❤️ 1
    从头讲起吧。

    挖矿实际上就是一个通过验证所有的比特币交易来保护比特币网络的一个过程呢。一开始,其实挖矿这个过程根本就没那么复杂,当你在运行Bitcoin Core(之前叫 Bitcoin-Qt)的时候软件就会自动占用一部分 CPU 资源来验证交易。验证交易的过程实际上就是客户端抓取一些刚刚广播过的交易(未确认交易)将他们的哈希值算出来,再把所有哈希值的哈希值算出来(Merkle Root)。同时和其他信息一起,加入一个 Nonce 使整个区块最终的哈希值为几个0起头(例如0000000000xxxx……)。一旦你找到了这个值,你就会得到这个区块的区块奖励(以前是50 BTC,现在减到了25 BTC)。大家都知道 hash 的随机性有多强。这个 Nonce 是不好猜的,所以一开始网络内一台电脑算出一个 block 的时间平均下来是10分钟。

    之后比特币热起来了,更多人知道了,就有人发明了一种东西叫做挖矿软件,一种专门的软件通过 RPC 的方式连接到 Bitcoin Core 来挖矿。因为更多人加入了,所以区块时间就变得越来越短。为了防止区块时间被缩短,比特币网络会使用难度来确保区块时间不缩短。越多人加入,全网算力越大,难度越大。后来先是显卡,后来 FPGA,再后来 ASIC 出来,挖矿的速度越来越快。随着难度的增大 solo 挖矿得到奖励可能就越来越低低,最后基本上就跟彩票一样了。

    但是新设备的电力消耗可不是一点点,没人愿意浪费电费来算跟彩票一样难中的区块。为了解决这个问题,有人发明了矿池,矿池的工作原理就是把所有人的算力同时运用起来,一旦算出一个区块,大家根据贡献多少分这个区块的区块奖励。综上所述其实一开始挖矿的本质并不是分布式计算(solo mining),但是后来出现的矿池则是一个分布式计算的例子。比特币是 P2P 网络,但是这和分布式计算没有直接的联系。
    dikcen
        12
    dikcen  
       2015-05-14 08:34:27 +08:00
    如果你把挖矿理解成消费过程而非生产过程,就好理解的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1742 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:41 · PVG 00:41 · LAX 08:41 · JFK 11:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.