详解区块链的分层协议体系结构-互操作性
本开始阅读本文时,我们先了解什么是抽象性:在计算机科学中,抽象化(英语:Abstraction)是将数据与程序,以它的语义来呈现出它的外观,但是隐藏起它的实现细节.抽象化是用来减少程序的复杂度,使得程序员可以专注在处理少数重要的部份.一个电脑系统可以分区成几个抽象层(Abstraction layer),使得程序员可以将它们分开处理。
据称Lightning和Plasma等第2层技术“在块链的可扩展性,互操作性和功能性方面取得了巨大进步”。 但是,大多数第2层项目主要关注可扩展性,偶尔也会提到互操作性。 为什么? 这不仅仅是时间或发展阶段的问题。 这实际上应该是这样,第2层用于伸缩性而第3层用于互操作性。
扩展和互操作性是互补的,但是通过不同的协议层可以最好地解决这些问题。 为了说明这一点,我将介绍分层协议体系结构的目的以及第1,2和3层的角色。我还将解释分离可扩展性和互操作性如何改进两者的解决方案,其设计与互联网本身惊人地类似。
分层协议的目的
总是有可能把多个独立的问题凝聚成一个复杂的相互依赖的解决方案。
RFC 1925:十二个网络真相
互联网是分层协议架构的最佳范例,这种设计是互联网增长和实用性的关键因素。 不同的功能部分被分成彼此构建的单独协议,而不是在一个单片系统中捆绑在一起。
例如,因特网协议(IP)建立在不同的底层网络技术或“链路层”协议上,例如以太网和WiFi。 由于IP被设计为单独的层,因此它不依赖于任何特定的网络技术,并且能够以相同的方式在许多不同类型的有线或无线连接上工作。
分层协议体系结构提供了许多重要的好处:
互操作性-IP通过抽象出不同的网络技术来工作。只要链路可以发送数据,IP就可以通过它进行通信。这意味着无论我们使用的是什么类型的底层网络,我们都可以无缝连接。
可升级性-抽象使不同的层可以单独进化。虽然互联网是在20世纪70年代建立的,但事实上,IP将不同的网络技术抽象出来,使我们能够从拨号网络升级到光纤和4G链路。更高级别的协议不需要更改,但随着新的网络技术的发展,我们的连接速度不断加快。
多用途的通用基础设施-IP也独立于任何特定用例,这使得相同的基础设施可用于从Web到电子邮件和IP语音(VoIP)的应用。如果互联网是专门为文件传输而构建的,那么我们可能需要为每个不同的用例提供完整的独立网络。相反,我们有一个可用于多种类型通信的互联网。
分层是设计互联网或价值互联网等系统的重要工具,但决定哪些特征适合哪些层是最难的部分。太多的层使系统过于复杂,但过多的捆绑会妨碍互操作性和可升级性。
价值互联网的协议栈
Interledger协议栈与Internet协议套件具有直接的并行性,这主要是因为我们发现将功能划分为类似的层有助于解决各个级别的问题。在这里,我将简要地介绍每个层,以解释它们的角色,并展示将第3层集中在互操作性上的好处。
第1层:分类帐
区块链和其他类型的分类帐就像支撑互联网的物理电缆。数字通信最终通过有线和无线链路实现,这些链路连接各个设备并在它们之间传输数据。同样,分类账是价值互联网的基础,因为它们使两个接受同一资产的人或在同一系统中持有账户进行交易。
像物理电缆一样,分类帐和区块链需要在它们之上构建额外的协议,以方便数据或金钱的传输。对于区块链,主要问题是在保持分散的同时,扩展事务吞吐量和降低延迟。
分类帐注定会成为性能瓶颈,因为它们在逻辑上是集中的。无论分类账是以集中还是分散的方式维护,它都需要一个单一的、一致的、共享的账户和余额状态,以确保资金不能“双花”。更新大量共享状态总是相对昂贵且缓慢。瓶颈将是分布式账本中的共识速度,或者是集中式分类账中单个机器的性能。提高分类帐的可伸缩性是非常有用的,但是使用第2层协议把常见和重复的事务从主分类帐中移出将增加吞吐量并更大程度地降低延迟。
第2层:局域网
用于扩展区块链的第2层解决方案类似于Internet堆栈的链路层协议,如以太网和WiFi。该层创建双边链接或局域网(LAN)*,允许直接连接的各方或设备在底层网络上高效通信。
区块链的第2层技术旨在通过使用一种程序化托管方式在底层分类账上实现快速,廉价,高吞吐量的交易。此类别包括支付渠道和广义状态渠道等双边技术,以及包括Lightning和Raiden,侧链和Plasma等支付渠道网络在内的多边解决方案。通过允许成对或较小的账户持有者组进行交易而不需要每次都与主分类账交互,这些中的每一个都能够实现更快,更便宜的交易。
程序性托管
中国观察