当把层级划分出来后,诸多问题就能迎刃而解。
讨论参与者:Genaro CTO 吴为龙,李画
撰文:李画
这篇文章源于一次讨论,文章内容也是对讨论内容的整理。讨论源于一个普通的问题:区块链该不该追求效率?
问题普通却很难回答,难是基于两个相矛盾的常识:
1.分布式系统的效率无法提高:受限于分布式系统CAP定理,分布式系统很难追求高效率。
2.人们希望区块链系统能够支持需要高效率的应用。
一边是无法提高效率,一边是必须提高效率,区块链该不该追求效率?这引发了一个更基础的问题:什么是区块链技术?如果能回答清楚这个问题,也许就能回答区块链该不该追求效率。
区块链技术是开发一个区块链系统所包含的全部技术的统称,还是只指解决区块链系统中某些特定范围内问题的技术?当我们接着去回答这个问题时发现,如果把一个区块链系统「分解」成不同的层,问题就能变得清晰和有所指,也就能给出相应的答案。
一个区块链系统可以划分为四层,从下至上依次是:分布式系统层,区块链层,应用平台层,应用层。我们通常所说的区块链/公链是包含分布式系统层,区块链层,应用平台层的这样一个三层的集合。
为什么可以这么去划分区块链系统的层级?因为不管是从功能上还是从实现上,它们都可以被单独地切分出来。功能上,每一个层级要做的事情不一样;实现上,每一个层级采用的方法也不一样。