首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于比特币和区块链的知识

前几个月,比特币价格曾接近20k美元,那时候媒体铺天盖地报道其涨势。

为什么这样一个货币会引起如此疯狂的市场现象,为此我们需要理解比特币和常用货币的区别以及比特币的运作机制。

我们平常用的货币统称「法定货币」,是由国家宏观调控发布,并以国家信誉背书。

各国钱币

每当有一笔「非现金形式」的交易发生,比如刷卡消费,国家甚至商家都会记录并且追踪这笔交易。

交易发生后,银行从消费者的账户扣除相定数额,并在商家的账户增加同等数额。

银行在其中起非常关键的作用,所有的转账交易记录都储存在银行。

在此,银行就像一位会计员,不厌其烦地记录着所有参与者之间的交易记录,这种形式便是我们熟知的中心化。

比特币是一种去中心化、匿名化的数字货币。在比特币的世界,是不存在银行的,是去中心化的。所有人一起承担会计员的职责,记录所有交易。

当然,现实生活中,只有一部分人充当了会计,剩下的参与者将选择完全相信那些一直在记录的参与者的真实性。

来,我们通过下面这个例子加深了解「比特币是如何运作的」

在山的那头,有个村庄。村民们之间的互动只有发生交易,大家关心的都是最后谁有多少钱。

在中心化的运作方式下,有一个村长给大家记账。当刘能要给赵四5块钱时,刘能得向村长汇报,接着村长就会在刘能的余额上减去5块,并在赵四账户里加5块,并注明是刘能给的。

在去中心化的运行模式中,村长是不存在的,每位村民手中都有一个账本,记录着所有的交易:

当刘能给赵四汇5块时,刘能得对着邻里大吼一声「我刘能要给赵四5块」。

当邻居们听到这声音的确是刘能吼的,确认了交易的真实性,则把这条交易记录在自个儿的账本上,

同时这些邻居们对着其他没听过这条消息的村民们口口相传,其他村民也同样确认这消息的确来自刘能。记录,如此往复。

如此下来,刘能有多少钱,赵四有多少钱,各位村民都可以通过自己的账本看得清清楚楚。如果其他人账本里写着此人没钱,那他就是穷光蛋,倘若大多数人账本里表明此人有100块,那么他就有100块。一种非常民主的记账方式

但,问题出现了。由于暂时无法把消息传递给某些村民,或者某些村民听错消息,甚至很多交易同时发生到达每位村民的时间不一样,导致顺序不一样等一系列问题。最终每个人的账本都不一样。

这时有些聪明的村民们提议:大家最好能时不时「统一」一下账本,由一位村民提出自上一次统一之后自己收集到的所有交易,并推荐给大家。以此减少分歧,使得整个比特币系统协调运作。

那么谁来提出这样一个时段统一的记录呢?最终,村名们一致决议用「挖矿」来争夺每10分钟一次的记账权。

挖矿的本质即是做一个只能靠猜(计算机随机hash碰撞)才解的出的数学题。

参与挖矿的所有村民都在尽力做着这么一道数学题,谁先猜对答案谁就可以把自己收集到的零散的交易打包成一个包裹,附上答案,打印并分发给其他村民。

其他村民在接收到这个包裹后可以迅速:

验证数学题答案是否正确,

验证文件夹里的交易是否都符合真实性,

倘若答案正确且所有交易合法,则把包裹放在一堆之前接收过的包裹堆最上方;倘若答案错误或者有些交易不合法(验证失败等),则把包裹扔掉。

接收了包裹的村民也会向其他村民传播这个包裹的复制品,如果包裹没问题,最终大家都会承认包裹中的交易,这样大家的账本就统一了。

注意,在整个过程中,解出数学题的村民并不向其他村民询问是否接受,整个过程悄无声息。

在此,包裹就是我们常看到的「区块」,而一堆包裹就是「区块链」。

由发明者

中本聪挖掘的第一个比特币区块

「创世区块」

最老的文件夹垫在最下,最新的最上,形成一个按照顺序、一个接着一个的链式结构。而密码学的一些方法可以防止参与者篡改里面的文件:接收包裹后,参与者能做的,只有要么放在文件堆的最上面,要么扔掉。这样的链式设计,也保证了信息的透明化。牵一发而动全身,一旦「某个区块」的信息被修改,则每个人都会收到提醒信息被修改过。

但,问题又出现了。刘能和赵四可能差不多同时做出数学题,并向不同方向的村民们开始分发包裹,村东头的谢广坤可能先接受到刘能的包裹,但村西头的你先拿到赵四的。

「一山不容二虎」。

为了解决不同村民收到的包裹顺序不一致的问题,比特币的运行规则有如下解决方案:

包裹具有编号,刚制成的包裹编号为包裹堆最上的包裹号加一。

包裹包含制作者接受到的合法交易记录、数学题的答案以及上一个包裹的出处。

收到包裹时,先扔掉不合法与答案错误的。如果合格包裹剩下多个,则挑选号码最大的;如果相同编号剩下多个,则保留最先拿到的。

接收以后,会保证自己之前的包裹与此包裹所述一致,及确保包裹堆中每个包裹N与「包裹(N+1)指定的之前包裹出处」相同。

回到我们的例子,当刘能解答出数学题(基于包裹No.98生成的数学题),他可以打包一个包裹编号No.99,发布出去后,谢广坤立即收到了。同时,赵四也做出,他打包的也是编号No.99,发布出去后,你立即收到了。这样岂不是又不统一了。没关系,这只是暂时的。

这里需要说明一下数学题的产生机制,数学题是基于每个村民家中最新的包裹而自动生成的,比如谢广坤的数学题是基于刘能的No.99生成,而你则是另一道题,但不论谁解出最新数学题,都可以制作包裹获得奖励(当前为12.5枚比特币)。

这时候,你在接受赵四的包裹后做出了新的数学题,并成功打包发送给其他村民。

你的包裹中不仅仅有交易历史和答案,还有上一个包裹的概况,因此你发给大家的包裹No.100里传递了「上一个包裹是赵四的No.99」。

收到这个包裹的其他村民验证包裹的真实性和答案后,则不仅只是把包裹放在最上面,还会检查自家的No.99是否是赵四的,若否,则会想方设法把自家的No.99包裹替换成赵四发布的那款,比如向别的村民索要。

通过这些规则,虽然每位村民最上方的几个包裹可能略有不同,但随着新的包裹的到来,下面的会渐渐统一。

以上便是对比特币去中心化运行的一个速写,若有不周还望海涵。

不论未来比特币的兴亡,去中心化这一模式的提出与成功运用必将是个不可逆的发明。我们再也回不去没有这种运作模式的时代了。

“一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。”

图片均来自网络,部分经后期加工

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180302G0CHY200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券