鏈得得一區(qū)一塊鏈?zhǔn)澜?,春風(fēng)得得為誰來。毫無疑問,區(qū)塊鏈災(zāi)備技術(shù)是未來金融科技行業(yè)災(zāi)備方式的一個重要發(fā)展方向。隨著2019年春節(jié)檔期上映
鏈得得一區(qū)一塊鏈?zhǔn)澜?,春風(fēng)得得為誰來。
毫無疑問,區(qū)塊鏈災(zāi)備技術(shù)是未來金融科技行業(yè)災(zāi)備方式的一個重要發(fā)展方向。
隨著2019年春節(jié)檔期上映的國產(chǎn)科幻電影《流浪地球》,科幻這一在國內(nèi)較為冷門的題材一下子成為了焦點話題。在電影情節(jié)中,杭州市雖然沒有直接出現(xiàn),但作為重要的劇情轉(zhuǎn)折點,杭州市的毀滅也讓觀眾們議論紛紛。
在電影上映后,支付寶在微博上回答了網(wǎng)友們的問題:杭州市毀滅了,花唄還要還嗎?
在這份回答中,阿里表示,“現(xiàn)在支付寶的機房是‘三地五中心’,也就是在三座城市部署五個機房。如果其中一個或兩個機房發(fā)生故障,支付寶的底層技術(shù)會將故障城市的流量全部切換到運行正常的機房,并且能做到數(shù)據(jù)保持一致、零丟失,以此應(yīng)對自然災(zāi)害、斷電、光纜被挖斷等黑天鵝事件……”
“為了應(yīng)對地球2500年的流浪,支付寶的地下機房肯定不會‘三地五中心’,大概是‘七十二地下城一百零八中心’,即使杭州一個地下城沒了,也能把所有數(shù)據(jù)切換到其他中心。如果運氣不好,一百零八中心全部受災(zāi),而按照電影設(shè)定的科技水平,支付寶到那時可能已經(jīng)實現(xiàn)了去中心化的區(qū)塊鏈處理和量子計算,所有數(shù)據(jù)節(jié)點完全是分布式的云端架構(gòu),只要地球上還剩下一臺計算機在線,支付寶就依然可用。”
對于支付寶來說,出色的災(zāi)備能力背后也是血的教訓(xùn)。2015年5月,杭州市蕭山區(qū)某地光纖被挖斷,導(dǎo)致部分用戶無法使用支付寶。隨后支付寶工程師緊急將用戶請求切換至其他機房,受影響的用戶逐步恢復(fù)。兩個小時之后,支付寶方面宣布用戶服務(wù)已經(jīng)恢復(fù)正常。
當(dāng)時的支付寶災(zāi)備模式為異地雙活的架構(gòu),即杭州和外地兩處機房同時為用戶提供服務(wù),系統(tǒng)會將全國所有用戶的需求分流到兩處機房。異地雙活不同于常見的一主一備式方案,通過這樣架構(gòu),如果某一個地區(qū)發(fā)生了一些意外情況以后,可以更加快速的把服務(wù)分散到別的機房去。
發(fā)生意外的并不僅僅是支付寶,谷歌甚至還經(jīng)受過更加嚴(yán)重的考驗:2013年8月,包括搜索在內(nèi)的大多數(shù)谷歌服務(wù)宕機數(shù)分鐘。市場研究公司表示,谷歌服務(wù)宕機對全球互聯(lián)網(wǎng)產(chǎn)生了廣泛影響,在一段5分鐘長的時間內(nèi)造成全球互聯(lián)網(wǎng)流量下降40%。
在面臨突發(fā)事件例如火災(zāi)或其它嚴(yán)重事故時,谷歌有能力將所有數(shù)據(jù)轉(zhuǎn)移到其它數(shù)據(jù)中心中并使用戶能夠順利繼續(xù)訪問的技術(shù)。他們表示,整個轉(zhuǎn)移過程是“順暢無縫”且“完全自動”的,但并未提到具體實施細(xì)節(jié)。這項技術(shù)無疑是參考了谷歌自行設(shè)計的知名災(zāi)備平臺Spanner,但具體細(xì)節(jié)外界依然不得而知。但對于體量如此巨大的企業(yè)來說,發(fā)生黑天鵝事件似乎是板上釘釘?shù)?mdash;—2018年10月,youtube再次宕機兩小時,造成了巨大的負(fù)面影響。
另一方面,在支付寶宕機事故發(fā)生三年之后,支付寶改用了 “三地五中心”的容災(zāi)解決方案——即在三個城市,安置五個機房。一旦其中的一個甚至兩個機房發(fā)生故障,底層數(shù)據(jù)庫系統(tǒng),會自動將流量全部切換到正常的機房。這個底層數(shù)據(jù)庫系統(tǒng)采用的是其自主研發(fā)的分布式數(shù)據(jù)庫OceanBase,數(shù)據(jù)庫之間利用Paxos協(xié)議保持?jǐn)?shù)據(jù)一致性。
Paxos算法是萊斯利·蘭伯特于1990年提出的一種基于消息傳遞且具有高度容錯特性的一致性算法。Paxos算法解決的問題是在一個可能發(fā)生進(jìn)程緩慢、被殺死或者重啟,消息可能會延遲、丟失、重復(fù)的分布式系統(tǒng)中如何就某個值達(dá)成一致,保證不論發(fā)生以上任何異常,都不會破壞決議的一致性。
一個典型的場景是,在一個分布式數(shù)據(jù)庫系統(tǒng)中,如果各節(jié)點的初始狀態(tài)一致,每個節(jié)點都執(zhí)行相同的操作序列,那么他們最后能得到一個一致的狀態(tài)。為保證每個節(jié)點執(zhí)行相同的命令序列,需要在每一條指令上執(zhí)行一個“一致性算法”以保證每個節(jié)點看到的指令一致。在實際應(yīng)用中,Paxos算法的意義就是讓五個機房的數(shù)據(jù)始終保持一致,從而使用戶的財產(chǎn)在任何情況下不會多出來或者消失。
但是Paxos算法有一個先天的缺陷:在算法中并不考慮可能出現(xiàn)消息篡改,即拜占庭將軍問題的情況。
拜占庭將軍問題也是由萊斯利·蘭波特在其同名論文中提出的。Paxos算法解決的問題是,在分布式系統(tǒng)中可能存在的不穩(wěn)定性,而拜占庭將軍問題則加入了不確定性。換句話來說,Paxos算法能解決機房消失,網(wǎng)絡(luò)阻塞等問題,但無法應(yīng)對機房被入侵發(fā)出的假消息。
在《流浪地球》的世界觀里,不僅在地下城中出現(xiàn)了飛船派、地球派的分歧,在地面上也有叛軍的存在。支付寶的“一百零八中心”在城市隨時都會被毀滅的背景下出現(xiàn)問題的機會也更大:即使是現(xiàn)在,支付寶也不能徹底杜絕機房被入侵的可能性——黑天鵝效應(yīng)就是指極不可能發(fā)生,實際上卻又發(fā)生的事件。這也是為什么支付寶在回答中一定要加上“支付寶到那時可能已經(jīng)實現(xiàn)了去中心化的區(qū)塊鏈處理”的原因:在出現(xiàn)信任問題的時候,區(qū)塊鏈?zhǔn)亲罴训慕鉀Q方案。
將區(qū)塊鏈技術(shù)引入云儲存系統(tǒng)災(zāi)備的目的是利用區(qū)塊鏈技術(shù)去中心化、去信任的特點實現(xiàn)云存儲系統(tǒng)中存儲節(jié)點的分布自治以及存儲節(jié)點間基于共識算法的數(shù)據(jù)交換與數(shù)據(jù)共享。
與目前主流的中心化云服務(wù)系統(tǒng)相比,網(wǎng)絡(luò)節(jié)點可以建立多對多而非一對多的聯(lián)絡(luò)關(guān)系,能夠大幅提升數(shù)據(jù)的傳載效率;在數(shù)據(jù)存儲、交換以及上傳、下載過程中采取數(shù)據(jù)的區(qū)塊化封裝、匿名交換以及非對稱性加密算法,能夠極大地保證數(shù)據(jù)云存儲整個生態(tài)鏈的安全性和可靠性。
在基于區(qū)塊鏈的災(zāi)備系統(tǒng)之中,災(zāi)備中心不僅要接收并校驗金融數(shù)據(jù),也要對校驗后的金融數(shù)據(jù)和金融狀態(tài)數(shù)據(jù)進(jìn)行哈希處理生成金融數(shù)據(jù)ID,并將金融數(shù)據(jù)、金融狀態(tài)數(shù)據(jù)以及金融數(shù)據(jù)ID進(jìn)行封裝以生成區(qū)塊數(shù)據(jù)和區(qū)塊高度,從而緩解金融數(shù)據(jù)多變與區(qū)塊鏈執(zhí)行操作單一之間的沖突。
實際上,這種基于區(qū)塊鏈的金融數(shù)據(jù)災(zāi)備系統(tǒng)早就成為了各家金融科技企業(yè)的重點發(fā)力對象:通過檢索歐洲專利管理局?jǐn)?shù)據(jù)庫,我們可以發(fā)現(xiàn),不僅是阿里巴巴,京東金融、點融、云象等企業(yè)都申請了類似專利。
根據(jù)其中一些文檔的表述,可以預(yù)見,將區(qū)塊鏈技術(shù)應(yīng)用到災(zāi)備云存儲領(lǐng)域可以實現(xiàn)在眾多網(wǎng)絡(luò)存儲設(shè)備和存儲需求之間直接建立多對多的聯(lián)絡(luò)關(guān)系,無需搭建統(tǒng)一的管理平臺,從而大幅降低系統(tǒng)的搭建、運行、管理成本。毫無疑問,區(qū)塊鏈災(zāi)備技術(shù)是未來金融科技行業(yè)災(zāi)備方式的一個重要發(fā)展方向。
關(guān)鍵詞: 支付寶 區(qū)塊鏈災(zāi)備 保護(hù)數(shù)據(jù)