第
九
章
金
融
科
技
:
区
块
链
区块链的架构模型
第五节
架构概述
1
目
录
C
O
N
T
E
N
T
S
区块链架构模型
2
PART
01
PART
01
区块链架构概述
区块链架构概述
1
2
3
4
5
6
最
初
来
源
于
建
筑
,
其
核
心
是
通
过
一
系
列
构
建
的
组
合
来
承
接
上
传
传
递
的
压
力
。
也
叫
做
“
软
件
架
构
”
,
是
对
软
件
整
体
结
构
与
组
件
的
抽
象
描
述
,
用
于
指
导
大
型
软
件
系
统
各
个
方
面
的
设
计
。
架构
区块链架构概述
架构是在理解和分析业务模型的基础上,从不
同视角和层次去认识、分析、描述业务需求的
过程。
实现复杂领域知识的模型化,确定功能和非功
能的要求,为不同的参与者提供交流、研发和
实现的基础,每类参与者都会结合架构的参考
模型,形成各自的架构视图。
区块链架构概述
(
1
)分层原则
•
大部分系统应用采用三层架构模型,分别是表示层、业务逻辑层、数据访问层;
•
在设计过程中,每层要相对独立,层之间的耦合度要低,每层横向要具有开放性。
(
2
)模块化原则
•
确定了每层不同功能之间的逻辑关系,避免不用层模块的嵌套以及同层模块间的过渡
依赖。
(
3
)设计模式和框架的应用
•
它是软件工程复用思想的重要体现,也是解决某一类问题的经验总结。
架构设计遵循的原则:
PART
01
PART
0
2
区块链架构模型
区块链架构模型
区块链系统
的组成部分
○
数据层
○
网络层
○
共识层
○
激励层
○
合约层
应用层
区块链架构模型
1
数据层
职责
:
将一段时间内接收到的交易数据封装
到带有时间戳的数据区块中,并链接
到当前最长的主区块链中,形成一个
新的区块。
区块链架构模型
1
数据层
包含的内容:
数据区块、链式结构、时间戳、哈希
函数、默克尔树、非对称加密算法。
区块链架构模型
1
数据层
(
1
)
数据区块
作用:主要是保存交易数据,不同的系统采用的结构不同。
以比特币的区块结构为例:
比特币的交易记录会保存在数据区块之中,比特币系统中大约每
10
分钟会产生一个区
块,每个数据区块一般包含区块头(
Header
)和区块体(
Body
)两部分。
区块头包括前一区块的哈希(
PreHash
)值和用于计算挖矿难度的随机数(
nounce
),
而计算随机数规则决定了哪个矿工可以获得记录区块的权力。
区块链架构模型
1
数据层
(
2
)链式结构
○
区块链是一种单向链式结构,由区块连接而成;
○
第一个区块称为创始区块;
○
除了创始区块外,每个区块都保留了上一个区块的哈希值,
通过引用上一个区块的哈希值,区块间形成了链式关系,从
而形成了区块链;
○
区块链内区块的数量,称为区块的高度。
区块链架构模型
1
数据层
(
3
)时间戳
时间戳使区块链上每一笔数据都具有时间标记,通过时间戳保证每个区块依次顺序相连。
(
4
)哈希函数
将任意长度的内容输入,经过不可逆的处理过程,转换为固定长度的输出内容。
类型:
Message Digest Algorithm
(最常见的
MD5
,以及其前身
MD2
,
MD3
,
MD4
)、
Secure Hash Algorithm
(常见的
SHA-1
,
SHA-2
,
RIPEMD160
)。
区块链架构模型
1
数据层
(
5
)默克尔树
存储哈希值的一棵树,默克尔树的叶子是数据块的哈希值,非叶节点是其对应节点串联字符
串的哈希值。
(
6
)非对称加密算法
•
对称加密算法是指在加密和解密时使用的同一个密钥。
•
非对称加密算法是有一对公钥和私钥,分别用于加密和解密,公钥一般是公开的,人人可
获取,私钥一般是个人持有,不能被他人获取。
区块链架构模型
2
网络层
通
过
P
2
P
协
议
实
现
数
据
通
讯
。
特点:
上传数据的同时也在下载数据,意味着区块
链自己具有自动组网的能力。
区块链架构模型
3
共识层
作
用
:
是
区
块
链
的
核
心
技
术
,
决
定
了
有
谁
来
记
账
,
记
账
决
定
方
式
将
会
影
响
整
个
系
统
的
安
全
性
和
可
靠
性
。
它封装了网络节点的各类共识机制算法,常
见的共识算法包括:工作量证明机制
(
PoW
)
、权益证明机制(
PoS
)
和股份授
权证明机制(
DPoS
)
等。
区块链架构模型
4
激励层
对
公
有
链
特
别
重
要
,
是
保
障
这
个
链
稳
定
健
康
发
展
的
基
础
。
在
公
有
链
中
,
激
励
层
的
作
用
是
激
励
遵
守
规
则
参
与
记
账
的
节
点
,
并
且
惩
罚
不
遵
守
规
则
的
节
点
,
这
样
才
能
让
整
个
系
统
朝
着
良
性
循
环
的
方
向
发
展
。
区块链架构模型
5
合约层
作用:
封装各类脚本、算法和智能合约,是区块链可编程
特性的基础。
最典型代表:以太坊
区块链架构模型
6
应用层
作
用
:
调
用
区
块
链
系
统
的
某
个
接
口
,
获
取
相
关
信
息
。
区块链在金融领域的应用包含:跨境支付、
数字票据结算、供应链融资、股权众筹等。
典型的
区块链
应用有区块链钱包、区块链浏
览器。
T
H
A
N
K
Y
O
U
谢谢观看