区块链是一种共享的分布式数据库技术,结构特征如下:

1.一个分布式的链接账本,每个账本就是一个“区块”;
2.基于分布式的共识算法来决定记账者;
3.账本内交易由密码学签名和哈希算法保证不可篡改;
4.账本按产生的时间顺序链接,当前账本含有上一个账本的哈希值,账本间的链接保证不可篡改;
5.所有交易在账本中可追溯。

区块链分类:

1.公有链:任何人均可自由参加和退出

  • 比特币和以太坊等就是典型的公有链
    2.联盟链:加入和退出需要经过联盟授权
  • 盟链适合于机构间的交易、结算或清算等B2B场景。例如在银行间进行支付、结算、清算的系统就可以采用联盟链的形式,将各家银行的网关节点作为记账节点,当网络上有超过2/3的节点确认一个区块,该区块记录的交易将得到全网确认。
    3.私有链:权力完全控制在一个组织中
  • 私有链的应用场景一般是企业内部的应用,如数据库管理、审计等

核心技术

共识层:POW
网络层:P2P网络、传播机制、验证机制
数据层:区块数据、链式结构、数字签名、哈希函数、非对称加密、Merkle树

区块+链

  • 从技术上来讲,区块是一种记录交易的数据结构,反映了一笔交易的资金流向。系统中已经达成的交易的区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分。
  • 每个区块由区块头和区块体组成,区块体只负责记录前一段时间内的所有交易信息,主要包括交易数量和交易详情;区块头则封装了当前的版本号、前一区块地址、时间戳(记录该区块产生的时间,精确到秒)、随机数(记录解密该区块相关数学题的答案的值)、当前区块的目标哈希值、Merkle数的根值等信息。从结构来看,区块链的大部分功能都由区块头实现。
  • 概括来看,一个区块包含以下三部分:交易信息、前一个区块形成的哈希散列、随机数。
  • 交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量、电子货币的数字签名等;前一个区块形成的哈希散列用来将区块连接起来,实现过往交易的顺序排列;随机数是交易达成的核心,所有矿工节点竞争计算随机数的答案,最快得到答案的节点生成一个新的区块,并广播到所有节点进行更新,如此完成一笔交易。

哈希函数

  • 哈希函数可将任意长度的资料经由Hash算法转换为一组固定长度的代码,原理是基于一种密码学上的单向哈希函数,这种函数很容易被验证,但是却很难破解。通常业界使用y =hash(x)的方式进行表示,该哈希函数实现对x进行运算计算出一个哈希值y。
  • 常使用的哈希算法包括MD5、SHA-1、SHA-256、SHA-384及SHA-512等。

Merkle树

  • Merkle树是一种哈希二叉树,使用它可以快速校验大规模数据的完整性。在区块链网络中,Merkle 树被用来归纳一个区块中的所有交易信息,最终生成这个区块所有交易信息的一个统一的哈希值,区块中任何一笔交易信息的改变都会使得Merkle 树改变。

非对称加密

  • 非对称加密算法是一种密钥的保密方法,需要两个密钥:公钥和私钥。
  • 公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,从而获取对应的数据价值;如果用私钥对数据进行签名,那么只有用对应的公钥才能验证签名,验证信息的发出者是私钥持有者。
  • 因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法,而对称加密在加密与解密的过程中使用的是同一把密钥。

P2P网络

  • P2P网络(对等网络),又称点对点技术,是没有中心服务器、依靠用户群交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能。
  • P2P网络其具有去中心化与健壮性等特点。

共识机制

  • 共识机制,就是所有记账节点之间如何达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。目前主要有四大类共识机制:PoW、PoS、DPoS和分布式一致性算法。
  • 重点看一下POW
  • PoW机制,也就是像比特币的挖矿机制,矿工通过把网络尚未记录的现有交易打包到一个区块,然后不断遍历尝试来寻找一个随机数,使得新区块加上随机数的哈希值满足一定的难度条件。找到满足条件的随机数,就相当于确定了区块链最新的一个区块,也相当于获得了区块链的本轮记账权。矿工把满足挖矿难度条件的区块在网络中广播出去,全网其他节点在验证该区块满足挖矿难度条件,同时区块里的交易数据符合协议规范后,将各自把该区块链接到自己版本的区块链上,从而在全网形成对当前网络状态的共识。
  • 优点:完全去中心化,节点自由进出,避免了建立和维护中心化信用机构的成本。只要网络破坏者的算力不超过网络总算力的50%,网络的交易状态就能达成一致。
  • 缺点:目前比特币挖矿造成大量的资源浪费;另外挖矿的激励机制也造成矿池算力的高度集中,背离了当初去中心化设计的初衷。更大的问题是PoW机制的共识达成的周期较长,每秒只能最多做7笔交易,不适合商业应用。
posted on 2021-04-19 17:00  20175316  阅读(613)  评论(0编辑  收藏  举报