一、区块链技术介绍
1.什么是区块链
狭义来讲, 区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构, 并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账 (Decentral- ized shared ledger), 能够安全存储简单的、有先后关系的、能在系统内验证的数据.
广义的区块链技术则是利用加密链式区块结构来验证与存储数据、 利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码 (智能合约) 来编程和操作数据的一 种全新的去中心化基础架构与分布式计算范式.
- 交易: 记录账本的变化. 任何类型的有 效交易信息都会通过数字化或加密方式来确保准确 性和真实性.
- 区块: 一个存储所有交易信息的数据结构, 包括区块头和区块体.
- 链: 包含按时间顺序生成的区块, 记录状态 的改变.
2.特点
区块链具有去中心化、时序数据、集体维护、可编程和安全可信等特点.
3.相关技术介绍
3.1哈希散列
例如:将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。
3.2非对称加密
利用公私钥完成信息加密、数字签名和登录认证
常见加密方案有:RSA(大素数难题)、Elgamal(离散对数难题)、ECC(椭圆加密算法)
3.3Merkle 树
Merkle 树是区块链的重要数据结构, 其作用是快速归纳和校验区块数据的存在性和完整性.作用归纳如下: