区块链的架构与进展

区块链产生的背景

传统的关系数据库管理系统、NoSQL数据库管理系统都是由单一机构进行管理和维护,单一机构对所有数据拥有绝对的控制权,其它机构无法完整了解数据更新过程,因而无法完全信任数据库中的数据。传统的中心化的数据库,始终存在了一个问题,那就是信任问题,你不信任我,我不信任你的局面一直存在,导致了多方创建自己的数据库,独立维护承载自己数据的数据库。
区块链是一种去中心化、不可篡改、可追溯、多方共同维护的分布式数据库,能够将传统单方维护的仅涉及自己业务的多个孤立数据库整合在一起,分布式地存储在多方共同维护的多个节点上,任何一方都无法完全控制这些数据,只能按照严格的规则和共识进行更新,从而实现了可信的多方间的信息共享和监督,避免了繁琐的人工对账,提高了业务处理效率,降低了交易成本。区块链通过集成 P2P协议、非对称加密、共识机制、块链结构等多种技术,解决了数据的可信问题。通过应用区块链技术,无需借助任何第三方可信机构,互不了解、互不信任的多方可实现可信、对等的价值传输。

区块链体系架构

区块链在整体上可以划分为网络层,共识层,数据层,智能合约层和应用层,这五个层次
在这里插入图片描述
通过图片,我们可以发现:

网络层

区块链网络的P2P协议主要是用于结点间传输交易数据和区块数据,比特币和以太坊都是基于TCP协议实现的,而Fabric则是基于HTTP /2来实现的。在区块链的网络中,节点时时刻刻监听着网络中广播的数据,当接收到旁边的节点发来的新交易和新区块时其首先会验证这些交易和区块是否有效,包括交易中的数字签名、区块中的工作量证明等,只有验证通过的交易和区块才会被处理(新交易被加入正在构建的区块,新区块被链接到区块链)和转发,以防止无效数据的继续传播。

共识层

数据层

在数据存储的设计上,因为区块链数据类似于传统数据库的预写式日志,因此通常哪个都按日志文件格式存储,由于系统需要大量的基于哈希的键值检索,如基于交易哈希 检 索交 易 数 据、基 于 区 块 哈 希 检索区块 数 据。索引数据和状态数据通常存储在Key-Value数据库;如比特币,以太坊和Fabric都以LevelDB数据库存储索引数据。

智能合约层

智能合约是一种用算法和程序来编制合同条款、部署在区块链上且可按照规则自动执行的数字化协议.该概念早在1994年由 Szabo提出,起初被定义为一套以数字形式定义的承诺,包括合约参与方执行这些承诺所需的协议,其初衷是将智能合约内置到物理实体以创造各种灵活可控的智能资产.由于早期计算条件的限制和应用场景的缺失,智能合约并未受到研究者的广泛关注,直到区块链技术出现之后,智能合约才被重新定义.区块链实现了去中心化的存储,智能合约在其基础上则实现了去中心化的计算.

区块链数据

区块链数据结构

区块链数据结构
为了实现数据的不可篡改性,区块链引入了以区块为单位的链式结构.不同区块链平台在数据结构的具体细节虽有差异,但整体上基本相同.以比特币为例,每个区块由区块头和区块体两部分组成,区块体中存放了自前一区块之后发生的多笔交易;区块头中 存 放 了 前 块 哈 希、随 机 数、Merkle根等.
在这里插入图片描述

区块链数据模型

比特币区 块 链 采 用 基 于 交 易 的 模 型;以 太 坊、 Fabric区块链采用了基于账户的模型.
(1)基于 交 易 的 模 型.以数字货币为基础的区块链中的交易通常就是转账,图为比特币中交易的数据结构.每个交易由交易输入和交易输出组成,交易输入和交易输出可以有多项,表示一次交易可以将先前多个账户中的比特币合并后转给另外多个账户.

区块链数据存储

共识机制

目前,区块链项目中主流的共识算法包括:工作量证明(POW)、权益证明(POS)、股份授权证明(DPOS)、混合证明机制等。

PoW

在这里插入图片描述

PoS

在这里插入图片描述

DPoS

PBFT

智能合约

运作机制

编程语言

运作环境

区块链的优劣势和发展趋势

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值