一、 区块链的必要元素——数据层、网络层、共识层
数据层、网络层和共识层是一切区块链的基础,是区块链必不可少的三个元素,分别对应了区块链的一些基本设计理念。
1、数据层(Data Layer)(随机数、时间戳、公钥私钥等)表征了数据在区块链中存在的基础形式,即“区块+链”的结构。每段时间内产生的信息都以新的区块的方式保存,并随着区块增多构成链式结构,这是整个区块链技术中最底层的数据基础。
2、网络层(Network Layer)(p2p、数据传播机制、数据验证机制)对应了区块链“分布式存储”的理念,主要是点对点机制、数据传播机制和数据验证机制。区块链上的各个节点通过这一层保持联系,从而使得分布式算法得以实现并共同维护整个社区。
3、共识层(Consensus Layer)(pow、pos、Dpos等)对应了各个区块的“共识机制”,具体表现为PoW、PoS、DPoS、PoW 和 PoS 结合、燃烧证明、重要性证明等十几种共识机制。
二、区块链技术的拓展元素——激励层、合约层、 应用层
激励层、合约层和应用层虽然不是区块链的理论基础,但是能极大提升区块链的应用价值并吸引大家自发使用或维护。随着区块链贡献者不断增加,拓展层的定义也在不断被丰富,甚至未来可能会诞生第四、第五个层。
4、激励层(Actuator Layer)包括“激励机制”和“分配制度”,我们常说的挖矿奖励就是一种激励层。通过奖励一部分数字资产从而激励矿工去验证交易信息,推动区块链账本持续更新。
5、合约层(Contract Layer)自然和“智能合约”相关。以太网等平台用代码自动履行合约,从而不需要第三方信任背书的情况下实时进行交易,极大提升了区块链的应用范围。当然除了智能合约,还有一些别的脚本代码、侧链应用等等。
6、应用层(Application Layer)就很简单了,类似于手机上的各种 APP,即区块链的各种“应用场景”,比如早期十分火热的培育猫咪游戏“CryptoKitties”。
三、区块链的4层结构
明确了区块链存在的6个基本层级,不同的开发者针对自己所处的层级研发了各式各样的应用。按照应用在整个软件栈中的位置,各种应用被归纳到了4层应用结构中。距离技术底层逻辑最近的是Layer 0,而与之相对距离客户运用最近的则是Layer 3。
Layer 1 层是处理信息和完成交易的区块链。之所以从L1层开始,是因为我们最熟悉的“比特币”、“以太坊”都是L1层的应用。从层级上来看,一个基础的L1层区块链至少对应了数据层、网络层和共识层。另外,由于在实际落地的时候需要吸引人们自发地维护,每种区块链都不约而同地引入了虚拟币,从而包含了激励层。但需要说明的是,激励层并不是L1专属的层级——事实上想要让区块链运作起来,激励层是每个开发者都必须考虑的事情。
Layer 2层是构建在第1层之上的第三方集成。L1层受限于区块的吞吐量,直接在其上进行交易和信息操作既浪费时间又成本高昂。L2 诞生的主要目的便是为了提高可扩展性和每秒交易数。本文所要介绍的Arbitrum便是当前L2层最成功的扩展性方案。
Layer 3层是应用层,是非技术使用者实际与区块链应用交互的平台。相比于L1和L2,支持 L3 生存发展的最大立足点在于其能够提供特定场景定制化的应用服务,例如链上游戏。毫无疑问从功能性而言,L3对应了6大层级中的应用层。
Layer 0层留到最后讨论,是因为L0是整个区块链的最底层,对应了互联网和硬件连接存在的地方,又称数据传输层。L0层主要涉及区块链和传统网络之间的结合问题,从而解决了区块链对外以及区块链之间相互交互的方式。