一句话解释区块链(这将是未来世界的底层技术?用最简单的语言告诉你区块链是什么)

  一句话解释区块链(这将是未来世界的底层技术?用最简单的语言告诉你区块链是什么)

大家好,今天这节课呢,是我们学习区块链的第一课,我们先来了解一下区块链的起源,不宜讲得太深入,涉及到具体的底层技术和算法细节的内容我们在后期的课程中会给大家细讲,今天咱们由浅入深,先来讲讲区块链到底是怎么一回事。

  


  

1、区块链是什么

区块链是一种计算机技术的新型应用模式,融合了“分布式数据存储、点对点传输、共识机制、加密算法”等技术……看起来很拗口是不是?简单来讲,区块链其实就是一个“分布式账本”,下面,我们用最通俗的一个例子来解释这个“分布式账本”到底是怎么运作的。

  

2、去中心化

想要知道区块链怎么运作,首先要了解“去中心化”这一概念。我们先来考虑一个中心化集中式处理的过程。比如你要在某宝上买一部手机,交易流程是:你将钱打给支付宝-支付宝收款后通知卖家发货-卖家发货-你确认收货-支付宝把钱打给卖家。

  

我们看到,中心化集中式交易模式在这个过程中,虽然你是在和卖家交易,但是这笔交易还牵扯到了除了你和卖家的第三方,即支付宝,你和卖家的交易都是围绕支付宝展开。因此,如果支付宝系统出了问题便会造成这笔交易的失败。并且虽然你只是简单的买了一个手机,但是你和卖家都要向第三方提供多余的信息。因此考虑极端情况,如果支付宝跑路了或者是拿了钱不却不承认你的交易(当然支付宝不会这么做,我们打个比方啊),那么你就悲剧了。就交易过程本身而言,去中心化的处理方式就要显得简单很多,你只需要和卖家交换钱和手机,然后双方都声称完成了这笔交易,就可以了。可以看出在某些特定情况下,去中心化的处理方式会更便捷,同时也无须担心自己的与交易无关的信息泄漏。其实如果只考虑两个人的交易并不能把去中心化的好处完全展示出来,设想如果有成千上万笔交易在进行,去中心化的处理方式会节约很多资源,使得整个交易自主化、简单化,并且排除了被中心化代理控制的风险。

  

去中心化是区块链技术的颠覆性特点,它无需中心化代理,实现了一种点对点的直接交互,使得高效率、大规模、无中心化代理的信息交互方式成为了现实。

  

当然,上述的例子有一个很大的潜在问题:没有了权威的中心化代理,怎样保证每笔交易的准确性和有效性呢?比如:如果没有了权威的中心化代理,张三某一天借了我100块钱,但是不还钱还不承认怎么办?这里就引出了区块链的其它特性。

  


  

3、两个基础难题-解决共识机制

整个系统中没有了权威的中心化代理,信息的可信度和准确性便会面临问题,可信度和准确性这两点成为了去中心化的两个基础难题,想要保证它们有效,就要解决这两个基础难题,我们来一个一个地看:

  

问题1:类两军问题

  

说的是有两个相距很远的军队要传递信息,红军派遣一个信使去跟蓝军说:“把意大利炮拿出来!”。蓝军收到信息后又派了一个信使去红军说:“收到指令!”。然后红军又派一个信使去蓝军说:“知道你收到指令了!”。然后蓝军又派一个信使去红军说:“知道你知道我收到指令了!”。然后红军又派一个信使去蓝军说:“知道你知道我知道你收到指令了!”……然后就没完没了了。

  

我们用专业的语言解释,就是在分布式计算中在异步系统和不可靠的通道上达到一致性是不可能。的在这种情况下,因为是点对点的通信,双方不可能在这种情况下达到信息的一致性。严谨一点,就是“在分布式计算上,试图在异步系统和不可靠的通道上达到一致性是不可能的”。

  

问题2:拜占庭将军问题

  

拜占庭罗马帝国在军事行动中,采取将军投票的策略来决定是进攻还是撤退,也就是说如果多数人决定进攻,就上去干。但是军队中如果有奸细(比如将军已经反水故意乱投票,或者传令官叛变擅自修改军令),那怎么保证最后投票的结果真正反映了忠诚的将军的意愿呢?

  

用专业的语言解释,可以理解为在一个去中心的系统中,有一些节点是坏掉的,它们可能向外界广播错误的信息或者不广播信息,在这种情况下如何验证数据传输的准确性。

  


  


  

4、区块链技术的诞生

现在让我们来一步一步在去中心化的系统中解决这些问题,见证区块链技术雏形的诞生。

  

我们先来建立一个去中心化的系统,为了方便理解,我们来看一个简单的去中心化借贷模型:如果A借了B 100块钱,这个时候,A在人群中大喊“我是A,我借给了B 100块钱!”,B也在人群中大喊“我是B,A借给了我100块钱!”,此时路人甲乙丙丁都听到了这些消息,因此所有人都在心中默默记下了“A借给了B 100块钱”。

  

你看,比特币走势这个时候一个去中心化的系统就建立起来了,这个系统中不需要银行,也不需要借贷协议和收据,严格来说,甚至不需要人与人长久的信任关系。比如B突然又改口说“我不欠A钱!”,这个时候人民群众就会站出来说“不对,我的小本本上记录了你某天借了A 100块钱!”。

  

  

可能你已经发现了,在上述的模型中,所谓的“100块钱”已经不重要了。换句话说,任何东西都可以在这个模型中交换,甚至你可以凭空杜撰一个东西,只要大家承认,你就可以让你杜撰的东西流通。

  

比如,我可以声称我给了某人1只独角兽,只要路人甲乙丙丁都收到并且承认了这一信息,那我就算完成了这次交易,哪怕世界上从来没有真的独角兽。你现在脑海中是不是浮现出了三个字——“比特币”?

  

由于真正的区块链和比特币比我上述的模型复杂太多,细节也丰富太多,因此以下还是以独角兽举例。

  

假设过了很长一段时间,我创造的独角兽已经在这个系统中流通了起来,大家都开始认可了独角兽。但是这个系统中一共就只有10只独角兽,于是有人动了坏心思,他在人群中高呼“我有10只独角兽!”怎么办?这样不是人人都可以伪造我了么?

  

为了防止这种现象发生,我决定在我创造独角兽的时候给我喊的那句“我创造了10个独角兽”打上标记,标记为001,这样以后在每一笔交易的时候,我在高喊“我给了某某1只独角兽!”的时候,会附加上额外的一句话:“这1只独角兽的来源是记为001的那条记录,我的这句话标记为002!”。

  

我们再抽象一点,某人喊话的内容的格式就变成了:“这句话编号xxx,上一句话的编号是yyy,我给了某某1只独角兽!”,到此,我们就在基本逻辑上解决了伪造的问题。其实上述模型就变成一个简化的中本聪第一版比特币区块链协议。

  

“凭啥?”你可能会问:“凭啥你喊一句话我就帮你记?我的小本本不要钱么?”。为了激励大家帮我传话和记账,我决定给第一个听到我喊话并且记录在小本本上的人一些奖励:第一个听到我喊话并记录下来的人,你就凭空得到了一只独角兽,这是整个系统对你辛苦记账的报酬,而你记录了这句话之后,要马上告诉其它人你已经记录好了,让别人放弃继续记录这句话,并给你自己的记录编号让别人有据可查,然后你再把我的话加上你的记录编号一起喊出来,供下一个人记账。

  

当这个规则定下以后,这个系统中一定会出现一批人,他们开始竖着耳朵监听周围发出的声音,以抢占第一个记账的权利。对的,你脑海中是不是又浮现出了“比特币挖矿”的字眼?

  

在这个系统中,如果我和另一个人C几乎同时地喊出一句,由于听众所处的位置不同,一定会有人先听到我说的那句话,而另外一些人则先听到C的那句话,如果我们规定只能有一个人说出这句话,那到底这句话是谁说的?如果不加任何条件,那么上述的情况一定会这样发展:一部分人认为这句话是我说的,在听到这句话之后开始记账,之后他们所做的所有事情都是基于这个事实,并且随着这个信息一次次的传下去,这条信息链会越来越深;而另外一群认为是C先说这句话的人,也会按照这样的趋势发展。这样,原本是一条唯一的信息链,在我们喊出这句话之后,分叉了!?

  

“区块链”分叉这会导致怎样的情况呢?

  

按照我们的设想,应该每个人的小本本上记录的东西都是一样的,都是一条可以把所有信息串联起来的链条。但是在这一刻,他们小本本上记录的东西不一样了!以后还怎么确定交易和信息的真实性!?

  

为了解决这个问题,我又追加了新的规则:每个人在记录小本本的时候,需要脱鞋然后用脚拿笔,在小本本上用正楷体书写!有了这个规定,由于用脚写字难度很大,每个人至少需要10分钟才能写完,而且由于每个人用脚写字的熟练度不同,写完这句话所用的时间也不同,因此一定会有人先写完然后高呼“我写完了!那句话是C喊的!”,这样其它正在写这句话的人便会停笔,然后在小本本上重新开始写“那句话是C写的,上一句的编号是xxx”。

  

如果你对上述我的解决方法感兴趣,你可以对照我上面的比喻去了解以下知识:

  

“听谁的”——中本聪破解“拜占庭将军问题”的算法

  

“在小本本上记录”——比特币挖矿

  

“脱鞋用脚写字”——比特币挖矿难度

  

“脱鞋写字速度”——算力

  

“新的规则”——工作量证明链 “双花”问题

  
","content_hash"!"ea43585d

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论