前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >看完这篇,你也可以跟你的朋友解释区块链

看完这篇,你也可以跟你的朋友解释区块链

原创
作者头像
PlusFo超级链
修改2019-04-18 10:25:25
3590
修改2019-04-18 10:25:25
举报

相信大家在近一年一直会在新闻,电视里频繁地接触到“区块链”这个词。由于比特币(Bitcoin)以及其他各种货币(altcoin)在2017年11月至2018年1月期间纷纷创下价格历史最高值,区块链(blockchain) 的概念在整个网络的传播也达到白热化。然后有趣的是,即使区块链这个词语人人皆知,所谓的区块链解读文章比比皆是,大部分人对于区块链还是缺乏足够多的了解。甚至很多普及区块链的文章对于这个名词的解释都是一带而过,常常使用例如点对点传输,去中心化,分叉,算力等等让人摸不着头脑的专业名词。读完这些文章,你仍然没有办法真正理解什么是区块链,因为很可能这些文章作者本身也并不理解;所以,这篇文章会以一个简单的例子来介绍区块链的基本原理,相信看完后你也可以向你的朋友解释什么叫做区块链.

传统转账方式

首先我们要建立一个基本概念,区块链就是一个网络账本(register),可以用来方便高效地传输数据/转账。那么我们先来看看传统方案下转账的流程如何。一般大家生活中常用的转账方式有支付宝/微信/银行转账,这些方法背后的逻辑是一样,需要参与转账的双方A和B,以及一个独立的第三方作为信用背书,转账的过程相信大家也很熟悉,图例如下:

以支付宝转账为例,A和B共同信任支付宝,所以他们在支付宝里都有账户以及存款。当A和B达成了交易协定,A首先要向支付宝发出转账请求,支付宝公司确认A账户里有足够余额后就允许这笔转账达成,再向B发出转账成功的确认信息。在这个流程里面,A和B其实并没有直接进行转账,而是通过支付宝这个作为媒介,银行转账也是如此。

“去中心化”转账方式

那么区块链是如何实现“去中心化”的转账的呢?我们用一个简单的模型来阐述它的原理。

如图所示,假设一共有十三个人围坐在一圈使用区块链技术转账,并且按照座位次序1-13号标号,在交易开始前,给每个人发一张白纸一支笔作为记录的工具,下面交易正式开始。

首先,假设1号给3号转账100元,传统方法是由第三方认证并在交易达成后,1号和3号分别在自己的白纸上记录,比如1号会写:

1号 -100元

3号 +100元

而在区块链的系统里面,并没有独立第三方存在,因为这个系统里面的每一个成员都是第三方,这又是什么意思呢?原来,当1号向3号转账时,在这个系统里面的每一个人都会收到交易请求,所以每一个系统都会做出判断,1号是否有足够的余额支付3号100元。当转账成功后,每一个都会在自己的白纸上记录下:

1号 -100元

3号 +100元

在这样的情况下,在区块链系统内发生的每一笔交易都会被所有人记录下来,理论上来说,每一个人的白纸上的记录情况就是一模一样的,所以这就是所谓的去中心化(decentralized),点对点传输。

好了,我们让这些人的交易继续进行。过了一段时间以后,假设系统内一共进行了五十次交易,那么按照我们前面的理论,白纸上应该写了五十次的交易记录了,这个时候如果我们假设白纸被写满了,该怎么办呢?答案很简单,换张纸呗!那么这张被写满了的纸就叫做一个区块(block),而一张张被写满了的纸叠在一起就叫做区块链(blockchain)。

区块链的不可修改特性

区块链的原理其实并不难理解,那么它的安全性是如何保证的呢?

相信大家可以想象到,当桌上的人在白纸上做记录的时候,一定是按照时间顺序进行的,而一叠白纸放在一起的时候一定也是按照顺序排列的,所以我们可以假设每一张纸的名字分别为block1,block2,block3…… 所以,这些数字的名字,就是我们平常经常看到的所谓的区块高度(block height)。

那么假设在进行到第50张白纸(第50个区块)的时候,出了一个意外,我们的1号同学突然没钱了,可是1号又不是一个诚实守信的人,他想通过作弊的方法增加自己的财富。于是1号翻自己的交易记录,发现在第一张白纸上(block1),曾经有一笔转给了3号100元的记录,这时候,1号偷偷将自己的白纸的这笔记录抹去,变成了:

1号 0

3号 0

那么,1号本来应该支付给3号的这100元,在1号自己的账本上就被篡改了,所以此时1号的余额就凭空多了100块钱出来,这显然是不符合公平原则的。那么,在区块链的世界里发生了这个问题该怎么办呢?其实,区块链系统里有一个共识:个人的账本上的信息必须和大部分人(超过50%)的账本信息一致,否则就会因为错误而无法继续待在这个系统里和别人进行交易。所以,当1号篡改了自己的账本以后,1号的账本就和剩下的12个人信息不一致,那么,1号修改的这笔交易记录就无法被认可,所以区块链用这种多数人法则保证了一个公平交易的环境。

区块链的分叉

但是,这是不是意味着1号完全没有办法做坏事了呢?其实也不是,只不过成本很高。如前文所述,区块链讲求的是多数原则,所以,1号所要做的事情就是让大多数人都修改他们的账本就可以了,当13个人里面,有6个人支持1号,那么1号所在的阵营就有了7个人,超过了一半,这个区块链就被成功修改成1号所期望的样子了,但是做到这点的成本很高,因为在区块链世界里面,这意味着1号拥有了超过50%的算力,也就是51%攻击的原理。

接着上面的例子。我们现在假设1号真的劝动了另外6个人和他一起修改了账本,那么这时候最大的输家事实上就是3号,因为3号莫名其妙就亏损了100元。这要怎么办呢?毕竟3号是公平正义的一方,而且3号阵营里面也有5个支持者(一共6人)。这时候3号阵营有两个选择,一是认栽,然后修改自己的账本,继续待在这个区块链里面和大家交易(这个方案显然是不大可能的);二就是自立门户,和另外5个公平正义的小伙伴保持账本内容一致,然后3号也只在这个6个人的“公平正义小组”内部进行转账交易。这其实就是区块链分叉(fork)的意思,因为是在第50个区块(block)产生纠纷,所以可以描述成在区块高度50完成了分叉,13个人分为两个阵营,从此各自不再往来。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 传统转账方式
    • “去中心化”转账方式
    • 区块链的不可修改特性
    • 区块链的分叉
    相关产品与服务
    区块链
    云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档