区块链-比特币篇

2018-06-24  本文已影响0人  海边的晚霞

大家知道为什么我们成本不到1分钱的100元人民币能购买100元价值的商品吗?

我们先来看看货币的发展历程,古代我们是物物交换,如果我家有一头牛, 张三家有大米,如果我需要大米,我就会用我家的牛来换张三家的大米;

由于物物交换我们无法衡量出商品的价值,所以我们才用金子、银子作为统一的货币,但是金子和银子不便于携带,所以后来出现了纸币;

我们再来看看1分钱成本的100元人民币为什么能购买100元价值的商品呢?因为纸币是国家发行的,所以社会和国际上都认可;

然而我们现在连纸币都不需要带只要带上我们的手机就可以进行各种交易了是吗?随着互联网行业的发展使得我们现在记账货币的出现,什么是记账货币呢?我们发工资,只是在我们银行卡上多了一笔金额的记录,如果我们买东西,我们的银行卡或者第三方机构记录了一笔金额减少的记录,这个有谁来记录呢?由银行、第三方机构记录,但是央行拥有整个账本记账的权利,如果银行收到黑客的攻击,数据被改了,是不是就会对我们的财产造成不安全?国家如果大量印新钞是不是会造成人民币的贬值呢?

    密码学家中本聪,发现2008年经济危机的时间,美国政府大量印钞,造成货币贬值,所以就想有没有一种货币是不可以随意发行,并且每个人都有记账的权利呢?

在2008年底中本聪发明了比特币;

那么,在一个没有中心化机构的情况下,比特币的发行、记账、交易是怎样进行的呢?

中本聪首先规定了比特币的发行机制。它规定比特币的总量为2100万枚,比特币网络大约每10分钟出一页账单,每个比特币的产生伴随着每一页账单的产生,也就是每一个区块问世和发行。中本聪还规定,最开始每个区块的比特币奖励是50枚,然后每21万个区块减半一次。一直到2140年。所有的比特币发行完毕。

21万个区块,我们算一算,平均每10分钟出一个区块,出21万个区块需要多久呢?理论上需要1458.3天,也就是3.99年。这也就是大众说的“比特币每四年减半”的由来。2016年7月8日开始,比特币第二次减半,也就是每个区块伴随的比特币奖励为12.5枚。

然后中本聪规定了记账的形式。我们知道比特币采用的是工作量证明机制,即PoW机制。所有的矿工通过竞争哈希计算的方式,争夺记账权力。类似每10分钟有一道数学题被丢到网络中,大家比赛,看谁算的快。在每一轮的竞争中,谁最先计算出正确答案,谁就获得了本轮的记账权力。他记录的本页账单,大家都要以此为准。紧接着,大家在这一页账单的基础上,争夺下一页账单的记账权。通过这种共识机制,中本聪解决了在一个去中心化的体系下,账本的唯一性的权益。 矿工为什么要竞争记账呢?用计算机进行计算要消耗电、要存储大量的数据,这样做对矿工有什么好处呢?毕竟纯粹靠公益,这样的体系走不长远。 这也是中本聪最为聪明的一个地方:他把比特币的发行和竞争记账绑定在了一起,记账的人每获得一次记账权,就会获得系统产生的新的比特币作为奖励。也就是说算的最快的计算机,就会「挖」到一定数量的比特币。 在每一轮竞争记账中,谁获得记账权,谁就获得这一个区块里的新诞生比特币奖励和被记录在账单里的交易的手续费。在2017年,如果你是一个矿工,在一轮竞争中获得了记账权,你就会获得12.5个新发行的比特币奖励,还有这个区块上所有的手续费,大约零点几到2个比特币手续费。随着新生比特币每四年减半,新生比特币奖励越来越少,那么矿工还会有动力去挖矿吗? 答案是肯定的。因为他们还有另外一部分收入,就是大家给的比特币转账的手续费。大家还记得我们提到在比特币的世界里转账手续费是可以自己填写的吗?随着使用比特币的人和机构越来越多,全球比特币转账越来越频繁,转账手续费总量也会越来越大,手续费会未来成为矿工的主要收入来源。

我们怎么去计算现在的区块是第多少个区块呢?很简单,大家用“区块高度”来标记它。也就是一个区块的高度是从比特币诞生之后,第多少个区块!打开任意一个比特币的区块浏览器,我们可以看到现在出来的最新的区块高度。通过区块高度,我们可以计算大概还有多久,比特币会进行下一次减半、多久会进行难度的调整、多久进行一次大事件。

比特币现在的每个区块大小是1M字节,大概能容纳一千笔交易。当网络转账的人比较少时,等待矿工确认的你可能只需要等10分钟,就能被下一个区块确认了。如果当前转账的人比较多,你可能要排队,多等一个10分钟,甚至更长时间。矿工们会不断的等待记录的转账交易里面去选择手续费比较高的转账信息来进行记账,如果你的手续费不排在前面,可能就要排在很后面才能够记你的账了。 通过这样的设计,中本聪使得比特币的发行、比特币的记账和转账等环节环环相扣,使得整个体系能够自发运转起来。现在,即使中本聪这个核心人物已经销声匿迹,我们看到比特币的自发的生命力,这就是去中心化体系的魅力。

比特币的安全性

我们经常看到各大媒体争相报道,比特币以及区块链具有去中心化、不可篡改、不可伪造的特点。这是为什么呢?我会在这一讲为你来解答。你不要被「比特币的技术来源」这个标题给吓住了,内容中只会稍稍涉及到技术,我会用尽量通俗的语言,给你讲清楚,比特币以及区块链去中心化、不可篡改、不可伪造这几个特点,到底是依赖什么技术得以实现的。 首先,来说说作为比特币和区块链最重要的特性之一去中心化,是依靠什么技术实现的呢?我们都知道中心化是需要一个类似银行的中心机构来验证交易的。去中心化,本质上是让所有的节点都能验证交易的真伪,TA那依靠什么来验证呢?中本聪用了非对称加密技术。那么,非对称加密技术又是什么呢?TA是指加密和解密的时候使用不同密钥的加密算法。如果加密和解密使用相同的密钥,我们称为对称加密。对称加密不安全的地方在于,大家使用的秘钥如果相同,这个密钥就已经不安全了。 对于非对称加密,详细的描述是:A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。私钥,好比一把私有的钥匙,只有钥匙的拥有者才能打开,是用来加密用的。公钥,好比一把公开的钥匙,可以告诉给需要的人,是用来解密用的。在这个过程中,A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥可以告诉A。A要给B发送信息时,A用B的公钥加密信息。B收到这个消息后,B用B的私钥解密A的消息。其他所有收到这个信息的人都无法解密,因为只有B才拥有这把私钥。 这个听上去有点复杂,简单的说就是,公钥和私钥在非对称加密机制里是成对存在的,公钥和私钥可以去相互验证对方,那么在比特币的世界里面,我们可以把地址理解为公钥,可以把签名、输密码的过程理解为私钥的签名。每个矿工在拿到一笔转账交易时候都可以验证公钥和私钥到底是不是匹配的,如果他们是匹配的,这笔交易就是合法的,这样每一个人只需要保管好TA自己的私钥,知道自己的比特币地址和对方的比特币地址就能够安全的将比特币进行转账,不需要一个中心化的机构来验证对方发的比特币是不是真的。非对称加密技术保证了比特币的去中心化特点,当然还有分布式存储也同样保证了比特币的去中心化。 第二,我们再来看看,为什么说比特币的区块链账本是无法被篡改呢?这里说的篡改是网络中为了弄虚作假而对账本进行恶意修改。这一点由比特币采用工作量证明机制和最长链机制来保障的。 我们在第2讲中提到过比特币的共识机制是“工作量证明机制”,是一种对在差不多时间内发生的事务的先后顺序达成共识的一种算法。工作量证明,简单理解就是一份证明,用来确认你做过一定量的工作。监测工作的整个过程通常是效率非常低的,而通过对工作的结果进行认证来证明完成了一定工作的工作量,是一种非常高效的方式。比如现实生活中的毕业证、驾驶证等等,也是通过检验你完成了一定知识的学习或者驾驶过一定时间的汽车,来证明你的技能的,也就是说通过这个结果证明你曾经做过这件事,曾经耗费过工作量所谓的工作量。 工作量证明的特点,对于执行的一方来说,难度是适中的。对于验证方来说是非常容易被验证的。矿工们进行哈希验算的时候,你可以理解为是一种数学的游戏。获得正确答案,就会获得记账权,其他节点经过非常简单的验证之后,就可以同意其记账,并同步账本。打上时间戳后,紧接着进行下一轮算力竞赛。 如果这时候有人想把某个区块高度上某个交易信息进行修改,TA需要做什么呢?TA需要从这个区块开始把之后所有的区块都重新计算一遍,把账本再同步给其他人。而在他进行计算的同时,其他矿工们已经在原来的链上继续往前进行计算了。因为在比特币的网络里,大家认为最长的链才是正确的链。这个恶意篡改的人,需要在很短的时间内赶上现有区块的高度,让自己的这条区块链成为最长的链,让其他矿工误以为这是正确的账本。 除非这个恶意篡改的人,拥有非常大的算力,至少超过50%,否则基本上没有可能进行这样的篡改。那么我们就算一笔账,现在全网算力是8 E 哈希每秒,就是大概每秒进行8*10^18次计算,现在的流行的主流矿机大概每一台的算力是10T左右。如果你想拥有全网51%的算力,你需要至少40万台最新的矿机,一台矿机价格按照10000元计算,光是设备这一项就需要投入40亿元人民币。况且,最新的矿机生产赶不上销量,经常处于买不到现货的状态。加上老矿机不断被淘汰,算力不断上涨。你购置设备的速度很难赶上算力上涨的速度。从投资回报率的角度来说,这项投资的成本需要至少40个亿人民币,如果TA不是为了6、70个亿以上的利益,并且TA有非常雄厚的经济实力和技术实力做支持,一般人也不会有这个动力进行算力攻击的。从网络大环境来看,前面我们也说过,由于去中心化的存在,整个网络非常警惕影响比特币这一情况出现。 曾经在网络上出现有一个矿池的算力接近50%,后来大家就逐渐把自己的算力连接到其他矿池上。其实,从经济学的角度来说,这种51%的攻击也是非常不科学的。我们试想下,当这个攻击的发生,比特币的区块链得到了篡改,比特币的价格将会变得一文不值。TA通过这个篡改获得的利益也会受到很大的损失。总而言之,想篡改比特币账本,简直是比登天还要难,同时也无利可图。 第三,来说说为什么说比特币不可伪造呢?也就是说不能造假币。我发给你0.1枚比特币,为什么你相信这枚比特币不是我自己伪造出来的,而是真的比特币呢?或者,你怎么相信我没有把这0.1个比特币同时转给了2个人或3个人呢?这和比特币的UTXO结构有关系。所谓“UTXO”(每个字母的意思在逐字稿最下方查询),具体的意思是未花费的交易输出,它是比特币交易生成及验证的一个核心概念。我用你非常熟悉的纸币来举个这个例子。假设我要给你20元钱,其中2张5元纸币,1张10元纸币。而我的这2张5元钞票,来自水果店老板给我的找零,这1张10元来自加油站给我的找零,拿到这三张钞票之后,我还没有花出去,才能给你。这就叫未花费的交易输出。水果店老板的这2张5元钞票,又来自其他人,加油站的1张10元钞票,也可能来自于其他人。这样这些钞票,可以顺藤摸瓜一直追溯到发行的那一刻,由印钞公司根据央行批准发行出来,又首先发给了哪家银行,最后流通到市场上的。由此验证这三张钞票都是真的。 比特币的UTXO也是这样的结构。在比特币世界里的每一笔转账,都能够追溯到上一笔交易。每一笔付款,都可以追溯到上一笔的收款。我给你的0.1个比特币,必须是别人给我的、我还没有进行花费的比特币。然后可以一直往上追溯到它诞生时矿工挖出来的那个区块。这个机制,保证了比特币不可被伪造,不可以被重复支付。重复支付,在比特币世界被叫做“双花”,就是花了2次。在比特币之前,一直没有数字资产能够解决双花问题,而中本聪用这个机制,解决了这个信任问题,使得比特币能够被广泛的应用。 

上一篇下一篇

猜你喜欢

热点阅读