美文网首页@IT·互联网程序员
【区块链简史】第三章 比特币和区块链

【区块链简史】第三章 比特币和区块链

作者: 弱水三生 | 来源:发表于2018-08-29 00:48 被阅读82次

    1.比特币和区块链的关系

    提到比特币时,往往会提到区块链,比如:上一章我们就提到中本聪创建了“创世区块”,因此获得了50枚比特币奖励。从这一描述我们得知,比特币电子现金系统中,创建区块可以获得比特币奖励。那么创建一堆区块,然后串联起来是不是就是区块链了?是不是就能获得一大堆比特币呢?

    事实上确实如此,在比特币电子现金系统中,系统会定时给出一道数学题,所有人可以抢答,答对的就能获得创建区块的权利,创建完成后,就可以获得一定数量的比特币奖励了。

    所谓的区块(Block)指的是存储数据的最小单元,对应的计算题答案,就存储在区块中,获得的比特币信息也是如此。就如同一叠钞票(比特币)放在一个钱包(区块)中,钱包中还放了答题卡(答题结果)。

    除了第一个区块“创世区块”外,其余的区块必须等待上一区块创建完毕后,使用上一个区块的计算结果来出下一个区块的计算题,因此计算题就如同一条绳子一样,将相邻的两个区块连接了起来,形成区块链。

    至此,我们就大概明白,比特币是答题成功创建区块后获得的电子现金系统奖励,区块之间相互连接形成了区块链。

    2.区块链的基本原理

    我们再进一步想想,就会产生一些新的问题:

    为何要通过创建区块的方式来产生比特币呢?以及为何一定要将所有区块串联起来形成链条呢?还有人们口中所谓的去中心化为何意呢?匿名又指的什么?

    在回答这4个问题之前,我们先来结合现实生活,看看以下几个问题:

    • 货币从哪里来?
    • 如何流通到使用者?
    • 如何记录交易信息(记账)?
    • 如何存储交易信息(存储账本)?
    • 为何要支持去中心化?以及如何实现去中心化?
    • 为何要支持匿名交易?以及如何支持匿名交易?

    就拿我们日常生活中,比较熟悉的人民币来说:

    • 人民币通过中国人民银行,也就是央行发行,以法律形式赋予其强制流通使用,即法定货币,简称法币;
    • 央行通过收购外汇、债券交易、再贴现和再贷款,从而将发行的货币流入企业、债券市场、各大银行(工行、招行等),个人收到工资、购买债券、向银行贷款等方式获得人民币,货币总量无限;
    • 银行才有记账的权利;
    • 交易信息也就是账本存储在银行系统中;
    • 银行系统为中心化系统,涉及到一国之金融命脉,由央行统一管理;
    • 必须提供个人身份信息,一来保证财产所有权,二来防止金融犯罪,比如:洗黑钱。

    对于比特币来说:

    • 比特币通过一种电子现金系统产生,不受中国法律保护,称为代币;
    • 通过回答电子现金系统给出的计算题,答对者获得奖励而得到,货币总量有限;
    • 回答正确者拥有记账权,并负责记录交易信息;
    • 交易信息存储在区块中,多个区块串联起来就如同一本账本,也就是区块链;
    • 为了防止任何人修改账本,篡改交易记录,因此区块链设定每个人,都拥有信息完全相同的账本,也就是所谓的分布式存储,除非超过50%的人同意,否则无法修改账本;
    • 为了获得经济交易自由,保护交易者隐私,因此比特币交易不需要提供任何个人信息,就可以进行转账和收款。

    通过以上对比,我们能看出比特币比起法币来说,抛开法律层面,最大的特点在于:

    货币量总量有限、账本分布式存储(去中心化)、交易匿名且很难被篡改。

    我们来看看,比特币电子现金系统是如何实现这些特点的,同时依次回答开始提出的4个问题:

    • 货币发行模块

      创建区块,本质上是在记账,记账者获得比特币奖励,才会愿意持续记录交易信息,从而保证着所有交易的正常进行。因此,将比特币的发行设定在记账环节,才能使整个系统的正常运转。

      货币发放总量为2100万枚,目的是防止通货膨胀。发行规则为,每10分钟所有人就可以一起回答一道计算题,谁先答对谁就获得创建区块的权利,创建成功后就能获得一定量的比特币奖励。一开始回答对一道题的奖励是50枚比特币,每计算21万道题,奖金就会减半,大约到2140年,就再无比特币奖金,至此比特币发放完毕,总共2100万枚。

      另外,除了创建新的区块可以获得比特币外,还可以从交易中提成,也就是我们熟悉的转账费,从而保证整个系统在比特币发放完毕后,依然可以正常运转。

    • 记账模块

      首先大家一起计算一道题,先完成的获得记账权,计算的过程是需要花费成本的,随着计算题难度加大,成本也会逐渐加大。这里所说的成本,比较直接的表现就是,挖比特币(争夺记账权、创建区块)会消耗很多电量,需要电费。

      获得记账权后,开始创建区块(记账),每个区块都要带上创建的时间,目的是为了证明某个时刻确实发生了一笔交易,以及为了防止双重支付(比如:同一个数字货币被拷贝使用多次),每个区块必须等待上一个区块创建完成,同时每个区块还必须带有前一个区块的产生时间(除了创世区块),于是形成了区块相连后的链条状,这就是区块链名称的由来。

      接下来,区块创建完成后,就通知所有人确认交易,大家共同校验交易的合法性。

      值得一提的是,通过这样的机制,建立起了一个程序化的信用系统。之所以这样认为,是因为在这样的系统中人们都是“诚实的”,不是因为品德高尚,而是因为修改一个区块,就必须将这个区块之后的区块都修改好,相当于要重新计算所有区块的计算题,其次还要比其他人算的快才能有权利修改,这样付出的成本太大了。

      另外,如果真有人这样干,大家就不会再信任这个系统,即使通过篡改获得了比特币,大家也不认可了,花了那么大力气换来一文不值的东西,一般来说只有傻子才会这么干,绝大部分人还是“诚实的利己主义者”。

    • 存储模块

      上文已提到,每一个区块创建完成后,就会向所有人广播,大家校验成功都信任这次交易后,每个人的账本(区块链)上就会新增这页记账信息,从而保证全网所有人都拥有相同的账本。

      这样的账本存储方式就是去中心化的,简单来说就是人手一本账本,防止任何人轻易篡改交易信息。

    • 交易模块

      比特币交易只需要将比特币从一个地址,转移到另外一个就可以了。每个人都有一个比特币地址,这个地址好比每个人的钱包。

      转账者发起转账时,必须对本次交易进行数字签名后,才会广播出去,答题获胜得到记账权的人,就会开始校验签名是否合法,由于每个人的签名是唯一的,因此就可以确认交易内容是否是签名者本人发起的,确认合法后,就会进一步通知所有人发生了这笔交易。

      这个过程不需要提供任何个人信息,只能看到比特币从一个地址到了另外一个地址,所以整个交易是匿名的,我们并不知道地址后面的人是谁。但这种匿名方式并不彻底,因为这只是给每个人取了一个外号,一旦知道这个外号(比特币地址)对应的真实姓名是谁,那就知道了这个人的所有交易。

    3.区块链的定义

    综上所述,我们来给区块链下一个定义,同时作为本章的小结:

    从狭义上讲,区块链是一种去中心化,匿名交易电子现金系统的底层技术,核心模块包括:货币发行模块、记账模块、存储模块、交易模块。

    从广义上讲,区块链是一种程序化的信用系统。

    【下章预告】区块链技术详解

    深入讲解区块链核心技术,满足技术控的好奇心

    相关文章

      网友评论

      本文标题:【区块链简史】第三章 比特币和区块链

      本文链接:https://www.haomeiwen.com/subject/rfgcwftx.html