简单的理解区块链——基础篇(下)

如何简单的理解区块链技术?

这个不仅是读者你想要搞懂的,而且是我本人也很想知道,要如何向普通人解释什么叫区块链?

开始介绍之前,我觉得我有必要区分一下读这篇博文的学习群体。以我个人经验来看,我们每个人想要获取区块链的知识可能并不在同一水平线上,我大致将大部分人分成两类(不知道你是不是属于其中一种):

  • (1)普罗大众:这部分人可能对区块链技术很难理解,甚至根本之前从未了解过区块链,但是听说区块链很火,所以也想跟上热潮,想了解一下到底区块链是什么?能不能用小学语文知识也能读懂?(这篇博文就是让你用小学语文知识就能读懂)
  • (2)懵懂学者:这部分人可能看过区块链相关是书籍、论文或是帖子,但是对一些基本的概念很凌乱,或是对相关的技术不是很懂,整个的知识体系梳理还不够透彻。

如果您符合上面的某些特征,可以继续往下读了。倘若您非常懂,也理解透彻,想必也不会继续阅读下去,麻烦点个赞退出就行。(滑稽.jpg)

下面,我将分为两个大章节供以上两类人来阅读,分别为“简单理解区块链——概念篇”和“简单的理解区块链——基础篇”

一、简单的理解区块链——概念篇

点击阅读

如若没读过上一篇概念篇的读者,建议点击上面进行阅读,上一篇比较偏概念。如果看完了上篇再继续读基础篇,可能对区块链的理解更深,更透彻。(俗话说,吃肉再加点辣椒才好吃。)

二、简单的理解区块链——基础篇

2.1 区块链的起源

2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的学者(也可称为密码学家、经济学家)发表了一篇名为《Bitcoin:A Peer-to-Peer Electronic Cash System》的论文,这也就标志着比特币(Bitcoin)的诞生。点击查看原文
在这里插入图片描述
2009年1月4日,第一个序号为0的创世区块诞生,1月9日出现序号为1的区块,标志着区块链(chain of blcoks)的诞生。(注:当时还没有称为blockchain,之后才演变成blockchain)。点击查看创世区块
在这里插入图片描述
2014年,以太坊(Ethereum)区块链平台,一个开源的具有智能合约功能的公有区块链平台出现了,才使得区块链技术迅速的发展,进入了区块链2.0时代。点击以太坊官网
在这里插入图片描述

2.2 区块链的主要特性

区块链是一种将交易数据经过加密签名后整理成数据区块,以链条的方式按照时间顺序进行连接起来的数据结构,它具有去中心化、不可篡改、可追溯性等主要特性。

  • 1)去中心化:顾名思义,就是指没有第三方(或中心机构)参与下的交互网络。我们举个传统有中心节点参与下的例子,在某宝购物,并不是直接转账给卖家,卖家也不是直接发货给买家,他们之间都互不信任,只能依靠可信的第三方(支付X)来充当可信方。先从买家转账给支付X暂存,卖家收到钱到支付X后,再发货给买家,等交易确认后,支付X再将钱转入卖家。此时,支付X中就会产生一笔转账记录。
    在这里插入图片描述

但是,当这笔记录被黑客攻击或者第三方恶意修改数据,导致记录丢失或被篡改了(虽然以目前的能力来看,丢失的可能性很小,但是不代表不会发生)。那么谁也说不清到底有没有进行交易,就会产生经济纠纷。
在这里插入图片描述
而区块链是去掉这个中心机构,由网络中所有节点共同记账,且每个节点都保存副本。即使某个节点被攻击了,只要大多数节点是正常的,就不会影响结果,这就是去中心化。在这里插入图片描述

  • 2)不可篡改:因为区块链中运用了一种Hash函数算法,任意长度的输入,固定长度的输出。假如一个hello五个字母输入到hash256函数中,就会产生一个256字节的字符串。而我们篡改一下输入,在hello加个点再输入的话,结果就会完全不同。即使你知道两个结果,你也反推不出它们的输入有什么关联。
    在这里插入图片描述
    而区块链当中就是将交易信息进行hash运算,再将结果两两hash,一直到最后生成默克尔根(Merkle Root)存储在区块头中。数据区块由区块头和区块体构成,区块头中包含了前一区块的hash值、当前时间戳、Merkle Root、随机数和目标hash值,而区块体中包含了所有的交易,以及交易产生的hash值。
    在这里插入图片描述
  • 3)可追溯性:第三个特点就是可追溯性,区块链是由一个个区块连接起来的,当前区块会保存前一个区块的hash值,一个接一个的区块,就形成了区块链。它最早的应用就是比特币,它的底层技术就是用到了区块链。
    在这里插入图片描述
    我们可以访问区块链demo网站进行演示。如下图所示,假设刚开始创建了三个区块,然后数据内容分别为“区块链”、“密码学”和“比特币”,但是我篡改了第二个区块的数据内容,将“密码学”改成了“密码学技术”,则当前的hash值和之后区块的所有hash值都将改变,都要重新计算。这就表示这些区块之前前后都有联系,一个跟着一个。
    在这里插入图片描述

2.3 区块链的分类

按照区块链的去中心化程度,一般可分为三类:公有链(public blockchain)、私有链(private blockchain)以及联盟链(consortium blockchain)

  • 1)公有链是指任何人都可以访问,完全去中心化的一种区块链,它可以保护账户的个人隐私,但是它的系统效率非常低。典型的代表有比特币、以太坊等;
  • 2)私有链的特点是对于某个个人或公司内部创建的一个私有链,它是完全中心化的网络,自行进行背书,优点则是系统效率高;
  • 3)联盟链的特点主要是半中心化程度,它是由集体进行背书,因此系统的效率也比较高。典型的例子有R3联盟、超级账本(Hyperledger Fabric)等。如下图所示。
    在这里插入图片描述

2.4 区块链的共识机制

  • 1)工作量证明机制(Proof of Work,PoW):通常这种共识机制是由全网共同参与解决一个计算机难题(也称数学难题),谁解出来,谁就获得了这个工作量证明,将获得奖励。PoW的缺点,一般PoW非常消耗计算资源和电量,且计算结果较为缓慢处理交易的效率非常低。PoW的优势在于,能够使得网络中多个或成千上万个互不信任的参与者在同一个网络中工作,且任何人都可以参与到网络中来,而无需许可。典型的代表有比特币、以太坊等公有链。
  • 2)权益证明机制(Proof of Stake,PoS):通常这种共识机制是指达成共识新区块的概率与权益大小成比例关系。它不需要计算复杂的、或是不必要的计算,而消耗电力资源。网络参与者不与其他人竞争,而是抵押了各自的计算资源。PoS与PoW共识差不多,都是概率性的,但是交易速度比PoW的速度要更快。一般适用范围为公有/私有链,典型的代表由Cosmos、Tezos等。
  • 3)委托权益证明(Delegated-Proof-of-Stake,DPoS):是指参与者可以选择一些受托人来参与履行他们的职责,也可以随时可选可撤参与到投票和竞选受托人两个过程。因此以这种形式的共识机制,使得区块的生成更快,从而也将更加节能。DPoS保证了选择区块生产者和验证节点质量算法的安全性,同时也提升了交易的速度。
  • 4)实用型拜占庭容错共识机制(Practical Byzantine Fault Tolerance,PBFT):该算法是在1999年由Miguel Castro和Barbara Liskov提出,他们解决了原始拜占庭容错算法效率不高的问题,通过将复杂度由指数级降低到多项式级。如下图所示,假设总节点数为n个,异常节点为f个,客户端上传数据请求,并选用一个节点作为主节点,其他的作为从节点。
    在这里插入图片描述
    • a. 主节点收到客户端的数据请求后,广播给其他从节点。从节点收到消息后会有两种选择,一种是节点的正常接收,另一种是异常节点的拒收或者无响应。如打红叉的节点为异常节点。
    • b. 接收消息的节点可验证和审计消息的完整性和合法性。若所有节点收到了2f的不同节点消息,表示该节点的准备阶段完成。
    • c. 然后节点接收并汇总其他节点的审计结果与自身对比。若收到n-f个的确认消息后,再向客户端进行反馈。
    • d. 最后,只要满足异常节点 f ≤ ( n − 1 ) / 3 f\leq (n-1)/3 f(n1)/3,就不会对共识结果产生影响。

因此,PBFT共识算法遵循少数服从多数原则,且最后将共识完成后的新数据区块存储在区块链上。它的优点是共识速度快,高吞吐量和能耗低等。

另外,还有许多其他的共识机制,这里就不作过多的解释。例如BFT、PoK、PoA和PoL等。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值