专访小飞象共识发起者:没有实用的异步共识,就难有区块链应用的爆发
摘要:
以前的异步共识,压根就没有一个能用的,那么多年的研究成果,就是没有人去实现它,特别复杂。
区块链是一个去中心化的网络,而共识算法就是其中的精髓。节点之间的共识决定了一个事件能否被写入链上。
在联盟链网络中,最主要的共识算法之一是由图灵奖得主米盖尔·卡斯通(Miguel Castro)和芭拉·利斯科夫(Barbara Liskov)提出的 PBFT (Practical Byzantine Fault Tolerance,实用拜占庭容错算法)。PBFT 是为了解决经典的拜占庭将军问题,即存在叛变成员时,将军如何能与忠诚的士兵们达成正确且一致的共识。
尽管 PBFT 从理论上可行,但是随着参与者的增多、数据量的增大、网络复杂性的增加,PBFT 通讯成本过高的缺陷逐渐显现。
美国新泽西理工学院终身制教授、博士生导师唐强对 CoinDesk 中文版表示,他认为区块链应用至今难以有类似 Internet 上部署的重量级应用的原因之一是由于缺失可实用的异步共识。
数十年来,异步共识研究一直停留在理论阶段,安德鲁·米勒(Andrew Miller)等学者在 2016 年才提出第一个接近实用的异步共识 HoneyBadger BFT (蜜獾 BFT)。唐强直言:“之前的异步共识都非常复杂,你不会想去了解它。HoneyBadgerBFT 第一次给了人们希望。相比 HoneyBadger BFT,我们的小飞象协议不仅理论上有质的提升,实验数据也确实展示了效率的大幅提升。接下来我们会逐步在京东数科的智臻链平台中整合,落地小飞象协议。”
近期,唐强和中科院软件所的合作伙伴张振峰及团队设计的 Dumbo 协议(小飞象协议)已经被计算机领域顶级安全会议 ACM CCS 2020 接收;同时,唐强团队在异步共识协议中的一个重要组成 MVBA 方面的理论突破也被 ACM 分布式计算旗舰会议 PODC 2020 接收。
专访中,唐强还谈到异步共识的必要性、小飞象协议的优越性,以及如何将其应用在实际业务中。
“没有实用的异步共识,就难有区块链应用的爆发”
CoinDesk 中文版:你们为什么要做异步共识?同步共识有哪些问题?
唐强:自从比特币火了以后,人们开始关注在公开网络如 Internet 上部署共识协议设计分布式应用,而 Internet 天然是个异步网络。当前所有区块链平台部署的共识协议都属于同步共识, 只能在相对封闭的、小规模的内网(同步网络)相对安全地运行。在公开的异步网络上运行同步共识, 非常容易因为局部节点遭受各种网络攻击、而导致全网瘫痪,这会大大降低区块链平台的安全性和实用性,这也是至今区块链技术难以开发出重量级应用的原因之一。可以说,没有可实用的异步共识,就不会有区块链应用的爆发。
同步共识(比如 PBFT)需要依赖同步假设,这是指一个消息在指定的时间内,全网都可以收到它。这在传统共识中没有太大问题,因为传统共识一直是几台服务器在所谓的数据中心跑来跑去。但是在比特币诞生之后,大家对去中心化应用的想象都是在公网上。不过在公开的网络中,节点可能在不同国家、甚至不同大洲,所以,同步共识这一前提假设并不正确。
在上述假设里,如果要保证相对高的安全性,你就要把时间参数调整得非常大,这会导致协议变得特别慢。很多同步共识会依赖领导节点、去给其他节点发布指令,而这时只要攻击领导节点,就可以让全网卡死。
CoinDesk 中文版:可以简单介绍一下同步网络和异步网络的区别吗?
唐强:同步网络上面提到,在网络条件一直很好的情况下,一则消息在固定时间内可以广播到全网,一般只能在小规模内网中实现;而异步网络描述的是真实的互联网,网络条件可能时好时坏,消息只要求能传出去。
CoinDesk 中文版:攻击主要领导节点的实现可能性,在现实情况中是不是很低?
唐强:看情况。如果是攻击京东云、谷歌云、亚马逊 AWS 的话,可能概率会小一点,因为他们的网络很强大。但是如果联盟链部署在普通的网络,比如在几十个小公司的服务器之间部署联盟链,那攻击几个小公司之间的服务器概率还是很大的。以这些服务器中的节点作为领导节点,都会有这个问题。
CoinDesk 中文版:异步共识的其他优点是什么?
唐强:异步共识大家都想要,但是一直都没有落地。现在所有大平台也都没有实现异步共识,基本上它们用的还都是 PBFT 那一类的共识,这类共识就是会导致前面说的对领导节点的攻击。而异步共识可以避免局部节点遭受攻击而导致的全网瘫痪。
另外异步共识如果设计得巧妙,速度甚至可能更快,因为它不需要设置任何网络延时参数,只要网络好就可以跑得快。有些时候,异步共识的速度与同步网络相当,甚至会更好。
相比之下,异步共识更大的优点是实现系统过程的工程难度更低。在同步共识中,会有一个时间参数的设置,如设置 3 分钟的等待时间,等待全网共识达成。在这种设计下,会面临各种意外状况,比如原本要收到 3 个消息但是只来了 2 个,又或者收到了不合要求的消息,这怎么办?可能得再等一段时间,如果再不行,那就换领导节点。这套机制在实际系统中是非常非常复杂的,要考虑到各种各样的因素,比如节点来晚了、网络不稳定。做过分布式系统实现的工程师,应该都有被超时机制搞崩溃的经历。
但是在异步网络中,没有这种等待的要求,反而大大降低了实现难度。
CoinDesk 中文版:异步共识落地应用面临最大的问题是什么?
唐强:异步共识协议存在著名的 FLP 不可能定理 (FLP 不可能定理指的在异步网络模型下,没有任何确定性算法能够完全保证分布式系统下的一致性)。几十年间,各种各样的研究都主要集中在理论可行性,这导致协议被设计得非常复杂,也没有人实现这些协议。此外,在无需许可的公链上,实现异步共识也几乎不可能。Elaine Shi 之前也证明过。(注:Elaine Shi,HoneyBadger BFT 论文和很多其他著名共识协议的作者之一。)
“小飞象协议,既快,又皮实”
CoinDesk 中文版:小飞象协议名字有什么寓意?
唐强:既快,又皮实(Robust & Secure)。
CoinDesk 中文版:相比现在已有的异步共识,它有什么突破点?
唐强:在异步共识里,我们主要的对比对象是 HoneyBadger BFT。2016 年,我的师弟安德鲁·米勒(Andrew Miller)他们首次优化出一个古典异步协议,并做了代码实现,即 HoneybadgerBFT(2018 年的 BEAT 协议,是和 HoneybadgerBFT 协议一样的框架)。其他异步协议都是最左边的图片,看起来一团糊,连 Implementation(实现)都没有。
CoinDesk 中文版:小飞象协议最大的意义是什么?
唐强:我们是第一次把异步协议从理论真正带到实际的团队。具体操作中,我们先从协议设计上,观察到之前协议最主要的瓶颈,并把最费事的模块使用压缩到最低,从而实现在数量级上的质的提升,同时各个效率也大幅提升。另外 Dumbo-MVBA 解决了一个存在二十年之久的共识协议方面的问题,并把上述模块做到了理论最优。这些在学术界的影响非常大。如果在工业界,能把异步协议第一次落地,并且运行得还不错,就已经是突破性事件。
这就像当年的 PBFT 协议,相当于我们是第一个把 BFT 同步共识从理论带到实际的。之前,数据中心都完全不考虑 BFT,而是考虑 CFT(崩溃容错)。
CoinDesk 中文版:在您提供的资料中提到,目前小飞象协议的 TPS(Transactions Per Second,每秒传输的事物处理个数,即服务器每秒处理的事务数。)是 1-2 万左右,这个是实验室的理论值,还是实际可落地值?
唐强:这个是我们初步在亚马逊 AWS 上几大洲十个区域 100 个节点上运行的值,还没有经过任何优化,实际值可能会更高,并能从工程上做各种各样的优化,但我们目前尚未做优化。我们只是把协议做了原型实现跑了一下。在协议设计方面,也还有优化空间。另外我们的确认延迟相比 HoneyBadger BFT 已经可以从分钟级降低到秒,由此带来的效率提升是全方位的。
CoinDesk 中文版:异步共识 TPS 达到多少是比较理想的状态?
唐强:这个数字其实我也不确定。比如超级账本的 PBFT 测出来的是几千 TPS,再经过各种各样的优化,也许可以达到几万。我觉得 TPS 不是唯一值得考虑的目标,具体也要看业务场景,比如小额交易会需要比较高的 TPS,比如供应链和物流可能就不需要特别高的 TPS。
我们现在的 TPS 是 1-2 万,加上一些很新颖的技术后,还能成倍的扩大,这点我不是很担心。Visa 现在的 TPS 也就是几万吧,支撑正常的支付已经完全没有问题了。
单看 TPS 意义也不大,在不同的硬件配置和不同的工程优化下,TPS 可以看起来很不一样。我相信,现在 TPS 已经不是最大的问题了。
CoinDesk 中文版:您觉得阻碍异步共识走向主流的因素会有哪些?
唐强:之前就是因为异步共识特别复杂,它不只是 TPS 小,而且延迟特别长,可能要几十分钟。高复杂度导致它的规模上不去。以前的异步共识,压根就没有一个能用的,那么多年的研究成果,就是没有人去实现它,特别复杂。也没有人尝试去实现它,因为都知道它肯定很慢,肯定也没法跑。
HoneyBadger BFT 最大的贡献就是向整个社区发问,异步共识到底能不能使用,给了大家一线希望。然后,我们就证明了异步共识确实可以。当然在后续的落地中,我们也肯定会遇到各种各样新的挑战。
“我们会在实际业务中逐步整合,落地小飞象协议”
CoinDesk 中文版:你们现在已经开始进行落地了吗?
唐强:研究成果才刚刚出来,论文才刚被顶级会议接收,现在都还在规划中。进行工程整合和真正落地都需要时间。
我们将新设计的小飞象协议部署在横跨五大洲,分布在十个地区的 100 个 亚马逊 AWS 节点上,实验结果表明小飞象协议的表现优于当前最好的协议数十倍,延迟从 8 分钟左右降低到 20 秒左右,吞吐量由 1700 TPS 提高到接近 2 万 TPS,甚至已经超过了大多数的同步协议。现在相当于是理论原型的验证阶段,接下来,我们会一步步整合到京东数科的区块链平台智臻链中。
CoinDesk 中文版:为什么选择跟京东合作,其它的互联网大厂,比如腾讯、阿里、百度也都有自己的区块链平台和业务?
唐强:我们之前和中科院软件所、京东建立区块链联合实验室,一方面是机缘契合,正好跟京东高层讨论到了这些事。另外他们吸引我的一点是,京东是少有的具有大量潜在应用场景的合作对象。它有很强的电商平台、供应链、京东数科,这里面有很多资产证券化、金融方面的项目,另外它们内部还有很多需要多方协作的业务场景。比较有意思的是,京东天然就是一个很大的实验场,毫不费力就能培育出很多需求。
大公司是有很多,但不是每一个大公司都天然有这么多的需求。
另外,京东也很看重前沿技术的研究。我们成立的初衷是希望,学术界和业界能有深度的产品合作,而不是简单的咨询。我们每个月都开会进行头脑风暴,目的就是想看看能否碰撞出新场景和新需求。
京东智臻链有一个好处是,它的共识协议是模块化的,就像积木一样的,所以整合起来不会很困难。企业也可以根据他们的业务需求选择共识协议。
CoinDesk 中文版:具体到小飞象协议,这个将怎么在京东的业务流程中实现?
唐强:最直接的是为京东数科的智臻链平台提供更多的一个共识机制的选项。比如,在一些供应链、跨境电商和金融服务中,客户会非常在乎安全性,那么这个时候,小飞象协议就给了他们更多的一个选择。
CoinDesk 中文版:公链可以通过通证经济模型的设计来处罚节点,但是在联盟链的场景下,应该如何对节点进行激励或者处罚?
唐强:联盟链和公链的应用场景还是不太一样的。比如,供应链一个链条里很多商家或者银行可以合作组成联盟,他们彼此互相认识,所以他们会非常在乎自己的声誉。比如,一个大银行节点老是出错,不管有意无意,这都会在无形中对它的声誉产生影响。
而在公链场景下,参与者可以随意加入,彼此完全不了解,所以这个时候才需要设计更复杂的通证激励机制。
所以说,联盟链和公链的激励机制是完全不一样的。反而在激励机制设计方面,联盟链会更容易。联盟链不一定需要经济模型,联盟链参与者出错损失的是声誉。
CoinDesk 中文版:京东集团与新泽西理工学院(NJIT)、中科院软件所发起成立的区块链联合实验室的主要研究的方向是哪些?你的团队现在有多少人?
唐强:我的博士生加起来应该十位左右,当然并不全是做区块链,还有做应用密码学的。中科院软件所张振峰老师领导的研究团队规模更大。我们更多的是负责做一些前沿的研究,比如探索异步共识和更大规模的半同步共识。
CoinDesk 中文版:一般是京东根据具体业务给你们提研究方向,还是你们自行选择研究方向?
唐强:这也是一个交互不断迭代的过程,在成立之初,我们大概定了几个方向,比如共识机制、隐私保护、密码学等等...... 京东数科的区块链团队也会跟我们讨论新的业务场景和业务需求。
CoinDesk 中文版:您觉得,整个区块链技术要多久才能爆发走向主流?其中的关键契机可能会有哪些?你们的场景集中在哪些?
唐强:你可能很难想象到,在 2000 年时,还是要电话拨号上网,那个时候的网速才只有几十 K,慢得做不了太多事情。那时也想象不到现在看视频会成为家常便饭。这个情景非常像现在的区块链。
现在区块链技术也不成熟、也不安全,包括大家的观念也没有更新。我认为最主要的还是技术不够成熟。为什么现在网络变得这么普遍、网速变得这么快?应用多到让人眼花缭乱?就是因为技术足够成熟。我相信随着区块链技术的不断发展,很多应用场景就会自然而然地催生。
个人的直觉,公链非常酷,也具有革命意义,比特币已经在那里了,但是可能会需要更久的时间才能走向主流。有人说它颠覆了生产力,甚至还有人说它颠覆了生产关系。正因为颠覆性太大,所以它需要更多的时间去做用户教育。
联盟链更像是彻底颠覆之前的一个阶段,我觉得它会先走向实际落地。因为它有天然的需求驱动,比如几大银行之间的互相转账可以通过联盟链实现转账即结算。联盟链更多的是面对你的问题,解决你的问题。比如 Libra 已经给了人们很大的图景。
我们目前和京东的合作主要是针对大企业的联盟链,京东有自己的智臻链平台,所以我们会探索供应链、数字资产等多个领域的应用。
作者:Coindesk中文;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com
链得得仅提供相关信息展示,不构成任何投资建议
更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App
3069576
得得号
|
+
-
1665645
区块链
|
+
-
评论(0)
Oh! no
您是否确认要删除该条评论吗?