比特币挖矿机在做些什么
比特币挖矿机就是用于赚取比特币的计算机。这类计算机一般有专业的挖矿芯片,多采用安装大量显卡的方式工作,耗电量较大。计算机下载挖矿软件然后运行特定算法,与远方服务器通讯后可得到相应比特币,是获取比特币的方式之一 。
比特币挖矿机是获取比特币的方式之一。比特币(Bitcoin)是一种由开源的P2P软件产生的网络虚拟货币。它不依靠特定货币机构发行,通过特定算法的大量计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。
任何一台电脑都能成为挖矿机,只是受益会比较低,可能十年都挖不到一个比特币。很多公司已经开发出专业的比特币挖矿机,这种搭载特制挖矿芯片的矿机,要比普通的电脑运算速率高几十倍或者几百倍。
比特币系统由用户(用户通过密钥控制钱包)、交易(交易都会被广播到整个比特币网络)和矿工(通过竞争计算生成在每个节点达成共识的区块链,区块链是一个分布式的公共权威账簿,包含了比特币网络发生的所有的交易)组成。
比特币矿工通过解决具有一定工作量的工作量证明机制问题,来管理比特币网络—确认交易并且防止双重支付。由于散列运算是不可逆的,查找到匹配要求的随机调整数非常困难,需要一个可以预计总次数的不断试错过程。这时,工作量证明机制就发挥作用了。当一个节点找到了匹配要求的解,那么它就可以向全网广播自己的结果。其他节点就可以接收这个新解出来的数据块,并检验其是否匹配规则。如果其他节点通过计算散列值发现确实满足要求(比特币要求的运算目标),那么该数据块有效,其他的节点就会接受该数据块 。
中本聪把通过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源将黄金注入经济。比特币的挖矿与节点软件主要是透过点对点网络、数字签名、交互式证明系统来进行发起零知识证明与验证交易。每一个网络节点向网络进行广播交易,这些广播出来的交易在经过矿工(在网络上的计算机)验证后,矿工可使用自己的工作证明结果来表达确认,确认后的交易会被打包到数据块中,数据块会串起来形成连续的数据块链。每一个比特币的节点都会收集所有尚未确认的交易,并将其归集到一个数据块中,矿工节点会附加一个随机调整数,并计算前一个数据块的SHA256散列运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标 。
拿比特币矿机来说,一是存储数据,二是计算。
先说存储数据,由于比特币的区块链需要存储完整的账本信息,因此所有比特币的交易信息都会存储在矿机的磁盘上,但这不是必须的,可以多个矿机共享一套账本存储,现阶段大约账本已经达到了几百G的大小。
再说计算,比特币的核心算法是一个叫sha256的算法,简单来说就是系统生成一个随机数密码,全世界的矿机都去用穷举的方式去猜密码是多少,矿机性能越强单位时间内测试的越多,才对的可能性越大,当然现在pc自己去做矿机去计算,估计计算一辈子也猜不对一次,一般的方式是加入一个矿场,由矿场分发任务,比如一台机器测试1-10000内的密码另外一台测试10001-20000的密码,矿场赢得比特币后再根据矿机所提供的算力来按比例分发比特币
以上的说的算法只是打个比喻,实际算**比上面说的复杂一些