首发 | 蚂蚁区块链工程师自述:用区块链实现地铁二维码跨城通行
来源:蚂蚁金服
2020年春运启动的第一天,截至这天蚂蚁区块链助力的“长三角主要城市扫码互联互通”项目服务异地乘车人数较去年春运增加近15倍,接入城市扩大到11个,覆盖旅程1842公里,累计节省排队时间可绕地球飞行万余次。
思绪回到一年前,互通互联首次项目会议在支付宝办公所在地——杭州西溪路z空间进行。那天早上10点,来自上海、杭州、宁波等城市地铁公司的业务和技术人员没来得及去酒店办理入住,直接拖着行李箱到达了会议室。上午讨论确定方案,下午开始进行开发,闭关一个多月,基于区块链的地铁互联互通终于完成上线。彼时大家都有些精疲力竭,一个项目组成员甚至忙到忘记差点缴还房贷,但一年后大家都庆幸自己能成为本次项目中的一员。蚂蚁区块链工程师解析地铁互联互通背后的区块链技术应用。
异地乘车的难点是票务实时结算
春节,一个上海白领回到老家宁波,他打开上海地铁APP,“嘀“一声,扫码成功,开闸,乘车;再“嘀”一声,出站,一次异地乘坐地铁之旅完成。对个人用户而言,他能感知到是流畅的扫码乘车,但“嘀“一声的背后是区块链等众多技术攻坚之处。跨城出行的一大难点是异地票务结算,而异地票务结算的难点便是各地间数据不互通。由于法律法规和运营模式等客观因素,每个城市的轨道交通,都在使用独立的用户和数据系统。传统的数据共享模式是一个中心化服务撮合各个数据提供方,然而随着参与方的增加,继续使用传统系统将导致三个问题:系统和工程的复杂度呈指数型增长,数据的安全性会面临严峻的挑战,各个参与方之间缺乏一套互信机制。
尽管各地乘客对跨城轨道交通“通票”的需求与日俱增,各方对此却束手无策,迟迟无法推动。因为地铁互联互通的背后,需要一种新的技术产品,联通各个信息孤岛,达成跨城市轨道交通数据高效、安全和可信的共享与协作。
基于蚂蚁区块链Baas平台,所有城市地铁的乘客乘坐信息都放在一条公开、统一且安全的链上,各大城市都能从上面直观地获取乘坐数据完成票务结算,这无疑攻克了传统异地票务阶段的壁垒,从而让跨城出行更加便捷和高效。随着用户“滴”一声扫码完成,区块链自动实现了秒级结算。
值得注意的是,蚂蚁区块链采用了联盟链的组网方式。蚂蚁区块链采用自主研发、经过优化的拜占庭容错(PBFT)共识机制,可使共识速度小于1秒,这就是互联互通秒级结算背后强大的技术武器。
用最小成本互联互通
项目伊始,所有人都形成共识:让更多城市的接入门槛最低。
传统的点对点网状互通模式具有在小范围内快速互通的优势,但是在面临更多城市接入的时候,存在互通数据缺失,开放性不足,不利于大面积推广等问题。为了更高效地实现各城市城轨票务系统的接入,互通互联项目引入区块链服务平台。由于各个城市的地铁app都是向区块链上进行数据的读取和写入,无需一个中心化的系统即可保证数据具有强一致性,当有新的参与方加入时,也只需对接区块链,不会影响已有的系统。
区块链互通方案具有以下优势:
首先,互联互通二维码乘车方案,无需改造票务设备,让每一个接入城市对于自有的AFC系统、互联网票务系统(二维码)以及对应的系统都有完全自主的权利,所有核心业务由落地城市自主把控、自主管理,可控性与完整性更强。
其次,城市相互之间通过互通SDK接入、统一接口规范与业务流程耦合,每一个城市仅需要接入一个SDK即可以实现与其他多个城市的互联互通,大大降低了接入成本及后期维护成本。
最后,引入区块链技术,互通城市之间的用户信息、行程信息、结算信息通过区块链应用平台实现共享,提升互联互通业务的公平可靠,同时对扣款异常等行为的失信用户信息进行共享,促成联合风控的信用体系。
更安全的硬件级安全保护
作为互联网应用系统,整个系统需要实现统一的数据安全,并实现不同城市不同密钥的数据加密方式,确保每个城市系统数据的安全性。
感性上,人们通常会觉得对称的事物更具有美感,非对称是不完美的。但是在信息安全领域,不对称性却自有其妙处。在数据的安全性方面,互联互通采用非对称密钥对上链的数据进行加密。
核心数据采用非对称加密算法,确保每一个城市安全性独立。区块链的数据只有互联互通成员能够访问:互联互通成员访问区块链的需要使用区块链认证的证书,客户端访问区块链使用TLS 双向认证,保证数据传输过程的安全。
利用加密和解密的密钥不是同一把但是一一对应这一特性,可以做到放心地将用于加密的公钥分发给数据提供方;同时不需要获取信息,也能验证信息的合法性。蚂蚁区块链BaaS不仅为参与方提供了更安全的硬件级密钥生成工具,也在产品使用上让数据权限的管理变得更加简单、可靠。严格证明的数学定理和BaaS为数据安全做的大量努力,共同确保不同类型的数据在个城市地铁的业务系统间高效的流转,而不被任何无关方获取。
越来越多的城市的轨道交通加入互联互通,为乘客提供更高效的出行服务,蚂蚁区块链展现了支持多参与方场景下数据共享和协作的能力。蚂蚁区块链BaaS平台为业务系统的开发者降低了区块链的使用的门槛:不仅联盟发起者可以在一分钟的时间内创建联盟链,联盟的各个参与方也只需几步简单的配置,即可加入联盟链,实现数据的交互。此外BaaS还提供了用于参与方的身份及资质的校验一系列增值服务(BaaS Plus)以及基于TEE硬件的隐私加密计算,联盟链间的高性能跨链能力,这为更大规模的地铁互联互通联盟组建提供了坚实的技术基础。
在商业和生活中还有很多场景:供应链上各级供应商、核心企业和银行之间的资金流转;物流和资金流信息在包括监管机构在内的各方共享……随着区块链技术的发展,这些昨天的一筹莫展的痛点,成为了今天振奋人心的机会,一个以区块链为基础设施的产业互联网的时代,正在加速向我们走来。