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

原来挖矿是这样进行的!难度越大,财富越多,竞争越激烈!

本期,杜掌柜来讲一讲挖矿原理,为啥矿机这么值钱和抢手?算力究竟是怎么定义的?

|哈希函数的作用

在讲区块链记账之前,先介绍一下哈希函数:hash(原始信息)可以是任意的信息, hash之后会得到一个简短的摘要信息。

哈希函数有3个特点。1、同样的原始信息用同一个哈希函数总能得到相同的摘要信息。2、原始信息任何微小的变化都会哈希出面目全非的摘要信息。3、从摘要信息无法逆向推算出原始信息。

举例来说,Hash(张三借给李四100万,利息1%,1年后还本息 …..) = AC4635D34DEF。账本上记录了AC4635D34DEF这样一条记录。

从中可以看出哈希函数的4个作用:1、简化信息,哈希后的信息变短了。2、可以使用AC4635D34DEF来标识原始信息,摘要信息也称为原始信息的id。3、账本是AC4635D34DEF这样一条记录,原始信息被隐匿。4、假如李四在还款时欺骗说,张三只借给李四10万,双方可以用AC4635D34DEF来验证原始信息。

|区块链记账方法

区块链在记账是会把账页信息(包含序号、记账时间、交易记录)作为原始信息进行Hash, 得到一个Hash值,如:787635ACD, 用函数表示为:

账页信息和Hash值组合在一起就构成了第一个区块。(比特币系统里约10分钟记一次账,即每个区块生成时间大概间隔10分钟。)

在记第2个账页的时候,会把上一个块的Hash值和当前的账页信息一起作为原始信息进行Hash。

这样,第2个区块不仅包含了本账页信息,还间接包含了第一个区块的信息。依次按照此方法继续记账,所以最新的区块总是间接包含了所有之前的账页信息。

所有这些区块组合起来就形成了区块链,这样的区块链就构成了一个便于验证(只要验证最后一个区块的Hash值就相当于验证了整个账本),不可更改(任何一个交易信息的更改,会让所有之后的区块的Hash值发生变化,这样在验证时就无法通过)的总账本。

|比特币如何挖矿?

所有的计算和存贮是需要消耗计算机资源的,既然要付出成本,那节点为什么还要参与记账呢?在中本聪(比特币之父)的设计里,完成记账的节点可以获得系统给与的一定数量的比特币奖励,这个奖励的过程就是比特币的发行过程,因此大家形象地把记账称为“挖矿”。

由于记账是有奖励的,每次记账都可以给自己凭空增加一定数量的个比特币,因此就出现大家争相记账的情况。为解决大家记账不一致的问题,比特币系统引入工作量证明来解决这个问题。即一段时间内只有一人可以记账成功,通过解决密码学难题(工作量证明)竞争获得唯一记账权,然后让其他节点复制记账结果。

进行工作量证明之前,记账节点会做进行如下准备工作:

收集广播中还没有被记录账本的原始交易信息

检查每个交易信息中付款地址有没有足够的余额

验证交易是否有正确的签名

把验证通过的交易信息进行打包记录

添加一个奖励交易:给自己的地址增加相应的比特币奖励

|工作量如何证明?

在之前的Hash函数介绍中,大家已经知道了,每次记账的时候会把上一个块的Hash值和当前的账页信息一起作为原始信息进行Hash。但仅仅是这样,每个人都可以很轻松完成记账。

为了保证一段时间(通常是10分钟左右)只有一个人可以记账,就必须要提高记账的难度,使得Hash的结果必须以若干个0开头。同时为满足这个条件,在进行Hash时引入一个随机数变量。

改变Hash的原始信息的任何一部分,Hash值也会随之不断的变化,因此在运算Hash时,不断改变随机数的值,总可以找到一个随机数使的Hash的结果以若干个0开头(下文把这个过程称为猜谜),率先找到随机数的节点就获得此次记账的唯一记账权。

| 记账难度有多大?

Hash值是由数字和大小写字母构成的字符串,每一位有62种可能性(可能为26个大写字母、26个小写字母,10个数字中任一个),假设任何一个字符出现的概率是均等的,那么第一位为0的概率是1/62。理论上需要尝试62次Hash运算才会出现一次第一位为0的情况,如果前两2位为0,就得尝试62的平方次Hash运算,以n个0开头就需要尝试62的n次方次运算。

我们结合实际区块#493050信息来看:

图中我们可以看到Hash值以18个0开头,理论上需要尝试62的18次方次,如此大的计算量需要投入大量的计算设备、电力等基本都是由矿工联合起来组成矿池进行挖矿(矿池里的矿工按算力百分比来分收益)。

从经济的角度讲,只有挖矿还有收益(比特币价格不断上涨也让收益变大),就会有新的矿工加入,从而加剧竞争,提高算力难度,挖矿就需要耗费更多的运算和电力,相互作用引起最终成本会接近收益。国内由于电力成本较低,相对收益更高,中国的算力占整个网络的一半以上。

以上就是比特币挖矿的基本原理。杜掌柜在这里提醒各位,虽然挖矿能有概率获得比特币奖励,甚至获得大量财富累积,但目前矿产越来越少,矿机争夺越来越激烈,挖矿的几率少得可怜。若想抓住商机,还是从区块链技术方向下手较为稳妥。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券