区块链与物联网:构建智慧社会和数字化世界
上QQ阅读APP看书,第一时间看更新

1.1.3 区块链的架构设计

虽然区块链与基础语言或平台相比还有明显的差距,但它也有自己的架构设计。区块链的架构设计并不复杂,可以分为协议层、扩展层、应用层。

(1)协议层

通俗地讲,协议层与我们平常使用的电脑操作系统非常类似,也具有维护网络节点的作用。一般情况下,协议层会向用户提供基本的客户端,这个客户端具有钱包一样的功能,但是比较简单,只可以支持建立地址、验证签名、转账支付、查看余额等。

协议层是整个区块链的基础,如果这一层已经构建好网络环境,搭建好交易通道,其他层就不能再参与。这也是区块链具有难以篡改特征的一个重要原因。

协议层中用到了很多技术,包括网络编程、分布式算法、密钥加密、数据存储等。在这些技术中,网络编程是用到最多的一个,也是最基础的一个。

分布式算法把一个比较大的计算任务分解成很多个小的计算任务,然后放到多个机器上计算,最后进行汇总。例如,某个企业要求从100G的用户数据中分析出不同地域用户的购物习惯,这些数据数量庞大,如果不分解,短时间内无法完成分析,但如果采用分布式算法就容易很多。

密钥加密技术可以保证信息数据的安全,该技术可以分为对称密钥和非对称密钥。对称密钥是指文件的加密和解密都使用相同的密钥,在密码学中被称为对称加密算法。该算法使用起来比较简单、快捷,而且比DES的加密性好,也不要求过高的计算机功能。非对称密钥有两个密钥:公开密钥和私有密钥。如果采用公开密钥对数据进行加密,只有相对应的私有密钥才能解密。所以,这种算法也被称为非对称加密算法。

如果是海量数据,就需要运用数据存储技术对其进行整理、归类,然后存储起来。该技术可以有效避免无效数据、过期数据占用存储空间的现象。而且,数据存储相对来说比较独立,所以自由度也相对比较大,区块链系统的整体性能主要取决于网络或数据存储的一些性能。例如,“比特币”采用的技术就是谷歌的LevelDB,这个数据的读写性能非常好,开发者可以自己实现很多功能的开发。

(2)扩展层

扩展层的主要作用是让区块链产品更加实用。这一层可以分为两类。一类是交易市场,“虚拟货币”通过这个交易市场可以实现加密,其优点是操作起来比较简单,而且收益高、成本低。当然,交易市场也存在一定的缺点,那就是风险比较大。另一类是针对某个方向的区块链,如智能合约。智能合约之所以智能,是因为如果合约达到一定的条件,就可以自动执行,而不需要人为操作。

扩展层使用的技术也比较多,包括分布式存储、VR、物联网、大数据等。扩展层和协议层是相互独立的两个层,除了在交易时会产生交互以外,其他时候完全不受彼此的影响。

(3)应用层

每个人都可以接触到区块链的应用层,现在这一层的应用还不是非常广泛,最具代表性的就是各类支付客户端。