当前位置: 首页 > 科技观察

区块链互联网系列:TCP协议是不是好协议

时间:2023-03-13 11:45:05 科技观察

从2015年开始,我们就把区块链定义为未来计算或者通信的基础设施。基础设施,即未来的计算机服务器和网络协议,将自上而下发生变化。2017年5月,作者在贵阳数博会上发表演讲,提出区块链互联网(链网)大框架,称区块链互联网将支持“链遍天下”,将改变互联网协议[1,2],3].链网会是怎样的协议?首先,链网协议必须兼容现在的互联网协议,但也必须支持区块链服务。但是互联网是40年前的技术,这个技术太老了。今天,任何2、3年前的技术,我们都可能认为它已经老了,必须改变,更何况是40年前的技术呢?正常情况下,这应该是更换了10次以上。有人说我们不需要更换TCP/IP,因为现在大部分的网络应用都在TCP/IP上。我们不同意,因为一开始TCP/IP获胜的主要原因是技术简单,实现方便,但其理论基础并不牢固。更重要的是,链网络会带来新的研究问题,很多区块链服务无法在TCP/IP上高速运行。这种链式网络代表了新一代互联网协议出现的需要。作为区块链互联网系列的第一篇文章,我们现在讨论TCP协议是不是一个好的协议。即使它只是支持互联网的运行,与区块链服务无关,我们仍然可以看到这个协议可以有很大的改进空间。只有了解该协议的问题,我们才能睁开眼睛。TCP采用端到端模型Internet最初是为了在特定的历史时期和特定的情况下发挥作用而设计的。互联网经历了多个发展阶段,已成为世界各国的数字基础设施。然而,最初的端到端设计原则已经失去了用处,成为更高效、更实用的基础设施的主要障碍。区块链将颠覆现在的互联网。这是一个很好的机会,这将是创建新互联网的最佳时机。图1:互联网现在是一个黑盒子端到端互联网是一个黑盒子端到端(E2E)互联网的问题在于它被设计成一个黑盒子。在黑盒模型中,端系统不知道黑盒的状态,所有反馈都来自黑盒外部,即来自与黑盒相连的端系统。互联网采用黑盒模式,可以让非军工企业与军工供应商合作建设通信基础设施。最初的APARNET原型是一个国防数据网络;许多非军事供应商也通过黑盒模式参与到互联网的共建中。作为回报,他们有权使用网络。端到端网络的初始设计目标如下:系统生存性;各种服务类型;各种网络类型。今天的军事和商业网络具有这些属性。虽然这些属性使Internet得以快速扩展并且是其成功的原因,但它也在许多方面阻碍了它成为更有用和高效的网络。我们之前提出,链网会有不同的应用网络,比如交易网络和监管网络。未来还会有很多不同的应用网络出来支持“全球链”。链与链之间会有跨链协议,跨链协议会有共识机制来保证跨链交易的资产是真实的。这意味着链网的需求与40年前的互联网完全不同。40年前,它旨在为军事和非军事应用提供共享平台,因此需要黑盒操作;现在,链无处不在,资产上链。各方需要对资产达成共识才能进行交易,交易必须经过共识机制。这需要全新的网络基础设施,而之前的黑盒协议无法支撑链网的需求。端到端互联网的五个缺点互联网是一个复杂的控制系统。因此,它应该根据经得起时间考验的控制理论来构建。控制理论告诉我们,一个控制系统包括两个基本方面:系统状态估计和对特定控制目标的控制。黑盒模型的缺点包括(但不限于)以下几点:1.网络内部反馈不及时;2.网络内部缺乏及时控制;3.缺乏对网络状态的系统估计;4.缺乏对网络的系统监控5.盲视终端系统运行带来的噪音和干扰。网络内缺乏及时反馈根据控制理论,控制运行质量的关键取决于控制器接收到的反馈。在黑盒设计中,只能从终端系统接收反馈。因此,当来自发送端的数据包流在网络中遇到拥塞时,发送系统无法接收到拥塞点的拥塞情况。当在路径的另一端检测到拥塞时,它只能推测发生了什么。对端系统反馈给发送端系统的质量充其量只是延迟和对路径拥塞的粗略估计,甚至可能是对路径状况的完全错误估计。缺乏及时的网内控制根据控制理论,最大控制无延迟地运行;然而,一个简单的延迟可能会导致被控制的系统从有限维度变为最大维度。使用黑盒模型,控制只能在网络外部的终端系统启动。这意味着无论控制做得多么好,它在拥堵点的影响都会被延迟。众所周知,这种设计会导致严重的系统性能下降。在网络环境中,假设正确的控制动作是降低发送端系统的发送速率。当流量减少的影响达到拥塞点时,拥塞可能已经消失,或者路径的瓶颈可能已经转移到另一个点。缺乏对网络状态的系统估计黑盒模型的另一个严重缺点是它阻碍了对网络状态的系统估计。今天的互联网是相关元素的连接网络。因此,为了估计网络的真实状态,需要在网络内多点采集网络状态信息。例如,如果不观察与第一条路线具有相同连接的其他路线上的交通状况,就不可能预测一条路线上的交通状况。采用端到端的设计,很难在互联网上观察和估计真实的网络状态。然而,移动运营商或内容分发网络(CDN)运营商等认识到需要进行全网状态监控。一个典型的运营商设施通常有一个网络控制中心,允许运营商监控其网络中最重要的部分。但是,运营商无法估计其网络所连接的互联网的真实状态。对于运营商来说,连接到运营商网络的互联网是无法系统估计的。缺乏对网络的系统控制同样,黑盒模型阻碍了对互联网状态的系统控制。为了优化对一小部分网络的控制以达到特定的控制目标,往往需要对与该小部分网络交互的互联网其他部分施加控制。几乎在所有情况下,都需要系统、协调地对互联网的多个点进行控制。例如,假设控制目标是充分利用用户购买的100MbpsInternet连接。但是,由于互联网是共享的,除非没有其他流量共享用户占用带宽,否则您无法获得100Mbps。瓶颈处的额外流量可能导致用户可用带宽降至100Mbps以下。端到端设计可防止两个或多个独立方协调其控制行为以实现独立方需要实现的控制目标。因此,一般情况下,企业(如银行或证券交易系统)会建立一个完全私有的网络来实现其控制目的。端系统噪音和干扰端到端的设计其实是互联网本身性能不佳的根本原因。在互联网上,除非协议或合同要求,否则每个自治系统(AS)独立于其他AS运行。因此,每个AS都独立运行,并且经常成为其他AS和用户的噪声源和干扰源。一个简单的例子就是TCP出了名的低性能。每个TCP发送方都受TCP标准约束,以便在发送端维持所谓的“公平份额”吞吐量。在TCP模型中,共享同一瓶颈链路的其他发送方发送的所有通信都是自然发生的。因此,每个发送方都可以按照自己的节奏自由发送数据包,没有流量控制机制来协调或调节。因此,今天的Internet流量具有突发性和高度随机性。由于互联网上没有系统的流量调节,几乎整个互联网上的任何应用都会经历不同的RTT(RoundTripTime)。当RTT变化很大时,TCP吞吐量可能会崩溃;这种崩溃在今天的互联网上仍然很常见。图2:随着端到端往返时间RTT的增加,TCP吞吐量降低[3]本文中的分析也适用于互联网的基本架构。链网将有新的协议和架构,是下一代互联网[4]。参考文献[1]。蔡伟德等,《区块链中国梦之一:区块链互联网革命性变革中国科技进步》,2018.8.7https://mp.weixin.qq.com/s/NtM7jHfxq1rsIAO0i7cEBg[2]。蔡伟德等,《区块链的中国梦II:链遍全球,共创数字社会》,2018.9.11https://mp.weixin.qq.com/s/WCIMDUSrCueJyNAMpAn8hA[3]。Mathis、Semke、Mahdavi和Ott,“TCP拥塞避免算法的宏观行为”,计算机通信评论,27(3),1997年7月https://www.slac.stanford.edu/comp/net/wan-mon/通过-vs-loss.html[4]。蔡伟德等,《区块链互联网》,2017.6.3https://mp.weixin.qq.com/s/7cTVxvGVPZeax0zuUAhWmg作者简介:蔡伟德:北航数字社会与区块链实验室,天德科技,国家大数据(贵州)综合试验区区块链互联网实验室、天民(青岛)国际沙盒研究院、赛迪(青岛)区块链研究院KevinTsai:加州大学尔湾分校名誉教授,麻省理工学院学士、硕士、博士技术、区块链网络专家