深度学习
前面几章介绍了区块链背景以及相关的基础知识,本章将为读者介绍区块链的架构。区块链源于支持BitCoin虚拟货币 系统的底层基础架构,在支撑BitCoin平稳运行三四年后,以其独特的去中心化架构逐渐吸引IT业界的关注,使得业界的关注点逐渐从虚拟货币转移到区块 链平台上,并被认为是目前呼声最高的下一代互联网——“价值互联网”的颠覆性技术。
本章将深入剖析区块链基础架构(区块链1.0),阐述其架构属性和特点,同时也详细分析从基础架构上延伸扩展的区块链2.0和区块链3.0架构,最后介绍用来集成整合不同区块链的互联链架构。
3.1 基本定义
在详细讨论区块链之前,为了便于准确地把握区块链的架构,我们先给出区块链的定义。由于目前在业界并没有统一的区块链定义,我们将用渐进逼近的方式来定义区块链,以求完整、准确。
定义1: 区块链
1)一个分布式的链接账本,每个账本就是一个“区块”;
2)基于分布式的共识算法来决定记账者;
3)账本内交易由密码学签名和哈希算法保证不可篡改;
4)账本按产生时间顺序链接,当前账本含有上一个账本的哈希值,账本间的链接保证不可篡改;
5)所有交易在账本中可追溯。
该定义中“分布式”的定义如下。
定义2: 分布式
分布式是一种计算模式,指在一个网络中,各节点通过相互传送消息来通信和协调行动,以求达到一个共同目标[1] 。
在区块链中,分布式包括“完全去中心”“部分去中心”和“部分中心”3种模式,分别对应区块链的3种部署模式:“公共链”“联盟链”和“私有链”。分布式意味着在区块链网络中不存在一个中心节点,该节点负责生成、修改、保管所有账本。
定义3: 完全去中心
一种网络的架构模式,在该模式下网络没有拥有者,完全对外开放。网络中每个节点都可选择拥有相同的权限。在完全去中心的区块链网络上,所有节点都可以读写区块链数据,都可作为记账的候选节点参与共识流程,有机会参与账本的生成和记账。
定义4: 部分去中心
一种网络的架构模式,在该模式下网络属于一个联盟共同所有,网络只对联盟成员开放。网络中每个节点被赋予不同权限。在“部分去中心”的区块链网络上,节点根据所赋予权限读写区块链数据,参与共识流程以及参与账本的生成和记账。
定义5: 部分中心
一种网络的架构模式,在该模式下网络属于一个所有者,网络只对所有者内部成员开放。网络中每个节点被赋予不同权限。在“部分中心”的区块链网络上,节点根据所有者赋予的权限读写区块链数据,参与共识流程以及参与账本的生成和记账。
在有了一个明确的区块链定义之后,我们来看比特币下的区块链架构。在此之前,我们也对大家耳熟能详的“架构”一词做一个严格定义。
定义6: 架构
架构有两个层面的涵义。一个是静态层面的,主要是勾画系统边界、结构、组成的组件以及组件之间的关联关系;另一个是动态层面,主要是规范组件的行为以及组件之间的交互协议。根据一个IT系统的架构,可以界定该系统的功能特性和一些非功能特性[2] 。
例如:对于Bitcoin,它的功能可以是虚拟货币的发行和流通,是支付,结算和清算,保证不可“双花”、交易不可篡改、交易可追溯;非功能特性则包括安全措施(签名、加密、隐私保护等)以及平均出块时间、每秒交易量等。
架构设计要考虑不断变化的和恒久不变的两方面。
一个有长久生命力的系统都有一个设计高明的架构,其精髓在于架构能支持系统功能的变化、发展、演化,允许系统功能不断变化,也就是架构必须提供的灵活性。
而系统对易用性、安全性、稳定性和性能却应该是恒久不变的,因此IT架构的设计必须强调非功能特性,其中开放性、可扩 展性、可移植性、可维护性、灵活性、安全性、性能(响应时间、吞吐率、并发数等)最为重要。比特币出现短短几年后,从中衍生出多种代币和应用,可以窥见其 架构设计的安全、巧妙、灵活和可扩展性。
区块链因应用场景的不同而有不同的架构。在《区块链:新经济蓝图及导读》一书中,作者Melanie Swan提出一个按区块链应用范围和发展阶段来划分的概念,把区块链应用分为区块链1.0、2.0和3.0。她把比特币作为区块链1.0的典型应用。区块 链1.0支撑虚拟货币应用,也就是与转账、汇款和数字化支付相关的密码学货币应用。区块链2.0支撑智能合约应用,合约是经济、市场和金融的区块链应用的 基石。区块链2.0应用包括股票、债券、期货、贷款、抵押、产权、智能财产和智能合约。区块链3.0应用是超越货币、金融和市场的范围的去中心化应用,特 别是在政府、健康、科学、文化和艺术领域的应用。
区块链也会因部署模式的不同而有不同的架构。如公共链、联盟链、私有链和侧链。多种区块链架构的出现也使得链与链之间的集成、整合成为挑战,因此互联链(Interledger)的概念也应运而生[3] 。
下面我们逐个讨论不同架构的区块链。
[1] Coulouris,George;Jean Dollimore;Tim Kindberg;Gordon Blair,Distributed Systems:Concepts and Design(5th Edition).Boston:Addison-Wesley,2011.
[2] 吴玉征,郑凯,中国云力量,电子工业出版社,2016.
[3] Stefan Thomas&Evan Schwartz,A Protocol for Interledger Payments,Ripple.com,2015.
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=1030
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区