mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
平台 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

区块链学习笔记之比特币再深入(下)

收藏
分享

来源: 三非彼得

一、比特币困惑我们的几个问题

1. 既然比特币是一个全球性的网络,住在东半球的Alice在给住在西半球的Bob转账时怎么知道已经转账成功了呢?

2.既然比特币是一个去中心化的货币系统,那么这个货币是如何被创造并发布出来的呢?因为传统的法币都是由央行这样的中心化机构统一来发行的。

3.若Alice想欺骗Bob又该怎么办?举例:Alice账户中实际没有1个比特币,或者说Alice确实有1个比特币,但她同时向Bob和Cara两人支付比特币(所谓的“双花”),那么在比特币世界中的无数个节点,有的会先收到转账给B的信息,有的会先收到转账给C的信息,那么这样将造成数据不同步,最终以哪条信息为准?

4.既然所有的账户余额都是基于历史记录算出来的,那么历史记录的完整性又该如何绝对保证?你比如,有黑客恶意恶意删除某个部分的历史交易记录该怎么办?

二、挖矿

上述看似极难解决的问题,天才的中本聪通过“挖矿”的概念,极好的解决了这些问题。可一说到“挖矿”这个概念,可能又会让我们困惑不已:从网络中挖矿?怎么挖?拿什么挖?其实,这是大家对于比特币生产的一个抽象的比喻,其实质是 争夺比特币世界中交易的记账权!

从系统的运行流程来看, 挖矿就是将过去一段时间内发生的、尚未经过网络公认的交易信息收集、检验、确认、打包、加密成为一个无法被篡改的交易记录块,从而成为这个比特币网络上公认的已经完成的交易记录,永久保存 。在比特币的世界里,大约每10分钟就会在公开账本上记录一个数据块,这个数据块里包含了这10分钟内全球被验证的交易。所有的节点都在尝试打包这个数据块并提交,但以谁提交的为最终结果则是需要争夺的。

三、那么争夺记账权有什么好处呢?

有两个好处:.最终成功打包好那个交易记录块的人,可以 获得伴随这些交易而生成的交易费用+一笔额外的报酬 。交易费用是,比特币系统规定交易发起方需要向矿工支付一笔报酬以保证交易能够正常完成,因此这不是系统新增的货币; 而额外的报酬就是新生成的比特币,这就是比特币系统新增货币的方式

依据比特币系统的规定,大约每10分钟可以生产一个交易记录块,最初每生产一个交易记录块可以获得50个比特币的额外报酬,这意味着比特币网络每天增加7200个比特币,但是该报酬每隔4年就会减半,因此最终整个系统中最多只能有2100万个比特币。

四、哈希的密码游戏

那么,另外一个问题又来了:电脑是靠什么机制来争夺记账权的呢?它们又是如何保证10分钟左右生产一个交易记录块的呢?事实上,电脑是在玩一个叫哈希的密码游戏,更具体点说就是SHA-256算法。所谓的算力挖矿其真正的本质是 :在10分钟内看谁能先破解比特币系统出的一道数学题(计算出一个最小的哈希值)。若谁优先给出正确答案,那么这个人就抢到了记账权 。由于哈希值的结果相当随机,无法预知大小,唯一的方法就是“暴力破解”(电脑拿可能的数字一个一个的试),这也就是挖比特币要拼算力的原因所在。

如果在这10分钟内没能抢到记账权,那之前的努力就白费了,拿到新的区块后会重新进入下一轮。而之所以计算时要加上上一个数据块的哈希值,是因为这样一来,所有的数据块就被组成了一条可以从前到后不断验证的数据链条(每一个数据都是上一个交易块的结果)。那么修改中间任何一个数据块的任何交易记录,都会导致之后的所有数据块的哈希值验证失败。若企图在修改记录后重新找一个合理值算出符合条件的哈希值并重新打包,那也意味着之后所有的数据块都需要重新寻找那个值来重算哈希值,版其计算速度必须比整个比特币网络更强的,因为只有这样才能让网络接受你的结果,而这就意味着攻击者要拥有至少超过整个比特币网络一半的算力(也就是大家都很熟悉的“51%”的攻击)。

五、动态的难度调整

刚才我们提到,比特币系统是如何保证10分钟出一个交易记录块的?事实上,中本聪在设计比特币系统时,已经设置了“挖矿难度”这个机制。这个难度是系统自动调整的,其依据是之前若干数据块生成的平均速度:如果低于10分钟,就把难度提高;如果高于10分钟,就自动把难度降低。由于是事先设定好的机制,每个参与的节点并不需要统一调度和安排,自动回遵守。难度提升很简单,就是降低哈希值的下限。由于哈希算法的特性,这会使计算量呈指数上升。当找到一个可以算出达到标准的哈希值的数字后,就可以把算出的数据块广播出去,寻求其他矿工的认同。对于一次比特币交易来说,如果你的交易单正好在这个数据块中,就意味着获得了一次确认。当其他矿工在有你交易的数据块上继续工作并把数据链延长时,每延长一个块就意味着多得到一次确认。

六、“51%”的攻击可能吗?

比特币系统的另外一个规则是,若一笔交易获得了6次确认,就认为这个交易已经得到了全网的认同,可以认定为有效。看到这里,可能有人要问了,若这样的话,我准备6台电脑,为我的虚假交易确认6次有效,岂不是可以在短时间内成功骗到别人吗?这里我们要接着刚才比特币“51%”攻击的话题说一下。 首先,可以肯定的说“51%”攻击几乎没有这种可能性! 随着比特币近9年的发展,比特币网络的计算能力已经强大到难以想象的地步,据说早已超过世界前500位超级计算机的总和,而且这个算力还在飞速上涨。目前在全球范围来看,几乎没有哪个个体或机构拥有这样一个恐怖的算力。而几个大型的“矿霸”,如比特大陆,他们虽然拥有这样的算力,但他们是比特币世界中有着极深利益的相关方,若真要实施这样一个攻击,从攻击成本上来说,将高的难以接受。所以,无论从情理还是成本来说,他们并没有动力来发起这样的攻击。那么当然了,你所想象的用6台电脑来确认你虚假的交易,普通电脑早已没有这种机会了!

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。