《玩赚比特币》——2.2 比特币的产生原理——Hash

2.2 比特币的产生原理——Hash

玩赚比特币
2.2.1 什么是Hash
所谓Hash,是计算机算法领域内的一个概念,一般翻译做“散列”,也有直接音译为“哈希”的。它就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值(哈希值)。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来确定唯一的输入值。简单地说,Hash就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。如图2.2所示。

2.2.2 Hash算法的特点
Hash算法在从一个长字符串转换成固定长度的字符串的过程中(即计算Hash值的过程),其转换不可逆,即不太可能从Hash码猜出原字符串。从某种角度来说,计算Hash有时类似一种校验的过程。该特点如图2.3所示。

2.2.3 Hash算法在比特币产生中的应用
1.“挖矿”
MD5和SHA-1可以说是目前应用最广泛的Hash算法,而它们都是以MD4为基础设计的。在产生比特币时,采用的算法是SHA-256,这种算法采用了256位进行运算,为你想保护的信息,找到一串数字,附加上去后,使用某种公认的Hash算法,比如对于比特币来说就是SHA-256,算出一个Hash值。如果Hash值某一长度确定数字打头,如连续的00000……、11111……等(具体多少个决定了难度),那么就成功了。平时所说的“挖矿”,就是每个机器在重复着对原始交易信息附加一段数字,试图使其前面出现连续目标数量个“0”或“1”的游戏。这个游戏本身就是个NP问题,除了暴利搜索似乎没什么好办法,“挖矿”的艰辛也就在于此。

然而,对于这个Hash值的检验,只要进行一次Hash计算就可以了,这就保证了比特币产生时需要耗费很多时间(类似于发掘金矿),而进行交易时却无需为了校验花费很长时间。

而比特币的整个账单序列是一环套一环的。每个人在完整的全局账单上签上新的一笔的时候,都需要利用前面信息生成后面的。这个账单序列被称为chain of blocks(块链),如图2.4所示。每个block里面包含有若干条经过确认并加以难以伪造的hash签名的交易记录。每个block都和全局表上的上一个block有关联。每条账单都会通过P2P网络最终被转发给制造新block的节点上。

2.工作量证明
对于现阶段来说,计算Hash需要前13位为0,此意味着如果通过枚举法生成block的话,平均枚举次数为1613次,如图2.5所示。使用机器的算力资源(如CPU和GPU等)生成block被称为“挖金矿”。

3.奖励机制
这种计算会耗费大量的时间,同时除了暴力运算之外基本上没有什么好办法,制造出新块的几率好象买彩票中大奖,那为什么还有那么多人去执行程序计算出新块呢?答案是,每个制造出新块的人,都有权利构造一条账单声明老天给了我50BTC(比特币的单位),该奖励信息(即证明该块属于挖掘到它的人的信息)已经被包含在这个block里面。这个规则是被所有BTC用户共同承认的。

把制造block等同于挖金矿,只是一个形象上的比喻。实际上,没有人可以把金子挖出来囤积。每个新block必须包含全局表上的上一个block的Hash值,而BTC网络自我调节难度,让每10分钟大约产生一个新block。如果你10分钟内没制造出新的block,差不多就是说你前面10分钟活白干了。从最新版的block继续演算。

所以更恰当的比喻是买彩票。每10分钟开一次的彩票。你不停地花钱买,10分钟开中了就是你的,开不中的都作废,然后进行下一轮。

每个想挖矿赚BTC的人,在不停计算自己的block的同时,都在不停的从BTC网络上监听信息。如果有人发布了新的合法的block,那么如果他想让自己的计算有效,就必须以这个别人已经发布的合法block为基础,再次算块链中的下一个块。所以他需要将别人发布的合法block合并到本地的全局表里。同时取消掉当前的计算(因为当前这次计算是基于之前的块链计算的,现在已经无效了),然后以新得到别人发布的合法的block作为基础,重新开始计算。因为根据比特币协议的规定,block是成为链的,也就是说一旦有人发布了新的block,它之后的人的block就必须在它的基础上进行运算。如果有新发布的交易单,也记录下来。不断的把最新的block的Hash值、新收到的交易单,自己获得50BTC的那条奖励单合并在一起,计算SHA-256,看看结果是否满足条件。一旦满足,就把这个新的block广播出去。当足够的人认可它,以它为基础计算后面的block后,他也就获得了那50BTC。

4.注意事项
需要注意的有下面两点:

(1) 生产block的速度:比特币的协议里规定了生产block的难度固定在平均2016个每两个星期,也就是大约10分钟生产一个。这个速度是不受计算机的运算速度影响的,随着计算机运算速度的提高,产生block的难度(即前文提到的计算Hash值的前面连续0的个数)也会不断加大,因此CPU速度每18个月速度加倍的摩尔定律,并不会加快生产block的速度。

(2) 生产block的奖励数量:比特币每生产一个block奖励50BTC,每四年减半,2013年开始奖励25BTC,2017年开始奖励12.5BTC,依次类推。

综合上面两个因素,比特币货币发行速度并不由网络节点中任何单个节点所控制。其协议使得货币的存量是事先已知的,并且最高存量只有2100万个BTC(目前每周增加约5万个BTC)

为了匹配BTC的经济规模。所有的比特币客户端都被设置成每210000个block,生产新block的人被认可凭空获得的BTC数量比之前的少一半(如果这个时候他还在包内写上自己获得50BTC,其他人不会确认他的这个block)。这会让BTC的总量增速变缓。新的block产生的速度是由难度来调节的。这个难度会由P2P网络根据最近生产block的速度自动调节。所以即使日后计算能力增加,也能保证大约10分钟一个的速度。

时间: 2024-09-20 14:46:58

《玩赚比特币》——2.2 比特币的产生原理——Hash的相关文章

《玩赚比特币》——1.3 比特币的价值成长之路

1.3 比特币的价值成长之路 玩赚比特币1.3.1 比特币价格的飞速变化 2010年,美国佛罗里达州的程序员Laszlo Hanyecz花1万比特币在"棒约翰"买了两块比萨,而现在1万比特币价值为186.5万美元. 就在这一年多一点的时间内,比特币兑换人民币的价格就从每个比特币30元涨到了最高每个比特币1944元,如图1.15所示.目前流通的比特币大概是1000多万个,价值接近20亿美元.2013年全年交易量将在30亿至90亿美元. 从20世纪90年代的Beenz和Flooz,到后来出

《玩赚比特币》——第2章 比特币原理一窥 2.1 去中心化

第2章 比特币原理一窥 玩赚比特币 在真正开始比特币的生产和交易之前,了解比特币的原理是十分重要的.本章介绍了比特币去中心化的特点,比特币的产生原理和比特币交易的本质等内容. 2.1 去中心化 玩赚比特币2.1.1 传统货币的中心化特性 从古至今,无论是中国的金银锭.铜钱,还是国外所使用的金银币,从贵金属货币到现代的纸币,这些货币都是由统治阶级制作和发行的.除了中央政府,任何组织和个人都绝对不被准许制作货币,这就是货币的绝对中心化. 在历史的长河中,政府具有供应货币的垄断权或独占权,在现实中仅是

《玩赚比特币》——2.3 交易的本质

2.3 交易的本质 玩赚比特币2.3.1 比特币账户与现金.银行账户的区别 比特币是一种电子货币,单位为BTC.和在银行开立账户一样,比特币里的对应概念为地址.每个人都可以有1个或若干个比特币地址,该地址用来付账和收钱.每个地址都是一串以1开头的字符串,如1BUDpLbFDYPvP2QngKo39Kenkt8RpZYX13.一个比特币账户由一对公钥和私钥唯一确定,要保存账户,只需要保存好私钥文件即可,如图2.6所示. 和银行账户不一样的地方在于,银行会保存所有的交易记录和维护各个账户的账面余额,

《玩赚比特币》——导读

前言 以比特币为代表的新型虚拟货币,已经慢慢渗透到我们的日常生活中,它的价格也从1美元换数百比特币一路飙升到了数百美元才能换1比特币.当很多的投资者已经通过投资比特币获利颇丰时,许多普通人还不知道比特币的存在.为了帮助更多的读者认识比特币.了解比特币,同时介绍以比特币为代表的新型虚拟货币的由来.原理.应用以及挖掘和交易方法,我们特编写了本书. 本书在编写时,力求同时包括知识性.实用性与通俗性,在内容选择上既有比特币的历史由来.数学基础等知识,又有使用多种设备挖掘比特币的技巧,同时还介绍了使用比特

站长的目的是为了赚钱《玩赚你的网站》读后感

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 首先在这向A5和出版商以及作者道个歉.由于出差一直没有空写下一下文字,再加上文笔不好,也是第一次写书评.还希望大家海涵.在这个互联网盛行的时代,读书确实算的上一种消遣,在这追名逐利的现实社会中,能静下心来读完一本书更恕不易;能腾出时间平心静气写下一段文字,那更是难上加难. 有幸参加这次A5论坛举行读书活动,并且拜读了陈光锋先生的大作<玩

网赚是怎么炼成的 教你“玩赚”你的网站

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 <玩赚你的网站>是一本关于网站运营方面的书,较为系统的介绍了网站运营需要考虑的方方面面,并通过实际案例详细剖析了网站运营的成败.本书语言朴实易懂,对7474.html">草根站长运营网站会有一定启发. 此书的名字起的相当有意思,玩赚你的网站,道出了草根站长运营网站的本质原因,本人在之前几篇文章中也讲到过自己的一些做

玩赚竞彩手机报全面升级

玩赚竞彩手机报全面http://www.aliyun.com/zixun/aggregation/1070.html">升级 成功定制还有奖哦 玩赚竞彩手机报上线以来一直注重服务性,并在彩民中赢得了相当好的口碑.但一直以来,我们的定制方式限制了手机报的发展.近日,玩赚竞彩手机报实现全面升级,开通了网上支付宝业务,想定制的彩民只需要上网通过支付宝进行支付,就可以足不出户完成定制.凡是定制成功的用户,我们还将赠送3个月的体验期服务哦.

玩赚竞彩手机报实现全面升级

玩赚竞彩手机报上线以来一直注重服务性,并在彩民中赢得了相当好的口碑.近日,玩赚竞彩手机报实现了全面http://www.aliyun.com/zixun/aggregation/1070.html">升级,开通了网上支付宝业务,想定制的彩民只需要上网通过支付宝进行支付,就可以足不出户完成定制.凡是定制成功的用户,我们还将赠与3个月的体验期服务哦.

玩赚竞彩手机报

玩赚竞彩手机报上线以来一直注重服务性,并在彩民中赢得了相当高的口碑.但一直以来,我们的定制方式限制了手机报的发展.近日,玩赚竞彩手机报实现了全面http://www.aliyun.com/zixun/aggregation/1070.html">升级,开通了网上支付宝业务,想定制的彩民只需要上网通过支付宝进行支付,就可以足不出户完成定制.凡是定制成功的用户,我们还将赠与3个月的体验期服务哦.