本讲座选自清华-青岛数据科学研究院大数据基础设施研究中心特约研究员、加拿大Viscore公司创始人兼总裁刘运渠先生于近期在清华大数据“技术·前沿”系列讲座上所做的题为《一致性、原子广播与区块链》的演讲。
后台私信回复1031获取完整版PPT~
刘运渠:要理解区块链,我们必须理解分布式系统,以及分布式系统如何保证一致性。这里的一致性指的是英语里的consistency。一致性和时间有直接逻辑和数学关系。爱因斯坦狭义相对论说没有时间,只有同步的事件。在计算机领域中,Leslie Lamport在他的著名论文里面说过,他不知道物理世界里面有没有时间,但是可以明确的说计算机系统里没有时间。FLP和CAP都表明在非同步的网络上要实现一致性技术是不可能的。 工程上在一定概率内,例如99.9%,可以实现可靠性一致性等等。
一致性在我们日常活动中例子,可以用我们几个人去哪吃饭的决策过程来举例。有几个方案来决定。一个是一人决定。第二种是一个人说的不算,需几个人投票。第一种方案是很典型的中心化权力方案,第二种方案我们用高大上投票方案,很多一致性基于多数投票(Quorum)的。比如说在比特币里是最长链说了算,DAG里面说权重最重的那部分说了算,其实都是投票制的方案。
用计算机的术语来描述一致性。同样10台电脑,上面都有一个变量叫A,当所有变量A被赋值为1的时候,我们说是一致的。如果有9个机器赋值为1,另外一个机器赋值为0,这就是不一致。我们知道赋值不会自动发生,一般是有一个状态机给它赋值。如果多个节点的状态机里面,状态都是相同的,这就是一致的。在一个集群里面,所有状态机,输入状态机的数据是相同的,而且是同顺序的。这时候状态机就会停止在同一个状态,我们说状态机取得了一致。
在区块链场景里面一致性到底是什么意思?无非是两个问题:
- 每一个地址和账号里面,UTXO的数据是一致的。
- 谁把钱转给谁,保证这件事情一致,这是电子货币的系统的基础。
假设我们的资产不是电子货币,而是任何其他的电子数字资产,也就是说你要对数字资产的状态和交易数据一致。
用阿里巴巴的讲法,分布式系统有两个最基本问题(一致性与唯一性),和两个最基本的技术,data replication,与一致性哈希。我今天只讲是Data Replication,状态机在它开始工作之前,我也可以当成一个数据处理。一致性问题可以转化成Data Replication问题,是因为我们可以转化成状态机一致性问题,状态机翻转问题。外部一致性的问题也可以理解为Data Replication问题。
假设状态机本身是运行良好,我们可以把一致性转化为广播问题。另外,很多时候前状态和后状态之间没有因果性,没有因果性的事件之间不需要顺序上一致。只有因果性事件才需要顺序上的一致。
在广播问题中,FIFO广播是指消息按照它送的顺序收到,日常交谈中这几乎显然的,那是因为我们有空气广播作为稳定的广播通道。如果你在IP网络发一个包,你先发的后收到,后发的先收到。
原子广播意思就是除非所有人都收到,否则这个消息就撤回。只要其中有一个人没有听到,就把信息撤回。
拜占庭将军,是不确定性的通信系统。这个问题怎么解决?广播出去让所有人都知道,广播解决方案可以叫做去中心化,也可以叫多中心化。
广播有很多种实现。
- 第一种尽力实现的广播服务,网络提供广播服务,但是不保证送达。就像IPMC。
- 第二种保证送达广播,但不保证FIFO,也不保证原子性,例如简单的基于TCP的overlay广播。最后一种是原子广播与可靠广播。
第一层是用户层实现,好处是很容易应用,缺点就是性能比较差。第二层在物理层实现,但是还没有一种网络设备提供可靠的广播。
常见的交换模型如Infiniband模型,所用的方法三级multi-stage模型。大家会看到这个方法实现会有blocking。
我们的新架构,Optical Broadcast-Select Switch,里面有N的3次方的节点,实现N的N次方的任意组合,所以可以支持可靠的任意光广播(arbitrary multicast)。在加拿大做的产品原型prototype,在12个节点做到了68亿不丢包。可以用这样硬件做一个广播负荷的卸载技术。这是可以在广播上应用的高性能技术。
最后是区块链与基础网络的问题。区块链技术的一个重要价值是去中心化的交易,不需要第三方信任,可以支持一个完全开放的系统。区块链的不可能三角是指去中心化,性能与安全性三个不可能都同时满足。
区块链基础设施,基于现在互联网络设施的区块链,如同当年的64K拨号上网internet,不仅仅是性能问题,而是基础设施的设计原则发生了变化。它的性能里面的交易特性,跟总量、带宽、时延都有关系。
我们用一个网络路由算法Pub/Sub architecture来提升广播服务。这个网络平面在基础设施层面上提供一个广播的服务,不是简单把数据乱丢,而是知道哪个节点是我要的。
清华数据院对区块链基础设施的想法,我们提供了广播的高速广域,不是仅仅为了支持区块链服务,而是支持整个数据服务。 我们希望做到更低的时延。
整理:张卓婧
后台私信回复1031获取完整版PPT~
— 完 —
关注清华-青岛数据科学研究院官方微信公众平台“THU数据派”及姊妹号“数据派THU”获取更多讲座福利及优质内容。