白话区块链 | 长文详解区块链到底是什么?

广告 X

很多朋友都会问我一个相同的问题”区块链是什么?”.相信很多人也有同样的疑问。所以我想用这篇文章来最简洁直白的介绍区块链

区块链是什么?—由区块链的名字说起

很多人听到区块链这个词的时候,心里就是一阵黑人问号。其实区块链这个名词特别的直白。就是将数据存储在一个一个区块中,并由链条形式连接。

白话区块链 | 长文详解区块链到底是什么?

上图为区块链简易模型

好了,现在你的脑海里已经有了一个简单模型,接下来我们进一步探索…

区块链的作用?——解决信任问题

为什么我们需要区块链这么复杂的东西?说白了就是区块链运用各种技术等来解决人与人的信任问题。

// 定义 区块链是一个点对点传输去中心化的分布式数据库(下文中也会称为分布式账本),其中运用了加密技术、共识机制等模式来解决信任这一问题注:账本可以认为是一种数据库

那么为什么解决信任问题就赋予区块链如此大的价值,以及它是如何解决信任问题的?我们以一个常见的借钱案例来说明

从小明借给小白3000元说起…

一天,小明在微信上借给小白3000元

白话区块链 | 长文详解区块链到底是什么?

过了很久很久…小明还是没有收到小白的还款。因为懒得纠缠,小明也只得作罢。明明好心帮人,最后却只好当3000元买个教训。更严重的是,小明从此不愿借钱给其它朋友。很多信用很好的朋友也无法借到钱了

这种不信任感扩散开来,如同不敢扶起老爷爷老奶奶一样,大家不敢借钱给他人,那急用钱又信用好的人得不到帮助,自己也会失去通过借钱获得利息的机会

刚刚这个故事只是在说信任的重要性,那么,该如何解决这个问题呢?也许有人会说,很简单,通过银行或者P2P平台这种第三方进行借贷就行了。这也是常见的中心化模型但要是第三方的数据库被黑客攻击,或者恶意去修改借款记录呢,甚至第三方跑路了呢…把财富掌握在自己的手中总是比掌握在第三方手中好得多

去中心化

于是,为了大家可以放心的进行借贷交易,就有人提议,我们建立一个组织。每个人都有一个小账本,只要A与B发生了借贷关系,就由受大家信任的成员将这条交易记录广播给所有成员,所有成员再记录到小账本上。这样,所有成员账本中的所有交易明细都是一模一样,若B不承认借过A钱,在这个组织中失去信任,很多人都再也不会跟B有任何往来…

白话区块链 | 长文详解区块链到底是什么?

上图为去中心化的组织模型

组织成员都拥有一个账本记录所有交易记录这就形成了一个去中心化的模型(即去掉某一中间商来进行交易),也是区块链的一个基本特性。即区块链中所有交易数据由每个节点都记录在自己的小账本上(注:账本是数据库的一种形式),这样就不需要任何中间机构就可以达成该系统下成员之间的信任问题。

区块链与账本

聪明的你应该已经发现,一开始介绍的区块链模型其实就是一种形式的账本。如同公司账本,每个月由会计将当月交易汇总为账本,一段时间后,就按照时间形成了连续账薄。区块就相当于记录当月交易的账本,区块与区块之间通过链条连接就相当于账本以每月时间串联起来

白话区块链 | 长文详解区块链到底是什么?

上图区块链模型其实就可以理解为账本

我们把之前的去中心化概念与区块链模型联系起来,就可以明白区块链是一个去中心化的分布式账本,而这个小组织中的所有成员即为节点。而构建区块链的目的就是解决去中心化组织的信任问题

现在,通过去中心化的方式解决了这个组织成员间的借贷信任问题,且发生借贷关系时,并不需要经过某一个中心化组织或成员。那如同现实中大多数区块链应用一般,我们将这个组织中交易的人民币变成虚拟币

从货币说起,数字黄金——比特币

说到区块链,大家很容易就想到比特币,首先,需要知道的是区块链并不等于比特币,而比特币是区块链的应用。大家都知道,货币只是一种某群人一致认可象征财富的一种媒介。可以是黄金、可以是人民币、甚至可以是Q币。

那么,如同某个国家创建自己的货币,现在我们这个去中心组织创建一种货币,叫”喵喵币”。大家都使用”喵喵币”进行各种交易,包括借贷。并且作为一个去中心化组织的我们,喵喵币在一开始经过所有成员确认,确定好发行总数,这样不存在某个中心为自己的利益随意发行货币。并且喵喵币以一种所有成员都同意的方式可以去获得(如黄金挖掘者就获得所有权)。

白话区块链 | 长文详解区块链到底是什么?

这样的描绘喵喵币是不是更像黄金。恒定的数量,”挖”到就归自己所有,可以随意的用来购买、借贷等,而不需要任何第三方控制。没错,例子中的喵喵币就是比特币,也因此它被称为数字黄金。

不同于Q币和任何国家发行的货币等由中心化控制的货币。它是完全去中心化,不用第三方控制的,而在某个区块链系统中流通。并且它的发行也不是依靠任何第三方。有别于传统货币,确定发行数量这一做法阻止了通货膨胀导致私人财富缩水。这便是它的魅力之一。

现在我们这个去中心+使用喵喵喵币+区块链记账的组织就成为下图这样

白话区块链 | 长文详解区块链到底是什么?

去中心化就是区块链的基本特征,也是基于此来解决信任问题。

区块+链条的形式是区块链独有一种特殊的账形式,而区块链本身也就是一种去中心化的分布式账本

比特币则是依靠区块链技术而形成的被一部分人认可的一种数字货币

挖矿、POW共识机制

你应该已经发现了这个系统还有很多问题,如:

Q1:选谁出来广播?要是同时有很多人来广播,听谁的?

Q2:要是有广播的人为了自己的利益,故意广播虚假信息怎么办?

Q3:别人为什么愿意帮你记账?毕竟是件费时费力的事

Q4:谁来验证这些广播出来的交易是正确的呢?

Q5:有些人可能不小心或故意记错账,不同人账本不一样怎么办?

Q6:如何获得喵喵币呢?

为了解决这些问题,我们天才的小聪给这个组织制定了工作流程:

第一步.所有成员对产生的交易信息进行基本验证,通过验证的交易信息都放到一个小盒子里(解决Q4)

第二步.每隔10分钟将凭空生成一张纸条,再随机挑选一位成员将小盒子里的交易信息记录在这个纸条上,并广播给其它成员。同时这个纸条中有10喵喵币,被选出来的人便可以获得10喵喵币作为他工作的奖励(解决Q1、Q2、Q3、Q6)

第三步.每位成员都会将被选出来的人所广播的交易信息进行验证,验证通过后便记录到自己的小本本上(解决Q4)

第四步:当大多数成员都记录了这些交易信息,该交易信息就会记录在公共账本中。然后,个人小本本上的所有交易信息再与公共账本上同步。(解决Q5)

上述所说的也是区块链的工作流程。

将”成员”替换成”节点”

“小纸条”替换成”区块”

“公共账本”替换成”区块链”

白话区块链 | 长文详解区块链到底是什么?

上图为区块链工作简易流程

我们可以发现,第二步最为关键,并且解决了大部分问题。现在我们来看看是如何解决这么多问题:

Q1:选谁广播?听谁的?

每隔十分钟,按照某种大家认可的方式,比如:扔骰子。随机选出一个人来进行广播。这10分钟内,只听这个人广播的数据,也就是意味着这个人拥有了记账权。随机挑选的方式保证了这个系统足够的去中心化

Q2:广播虚假信息怎么办?

1.每个节点在接收到广播后,都会进行验证。这在很大程度上防范了广播虚假信息

2.广播交易记录被节点认可后,可获得喵喵币。而喵喵币的价值是与这个组织的价值所绑定的。这也意味着广播的人与这个组织成为了利益共同体。作恶的成本往往大于收益,使广播者放弃作恶

3.获得广播权通常要花费巨大成本,广播虚假信息验证不通过会使得他们造成巨大损失

Q3:为什么大家会愿意记账?

在这个系统中,参与记账并成为被选中的人便可以获得喵喵币。有收益的事情大家都会愿意去做

Q6.如何获得喵喵币?

1.成为广播的人,并广播交易信息被大部分人认可后自动获得喵喵币

2.打包每笔喵喵币交易可获得该笔交易的手续费所有人都听广播者广播的交易数据,并且广播者可获得币,那么如何选出这个广播的人是非常重要的一步。人人都想成为广播的人。那么以怎样的规则来挑选这个人更优呢?

在比特币网络中的规则:所有节点需要做一道数学难题。这道数学难题只能通过不断的找寻随机数来作为参数,直到该参数就是正确答案。最后成功找出这个参数的人便拥有了广播的权利。

使用这种方法来挑选人有以下几种优点:

1.去中心化。所有人都可以参与,只要谁最快解出难题,谁就拥有记账权

2.安全性高。付出的努力越多,获得记账权的几率越大,这样也就大大的增加了作恶者纂改数据的成本。从而保证这个系统足够安全,值得所有人信任。

我们使用一个更形象的例子来说明这一挑选过程

我们可以想像在一块土地上,每隔十分钟突然产生一个小宝箱,这个小宝箱没人知道在什么地方,并且谁也不知道其他人挖过什么地方。只有通过自己不断的挖掘,第一个挖到宝箱的人就成为被选出来的人。有可能有人运气好,刚好选中地方就挖到小宝箱了。但大多数情况下,更努力挖掘更有可能获得记账权。即谁付出了更多努力,更有机会获得记账权。于是挑选谁广播这一过程形象地被称为工作量证明共识机制(POW共识机制)。

所谓共识,就是去中心化的大家对某种事物的理解达成一致节点通过竞争获得记账广播的权利及获取货币奖励这一过程被称为”挖矿”。挖矿同时也带有发行新货币的功能。

好了,现在已经解决了由谁来广播,以及所广播和记录的交易信息都为诚实的交易信息。那么,我们需要解决的是已经记录在区块链上的数据不可篡改。

分叉

当然了,还有一种情况。当A、B两个节点同时解答出这个难题,宣称自己拥有记账权。并且,这两个节点打包的数据都是诚实的数据。这个时候,有一部分节点认可A所打包的区块。一部分节点认可B打包的区块,于是不可避免的,区块分叉了。

白话区块链 | 长文详解区块链到底是什么?

上图为区块分叉模型图

接下来所有节点会继续争夺记账权。这里有一条规则是,解答数学难题时,是必须要先确定认同A打包的区块还是B打包的。若一节点C在认可A后,成功获取记账权,那C打包新区块只能连接在A打包的区块后面

白话区块链 | 长文详解区块链到底是什么?

上图为新区快产生

而这个时候,所有节点又会去认可最长的那条链为主链。所以”A-C”的链条就变成了唯一的主链。

白话区块链 | 长文详解区块链到底是什么?

上图为主链确认

就是这样,分叉问题总是能在下一个区块出现时就能够解决。当然,有可能后一个区块又发生分叉现象。但双分叉这种现象出现的概率已经是非常之低

不可篡改、时间戳

我们一开始就表明,区块链其实就是一种链条式的数据库。而这种链条形式也是区块链保证不可篡改的关键。在链条结构中,包含的两个关键字节也是区块链不可篡改的关键

1.时间戳

我们已经知道了每一个区块相当于一页账本,那么如何将页与页的账本连续的衔接起来呢?当然就是用时间。就相当于每页账本都写上每天的时间,形成一个完整的账本。每个区块链的区块头都包含时间戳,并且各个区块由时间戳链连接起来如下图。

白话区块链 | 长文详解区块链到底是什么?

上图为区块链结构示意图

区块链中所有数据是公开的,且所有虚拟货币都是有来源的。假如你想在此时通过篡改数据获得1000喵喵币,就必须把之前所有的交易记录都篡改,来达成获得喵喵币,而不是凭空生成喵喵币。

2.区块头中的hash.

从图中可以看到每一个区块都通过前一个区块的hash值来指向前一个区块,以此形成环环相扣。简单理解hash就相当于每一个区块独一无二的身份证号,并且这个身份证号是由区块中的数据得出。这就相当只要某一个区块中任一一个数据发生改变,当前区块的hash值就会发生相应的变化。链条也会相应的断裂。

白话区块链 | 长文详解区块链到底是什么?
白话区块链 | 长文详解区块链到底是什么?

上图为区块hash值变化,导致区块链断裂

并且就像多米诺骨牌一样,有一个区块发生改变,后面的区块头需要发生改变,再导致后一个区块发生改变。因此若想修改区块链上的数据,就必须从头构建一个长度比之前还要长的链条。

同时,根据之前的知识点,因为每个节点都拥有区块链所有数据,黑客们需要篡改至少50%节点的交易数据,才会被区块链中所有节点认可这几个条件加起来的成本之高往往大于篡改区块可获得的收益,从而使区块链变成一个诚实、不可篡改的系统。

匿名性、不可篡改-私钥、公钥、地址

现在,这个区块链模型已经保障了交易数据写入区块链之后,是不可篡改的。但这个系统仍有一些问题。既然区块链中的所有信息都是公开的,那个人隐私怎么办?

在区块链中,是不需要真实姓名的,所有交易数据都是账号与账号之间交易,这个账号可以类比与银行卡账号。如:398893转出2000喵喵币给39839,这样就保证了匿名性“账号”即在区块链中被称为地址。

白话区块链 | 长文详解区块链到底是什么?

在现实的区块链网络中,我们要了解两个知识点

1.有了账号,当然就需要密码来证明账号的所有权。

2.这个密码不仅仅用来证明账号的所有权,还需要保障交易记录确实是由发起交易的人创造,并且并没有被篡改。

于是,区块链网络中使用公钥、私钥和地址

1.私钥就相当于你的密码,得到了私钥就相当于得到了这个账号。

2.公钥则是私钥通过算法生成,它是公开的。可以通过私钥生成公钥,但无法反向通过公钥破解私钥。这也很形象的被称为非对称加密。

3.由于公钥太长,通常在交易过程中不使用,而使用的是由公钥转换而成的更易辨认的地址。

三方关系如下图

白话区块链 | 长文详解区块链到底是什么?

接下来就会产生疑问,那存在公钥的意义是什么?

这就是我们之前提到的知识点了。私钥与公钥用来保障交易记录确实是由发起交易的人创造,并且并没有被篡改。我们来看看公钥与私钥的组合如何让交易记录变得有保障。

以李雷给韩梅梅写信为例首先,李雷给韩梅梅写了一封信,将这封信通过hash运算转换成一个摘要。这个摘要就是等价于信的内容

白话区块链 | 长文详解区块链到底是什么?

然后,将摘要通过自己的私钥加密生成一个特殊标识。值得注意的是,这个特殊标识是根据信的内容和私钥一起加密而成,任何变动签名也会相应发生改变。通俗的理解就是在这封信上按了一个指纹,这个指纹所有人独一无二的,并且信的内容只要一发生改变,指纹也会变得不一样

白话区块链 | 长文详解区块链到底是什么?

再将带有特殊标识的信和公钥一起发送给韩梅梅

白话区块链 | 长文详解区块链到底是什么?

韩梅梅收到信件、标志及公钥后,将信件内容通过hash运算获得摘要1。再用公钥解密标识获得摘要2.再将摘要1和摘要2进行对比,摘要1与摘要2一致,便可确认这封信是由李雷发出的并且没有被人篡改

白话区块链 | 长文详解区块链到底是什么?

现在,我们已经知道区块链是一种去中心化的分布式数据库。该数据库是由一连串数据区块以链条方式连接而成。且公、私钥的运用使区块链匿名化。同时,各种技术的运用使区块链足够安全、不可篡改、透明性。使区块链解决信任问题。

至此,区块链的基础知识我们大致讲解完。很抱歉的是,由于篇幅问题,还有很多内容是没有提到。但我希望这篇文章能让你对区块链有了一个宏观的认识。有想了解更多的区块链某块知识的,欢迎留言,大概率会再出一些文章来弥补遗憾参考

《区块链 从数字货币到信用社会》《精通比特币》《白话区块链》北大肖臻老师《区块链技术与应用》公开课https://www.bilibili.com/video/av37065233?from=search&seid=9367865142703298217

欢迎关注个人公众号:pmliliu 只分享干货,主要关于产品经理和区块链话题。

© 版权声明
法律援</div>        </div>
    </div>
        <div class=

相关文章