一、概念
区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。1.特点
1.1 去信任(Trustless)
用户不需要相信任何第三方
1.2 去中心化(Decentralized)
点对点(Peer-to-Peer)转账
区块链不依赖于中心的管理节点,允许单个节点与其他节点直接交互,能够实现数据的分布式记录、存储和更新。
1.3 可追溯
后一个区块拥有前一个区块的hash值
二、技术点
1.块链式数据结构(Chained-Block Data Structure)
保证数据库的完整性
一段时间内发生的事物处理以区块为单位进行存储,并以密码学算法将区块按时间先后顺序连接成链条。
1.1 区块(记录交易数据)
在区块链网络上承载交易的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易。
(1)块头
(2)块身
2.分布式存储
高容错性
基于P2P网络的分布式存储是将数据存储于区块上,并通过开放节点的存储空间建立的一种分布式数据库。
2.1 分布式结构
部分节点崩溃,保证整个数据库系统正常运行与完备
(1)分布式记账
系统参与者集体记录、维护
(2)分布式传播
(3)分布式存储
存储在所有参与记录数据的节点中
3.密码学
数据库可信赖
通过Hash函数、非对称加密来保障数据不可篡改。
3.1 Hash函数
(1)Hash:y=H(x)
对 x 进行哈希运算得出 y,可以隐藏原始信息 x,无法通过 y 来算出 x,达到匿名性。
3.2 非对称加密
(1)非对称加密:公开密钥与私有密钥是一对,若用公钥对数据加密,只有用对应的私密才能解密;若用私钥对数据加密,那么只有用对应的公钥才能解密。
4.共识算法
保障节点与节点间数据一致性
4.1 解决了拜占庭将军问题
无需信任的节点达成共识
三、挑战
1.高耗能
2.数据存储空间
分布式存储-区块容量小,造成网络拥堵
3.大规模交易处理
数据库-需要大量的写操作、hash计算及验证操作
4.安全性保障
漏洞