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