首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

比特币为什么要用这么多显卡?

我们戏称“挖比特币”是“挖矿”,那么“挖矿”的人就是“矿工”,“矿工”手上的工具那就是显卡。

要解答“为什么需要显卡,不用CPU去挖”,那么我们需要理解“挖矿”到底是怎么挖的。

区块链与“挖矿”

如果要用几千字就介绍完区块链,那是不现实的。小编决定用简短的讲解与比喻的方法,简单地说一下区块链与“挖矿”。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。

说人话,简单来说,我们可以把区块链当成一本本的账本。每一个账本都记录着区块链网络上的交易。那么“挖矿”就是“打包”这个区块链网络上十分钟里全部的交易,把所有交易记入账本,生成一个区块。生成区块之后,负责“打包”的矿工就会获得相应的奖励(现在是12.5个比特币,今天比特币的市价超过25000元,收入可以说相当丰厚)。

那么问题来了,矿工不止一个,到底怎么决定给那个矿工呢?在区块链网络中,使用一种方法:工作量证明(Proof Of Work,简称POW)来决定“打包权”。

工作量证明(POW)

工作量证明,简单理解就是一份证明,用来确认你做过一定量的工作。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。

相当于,你去企业应聘,你需要证明你有才能,但是企业不可能付出很长的时间去验证。那么可能要求你亮出您的学历证明、或者是工作成就证明。你获取这些证明的过程很困难,但是企业认证所花费的时间与代价却不大。

在区块链网络上也是这样,矿工需要寻找一个合适的哈希函数,去证明自己经过了大量运算。对于比特币这种加密系统所使用的哈希函数,它具备以下的性质:

免碰撞,即不会出现输入x≠y,但是H(x)=H(y)

隐匿性,也就是说,对于一个给定的输出结果H(x),想要逆推出输入x,在计算上是不可能的。

不存在比穷举更好的方法,可以使哈希结果H(x)落在特定的范围。

那么矿工需要做的就是经过大量哈希运算,获得一个符合特定范围的哈希码,获得“打包权”。(注:比特币网络中任何一个节点,如果想生成一个新的区块并写入区块链,必须解出比特币网络出的工作量证明的迷题。这道题关键的三个要素是工作量证明函数、区块及难度值。这三个因素,每一个发生变动都会引起所需要的运算力大幅度变化)

为什么使用显卡

我们知道,矿工的工作就是用穷举的方法,获得一个在指定范围的哈希码。这样的工作技术含量并不高,但是需要占用大量的运算能力。CPU的核心不多,但是擅长于复杂的运算;GPU核心很多,擅长并行运算,能够同时解决多个简单的运算。

让我们来看看老黄今年发布的GTX1080Ti的恐怖性能。

(图片来源太平洋电脑网)

120亿个晶体管、3584个流处理器、224个纹理单元、88个ROP,除了用来“吃鸡”。这个显卡用来运算哈希函数也是顶级的(有矿工说按照性价比来说,这么贵的1080Ti不是最好的选择)。

但是,不要以为有GTX1080Ti就能够挖到了,国内专业的“矿场”每个月电费都是百万级的,你可以想象里面有多少块显卡。

(图片来源网上)

所以,用家用电脑挖矿,连电费赚不回来。当然,如果你想手算哈希码的话,你相当于向诺贝尔奖出发,因为一台计算机以每秒10000次的速度进行哈希运算,要经过10^27年才能完成2^128次哈希!。现在想挖到一个比特币,是需要进行差不多百万次的哈希运算。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180125A03DE500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券