简单回顾下挖矿的流程。
首先先要对所有的交易做验证,剔除有问题的,然后通过一套自定义的标准来选择哪些交易希望打包进区块,比如说提供的交易费与交易占用的字节大小的比值超过某个门槛,这样的交易才被认为有利可图。当然,节点也可以特意选择要加入某条交易,或者故意忽略某些交易。如果是通过矿池挖矿的话,矿池的服务器会去筛选交易,然后分配给每个参与的矿机一个独立的任务。
一旦筛选好交易数据,层层约减,通过这些交易就可以计算出一棵Merkle树,可以确定一个唯一的摘要,这就是Merkl树的根。
然后我们再依次获取挖矿需要的其他信息,这些信息组成一个区块的头。
区块头的字节分配
区块头只有80个字节,挖矿只需要对区块头进行运算即可。交易数据都通过merkle树固定了下来,不需要再包含进来。
这些信息中大部分已经是固定下来的,或者是可计算的。
我们以区块277316为例,其信息来自网站 http://blockchain.info
Bitcoin Block #277316blockchain.info
选择这个区块的原因是在《Mastering Bitcoin》一书中,中文社区译本和英文原版在介绍这部分内容时有出入,而且作者Antonopoulos并没有提到一个关键点,就是字节顺序的问题,相信很多人可能会踩这个坑。这里还原的细节可以帮助读者与书籍做相互参考。
请大家注意下面的每个步骤,注意每一个变化,这是比特币最核心的算法。
转换时间,记住,一定要转为utc的时间戳,此处遇到过坑,小心。
这一步的发现异常艰辛,耗费了大量的查询,大坑,大坑,谨记。发明人中本聪可能为了让机器计算更快,而变为了更接近机器的编码方式little-endian.
最终得到的结果就是
16进制下前面15个0,然后是1; 而难度目标对应的数字是
16进制下前面15个0,然后是3. 计算结果小于难度目标,符合要求。这个结果与网站上公布的数字一致。
在挖矿时,nonce随机数是未知的,要从0试到2^32,但是这个数字其实不大,只有4294967296,以现在的矿机动辄14T每秒的算力,全部算完到上限也不需要一秒。刚才提到在这种情况下,需要使用创币交易中的附带信息,额外的字符串成为extra nonce。
另外,创世区块也可以通过上面的方法来验证,有好奇的朋友可以尝试下。
提示:
Ⅱ 比特币挖矿到底在计算什么
要知道挖矿到底在计算什么,首先得知道比特币的本质及产生的过程。比特币是基于网络的电子货币,实际是互联网的一串代码,依靠算法计算得出。挖矿是完成算法的过程,也是生产比特币的唯一方式。而且由于算法规定,比特币目前只有2100万个。
1、挖矿既能生产比特币,又能保障交易信息
类似于,一个数学系统包含2100万个数学题,需要通过庞大的计算量不断的去寻求这个每个数学题的特解。另外,特解是唯一的。
下面来具体解释挖矿,从作用来说,挖矿不仅可以增加比特币货币供应,而且还可以保护比特币交易安全、防止欺诈交易。从过程来说,比特币网络是一个点对点的支付系统,任何人都可以通过交易程序进行交易。
为了确保交易过程被如实记录,就需要“矿工”这个角色来负责记录比特币交易信息,这个时间间隔是10分钟,矿工中记账最好的交易记录就会被打包存储到一个新的区块中,相应的矿工也会得到一定数量的比特币奖励。
2、挖矿过程极其复杂,非人力所能为
具体的流程如下,当某一个矿工监听到这笔交易时,首先会对交易信息进行验证。通过验证的交易则会被矿工记录下来,保存在自己的数据库里面。全世界可能有成千上万个矿工在进行同一件事,但在每十分钟内,只有一个矿工有权创建新的区块,使自己记录的交易信息被大家所承认并永久地存储下来。
接下来,矿工们就需要争夺记账权,这是一场算力竞赛的比拼,其核心是用计算机完成大量的计算任务,找到一个超难的随机数,这个随机数就是第一段所说的方程特解,最先算出正确随机数的矿工胜出。根据游戏规律,一个矿工获得记账权的几率与其算力占全网算力之和的比例成正比。换句话说,找到该随机数的概率相当于将一亿个骰子扔出,最后骰子总和小于1亿零50。因此,挖矿需要大量的计算机,安装特定的算法软件,日夜重复运行,非人力所能为。
3、比特币挖矿其实就是“村民记账”
可能还是有网友不懂,那就举个例子。在一个村里,村民之间经常会发生借款行为,哪怕写了字据也有违约的风险。那么,在每次村里有借款行为发生的时候,就用村里的大喇叭告知大家,所有的村民(矿工)就在自己的账簿里记下所有交易记录。
Ⅲ 比特币是怎么挖出来的
01、比特币的产生过程,通常被称作挖矿,涉及区块链网络中的一个算法过程。在这个过程里,比特币系统会定期在网络节点上生成一个特定的随机代码。全球的计算机积极参与搜索这个代码,找到代码的计算机将获得一个区块,作为奖励,该计算机将获得一定数量的比特币。这种机制确保了比特币的发行。
02、比特币的实质是一种通过特定算法和大量计算生成的数字资产。它不是由任何中央机构发行,而是通过一个分布式网络来验证和记录所有交易,保障其安全性。比特币的P2P网络去中心化特性与算法确保了比特币不能被恶意制造,从而操控市值。
03、比特币的设计基于密码学原理,确保了交易匿名性,并且只有比特币的合法所有者才能进行转账或支付。这种设计增强了货币所有权的隐私保护。
04、与其它虚拟货币不同,比特币有一个固定的总量限制,这种稀缺性是比特币价值的重要支撑。
Ⅳ 矿机显卡到底运算的啥
简单来说,挖矿就是利用芯片进行一个与随机数相关的计算,得出答案后以此换取一个虚拟币。虚拟币则可以通过某种途经换取各个国家的货币。运算能力越强的芯片就能越快找到这个随机答案,理论上单位时间内能产出越多的虚拟币。由于关系到随机数,只有恰巧找到答案才能获取奖励。
中本聪在他的论文中阐述说:“在没有中央权威存在的条件下,既鼓励矿工支持比特币网络,又让比特币的货币流通体系也有了最初的货币注入源头。”
中本聪把通过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源将黄金注入经济。比特币的挖矿与节点软件主要是透过点对点网络、数字签名、交互式证明系统来进行发起零知识证明与验证交易。
每一个网络节点向网络进行广播交易,这些广播出来的交易在经过矿工(在网络上的电脑)验证后,矿工可使用自己的工作证明结果来表达确认,确认后的交易会被打包到数据块中,数据块会串起来形成连续的数据块链。
中本聪本人设计了第一版的比特币挖矿程序,这一程序随后被开发为广泛使用的第一代挖矿软件Bitcoin,这一代软件从2009年到2010年中旬都比较流行。
每一个比特币的节点都会收集所有尚未确认的交易,并将其归集到一个数据块中,矿工节点会附加一个随机调整数,并计算前一个数据块的SHA-256散列运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标。
为什么要用显卡挖矿?
所谓的矿就是一个个数据包,这些数据包需要解密。一般来说都是由CPU来算的,但是一个两个可以,一堆一堆的CPU也受不了。又因为这些数据包的计算量很大,但计算方式简单,而这正符合GPU的工作原理。目前消费级CPU最多是64核心128线程。而GPU呢?都是上千核心上千线程,但都只能进行简单的计算。
矿的数据包中含有少量的网络虚拟货币-比特币。从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。以钞票来比喻的话,比特币就是钞票的冠字号码,你知道了某张钞票上的冠字号码,你就拥有了这张钞票。
而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有 2100 万个特解,所以比特币的上限就是 2100 万个。最近比特币的价格起起伏伏,但是无论高低,直视价格都让人难以拒绝。所以为了提高获取比特币的几率,越来越多的人选择大批量购进显卡,进行大规模的挖矿行为。而算力越高的显卡越受“矿老板”喜爱,导致显卡一度缺货,高端显卡尤其明显。
最后小编提醒投资者,在选择显卡挖矿的时候,一定要注意,因为现如今有些矿工在买显卡矿机的时候,会遇到新机器装了二手显卡,众所周知,显卡矿机的组装门槛相对较低,这给了一些黑心的矿机厂商发财机会,他们卖的一些新矿机,里面封装的并不是全新的显卡,而是二手甚至三手的显卡,简单翻新后,普通人根本没有能力鉴别出来,这样的矿机,上架后会经常出现算力不足、故障率高等现象。
Ⅳ 比特币挖矿一定要用计算机嚒我们为什么不能用纸和笔来计算呢
比特币其实是一个毫无用处的一串数字,但是被大家公认为有用,它就像钻石、古董、字画、游戏皮肤等被赋予了价值。既不能吃,也不能用,但我们还是会认可它们的价值。
“挖矿”仅仅只是让更多的人参与进区块链网络的建设中来,这么多的电费用来“计算”一串虚拟的数值这样真的好吗?比特币并不是一个保值的东西,价格浮动较大,炒比特币可能一夜暴富,也可能一夜变成穷光蛋。比特币也并非宣称那样安全,2014年全球最大的比特币交易网站MtGox被黑客入侵导致破产,价值4.67亿美元的比特币瞬间蒸发。犯罪分子用它来洗钱、逃税等等,政府想去调查也是相当困难的一件事。以上个人浅见,欢迎批评指正。认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!
Ⅵ 比特币怎么挖出来的
就是用电脑计算密码呗,非常费电,一天也挖不到一个,比特币工厂都去北方,机器好散热,哪里电价便宜就临期搬去那里。
每隔一个时间点,比特币系统会在系统节点上生成一个随机代码,互联网中的所有计算机都可以去寻找此代码,谁找到此代码,就会产生一个区块,随即得到一个比特币,这个过程就是人们常说的挖矿。计算这个随机代码需要大量的GPU运算,于是矿工们采购海量显卡用以更快速的获得比特币获利,这也是近期显卡缺货的重要原因。
目前一个1个比特币基于目前的数据结构被分割到8个小数位,也就是0.00000001BTC,矿工们挖到比特币最小的单位就是0.00000001BTC。
通俗点说,比特币好比是一座由总量为2100万个金币组成的金山,想要得到它,就需要玩家们利用电脑的运算能力,根据现有的算法计算出一组符合特定规律的数字。
Ⅶ 比特币挖矿是随机获取到的吗
可以说是随机的,但是如果只是说随机就能获取,这样的说法也不准确。首先来说说如何通过挖矿来获得比特币?
根据比特币基本算法,比特币每10分钟产生1个区块,每个区块里有N个比特币作为报酬,这个区块包含了最近10分钟所有的比特币交易信息。
制造比特币的过程叫做“挖矿”,在这个过程中,计算机吧最近收到的账单打包在刚制造的区块里,这个打包的过程即制作的过程,只有极其稀少的几率被制造成功。一旦制造成功,你就把这个区块广播出去,这就意味着,你获得了这个区块的N个比特币作为报酬。
那么N是多少呢?根据比特币算法,在比特币发布之日起的头4年里,N = 基础报酬(50个比特币) + 交易报酬(过去10分钟内整个比特币网络耗费的交易手续费,前面已经说过,每笔比特币交易会消耗0.001比特币作为报酬给挖矿的人),每隔4年,N的基础奖励将减少一半,也就是说,头4年为50,第5-8年为25,第9-12年为12.5,以此类推。而随着比特币越来越普及,交易越来越频繁,N的交易奖励会逐渐增加。
从2013年5月起,比特币正式进入了第5年,因此到2017年5月之前,每个区块的报酬N为25+交易报酬。
注:实际上,比特币挖矿的用户数量非常庞大,而每10分钟产出的比特币又十分有限,因此挖矿的难度已经是非常非常大了,如果你拥有性能强劲的显卡,那么会有一定的收益,如果你的显卡不好,那么你可能需要耗费N个小时才可以获得一点点比特币。