区块链技术架构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
区块链技术架构
源于比特币社区的区块链技术,不仅为金融机构所重视,也逐渐为世界主要经济体及重要国际组织所关注。本文作者尝试对区块链常见架构进行分析,并根据其技术特点提出了一些在保险业可能的应用场景。
区块链2.0的分类与特点
区块链2.0的典型代表是以太坊(Ethereum)和超级账本(Hyperledger),分别代表了区块链的两个重要的发展方向:应用于公众的公有链和应用于企业的联盟链。
公有链、联盟链和私有链
公有链是指对所有人开放,任何人都可以参与的区块链;联盟链是被多个组织构成的联盟控制,进入和退出需要授权的区块链;私有链是完全被单独的个人或某个组织控制的区块链。公有链不适合大部分企业应用场景,未来企业应用的重点是联盟链,但现阶段关注的重点是公有链,公有链是区块链技术的试验田,会遇到各种复杂的情况和问题,是对新技术和新业务的测试,这对企业应用提供很好的借鉴。
对于区块链的去中心化、安全、高效这三个特性,符合蒙代尔不可能三角关系,即不可能同时满足三个条件。公有链实现了完全的去中心化和安全,因此在性能上就很低,联盟链为了企业应用,提高了性能和安全,就不得不在去中心化上进行妥协,通过一个中心化的授权方式来管理节点,实现了半中心化。
区块链2.0的优势
区块链1.0被称之为“全球账簿”。相应的,区块链2.0可以被看作一台“全球计算机”:实现了区块链系统的图灵完备,可以在区块链上传和执行应用程序,并且程序的有效执行能得到保证,在此基础上实现了智能合约的功能。相对于区块链1.0,区块链2.0有如下优势:
1. 支持智能合约
区块链2.0定位于应用平台,在这个平台上,可以发布各种智能合约,并能与其它外部IT 系统进行数据交互和处理,从而实现各种行业应用。
2. 适应大部分应用场景的交易速度
通过采用PBFT、POS、DPOS等新的共识算法,区块链2.0的交易速度有了很大的提高,峰值速度已经超过了3000TPS(每秒处理交易数量),远远高于比特币的5TPS,已经能够满足大部分的金融应用场景。
3. 支持信息加密
区块链2.0因为支持完整的程序运行,可以通过智能合约对发送和接收的信息进行自定义加密和解密,从而达到保护企业和用户隐私的目的,同时零知识证明等先进密码学技术的应用进一步推动了其隐私性的发展。
4. 无资源消耗
为了维护网络共识,比特币使用的算力超122029 TH/s,相当于5000台天河2号A运算速度,每天耗电超过2000MWh,约合几十万人民币(估测数据)。区块链2.0采用PBFT、DPOS、POS等新的共识算法,不再需要通过消耗算力达成共识,从而实现对资源的零消耗,使其能绿色安全的部署于企业信息中心。
技术架构
区块链2.0采用五层架构,从下到上分别是数据层、网络层、共识层、激励层、智能合约层,如图1所示。
图1 五层架构
数据层
数据层最底层的技术,是一切的基础,主要实现了两个功能,一个是相关数据的存储,另一个是账户和交易的实现与安全。数据存储主要基于Merkle树,通过区块的方式和链式结构实现,大多以KV数据库的方式实现持久化,比如以太坊采用leveldb。帐号和交易的实现
基于数字签名、哈希函数和非对称加密技术等多种密码学算法和技术,保证了交易在去中心化的情况下能够安全的进行。
网络层
网络层主要实现网络节点的连接和通讯,又称点对点技术,是没有中心服务器、依靠用户群交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,其具有去中心化与健壮性等特点。
共识层
共识层主要实现全网所有节点对交易和数据达成一致,防范拜占庭攻击、女巫攻击、51%攻击等共识攻击,其算法称为共识机制,因为其应用场景不同,区块链2.0出现了多种富有特色的共识机制。
1. PoS:Proof of Stake,权益证明
原理:节点获得区块奖励的概率与该节点持有的代币数量和时间成正比,在获取区块奖励后,该节点的代币持有时间清零,重新计算。但由于代币在初期分配时人为因素过高,容易导致后期贫富差距过大。
2. DPoS:Delegate Proof of Stake,股份授权证明
原理:所有的节点投票选出100个(或其他数量)委托节点,区块完全由这100个委托节点按照一定算法生成,类似于美国的议会制。
3. Casper:投注共识
原理:以太坊下一代的共识机制,每个参与共识的节点都要支付一定的押金,节点获取奖励的概率和押金成正比,如果有节点作恶押金则要被扣掉。
4. PBFT:Practical Byzantine Fault Tolerance,拜占庭容错算法
原理:与一般公有链的共识机制主要基于经济博弈原理不同,PBFT基于异步网络环境下的状态机副本复制协议,本质上是由数学算法实现了共识,因此区块的确认不需要像公有链一样在若干区块之后才安全,可以实现出块即确认。
5. PoET:Proof of Elapsed Time,消逝时间量证明
原理:该共识机制由intel提出,核心是用Intel支持SGX技术的CPU硬件,在受控安全环境(TEE)下随机产生一些延时,同时CPU从硬件级别证明延时的可信性,类似于彩票算法,谁的延时最低,谁将获取记账权。这样,增加记账权的唯一方法就是多增加CPU的数量,具备了当初中本聪设想的一个CPU一票的可能,同时增加的CPU会提升整个系统的资源,变相实现了记账权与提供资源之间的正比例关系。
共识机制有各自的优缺点,适应不同的场景,进行对比,如表1所示。
表1 不同共识算法对比
激励层
激励层主要实现区块链代币的发行和分配机制,比如以太坊,定位以太币为平台运行的燃料,可以通过挖矿获得,每挖到一个区块固定奖励5个以太币,同时运行智能合约和发送交易都需要向矿工支付一定的以太币。
智能合约层
智能合约赋予账本可编程的特性,区块链2.0通过虚拟机的方式运行代码实现智能合约的功能,比如以太坊的以太坊虚拟机(EVM)。同时,这一层通过在智能合约上添加能够与用户