挖矿难度每几周增加
㈠ 挖矿挣钱是什么原理
比特币系统由用户(用户通过密钥控制钱包)、交易(交易都会被广播到整个比特币网络)和矿工(通过竞争计算生成在每个节点达成共识的区块链,区块链是一个分布式的公共权威账簿,包含了比特币网络发生的所有的交易)组成。
比特币矿工通过解决具有一定工作量的工作量证明机制问题,来管理比特币网络—确认交易并且防止双重支付。由于散列运算是不可逆的,查找到匹配要求的随机调整数非常困难,需要一个可以预计总次数的不断试错过程。这时,工作量证明机制就发挥作用了。
当一个节点找到了匹配要求的解,那么它就可以向全网广播自己的结果。其他节点就可以接收这个新解出来的数据块,并检验其是否匹配规则。如果其他节点通过计算散列值发现确实满足要求(比特币要求的运算目标),那么该数据块有效,其他的节点就会接受该数据块。
中本聪把通过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源将黄金注入经济。比特币的挖矿与节点软件主要是透过点对点网络、数字签名、交互式证明系统来进行发起零知识证明与验证交易。
每一个网络节点向网络进行广播交易,这些广播出来的交易在经过矿工(在网络上的计算机)验证后,矿工可使用自己的工作证明结果来表达确认,确认后的交易会被打包到数据块中,数据块会串起来形成连续的数据块链。
每一个比特币的节点都会收集所有尚未确认的交易,并将其归集到一个数据块中,矿工节点会附加一个随机调整数,并计算前一个数据块的SHA256散列运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标。
挖矿难度
为了使得资料块产生的速度维持在大约每十分钟一个,产生新资料块的难度会定期调整。
如果资料块产生的速度加快了,那么就提高挖矿难度;如果资料块产生速度变慢了,那么就降低难度。比特币系统在每隔2016个资料块被产出后(约两周的时间),会以最近这段时间的资料块产生速度,自动重新计算接下来的2016个资料块之挖矿难度。
而难度基本上就决定了一个有效的资料块标头(英语:Block Header)的SHA-256散列值应小于一定值,也就是说该散列值必须要恰好落在目标区间之内才算有效,当目标区间越小就意味着命中几率越低。换句话说就是挖矿的难度越高。
由于ASIC计算设备的爆炸式加入,目前挖矿难度呈现几何级数的上升,目前年均难度增长约为3%,让普通个人挖矿者的挖矿工作变得异常困难。
以上内容参考网络-比特币挖矿机
㈡ 挖矿和切算力是一回事吗
不是
算力合约是由于比特币挖矿已经越来越专业化,挖矿对场地,技术等要求也越来越高,个人挖矿已经变的不再轻松愉快。因此像58Hash这样的算力交易平台应运而生。用户只需购买算力,将算力托管给算力交易平台,缴纳一定的维护费用,由算力托管平台统一维护矿机,并按时向用户发放挖取的比特币。
中本聪(Satoshi Nakamoto)在位于芬兰赫尔辛基的一个小型服务器上,中本聪挖出了比特币的第一个区块,并获得了50个比特币的奖励。这标志着加密数字货币时代的来临。创世区块是区块链技术中的第一个区块,是区块链中非常独特的一环,因为它是第一个区块——整个数字基础设施中唯一没有与前一个区块连接的区块。比特币最早的挖矿难度只有1个哈希值,可以用最弱的消费者级别的CPU来开采比特币,而且有很大的机会获得比特币。在随后的几年里,随着交易所建立,比特币持有者之间的交易活动变得更有组织性。挖矿的难度显著增加,它需要越来越强大的处理器,到后来升级到图形处理器。2013年,专门的ASIC挖矿硬件开始出现,性能甚至远远超过最强大的图形处理器。到2013年底,比特币挖矿难度首次达到了1个Giga hash哈希值。这是创世纪块挖矿难度的1000*1000*1000倍。之后,比特币的挖矿难度又增加了数千倍。挖矿难度是为了保证让比特币新区块的产生速度在平均每10分钟产生一个而设置的动态参数。每挖2016个块便会做出一次调整,调整的依据是前面2016个块的出块时间,如果前一个周期平均出块时间小于10分钟,便会加大难度,大于10分钟,则减小难度,目的是为了保证系统稳定的每过10分钟产出一个块,所以难度调整的时间大概是2周(2016 * 10 分钟)。比特币挖矿形同猜数字谜,矿工要找出一个随机数(Nonce)参与哈希运算 1Hash(Block+Nonce),使得区块哈希值符合难度要求。算力指计算机每秒可执行哈希运算的次数,也称为哈希率(hashrate)。一个矿机每秒钟能做多少次hash碰撞,就是其“算力”的代表,单位写成 hash/s或者H/s。
㈢ 详解比特币挖矿原理
可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。
比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。
至今为止,在主干区块链上,没有发生一起成功的攻击,一次都没有。
通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低50%。
在2016年的某个时刻,在第420,000个区块被“挖掘”出来之后降低到12.5比特币/区块。在第13,230,000个区块(大概在2137年被挖出)之前,新币的发行速度会以指数形式进行64次“二等分”。到那时每区块发行比特币数量变为比特币的最小货币单位——1聪。最终,在经过1,344万个区块之后,所有的共20,999,999.9769亿聪比特币将全部发行完毕。换句话说, 到2140年左右,会存在接近2,100万比特币。在那之后,新的区块不再包含比特币奖励,矿工的收益全部来自交易费。
在收到交易后,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。
每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:
交易的语法和数据结构必须正确。
输入与输出列表都不能为空。
交易的字节大小是小于MAX_BLOCK_SIZE的。
每一个输出值,以及总量,必须在规定值的范围内 (小于2,100万个币,大于0)。
没有哈希等于0,N等于-1的输入(coinbase交易不应当被中继)。
nLockTime是小于或等于INT_MAX的。
交易的字节大小是大于或等于100的。
交易中的签名数量应小于签名操作数量上限。
解锁脚本(Sig)只能够将数字压入栈中,并且锁定脚本(Pubkey)必须要符合isStandard的格式 (该格式将会拒绝非标准交易)。
池中或位于主分支区块中的一个匹配交易必须是存在的。
对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。
对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出现在池中,那么将被加入到孤立交易池中。
对于每一个输入,如果引用的输出交易是一个coinbase输出,该输入必须至少获得COINBASE_MATURITY (100)个确认。
对于每一个输入,引用的输出是必须存在的,并且没有被花费。
使用引用的输出交易获得输入值,并检查每一个输入值和总值是否在规定值的范围内 (小于2100万个币,大于0)。
如果输入值的总和小于输出值的总和,交易将被中止。
如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。
每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。
以下挖矿节点取名为 A挖矿节点
挖矿节点时刻监听着传播到比特币网络的新区块。而这些新加入的区块对挖矿节点有着特殊的意义。矿工间的竞争以新区块的传播而结束,如同宣布谁是最后的赢家。对于矿工们来说,获得一个新区块意味着某个参与者赢了,而他们则输了这场竞争。然而,一轮竞争的结束也代表着下一轮竞争的开始。
验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。
A节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。
一个交易想要成为“较高优先级”,需满足的条件:优先值大于57,600,000,这个值的生成依赖于3个参数:一个比特币(即1亿聪),年龄为一天(144个区块),交易的大小为250个字节:
High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000
区块中用来存储交易的前50K字节是保留给较高优先级交易的。 节点在填充这50K字节的时候,会优先考虑这些最高优先级的交易,不管它们是否包含了矿工费。这种机制使得高优先级交易即便是零矿工费,也可以优先被处理。
然后,A挖矿节点会选出那些包含最小矿工费的交易,并按照“每千字节矿工费”进行排序,优先选择矿工费高的交易来填充剩下的区块。
如区块中仍有剩余空间,A挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。
在区块被填满后,内存池中的剩余交易会成为下一个区块的候选交易。因为这些交易还留在内存池中,所以随着新的区块被加到链上,这些交易输入时所引用UTXO的深度(即交易“块龄”)也会随着变大。由于交易的优先值取决于它交易输入的“块龄”,所以这个交易的优先值也就随之增长了。最后,一个零矿工费交易的优先值就有可能会满足高优先级的门槛,被免费地打包进区块。
UTXO(Unspent Transaction Output) : 每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是 UTXO。
块龄:UTXO的“块龄”是自该UTXO被记录到区块链为止所经历过的区块数,即这个UTXO在区块链中的深度。
区块中的第一笔交易是笔特殊交易,称为创币交易或者coinbase交易。这个交易是由挖矿节点构造并用来奖励矿工们所做的贡献的。假设此时一个区块的奖励是25比特币,A挖矿的节点会创建“向A的地址支付25.1个比特币(包含矿工费0.1个比特币)”这样一个交易,把生成交易的奖励发送到自己的钱包。A挖出区块获得的奖励金额是coinbase奖励(25个全新的比特币)和区块中全部交易矿工费的总和。
A节点已经构建了一个候选区块,那么就轮到A的矿机对这个新区块进行“挖掘”,求解工作量证明算法以使这个区块有效。比特币挖矿过程使用的是SHA256哈希函数。
用最简单的术语来说, 挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的哈希值低于某个特定的目标。 哈希函数的结果无法提前得知,也没有能得到一个特定哈希值的模式。举个例子,你一个人在屋里打台球,白球从A点到达B点,但是一个人推门进来看到白球在B点,却无论如何是不知道如何从A到B的。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。
需要以下参数
• block的版本 version
• 上一个block的hash值: prev_hash
• 需要写入的交易记录的hash树的值: merkle_root
• 更新时间: ntime
• 当前难度: nbits
挖矿的过程就是找到x使得
SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET
上式的x的范围是0~2^32, TARGET可以根据当前难度求出的。
简单打个比方,想象人们不断扔一对色子以得到小于一个特定点数的游戏。第一局,目标是12。只要你不扔出两个6,你就会赢。然后下一局目标为11。玩家只能扔10或更小的点数才能赢,不过也很简单。假如几局之后目标降低为了5。现在有一半机率以上扔出来的色子加起来点数会超过5,因此无效。随着目标越来越小,要想赢的话,扔色子的次数会指数级的上升。最终当目标为2时(最小可能点数),只有一个人平均扔36次或2%扔的次数中,他才能赢。
如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?
比特币的区块平均每10分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持10分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都保持在10分钟一个。
那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每2,016个区块(2周产生的区块)中的所有节点都会调整难度。难度的调整公式是由最新2,016个区块的花费时长与20,160分钟(两周,即这些区块以10分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比10分钟要快时会增加难度。如果发现比10分钟慢时则降低难度。
为了防止难度的变化过快,每个周期的调整幅度必须小于一个因子(值为4)。如果要调整的幅度大于4倍,则按4倍调整。由于在下一个2,016区块的周期不平衡的情况会继续存在,所以进一步的难度调整会在下一周期进行。因此平衡哈希计算能力和难度的巨大差异有可能需要花费几个2,016区块周期才会完成。
举个例子,当前A节点在挖277,316个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第277,316个区块(父区块为277,315)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。
比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。
每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase交易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。
比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。
节点维护三种区块:
· 第一种是连接到主链上的,
· 第二种是从主链上产生分支的(备用链),
· 第三种是在已知链中没有找到已知父区块的。
有时候,新区块所延长的区块链并不是主链,这一点我们将在下面“ 区块链分叉”中看到。
如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。孤块会被保存在孤块池中,直到它们的父区块被节点收到。一旦收到了父区块并且将其连接到现有区块链上,节点就会将孤块从孤块池中取出,并且连接到它的父区块,让它作为区块链的一部分。当两个区块在很短的时间间隔内被挖出来,节点有可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。
选择了最大难度的区块链后,所有的节点最终在全网范围内达成共识。随着更多的工作量证明被添加到链中,链的暂时性差异最终会得到解决。挖矿节点通过“投票”来选择它们想要延长的区块链,当它们挖出一个新块并且延长了一个链,新块本身就代表它们的投票。
因为区块链是去中心化的数据结构,所以不同副本之间不能总是保持一致。区块有可能在不同时间到达不同节点,导致节点有不同的区块链视角。解决的办法是, 每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就是最长的或最大累计难度的链。
当有两个候选区块同时想要延长最长区块链时,分叉事件就会发生。正常情况下,分叉发生在两名矿工在较短的时间内,各自都算得了工作量证明解的时候。两个矿工在各自的候选区块一发现解,便立即传播自己的“获胜”区块到网络中,先是传播给邻近的节点而后传播到整个网络。每个收到有效区块的节点都会将其并入并延长区块链。如果该节点在随后又收到了另一个候选区块,而这个区块又拥有同样父区块,那么节点会将这个区块连接到候选链上。其结果是,一些节点收到了一个候选区块,而另一些节点收到了另一个候选区块,这时两个不同版本的区块链就出现了。
分叉之前
分叉开始
我们看到两个矿工几乎同时挖到了两个不同的区块。为了便于跟踪这个分叉事件,我们设定有一个被标记为红色的、来自加拿大的区块,还有一个被标记为绿色的、来自澳大利亚的区块。
假设有这样一种情况,一个在加拿大的矿工发现了“红色”区块的工作量证明解,在“蓝色”的父区块上延长了块链。几乎同一时刻,一个澳大利亚的矿工找到了“绿色”区块的解,也延长了“蓝色”区块。那么现在我们就有了两个区块:一个是源于加拿大的“红色”区块;另一个是源于澳大利亚的“绿色”。这两个区块都是有效的,均包含有效的工作量证明解并延长同一个父区块。这个两个区块可能包含了几乎相同的交易,只是在交易的排序上有些许不同。
比特币网络中邻近(网络拓扑上的邻近,而非地理上的)加拿大的节点会首先收到“红色”区块,并建立一个最大累计难度的区块,“红色”区块为这个链的最后一个区块(蓝色-红色),同时忽略晚一些到达的“绿色”区块。相比之下,离澳大利亚更近的节点会判定“绿色”区块胜出,并以它为最后一个区块来延长区块链(蓝色-绿色),忽略晚几秒到达的“红色”区块。那些首先收到“红色”区块的节点,会即刻以这个区块为父区块来产生新的候选区块,并尝试寻找这个候选区块的工作量证明解。同样地,接受“绿色”区块的节点会以这个区块为链的顶点开始生成新块,延长这个链。
分叉问题几乎总是在一个区块内就被解决了。网络中的一部分算力专注于“红色”区块为父区块,在其之上建立新的区块;另一部分算力则专注在“绿色”区块上。即便算力在这两个阵营中平均分配,也总有一个阵营抢在另一个阵营前发现工作量证明解并将其传播出去。在这个例子中我们可以打个比方,假如工作在“绿色”区块上的矿工找到了一个“粉色”区块延长了区块链(蓝色-绿色-粉色),他们会立刻传播这个新区块,整个网络会都会认为这个区块是有效的,如上图所示。
所有在上一轮选择“绿色”区块为胜出者的节点会直接将这条链延长一个区块。然而,那些选择“红色”区块为胜出者的节点现在会看到两个链: “蓝色-绿色-粉色”和“蓝色-红色”。 如上图所示,这些节点会根据结果将 “蓝色-绿色-粉色” 这条链设置为主链,将 “蓝色-红色” 这条链设置为备用链。 这些节点接纳了新的更长的链,被迫改变了原有对区块链的观点,这就叫做链的重新共识 。因为“红”区块做为父区块已经不在最长链上,导致了他们的候选区块已经成为了“孤块”,所以现在任何原本想要在“蓝色-红色”链上延长区块链的矿工都会停下来。全网将 “蓝色-绿色-粉色” 这条链识别为主链,“粉色”区块为这条链的最后一个区块。全部矿工立刻将他们产生的候选区块的父区块切换为“粉色”,来延长“蓝色-绿色-粉色”这条链。
从理论上来说,两个区块的分叉是有可能的,这种情况发生在因先前分叉而相互对立起来的矿工,又几乎同时发现了两个不同区块的解。然而,这种情况发生的几率是很低的。单区块分叉每周都会发生,而双块分叉则非常罕见。
比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。
㈣ 挖矿骗局最多坚持多久
很多关于挖矿收益的文章都是以静态数据作为分折基础,以当前币价和难度去支持买矿机的结论,但是矿机的收益跟这两个参数有直接关系。每月新矿机出厂使挖矿的难度约每14天增加,每台矿机的比特币收益就会减少,随着难度不断提高,如果币价不相对的提高,就会出现收益不够付电费而停机的情况。所以用静态数据去分折买不买矿机根本是错的。
以上4个模拟,以(a)过去1年平均难度每期增加7.4%、(b)现在每T每天比特币收益作为减值的开端、(c)目前散户能找到的优惠电价、(d)矿机目前的售价、(e)不同币价,作为投资矿机的分折数据,看停机日期,净收益和回本值。
1) 以当前RMB 44,000币价,矿机只能挖出RMB 32.87收益便停机,只能回本13.15%。
2) 以1万美元币价计算,RMB 68,000币价,矿机亦只能挖出RMB 127.79收益便停机,只能回本51.12%。
3) 以100%回本倒推,如币价现在是RMB 92,305,挖到2019年4月6日停机时才能回本。
4) 以历史高位币价,挖矿活动也会在2019年5月18日停机,净收益RMB 405.88。
有人便会质疑我的数据,说只是你找不到便宜的电和矿机而已。那我估算一下矿机成本价是RMB 125/T,矿场裸电价为RMB0.22+RMB0.08的建设成本去模拟,以现在的币价也是不可能回本的。
这里有几个结论:
1) 现在买矿机要对币价有很强的升值预期,不然根本看不到回本那天。如果对币价有很强的升值预期,那只需要买币就好了,根本不需要考虑挖矿。
2) 过去难度增加是因为矿机生产商为了冲业绩去上市,不断加大产能。从2017年平均每月7万台到现在每月近30万台(以S9 13.5T和全网算力增加算计,不考虑被淘汰的旧矿机),把单台矿机的收益以指数方式减少。从模拟5)来看,甚至矿机生产商在现在的环境下挖矿也是亏本的。
难度增加的比例看上去没有太大差别,但新增矿机的数量是4倍。这种毁灭性的产能投入,最终的结果就是买矿机的人都是接盘侠。而矿机生产厂都以天价估值申请上市,长远怎样支撑上市公司的业绩,上市的目的是否为是集资做研发还是最后的一波割韭菜呢?
3) 很多人被教育说比特币是好东西,有他的存在价值,怎么会崩盘呢?币价会在停机价有支持,不然没有矿工愿意去记账,系统便完蛋了。所以很多比特币信徒有个信仰是难度和币价有着必然关系,短期的波动不要紧,因为他们看币价是年底5万美元,矿机长挖长有的心态。这种谬论和静态数据分折如出一辙,当大众醒悟时投资已经回不来了。
㈤ 电脑挖矿是什么意思
电脑挖矿是用矿机(电脑)对加密货币(比如比特币Bitcoin)开采的一个过程。开采比特币就像是求解一道数学题,最先得到答案,就获得相应的奖励。 所以整个求解并验证的过程就叫做挖矿,而协助破解数字答案的设备就称为矿机,由此,运行矿机,获得收益的人群就被成为矿工。
一、比特币诞生之初,普通的计算机就可以进行挖矿操作,同时很容易由个人挖出一个块,但是随着比特币的发展、每10分钟出一个块的难度调节机制以及全网算力的不断提高,普通的计算机的计算能力已不足以挖出区块了,由此衍生出了算力更强的专业矿机,也就是ASIC矿机矿机越集中。但是单台ASIC矿机的算力依旧是有限的,面对不断提高的全网算力,矿池作为集中矿工算力的运营商也逐步的出现。比如币印矿池、viapool等等矿池。
二、如何挖矿得到收益矿机越集中? 矿工挖矿的过程就是通过运行比特币节点,同步历史账本,将最新交易记录到账本,并获得比特币区块奖励的一个过程矿机越集中。对比特币网络而言,矿工通过挖矿维护比特币网络安全。对矿工而言,通过挖矿分得比特币奖励。当前比特币爆块/出块奖励为12.5个比特币(编辑日期:2019年9月2日)。 挖矿即工作量证明PoW(Proof of Work)矿机越集中。工作量证明通过计算一个数值( nonce ),使得拼凑上交易数据后计算出的 Hash 值满足规定的上限。在节点成功找到满足的Hash值之后,会马上对全网进行广播,告知全网自己已打包到了新的区块,网络的节点收到广播打包区块后,会立刻对其进行验证。如果验证通过,则表明已经有节点成功解迷,自己就不再竞争当前区块打包,而是选择接受这个区块,记录到自己的账本中,然后进行下一个区块的竞争猜谜。网络中只有最快解谜的区块,才会添加的账本中,其他的节点进行复制,这样就保证了整个账本的唯一性。
三、算力与挖矿收益成正比吗矿机越集中?算力和收益之间的关系:
1)同难度的情况下矿机越集中,算力越高,收益越高;
2)比特币每2016个区块,约两周的时间进行一次难度调整矿机越集中。可能会因为全网难度调整,而出现算力增加,但收益反而减少的情况
3)比特币每4年奖励减半一次,在奖励减半的收益,用户挖矿的收益也随之减半矿机越集中。 算力和收益之间的计算公式: 您一天的挖矿收益=您的算力*一天的时间(86400秒)*块奖励(12.5个比特币)/(全网难度*2^32)
㈥ 挖矿获取比特币的时间点是什么时候比如是一挖出就可得到,还是等接在该区块后再出来5个区块才能得到
首先你要理解挖取比特币的时间点是怎么一回事:
比特币总共发行2100W个,每生成一个块周期10分钟,一个块奖励一定数目的比特币。最开始挖矿每个块奖励50个比特币,以后每21000个块奖励减半(约4年奖励减半一次),现在每生成一个块奖励12.5个比特币。每个块的生成时间10分钟,但是随着计算机技术的发展,现在的挖矿算力在不断升高,那么生成一个块的时间肯定小于10分钟,这就需要一定的控制措施来保证这个时间。这个措施就是挖矿难度,如果每个块产出时间小于10分钟,则提高挖矿难度,大于10分钟则降低挖矿难度,每次难度调整时间为2016块,即2周。
挖矿难度会在每2016个块后所有节点都会按照一定的公式自动进行调整,这个公式由最新的也就是这个周期内2016个区块的花费时间和期望的时间(期望时间20160分钟即两周)比较得出的。
新难度 = 旧难度值 * (过去2016个区块花费的时长 / 20160分钟)
㈦ 什么是挖矿
挖矿就是利用比特币挖矿机,就是用于赚取比特币。
用户用个人计算机下载软件然后运行特定算法,与远方服务器通讯后可得到相应比特币,是获取比特币的方式之一。
比特币为一种虚拟的货币,比特币挖矿制度为通过计算机硬件为比特币网络开展数学运算的过程,提供服务的矿工可以得到一笔报酬,因为网络报酬依据矿工完成的任务来计算,为此挖矿的竞争十分激烈。
挖矿实际是性能的竞争、装备的竞争,由非常多张显卡组成的挖矿机,哪怕只是HD6770这种中低端显卡,“组团”之后的运算能力还是能够超越大部分用户的单张显卡的。
而且这还不是最可怕的,有些挖矿机是更多这样的显卡阵列组成的,数十乃至过百的显卡一起来,显卡本身也是要钱的,算上硬件价格等各种成本,挖矿存在相当大的支出。
(7)挖矿难度每几周增加扩展阅读:
比特币挖矿流程:
1、找到矿池
开始挖矿必须要有一个操作方便、产出稳定的矿池,它的作用就是为各个终端细分数据包,可以通过精密的算法将终端计算好的数据包按照比例,支付相应数量的比特币。
2、下载比特币挖矿器(软件)
其实这种挖矿器也有很多种,大家可以去官方网站下载。
3、设置挖矿软件
GUIMiner是个绿色软件,安装完成后我们可以先设置下语言,以便更方便进一步设置。接下来需要对采矿器设置服务器、用户名、密码、设备等。一般服务器从BTC guild系列里面选一个网络较好的就行,用户名和密码就是我们之前自己设置的。
4、比特币挖矿开始
当我们确认都设定无误后,点“开始挖矿”按钮之后就开始挖比特币了,随之显卡很快就会进入全速运行状态,温度升高、风扇转速提高,你可以通过GPU-Z或显卡驱动来监控状态。
㈧ 挖矿挣钱是什么原理
挖矿就是那个维特币呗,比特币矿场,然后呢,他有特定的程序,需要大量的结算。需要耗电然后呢挖矿就是那个维特币呗,比特币矿场,然后呢,他有特定的程序,需要大量的结算,需要耗电,然后呢,每天他一个机器能够生成几个比特币
㈨ 比特币有被完全挖完的一天吗比特币是如何挖出来的
每10min就会有一块BTC被挖掘出来,因为市场竞争这么剧烈,12.5比特币的区块链奖赏将根据其在这一过程中的哈希率奉献在竞争者中间进行分配。大部分BTC采掘也被挖币大农场和开采池所取代,因而,为了获得一些BTC,你必须加入其中一个或另一个开采池,并奉献你所能贡献的一切哈希率。应用传统的个人计算机,乃至GPU服务平台可能需要好多个月的时间才可以挣到BTC,由于ASIC芯片目前在BTC采掘行业占有主导性。
调整后的难度系数促使每形成一个区块链的预期时间为10min。现今难易度约为480PH/s,约是创世区块的680亿倍左右,换句话说,以现在的算率,各大网站挖矿需要经过约3000万亿元亿个哈希运算才能找到一个符合条件的回答,形成一个新的区块链。即使是能够证明你挖掘出来的BTC或者其他的加密数字货币是真实的,可是只不过是临时存有其他人帐户。一般这种手机上云挖矿方式都是要达到一定的总数之后才可以转币,而达到这一周期时间或是门坎必须很长一段时间,已经足够别人跑路了。
㈩ 什么是区块链挖矿是做什么详细介绍区块链和虚拟货币
在比特币刚发行的时候人们发现了,它去中心化,不受任何中心管制;它完全开放,除了交易信息加密之外整个系统信息高度透明,技术都是开源的;安全性,只要不能控制全部节点的%51,就无法肆意修改数据,这使得它相对安全;独立性,整个模式和比特币不依赖任何第三方,所有节点都在系统内验证、交换数据,不受任何干预
我们这里详细解释什么是区块链技术,说白了就是区块+链,那什么是 “区块” ?什么又是 “链” 呢?
区块就是一个账本交易记账由分布在不同地方的多个节点共同完成,而且每一个节点记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证
每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易资料(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链技术所串接的分布式账本能让两方有效记录交易,且可永久查验此交易。
哈希函数h()的作用:将任意长度的字符串,转换成固定长度(例如256位)的输出。输出也被称为 哈希值 ,这个输出不可逆
很难找到两个不同的x和y,使得h(x) = h(y),也就是说两个不同的输入,会有不同的输出。理论上说两个不同的输入可能会有不同的输出,但这几乎不可能,比方说一个无限的空间映射到一个有限的空间,肯定存在多对一的情况,理论存在,但没有任何规律,保证你无法通过数学上的任何推断来找到这个结果,为什么这里是256位呢?不是更长的呢?因为256位已经足够安全。
将账本拆分成块,比如一个本子的一张纸就是一个区块,每个区块记录一段时间内的交易,列如10分钟
我们把每张纸比作一个一个 区块 ,在每个区块的上面增加一部分内容我们把它叫做 区块头 ,其中记录父区块的哈希值,通过每个区块储存父区块的哈希值,将所有区块按顺利连接起来,形成区块链
把 1区块 的哈希值记录到 2区块 的区块头上,如此操作每个区块的区块头都记录父区块的哈希值,每个区块都按照顺序链接起来了,这就叫做区块链。第一个区块没有区块头,又被称之为创世区块
区块链是一个账本,在账本上只有发生了交易你的账户上的钱才会变多和变少,需要进行交易那么首先需要一个账号和密码,就像你的银行卡有账号和密码别人就可以对你进行一个转账,在区块账本上这个账号密码就是公钥和私钥
老王(已有私钥,公钥),想转给张10个BTC,需要一些操作
证明是老王本人发出转账 签名函数Sign (老王的私钥 + 转账信息:老王转给张三10 BTC)=本次专账签名
验证是老王本人发出转账 验证函数Verify (老王的地址 + 转账详细:老王转给张三10 BTC + 本次转账签名)=true
一旦转账记录到区块从此谁也不能改变它,张三增加10 BTC,老王则相应减少10 BTC,整个操作都是自动的,比如你的钱包app它会帮你去做这样的事情,app知道你的私钥,你告诉钱包交易内容,钱包签名向全网公布,等待其他人来验证这笔交易
中心化记账效率会更高,银行、政府或者支付宝帮你记账,都很可靠,因为他们都无法动你的钱,除非它们有你的私钥
中心化记账存在一些缺点
去中心化人人都可以记账,每个人可以保留一个完整的账本。任何人都可以下载开源程序,参与比特币的p2p网络,监听来自全世界发送的交易,成为记账节点,参与记账,假设小逸发布了一笔交易向全网广播,A记账节点监听到了这笔交易,A验证了这笔交易位true之后放入交易池继续向其它节点传播,因为是网络传播,同一时间不同记账节点的交易池不一定相同,每10分钟,从所有记账节点当中,按照某个方式抽取一名,验证这个节点的交易为true之后,之后将这个选中的节点交易池中的交易记录与自己(A)节点的交易池中的交易记录对比一下,对比完之后会将自己交易池中已经被选中记账节点记录的交易删掉,别的不动继续记账等待下一次被选中,每隔10分钟就是一个循环,这个10分钟所有记账节点正常记账,10分钟之后再选出一个节点把它交易池当中的交易作为一个新的区块,这个区块来自所有记账节点中我任意选择的一个记账节点的交易池,如此不断循环往复
交易并不是被记录就完成,只有当这笔交易变成了某一个区块,这笔交易才算是真正的完成。这就是去中心化的一个记账的完整的流程,你的交易并不会第一时间被记录,因为p2p网络传播需要时间,如果被选中区块的节点还没有接受到你的交易,交易就没有完成。每10分钟产生一个区块,但不是所有在10分钟内的交易都能记录。10分钟只是一个平均值
去中心化记账的特点,有记账权的记账节点,每十分钟被选中的节点它会获得50BTC奖励,每21万个区块差不多4年,奖励减半,比特币自发行已经两次减半,那么每十分钟产生一个新的区块这个记账节点得到的奖励是10.5BTC,每隔4年减半那么可以算出BTC的总量大约为2100万枚,预计2040年开采完,记录一个区块的奖励也是比特币唯一的发行方式,当BTC开采完之后,记账节点可以获得的收益就只有交易的手续费了
记账节点通过题目来争夺记账权,
找到某位随机数使得等式不成立
SHA256哈希函数 (随机数 + 父区块哈希值 + 交易池中的交易) 某一指定值)
从0开始遍历随机数碰运气之外,没有其它解法,解题的过程,又叫做 挖矿 ,所以解这个题目的记账节点又被称之为 矿工 ,你遍历随机数越快你拿到这个记账权的可能性就越大,这个遍历速度就被矿老板们称之为 算力 ,为了得到这个算力,矿老板们就会购买更多且更高算力的矿机
谁先解对,谁就得到记账权。A记账节点率先找到解,即向全网公布,其他节点验证无误之后,A节点就获得了这个区块,获得12.5个BTC的收益,在新区块之后重新开始新一轮计算。这个方式被称之为(POW)分配记账权
一般大约10分钟解出这个随机数,10并不绝对,因为解开这个题目的过程本就是个碰运气的过程,未来应对算力的变化,比特币每隔2016个区块,大约两周,会加大或减小难度,使得平均产生区块的时间是十分钟
每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易资料(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链技术所串接的分布式账本能让两方有效记录交易,且可永久查验此交易。
和传统存储的数据不同的是,区块链每个节点都按照块链式结构存储完整的数据,区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。
麻将作为中国传统的区块链项目,四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。
很多人讲区块链是骗局比特币是骗局,这也许是个骗局,但是这个技术已经被广泛地承认和应用,区块链涉及的密码学知识一般人再借几个脑子给你你也搞不懂,在一个相对理性的角度看待问题最重要,千万别听风就是雨。
这门技术有着不可思议的地方 在一个没有中心没有监管的情况下保持着绝对的秩序 这个只需由大家的共识建立的信任,比特币创造了这个共识,在区块链的世界里每个人都是公平平等的。