小部件CurrentPrice出错: unable to write file /opt/bitnami/apps/mediawiki/htdocs/extensions/Widgets/compiled_templates/wrt5fc86b7028d300_33144962

挖矿

来自早鸟科技-区块链百科|数字货币大全
跳转至: 导航搜索

挖矿:

挖矿(英语:Mining),是获取比特币的勘探方式的昵称。由于其工作原理与开采矿物十分相似,因而得名。此外,进行挖矿工作的比特币勘探者也被称为矿工。

挖矿是通过计算某个算式,得出某个结果,谁先算出来谁就可以打包区块,打包区块就有钱赚(比特币奖励+交易费)。

工作原理:

比特币矿工通过解决具有一定工作量的工作量证明机制问题,来管理比特币网络 —— 确认交易并且防止双重支付。 中本聪在他的论文中阐述说:

“ 在没有中央权威存在的条件下,既鼓励矿工支持比特币网络,又让比特币的货币流通体系也有了最初的货币注入源头。 ”

中本聪把通过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源将黄金注入经济。 比特币的挖矿与节点软件主要是透过点对点网络、数字签名、交互式证明系统来进行发起零知识证明与验证交易。

每一个网络节点向网络进行广播交易,这些广播出来的交易在经过矿工(在网络上的计算机)验证后,矿工用自己的工作证明结果来表达确认,确认后的交易会被打包到数据块中,数据块会串起来形成连续的数据块链。中本聪本人设计了第一版的比特币挖矿程序,[1]这一程序随后被开发为广泛使用的第一代挖矿软件Bitcoin,这一代软件从2009年到2010年中旬都比较流行。

每一个比特币的节点都会收集所有尚未确认的交易,并将其归集到一个数据块中,矿工节点会附加一个随机调整数,并计算前一个数据块的SHA-256散列运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标。

由于散列运算是不可逆的,查找到匹配要求的随机调整数非常困难,需要一个可以预计总次数的不断试错过程。这时,工作量证明机制就发挥作用了。当一个节点找到了匹配要求的解,那么它就可以向全网广播自己的结果。其他节点就可以接收这个新解出来的数据块,并检验其是否匹配规则。如果其他节点通过计算散列值发现确实满足要求(比特币要求的运算目标),那么该数据块有效,其他的节点就会接受该数据块。

挖矿矿产:

除了将接收到的交易信息打包到数据块,每个数据块都会允许发行一定数量的新比特币,用来激励成功发现数据块的矿工。

比特币系统按照预定的货币增发节奏决定发行的比特币数量。如果其他支付交易有给手续费的,那么矿工还会获得手续费。由于矿工可以自行决定是否将某一个交易数据打包到数据块中,因此矿工有可能优先选择手续费较高的交易来打包。

数据块产生速率的预期为每10分钟一个,但每个数据块中,新发行的比特币不能超过50个,而这个数字每产出21万个区块就会减半,大约每4年就会发生一次。

因此,比特币的总数量不会超过2100万个。随着新发行比特币数量的下降,手续费将成为挖矿的主要动机。

那些在较早时期将计算机资源投入到比特币挖矿活动中的用户,相对于较晚加入的矿工而言,获得比特币容易得多。这样设计的原因,主要是为了保证在比特币的早期发展阶段可以吸引足够的计算力来处理数据块。事实上,如果没有人挖矿,比特币的初期交易活动就无法处理,比特币经济也将停止运行。[2]

2012年12月第一次减半

第二次发生减半的实际时间是2016年7月9日 16:46:13 UTC[3][4],每个数据块中新发行的比特币目前为12.5个

挖矿难度:

为了使得数据块产生的速度维持在大约每十分钟一个,产生新数据块的难度会定期调整。

如果数据块产生的速度加快了,那么就提高挖矿难度;如果数据块产生速度变慢了,那么就降低难度。比特币系统在每隔2016个数据块被产出后(约两周的时间),会以最近这段时间的数据块产生速度,自动重新计算接下来的2016个数据块之挖矿难度。

而难度基本上就决定了一个有效的数据块标头(英语:Block Header)的 SHA-256 散列值应小于一定值,也就是说该散列值必须要恰好落在目标区间之内才算有效,当目标区间越小就意味着命中机率越低。

换句话说就是挖矿的难度越高。由于ASIC计算设备的爆炸式加入,目前挖矿难度呈现几何级数的上升,目前平均每15天增加50%难度[来源请求],让普通个人挖矿者的挖矿工作变得异常困难。

挖矿设备:

最早,比特币矿工都是通过Intel或AMD的CPU产品来挖矿。但由于挖矿是运算密集型应用,且随着挖矿人数与设备性能的不断提升难度逐渐增加,现在使用CPU挖矿早已毫无收益甚至亏损。

截至2012年,从2013年第一季度后,矿工们逐渐开始采用GPU或FPGA等挖矿设备[5]。同时,ASIC设备也在2013年中旬大量上市[5]。

从2013年7月起,全网算力由于ASIC设备大量投入运营呈现直线上涨,以2013年7月的平均算力计算,所有CPU挖矿设备均已经无法产生正收益,而FPGA设备也接近无收益。2013年9月平均算力估算,现有的针对个人开发的小型ASIC挖矿设备在未来1-2个月内也接近无正收益。大量算力被 5 THash/s以上的集群式ASIC挖矿设备独占。个人挖矿由于没有收益,几乎被挤出挖矿群体。有一些比特币矿工则集资在某些可获取低价电力的地方兴建机房安装大批挖矿设备进行挖矿。

部分比特币矿工为省下自己挖矿的成本,将挖矿程序制作成恶意程序,在网络上感染其他人的计算机,来替自己挖矿。

相关术语:

挖矿难度: 计算某个算式,得出某个结果的难度成为挖矿难度

矿池:由于比特币全网的运算水准在不断的呈指数级别上涨,单个设备或少量的算力都无法在比特币网络上获取到比特币网络提供的区块奖励。在全网算力提升到了一定程度后,过低的获取奖励的概率。促使一些“bitcointalk”上的极客开发出一种可以将少量算力合并联合运作的方法,使用这种方式建立的网站便被称作“矿池”(Mining Pool)。

挖矿需要计算,而这个计算就是问题关键,如果自己买矿机自己算,按照概率,你有可能一个星期也算不出符合条件的结果,这样电费什么的费用你还要承担,风险很大。

由于比特币全网的运算水准在不断的呈指数级别上涨,单个设备或少量的算力都无法在比特币网络上获取到比特币网络提供的区块奖励。在全网算力提升到了一定程度后,过低的获取奖励的概率。促使一些“bitcointalk”上的极客开发出一种可以将少量算力合并联合运作的方法,使用这种方式创建的网站便被称作“矿池”(Mining Pool)。

在此机制中,不论个人矿工所能使用的运算力多寡,只要是透过加入矿池来参与挖矿活动,无论是否有成功挖掘出有效数据块,皆可经由对矿池的贡献来获得少量比特币奖励,亦即多人合作挖矿,获得的比特币奖励也由多人依照贡献度分享。

截止2017年11月,全球算力排名前五的比特币矿池有:AntPool、BTC.com 、BTC.TOP、ViaBTC、F2Pool,目前全球约70%的算力在中国矿工手中[7]。

全球几大矿池: 蚂蚁矿池:https://antpool.com/

手续费:

比特币矿工会对大部分交易收取少量费用,其主要目的是防止有人大量发送无聊的小额交易,浪费网络资源。当前每笔交易的手续费大部分是฿ 0.0001/KB (0.0001btc/KB) ,实际上0.9.0以后的版本将默认手续费降为฿ 0.00001/KB (0.00001 btc/KB)。[8]因为大部分交易占用的数据量都小于1千字节,所以一般情况下฿ 0.00001( 0.00001 btc/KB)的手续费就足够了。同时,在将来比特币区块奖励较少时,手续费将成为矿工收入的主要来源,比特币的手续费会与该交易占用的字节数相关。

目前比特币系统中手续费的计算标准并非强制性的,因此用户也可以在交易进行时不给予任何手续费,但大多数矿工在组建数据块时通常会优先考虑带有较高手续费的交易,以便在挖矿成功时能获得较高的报酬,因此无附带任何手续费的交易,可能会需要等待较长的时间才能被处理并纳入区块链中。

此外,现在因为区块容量上限 1MB 以及近期比特币交易量大增的因素,手续费大幅上涨,而且等待交易被确认的时间也变长了许多。

矿机:就是用于赚取比特币的电脑,这类电脑一般有专业的挖矿晶元,多采用烧显卡的方式工作,耗电量较大。用户用个人电脑下载软体然后运行特定演算法,与远方伺服器通讯后可得到相应比特币,是获取比特币的方式之一,蚂蚁矿机做的最大。

其他:

难度 难度是对挖矿困难程度的度量,即指:计算符合给定目标的一个HASH值的困难程度。

difficulty = difficulty_1_target / current_target

difficulty_1_target的长度为256bit, 前32位为0, 后面全部为1 ,一般显示为HASH值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, difficulty_1_target表示btc网络最初的目标HASH。current_target是当前块的目标HASH,先经过压缩然后存储在区块中,区块的HASH值必须小于给定的目标HASH, 区块才成立。

例如:如果区块中存储的压缩目标HASH为 0x1b0404cb , 那么未经压缩的十六进制HASH为

0x0404cb * 2 ^ (8 * (0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000 所以,目标HASH为0x1b0404cb时, 难度为:

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF / 0x00000000000404CB000000000000000000000000000000000000000000000000 = 16307.67 pdiff 算力 比特币的挖矿的过程其实是通过随机的hash碰撞,找到一个解nonce,使得块hash小于目标HASH值。 而一个矿机每秒钟能做多少次hash碰撞, 就是其“算力”的代表, 单位写成 hash/s或者H/s

算力单位:

1 KH/s = 1000 H/s 1 MH/s = 1000 KH/s 1 GH/s = 1000 MH/s 1 TH/s = 1000 GH/s 1 PH/s = 1000 TH/s 1 EH/s = 1000 PH/s 难度调整 比特币系统的难度是动态调整的, 每挖2016个块便会做出一次调整, 调整的依据是前面2016个块的出块时间, 如果前一个周期平均出块时间小于10分钟,便会加大难度, 大于10分钟,则减小难度,目的是为了保证系统稳定的每过10分钟产出一个块,所以难度调整的时间大概是2周(2016 * 10 分钟)

全网算力 全网算力是btc网络中参与竞争挖矿的所有矿机的算力总和。当前难度周期全网算力会影响下一个周期的难度调整, 如果全网算力增加,挖矿难度增大,单台矿机固定时间的产出就会减少。目前全网算力大概是24.42EH/s, 一台蚂蚁S9矿机的算力大概是14TH/s

那么, 已知当前全网算力,下一个周期难度将如何调整呢?

根据公式:

难度 * 2^32 / 全网算力 = 出块时间 因为出块时间要稳定在10分钟, 也就是600s:

难度 = 600 * 24.42 * 10^18 / 2^32 = 3.46e+12 那么,在3.46e+12的难度下, 一台算力为14TH/s的矿机平均要花多长时间才能出一个块呢?

根据公式:

难度 * 2^32 / 算力 = 出块时间 有:

3.46 * 10^12 * 2^32 / 14 * 10^12 = 1.06e+9 s 结果大概是12270天

当前难度和全网算力可以到https://btc.com/stats/diff查询

挖矿,通过计算机进行运算破解,完成系统要求的工作量证明,得到比特币的过程。算力,在通过「挖矿」得到比特币的过程中,一个节点每秒钟能做多少次计算,就是其「算力」的代表,单位写成 hash/s, 简写为 h/s。1 h/s 表示 1 秒钟能做 1 次 hash 碰撞。举个例子。在比特币的世界,约每 10 分钟可以产出 12.5 个比特币,这么算下来一天的总产量约是 1800 枚。挖矿可以抽象理解为这 2000P 算力每天争夺 1800 枚比特币生产权的行为。现在每 P 每天的理论产量约是 1800/2000 = 0.9 枚比特币。未来算力上涨,则挖矿难度增加,单位算力的产量将同比降低。这种算力增减记录约隔 13.5 天更新一次,这就意味着每更新一次难度可以维持 13.5 天的固定理论日收入(指未扣除运维电费等成本的收入,关于当前算力的理论日收入及下一难度调整时间,有兴趣可以通过相关工具输入算力值查询)。总体来讲,算力的涨跌趋势与币价的涨跌正相关,与矿机价格的涨跌负相关。目前,比特币挖矿行业远远优于早期,矿工们从使用 CPU、GPU、FPGA 到拥有 ASIC 比特币挖矿机的巨型仓库进行开采,算力提升已经达到了惊人的程度。哈希算力的增长迅猛。总有一天,会超过 exahash 时代(exabytes,艾字节),可能达到每秒 zettahash 泽字节,甚至 yottahash 尧字节。这可能需要很多年的时间,因为 500 exahash 仅仅是 zettahash 的一半。挖矿的每秒算力是以 Ghash/s 或 Thash/s 为单位计,矿机的 GHash (或 THash)值越高,能挖到的 BTC 就越多。1 Khash/s = 1000 hash/s1 Mhash/s = 1000 Khash/s1 Ghash/s = 1000 Mhash/s1 Shash/s = 1000 Ghash/s1 PHash/s = 1000 Shash/s以今日持续增加的挖矿难度,每 1 Ghash 算力可以挖到多少 BTC?请注意,在现实的世界里,挖掘的难度是与日俱增的。通过使用挖矿收益的计算器,可以计算出在特定期间内,以当下的挖矿难度,每 1 Ghash 的算力(云算力,或用自己的矿机挖矿的方式)可以产出多少比特币。

链接:https://www.chainnews.com/articles/079393830402.htm 来源:链闻ChainNews 版权归作者所有。商业转载请联系链闻获得授权,非商业转载请注明出处。

Top 100 Mineable Coins by Market Capitalization 市值前100 可挖矿的币种

https://coinmarketcap.com/coins/views/filter-non-mineable/

算力历史纪录和钱包排行:https://bitinfocharts.com/

收益排行:https://www.coincalculators.io/

什么值得挖:https://www.smzdw.org/

https://whattomine.com/

比特币矿业史(上):故事的开始,CPU时代 https://36kr.com/p/203449.html 本文作者张沈鹏为比特币交易平台42btc.com 和42qu.com的创始人,也是个牛逼程序员。如果你想对比特币的种种了解更多, 也可以围观42btc.com这里 的页面。 比特币矿业史(中):群众的觉醒 ,显卡时代 https://36kr.com/p/203448.html 比特币矿业史(下):巨头的诞生 ,ASIC时代 https://36kr.com/p/203449.html