1、区块链到底是啥?
区块链的基本知识
区块链具有分布式特性且可以有效地保障网络中的数据安全,而空天地一体化网络也是典型的分布式网络,因此区块链可以用于空天地一体化网络进行安全维护。比特币网络中产生一个区块所需时间约为10分钟,该时延不满足空天地一体化网络低时延的要求,因此本文在对区块链的基本知识进行深入分析后提出基于哈希链的身份认证和隐私保护方案。
区块链的概念
区块链是近年来计算机技术在互联网、金融领域兴起的一种新型的应用模式,是分布式数据存储技术、点对点传输技术(P2P)、共识机制以及加密算法等的结合。区块链是一种链式的数据结构,将区块按时间顺序链接,并采用密码学方法保证数据记录的不可篡改和不可伪造的特性。
区块链技术最早来源于中本聪(SatoshiNakamoto)于2008年发表的论文。文中虽然没有提出区块链这一概念,但是提出了一个基于端到端的网络来解决双重支付问题的方案。该现金系统允许在线支付直接从一个账户转到另一个账户而不需要经过金融机构(第三方机构)。在整个网络中,交易的时间戳的Hash值会形成一个哈希链作为一个支付的证明,同时也是交易发生顺序的证明。
具体来讲,区块链利用块链式的数据结构来验证并存储数据、利用共识机制来生成和更新数据,利用智能合约(由自动化脚本代码组成)来编程和操作数据。
如图2-4所示,区块链的技术发展路线从P2P网络、加密方法到区块链1.0和区块链2.0。区块链从下至上分为五层:数据层、网络层、共识层、激励层以及应用层。
2、区块链的关键技术
区块链的关键技术有以下几点:
(1)通信:节点间数据传播,区块链中一般采用P2P网络来组织所有的节点,节点之间一般是通过多播机制实现数据的传播。
(2)存储:在正常的运行过程中数据会以块链式的结构存储在内存中,但是最终还是会存储到数据库中。
(3)安全机制:区块链利用密码学原理进行数据的加密及隐私保护,常用的有哈希算法、数据加密、数字签名以及零知识证明等。
(4)共识机制:区块链中各个节点达成一致的策略和方法,常见的有工作量证明、权益证明、股份授权证明、拜占庭容错以及权威证明等。
区块按照时间顺序逐个连接成涟,每一个区块记录了区块创建过程中发生的所有的交易信息,区块一般分为区块头和区块体,区块头主耍由当前区块的版本号、前一区块的Hash值、时间戳、随机数、目标Hash值和Merkle根等组成。区块体包含了区块创建和验证过程中的所冇交易记录。区块链主链上的区块是加盖时间戳按时间先后顺序链接起来的,作为交易数据不可窃改、不可伪造的证明。随机数(Nonce)是在挖矿过程中用于挖掘加密货币而自动生成的,是基于POW所涉及的随机数字,通过难度的调整来改变其汁算时间。如图2-7所示
区块链保存的一般是交易数据的Hash值,而不是原始数据。Hash值通常用一个任意的输入通过哈希运算得到的定长的“指纹”。哈希函数(散列函数),具有单向性、定时性、定长性和随机性的特点,对于输入的不同数据会产生长度固定的不同输出。一般不能通过结果反推出输入值,并且不同长度的输入值哈希运算所消耗的时间基本相同。
区块体中的交易记录通常会使用最简单的二叉Merlde树进行组织,在树的最底端是每笔交易的原始记录;每一笔交易经过哈希运算得到一个Hash值,这些Hash值再两两结合经过哈希运算得到新的Hash值,以此类推会生成一个最终的结果,这个值就是Merkle树的根。在图2-7中,原始的交易数据就是交易1、交易2、交易3和交易4,经过一次哈希运算得到的Hash值Hash
1、Hash2、Hash 3和Hash 4。再依次向上进行哈希运算得到最终的Hash值Hash
1234即为Merkle根。一旦交易内的数据被篡改,通过哈希运算后,其Hash值也会发生改变,Merlde树的根也会发生变化,可以快速验证交易数据的完整性。从图2-7可以看出,Merkle树是区块链的重要组成部分,使得区块头只需要包含最后的Hash值即Merkle根,而不需要将所有的交易数据封装起来,这就节省了生成区块的时间、提高了区块链的运行效率;其次,可以在只运行部分节点的情况下进行交易数据的验证。
3、区块链的应用
区块链的应用发展到目前主要有三个阶段,初始的以比特币为代表的加密货币阶段,通过对使用场景的优化发展到以以太坊为代表的智能合约阶段,最后发展到现在各个领域中的应用。下面举例介绍一下区块链在不同阶段的应用:
区块链1.0时代,比特币,中本聪于2008年提出的一种点对点、去中心化的加密货币。比特币不依赖于中央机构发行,而是通过POW在区块链中完成。同时,比特币使用分布式的数据库来记录并验证相关交易信息。
区块链2.0时代,以太坊是一个可以建立和发布其他分布式应用的开发平台。以太坊平台上有可以自动执行的智能合约,通过区块链的节点以分布式的方式执行。以太坊是一种开源的、图灵完备的、智能合约公有区块链。
区块链3.0时代,区块链被应用到其他领域中,例如,基于区块链的众筹平台、基于比特币区块链的分布式匿名数据协议、基于以太坊区块链的人工智能科研平台。除此以外,区块链还在物联网、车联网等领域有广泛的应用前景。在物联网领域中,区块链可以用来追踪智能设备的运行情况,共享信息提高效率、进行维护,还可以在楼内中利用传感器来实现智能家居。将区块链运用到车联网领域中,区块链既可以传递交通信息,帮助车辆避开拥堵路段、提供更好的驾驶体验,还可以利用数字网络追踪货物的运输或追踪车辆实现车辆间的通信、车辆检测等。然而,比特币系统中一个比特币区块的生成过程需要10分钟,系统每秒仅能处理7笔交易。空天地一体化网络对时延的要求非常高,利用共识机制来生成区块可能会带来很大的时延,因此,本文在POA的基础上提出不使用传统共识机制的哈希链来作为认证方案的基础。