区块链学习心得:零编程基础了解共识算法概念

元宇宙的遨游/2021-11-25/ 分类:热点新闻/阅读:
学完了区块链的基础知识,一直在纠结应该从哪个角度去写心得体会。从技术上,描写区块链(主要是从比特币切入)技术框架和实现原理的书籍和文章都非常多。即使用自己的理解来写,也写不出什么新意来,有编程基础的同学,一看就懂。 ...

学完了区块链的基础知识,一直在纠结应该从哪个角度去写心得体会。从技术上,描写区块链(主要是从比特币切入)技术框架和实现原理的书籍和文章都非常多。即使用自己的理解来写,也写不出什么新意来,有编程基础的同学,一看就懂。

 

 

既然如此,我想尝试一下,写一篇文章来解释区块链中一些重要的概念,并且完全不涉及任何编程知识。看看能否让零编程基础的同学,理解区块链的生成原理,和区块链为什么具有去中心化、安全不可篡改的特征。以及世界上第一个区块链应用,比特币,为什么在运作的时候如此耗计算机资源。

 

 

这一切,都来自于去中心化货币的一个核心概念:共识算法。这篇文章尝试不用任何编程知识来解释一下,什么是共识算法,为什么需要共识算法,和如何实现共识算法的原理。

 

 

一、分布式账本

 

 

还是需要从账本开始讲起。假设有一座城市,这座城市里面的人,所有交易都使用记账的方式进行。张三为李四理发,收到50块钱;然后张三去市场买肉,给王五30块钱。张三账面上还剩下20块钱。张三在收入更多的钱之前,不能支付超过20块。能够保证这一点的,是整个城市唯一的一份账本。张三当前还有多少钱,他还能花多少钱,需要从账本的一开始从头逐个账单追溯。

 

 

由于城市里面所有人的账面上还有多少钱,都需要通过账本来从头追溯。所以整个城市只能有一个账本,这个账本必须记录城市里面所有人的每一笔交易,这样才能计算出每个时期,每个人账面上还有多少钱。以前的做法是,选定一个记账人,由他负责记录每一笔交易流水账。

 

 

这样做存在一个问题,账本只有一个,记账人如果造假怎么办?记账人可以故意漏记一些账单,甚至伪造一些账单。例如张三支付给王五的30块钱,不记入账本,这样张三就可以反复的使用账面上的50块钱。或者伪造一份赵六支付给张三的100块钱账单,然后张三就可以在没有收入的情况下,额外支付100块钱。由于账本只有一个,所以出现这些操作的时候,根本无从查证。所有人必须相信,记账人是诚实可信的。

 

 

将可信度建立在一个人身上终究是不牢固的,因此后来采取了另一种方式。只要是通过了记账资格认证的人,就可以成为记账人。每个记账人都持有一本账本,这样城市里面就有了很多个账本。记账人变得很难作假,因为他造假,就和其他的账本不一致了。

 

 

然而这产生了新的问题,这么多账本,记录着整个城市的每一笔账单。如何保证所有的账本都是一致的呢?这就涉及到共识算法了。

 

二、账本的统一性,解决方案:共识算法

 

 

为了保持很多个账本的统一,以前通常采取的做法是,分区域记账,定时汇总。例如记账人A负责甲局域,记账人B负责乙区域,每个人只负责记录自己区域里面的账单,每隔一个小时,将所有账本汇总成一份。但这里存在漏洞,如果张三在甲区域消费之后,马上跑到乙局域去消费。由于账本还没有汇总,张三可以利用这个时间差,将账面上的余额重复消费。

 

 

账本是需要实时的,任何时刻都不能有差异,所以,很多个账本的统一方式,只能是每次记账时,用某个方法定义唯一的记账人。这个记账人记录一批账单后,其他记账人必须将这批账单抄录在自己的账本上,这样才能形成任何时刻统一的账本。而指定唯一记账人的方式,就是共识算法。共识算法描述了规则,所有记账人如何认定其中之一,作为这一次大家都认可的记账人。

 

 

如果存在一个财务中心,解决方案就很简单,每次由财务中心指定一个记账人负责记账,其他人抄写。但财务中心自身又会存在信任的问题。城市里面每个记账人都是独立的,也是平等的,不存在一个中心去监管他们。同时每个记账人也有作息时间,每个时刻同时在工作的记账人是不确定的,所以无法对他们进行编号,按照号码次序去轮流记账。

 

 

所以,每当一批账单产生,等待被记录的时候,需要有一个竞争的机制。这个时刻在工作的所有记账人,通过某种形式的竞赛,竞争成功的那一个,负责记账,其余则只能抄录。同时,基于公平的原则,这种竞争方式不能和记账人自身的某种素质有关。例如,不能竞争举重,这样最强壮的记账人总是负责记账;不能竞争跑步,这样跑得最快的记账人总是负责记账。任何有倾向性的竞争方式,总是会导致记账权力的集中,从而引发信任的问题。

 

 

于是,可以选择的就只有:运气。

 

 

来源:元宇宙的遨游
阅读:

热门文章

HOT NEWS
  • 周榜
  • 月榜
长按图片转发给朋友
j9在线财经_区块链_比特币BTC_IPFS矿机挖矿_交易所平台
  • 商务合作微信:juu3644
  • j9在线粉丝群微信:qia3867
  • 新闻爆料微信:zefmk896
  • 微信二维码
    Copyright 2018-2021       版权所有       粤ICP备20059285号
    二维码
    意见反馈 二维码