区块链原理——区块链概念
区块链的基本概念
基本定义
从字面上理解,区块链就是由多个记录数据的区块构成的链式数据结构。
从技术角度来看,区块链是一种基于P2P网络架构的分布式账本技术系统:
- 以“块-链”式数据结构来验证与存储账本数据
- 使用密码学方法保证数据传输和访问的安全
- 从应用角度来看,区块链是一种新型的无中介陌生人信任服务应用支撑平台系统。
- 面向由陌生主体构成的开放网络环境
- 提供分布式账本记账服务
特点
- 去/弱中心化
- 可溯源
- 不可篡改
- 数字价值唯一性(采用共识机制和密码学方法实现)
- 智能合约
- 开放性
- 去信任
类型
公有链
- 公有链(Public Blockchain),任何人(任何个体与组织)都可以参与区块链数据的维护和读取,数据完全开放透明,免费开放
- 目前全球最有影响力的公有链是比特币和以太坊系统。
联盟链
- 联盟链(Consortium Blockchain),联盟链即区块链共识建立的范围及公共账本的公开对象为有限主体,如行业联盟成员之间,联盟成员平等参与区块链网络构建、公共账本创建与维护。
- 联盟链系统一般都需要严格的身份认证和权限管理,节点的数量在一定时间段内也是确定的,适合处理组织间需要达成共识的业务,身份验证是联盟链与公有链最大区别
- 区块链典型的联盟链代表技术是开源的超级账本系统(Hyperledger Fabric)
私有链
- 私有链(Private Blockchain)即区块链共识建立的范围及公共账本的公开对象为单一主体,单一主体对区块链的网络运行及数据处理、交换与存储具有全部权利
- 私有链通常具备完善的权限管理体系,要求使用者提交身份认证。
- 私有链也可以看作是联盟链的一种特殊形态,即联盟中只有一个成员
历程
区块链系统总体架构
在体系结构上没有采用传统具有中心化服务器节点的C/S或B/S架构,而是采用无中心化节点的P2P体系结构(每个存储区块链与账本数据的网络节点都是对等关系)
系统逻辑架构
存储层
- 存储层为区块链系统相关的区块链、分布式账本、智能合约、X.509数字证书、日志、配置文件等数据提供高效、可靠持久化存储服务
- 区块链系统一般采用的底层数据存储机制包括Key-Value数据库和文件系统。
数据层
- 数据层是区块链系统的核心功能层级之一,负责定义区块链系统相关的区块、区块链、交易、账本、账户、地址等关键数据结构
- 并基于底层的存储服务提供对区块链数据的安全读写访问管理
网络层
- 网络层是区块链系统的核心功能层级之一,负责定义区块链系统相关的P2P网络模型与通信协议
- 为区块链系统各网络节点之间提供节点发现与安全连接通信机制
- 为交易、区块信息在区块链网络所有节点之间提供高效传播与有效性验证机制
共识层
- 共识层是区块链系统的核心功能层级之一,为区块链系统提供一种或多种可选的公平、高效、安全、可靠的共识算法机制
- 让所有的区块链网络节点都认可每次计算产生的新区块,并且协调保证所有区块链网络节点数据记录一致性,使区块链系统的整体状态达成一致
激励层
- 激励层是区块链系统可选的功能层级,以比特币、以太坊为代表的区块链系统,在共识层的功能基础上,提供了奖励加密货币的激励机制
- 对于加入区块链网络的节点,都有一定机率在区块链状态改变(如产生新区块、部署智能合约、智能合约被调用等)时被区块链系统增发奖励一定数量的加密货币
- 但是,以超级账本为代表的联盟链系统更多用于解决联盟内跨组织的信任服务问题,不需要类似奖励加密货币的激励机制。
合约层
合约层是区块链系统的核心功能层级之一,智能合约是将基于区块链的应用系统业务逻辑以可编程脚本或高级语言代码的形式开发后,由区块链系统的合约层负责对智能合约代码进行动态部署运行,并由系统根据既定规则的条件触发和自动执行,智能合约的源代码、调用过程与执行结果都会被记录到区块链上,杜绝合约篡改和抵赖。
智能合约机制使区块链从最初单一的加密货币应用,延伸到政务服务、金融服务、征信管理、供应链管理、物联网等多个应用领域
接口层
- 接口层定义了区块链系统对应用层和外部的服务API和管理接口。
- 服务API对区块链系统的功能进行封装,采用如RESTful、gRPC等远程调用协议,为应用层或外部系统提供跨平台、 便捷的区块链系统服务调用机制。
- 区块链系统一般还提供命令行或Web服务接口,方便客户端或节点与区块链系统进行交互
应用层
应用层包括基于区块链的各类应用,与区块链系统的类型密切相关。
对于公有链来说,最普遍的应用就是比特币、以太币等加密货币与相关的支付、交易、结算、工具等应用,以及基于智能合约的去中心化DApp应用。
对于联盟链来说,更多的应用是实现跨组织或组织与个人之间的对等信任服务与数字资产化,比如跨行业联盟的征信管理、供应链上下游溯源管理、跨多个政府单位的政务协同等。
对于私有链来说,更多的应用是实现政府、企业内部重要业务数据的不可篡改,降低内控监督成本。
区块链的价值与思维
区块链的价值
在大幅降低第三方信任服务的成本和风险的前提下,实现信息与价值传递交换,提高服务效率,是一种创新的服务网络,是发展数字经济,构建变革性的价值生态系统的重要基础设施,具有重大的应用价值。
区块链技术的核心价值是什么?
用理性的技术解决参与者之间的信任问题
1.满足保障网络诚信、隐私自主、价值激励、安全运行 和权利保护等公共需求,构建公共价值为基础的规则体系。
2.让交易在透明化,减少信息传递 成本,转变为价值传递,助理解 决中小企业贷款融资难、银行风 控难、部门监管难等问题,打造 便捷高效、稳定透明的营商环境, 为经济高质量发展提供支撑。
区块链的思维方式
(1) 去/弱/多中心化
去中心化是研究应用区块链技术首先要建立的一种思维方式。开展一项涉及信任构建的工作,首先要思考,如果使用去中心化怎样来解决?不仅高价值数据资产及其相关计算能去中心化,普通Web数据访问存储也可以去/弱/多中心化。通过去/弱/多中心化思考,可能会获得中心化信任体系下难以获取的诸多新特性、新能力。
(2) 透明开放
研究应用区块链技术,在所属的共识范围内,需要机制、规则、代码的完全透明、开放,透明、开放是让共识群体积极参与的前提和基础;黑箱运行、潜藏规则或独有专利,在区块链中难以获得更大范围的共识,并难以被更多参与者所拥护。
(3) 协同合作
不要试图一个人或一个机构独自完成所有工作和享有所有回报,要习惯人与人之间、团队与团队之间的协同合作,共定游戏规则,共建生态,共同发展产业,共获回报。
- 区块链技术的本质是什么?
带有验证的可扩展的分布式记账。分布式的公共账本
布式账本技术:区块链是一个分布式的数据库,每个节点都保存一份完整的账本副本。通过分布式网络实现数据的冗余和备份,确保数据的安全和一致性。
共识机制:区块链系统依靠共识算法来验证和确认交易,而不是依赖单一的信任方。常见的共识算法有工作量证明(PoW)、权益证明(PoS)、授权权益证明(DPoS)等。这些机制确保所有参与者对区块链的状态达成一致。
加密技术:区块链利用公钥加密、哈希函数等密码学技术来确保交易的安全性和隐私性。加密技术保证了数据的不可篡改性和参与者的匿名性。
链式结构:区块链由一系列区块按时间顺序串联而成,每个区块包含若干交易记录和一个指向前一区块的哈希值。这个链式结构确保了数据的不可篡改性。
智能合约:智能合约是部署在区块链上的自执行代码,它们按照预定的规则自动执行和验证交易。这使得区块链不仅是一个数据存储系统,更是一个可编程的平台,能够实现复杂的业务逻辑。
- 什么是区块链分叉
区块链分叉是指由于某种原因,从区块链的某个区块开始,后续的区块构成了两条子链。
主要原因
- 区块链软件升级
节点系统升级有先有后,旧节点拒绝验证新节点产生的区块,然后新、旧节点各自延续自己认为正确的链,区块链发生永久性分歧,所以分成两条链。
- 区块链出块冲突
在运行过程中,如果采用PoW工作量证明之类的需要节点竞争计算新区块的出块权的共识机制,有可能出现两个独立的节点同时求解出满足要求的哈希值结果,都生成了一个新区块,导致出块冲突,使区块链发生临时分叉。
解决办法:只承认分叉中最长的链(哪一边分叉先生成下一个区块,哪一边就是最长的链),不是最长链的分叉中的区块将被抛弃成为孤块(Orphan Block)
课后练习
(一)填空题
1. 区块链是将分布式计算与存储、 、智能合约 、 、网络安全等多种计算机技术相互融合的应用技术创新。
2. 信任服务模式可以分为无中介熟人信任、第三方信任和 等3种类型。
3. 区块链分为 、 与私有链3种不同类型。
4. 区块链系统是世界上首个经过大规模、长时间检验的加密货币系统。
5. 比特币系统的发行量每四年减半,总量上限为 万枚,无法被超发。
6. 在区块链系统逻辑架构中,自下而上可以分为存储层、 、网络层、 、激励层、 、接口层、应用层。
7. 在区块链系统中,每个存储区块链与账本数据的网络节点都
是 关系,节点之间会共享 数据。
(三)简答题
1. 请简述什么是区块链?
2. 请简述区块链的特点有哪些?
3. 请简述区块链有哪些类型?不同类型的区块链之间有什么区别?
4. 区块链分叉是指由于某种原因,从区块链的某个区块开始,后续的区块构成了两条子链,请简述导致区块链分叉的主要原因?
5. 请简述什么是软件系统架构?
6. 请简述区块链系统逻辑架构包含哪些功能层级?
7. 请简述什么是基于区块链的思维方式?
8. 请简述区块链有什么价值?