最初仅作为支持数字货币比特币交易的技术,当前已经脱离比特币,在金融、贸易、物联网、共享经济等多领域初步应用。
2008年中本聪发表论文《比特币:一种点对点的电子现金系统》。
①采用多种技术组合创新:P2P(Peer-to-Peer)、分布式存储、密码学(哈希算法、非对称加密、数字签名等)。
②论文中并没有明确提出区块链概念,只有区块(Block)和链(Chain) ,但涉及了对区块链技术影响深远的观点:
2008年由网名“中本聪”发布比特币白皮书开始,区块链技术已经过了十多年,在此过程中,行业大致经历了三个阶段,按照应用范围和发展阶段区块链可以分为区块链1.0、2.0、3.0,分别是数字货币阶段、智能合约阶段和应用探索阶段。
目前尚没有统一定义,Wikipedia 给出的定义:
区块链技术让参与的系统中任意多个节点,通过密码学算法把一段时间系统内的全部信息交流数据计算和记录到一个数据块( Block)中,并且生成该数据块的指纹用于链接( Chain )下个数据块和校验 ,系统中所有的参与节点共同认定记录是否为真。
区块链主要特征包括去中心化、公开账本、不可篡改、多方写入,共同维护。
①去中心化
区块链系统结构中没有中心化的设备和机构,各节点之间的权利和义务近乎均等,每个节点可以获得完整的数据拷贝,系统由多个节点共同维护。
②公开账本
区块链系统记录的账本应处于所有参与者被允许访问的状态,为了验证区块链记录的信息的有效性,记账参与者必须有能力访问信息内容和账本历史。但是公开账本指的是可访问性的公开,并不代表信息本身的公开。
③不可篡改
区块链上的区块只能新增、不能被替换,交易可以通过新增区块的方式予以修改,但是区块记录将永久保存。区块链采用带有时间戳的链式区块结构存储数据,具有极强的可追溯性和可验证性;同时由密码学算法和共识机制保证了区块链的不可篡改性 。
④多方写入,共同维护
多方仅指记账参与方,区块链的记账参与方应当由多个利益不完全一致的实体组成,并且在不同的记账周期内,由不同的参与方主导发起记账。
区块链系统划分为基础设施、基础组件、账本、共识、智能合约、接口、应用、操作运维和系统管理九部分。九大功能架构各司其职,维护区块链系统的稳定。
架构层级 | 说明 |
---|---|
基础设施层 | 为上层提供物理资源和计算驱动,是区块链系统的基础支持 |
基础组件层 | 为区块链系统网络提供通信机制、数据库和密码库 |
账本层 | 负责交易的收集、打包成块、合法性验证以及验证通过的区块上链 |
共识层 | 负责协调保证全网各节点数据记录一致性 |
智能合约层 | 负责将区块链系统的业务逻辑以代码的形式实现、编译并部署,完成既定规则的条件触发和自动执行 |
接口层 | 主要用于完成功能模块的封装,为应用层提供简洁的调用方式 |
系统管理层 | 负责对区块链体系结构中其他部分进行管理;操作运维层负责区块链系统的日常运维工作 |
操作运维层 | 负责区块链系统的日常维护工作 |
共识机制算法是区块链的核心技术,因为这决定了到底由谁来记账,而记账方式将会影响整个系统的安全性和可靠性。说白了就是如何记账的算法。
常见的算法:PoW (Proof of Work,工作量证明),PoS (Proof of Stake ,权益证明), DPoS (Delegate Proof of Stake ,股份授权证明)机制以及拜占庭将军容错共识等。
①Pow(工作量证明): 就是挖矿。依赖机器进行数学运算来获取记账权,即通过与或运算,计算出一个满足规则的随机数,获得本次记账权,发出本轮需要记录的数据,全网其他节点验证后一起存储。
优点===》是完全去中心化,节点自由进出;
缺点===》资源消耗相比其他共识机制高 、 可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,达成共识的周期较长,因此不适合商业应用。
****②Pos(权益证明):****根据每个节点所占代币的比例和时间,等比例地降低挖矿难度,从而加快寻找随机数的速度,因此节点记账权的获得难度与节点持有的权益成反比,但它依然是基于哈希运算竞争获取记账权的方式。
优点===》相对于 PoW 在一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升。
缺点===》还需要挖矿,本质上没有解决商业应用的痛点,可监管性也比较弱 .
**③DPos(委托权益证明):**类似于董事会投票 ,拥有一定数量货币的可成为股东,按照持股比例拥有影响力。股东投出一定数量的节点,代理他们进行验证和记账,股东代表轮流产生区块。
优点===》不在需要挖矿,大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证,降低运行网络的成本和维护网络安全的费用,增强网络效能;
缺点===》整个共识机制还是依赖于代币的,然而很多商业应用是不需要代币存在的。
④PBFT (拜占庭共识算法) :由拜占庭问题演变而来的拜占庭共识算法。
拜占庭将军问题”( Byzantine failures) l5l 的算法 。该问题是一个协议问题,指拜占庭帝国军队的将军们必须全体一致决定是否攻击某一支敌军 。 问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒,而将军们只能依靠信便来传递信息 。 如何才能防止受到叛徒欺骗而做出错误决策呢?数学家设计的算法是让将军在接到上一位将军标有进攻时间的信件之后,写上同意或反对并盖上自己的图章,然后把信转发给其他所有的将军,在这样的信息周转之后,最后会出现一个盖有超过半数将军图章的信息链,以保证将军们在互不信任的情况下达成共识。
算法的研究结果显示,当“叛变将军”少于将军总数的三分之一时,“忠诚将军”将可以做出正确的决定并达成一致。假如节点总数为 N,故障节点数为 F,则当 N >3F 时,则能达成一致。
优点===》1、效率高: PBFT要求所有节点之间的两两通信,要求节点数量不能太多,通常是几十个,在这种模式下,节点达成一致的速度更快,延时更低。2、吞吐量高:节点数量的控制,使PBFT网络不用像大型PoW网络那样,受限于处理能力最低的节点;因此带来全网吞吐量的大幅提升。3、节能无须使用工作量证明的耗电模式,因此更加节能环保。
缺点===> 1、可扩展性及去中心化程度较弱 2、容错性较低
全球有数个区块链技术平台,其中比特币( Bitcoin )、 以太坊( Ethereum )、 瑞波(Ripple )和 Linux 基金会的开源项目超级账本( Hyperledger Fabric )比较有代表性 。
(本节结束)
欢迎阅读其他章节,我会陆续更新,期待关注,共同学习提高。
01 -区块链概述
02-HyperLeger Fabric系统架构
03-详述HyperLeger Fabric 记账流程 (即将更新)