区块链分层“Layering“解析
扫描二维码
随时随地手机看文章
分层(Layering)是互联网的中心概念之一。网络堆栈中的每个协议都直接与上下层进行会话——只要使用相应层的语言,新的协议就可以添加到那个层上。只要不会破环与上下层的兼容性,就可以升级某一层的协议。这一架构能够将互操作性最大化,并且允许很高程度的灵活性。各层的形状可以说是一个沙漏,如下图:
除了协议层之外,我们又继续搭建了基础设施层和应用层。基础设施包括 AWS 和 Cloudflare 等,软件库包括 Node、Rails 和 jQuery 等,服务包括 Twilio 和 Stripe 等。现如今,要构建一个应用程序,你不需要建立一个(或多个)数据中心、考虑如何手动处理 HTTP 请求,或是针对支付或通信系统编写裸机适配器。
在密码学/区块链领域,我们尚处于搭建分层的起步阶段。我想我可以肯定地说,如今的区块链景观更像早期的 AOL、Prodigy 和 Compuserve(不联通的独立网络),而不是开放的互联网。一个主要原因是加密货币和代币的引入,对于构建新的网络并实现现有网络价值的最大化有很强的激励作用,至少目前看来是这样。然而,随着团队继续构建且不断重复构建相同的事物,分层似乎是必然且必需的。
区块链内分为网络层(以 libp2p 为主要工具)、共识层(tendermint、hashcash 等)、应用程序/智能合约层,可能还有索引/搜索层(这是每个人都在做的事,不过 thegraph 正试图通过分层解决)。
也许最有趣的问题是,如何将不同的区块链系统层叠起来。Cosmos 和 Polkadot 正通过轮辐式模型(hub-and-spoke model)为具有互操作性的区块链搭建系统,影子资产与外链挂钩实现互操作性。Interledger 正试图成为一个更通用的跨账本(此处的账本指的是区块链等)协议,类似于核心网络堆栈的 TCP/IP 。
随着我们从推测阶段进入功能阶段,如何将这些系统相互连接并层叠起来似乎是一大基本问题。我们才刚开始关注这个问题。