区块链的整体架构,包括数据层、网络层、共识层、激励层、合约层、应用层六层。
数据层
一切区块链技术的底层依赖,也是区块链的本质。
网络层
进行点对点交易和广播多播的部分,保证交易与交易确认的顺利进行。正是由于区块链点对点交易的特性,使数据传输是分散在各个节点之间进行的,部分节点或网络遭到破坏对其他部分影响很小。
共识层
为了将区块链网络中各节点的数据快速进行统一,保证全网数据的一致性。共识算法基本分为证明类、拜占庭类、传统共识类和混合类这几种,之前介绍比特币时涉及到的POW(工作量证明)机制就是一种典型的证明类共识机制。但POW共识算法的耗费的成本太大,区块链应用现在已经开始逐步放弃了POW共识算法转向其他的共识算法。
合约层
在底层技术的基础上对外提供的一种用于编写可执行代码的接口,也就是智能合约所在的部分。智能合约是可以存储在区块链中的一段代码,它们可以被区块链上的交易所触发,被触发后的代码可以从区块链上读取数据或者向区块链上写入数据,以助于区块链平台的使用开发其定制化的实际应用。
应用层
可以封装区块链的各种应用场景,例如搭建在以太坊上的各类应用有以太猫游戏(CryptoKittes)、开源开发者激励网络(Giten)、基于真实世界事件下注的交易平台(Veil)等。