除了游戏和医疗,腾讯区块链还准备做什么?
導(dǎo)讀:4月23日,在UP2018騰訊新文創(chuàng)生態(tài)大會(huì)上,騰訊發(fā)布了首款,也是目前唯一一款應(yīng)用了區(qū)塊鏈技術(shù)的游戲《一起來(lái)捉妖》。馬化騰在近期舉辦的2018中國(guó)“互聯(lián)網(wǎng)+”數(shù)字經(jīng)濟(jì)峰會(huì)上也表示,騰訊正在利用區(qū)塊鏈技術(shù)與醫(yī)院合作開(kāi)數(shù)字處方,并在考慮推動(dòng)這項(xiàng)技術(shù)落地。其實(shí),相比游戲、醫(yī)療,騰訊區(qū)塊鏈在金融上有天然的應(yīng)用場(chǎng)景。本文由騰訊技術(shù)工程事業(yè)群計(jì)費(fèi)平臺(tái)部的abllen撰寫,他從技術(shù)的角度詳細(xì)介紹了騰訊云區(qū)塊鏈TBAAS系統(tǒng)上的最新應(yīng)用場(chǎng)景。
一、騰訊云區(qū)塊鏈TBaaS介紹
騰訊云區(qū)塊鏈TBaas, 是結(jié)合云服務(wù)推出的區(qū)塊鏈平臺(tái)。其整體結(jié)構(gòu)如下圖:
? ? ? ? ? ? ? ? ? ? ? ? ? ?
作為一個(gè)完整的區(qū)塊鏈服務(wù),目前提供的特性有:
(1) 運(yùn)營(yíng)上,客戶可以根據(jù)需要快速創(chuàng)建一套可靈活伸縮的自有應(yīng)用, 內(nèi)含高度自動(dòng)化的合約發(fā)布、系統(tǒng)監(jiān)控及運(yùn)維。
(2) 調(diào)度上,整體系統(tǒng)通過(guò)kubernetes實(shí)現(xiàn)高效的調(diào)度運(yùn)行。
(3) 安全上,實(shí)現(xiàn)基于CA及人臉等的強(qiáng)化用戶身份認(rèn)證。
(4) 隱私保護(hù)上,所有的鏈上數(shù)據(jù)都是加密的,只有在相關(guān)的用戶或機(jī)構(gòu)授權(quán)后,才能讀寫操作。
(5) 合約編輯,客戶可在頁(yè)面IDE上自助編寫(見(jiàn)下圖),后端會(huì)做好相關(guān)的語(yǔ)法語(yǔ)義合法檢查后自動(dòng)提交鏈上,盡量避免目前行業(yè)常遇到的合約安全問(wèn)題。
6) 底層存儲(chǔ)上,基于分布式存儲(chǔ)來(lái)實(shí)現(xiàn)幾乎無(wú)限的拓展。
7) 性能上,目前已實(shí)際做到3000TPS(pbft),高于行業(yè)平均值,足以開(kāi)展一般的商業(yè)應(yīng)用。
8) 在數(shù)據(jù)后處理上,TBaas還提供方便的AI分析等服務(wù)。
?
在具體的安全處理上,TBaas全面支持國(guó)密算法并引入CFCA(中國(guó)金融認(rèn)證中心),來(lái)滿足國(guó)內(nèi)金融等行業(yè)應(yīng)用的合規(guī)要求,實(shí)現(xiàn)法律追溯及仲裁判定,同時(shí)還支持硬件加密,以進(jìn)一步提升加密認(rèn)證的處理速度。對(duì)于合約,基于零知識(shí)證明方法,可使得交易的各相關(guān)方只需也只能處理自身的數(shù)據(jù),同時(shí)實(shí)現(xiàn)整體交易的完整及不可篡改。
?
TBaas支持的區(qū)塊鏈項(xiàng)目有HyperledgerFabric 和 BCOS等。當(dāng)前區(qū)塊鏈底層研發(fā)主要基于Fabric構(gòu)建。Hyperledger 是Linux基金會(huì)于2015年發(fā)起的推進(jìn)區(qū)塊鏈數(shù)字技術(shù)和交易驗(yàn)證的開(kāi)源項(xiàng)目,目前進(jìn)化到1.1版本。主要應(yīng)用于聯(lián)盟鏈。
?
HyperledgerFabric 主要的特點(diǎn)是架構(gòu)通用化和模塊化設(shè)計(jì),這樣就很便于根據(jù)需要來(lái)自行調(diào)整或優(yōu)化,還有就是支持基于Go和Node.js的智能合約編輯,易用性較好。在Fabric架構(gòu)中,明確劃分了Endorse Peer(背書(shū)節(jié)點(diǎn)) / Commit Peer (all peers) / Orderer(共識(shí)服務(wù)) 三種角色,基本的結(jié)構(gòu)如下圖
?
整個(gè)流程,通過(guò)初始背書(shū)及合約模擬執(zhí)行等耗時(shí)運(yùn)算的并行執(zhí)行來(lái)盡量提升性能,然后通過(guò)共識(shí),按時(shí)間串行化交易序列及驗(yàn)證,來(lái)實(shí)現(xiàn)賬本數(shù)據(jù)的一致性,做到性能及一致性的較好平衡。
????????
在具體開(kāi)發(fā)過(guò)程中,我們做了如下的探索。首先是整體系統(tǒng)級(jí)的優(yōu)化,如Signature offload, TLS體系下請(qǐng)求簽名處理為CPU密集,并且實(shí)際Fabric運(yùn)行中有相當(dāng)多同樣運(yùn)算,通過(guò)將重復(fù)結(jié)果緩存,就可以有效提升單鏈的處理能力,另節(jié)點(diǎn)的簽名計(jì)算和數(shù)據(jù)落地,因存儲(chǔ)鏈?zhǔn)浇Y(jié)構(gòu)都是單進(jìn)程串行的,通過(guò)pipeline方式,可使簽名計(jì)算并行化來(lái)大大提高整體性能。對(duì)于系統(tǒng)的異常如Kafka或底層存儲(chǔ)的Leveldb、Couchdb crash,也都做了代碼級(jí)的修改確保數(shù)據(jù)無(wú)損。
?
其次就是邏輯流優(yōu)化, 目前Fabric其采用了樂(lè)觀鎖方法,模擬執(zhí)行和版本號(hào)機(jī)制來(lái)保證鏈數(shù)據(jù)的一致,但對(duì)于熱點(diǎn)賬戶等沖突大的情況,則容易導(dǎo)致交易的高失敗率,這方面的改進(jìn)有,1是放棄版本號(hào),讀寫集改用增量, 2是用影子賬號(hào),即將熱點(diǎn)賬戶做部分分拆,然后周期性做這些賬戶間的平衡調(diào)整。
?
在核心結(jié)構(gòu)方面,現(xiàn)階段Fabric設(shè)計(jì)中,Orderer通過(guò)Kafka來(lái)實(shí)現(xiàn)請(qǐng)求有序,這是一個(gè)有效的設(shè)計(jì),實(shí)際測(cè)試性能可達(dá)10000TPS,但Kafka本身的中心化導(dǎo)致擴(kuò)展性和穩(wěn)定性受限,同時(shí)管理命令也通過(guò)Kafka一同下發(fā)來(lái)保證節(jié)點(diǎn)處理結(jié)果一致的機(jī)制,導(dǎo)致一旦遇有消息堆積,有可能無(wú)法及時(shí)生效的問(wèn)題。解決方案,1對(duì)消息隊(duì)列,要求管理消息可插隊(duì),即消息分優(yōu)先級(jí);2 引入分布式共識(shí)算法如pbft。在應(yīng)用pbft并做實(shí)現(xiàn)優(yōu)化后,實(shí)測(cè)數(shù)據(jù)達(dá)到3000TPS。客戶可根據(jù)實(shí)際場(chǎng)景需要在兩種共識(shí)方法中選擇。
?
在底層存儲(chǔ)方面,Fabric區(qū)塊結(jié)構(gòu)目前是完全鏈?zhǔn)降?#xff0c;這導(dǎo)致即便無(wú)關(guān)的兩筆交易,節(jié)點(diǎn)的校驗(yàn)寫入也必須串行進(jìn)行,初步規(guī)劃使用DAG或HashGraph圖等結(jié)構(gòu)來(lái)使操作并行化從而進(jìn)一步提升性能。
?
二、 區(qū)塊鏈應(yīng)用場(chǎng)景當(dāng)前的區(qū)塊鏈應(yīng)用,一類是各種數(shù)字貨幣,這是典型的天然適應(yīng)場(chǎng)景,通過(guò)嘗試激勵(lì)等策略構(gòu)建一個(gè)特定的生態(tài),還有就是在其他各行業(yè)的推廣應(yīng)用,一般都是利用去中心化和數(shù)據(jù)不可篡改的特點(diǎn),來(lái)解決多方之間的相互信任及信息處理問(wèn)題,諸如供應(yīng)鏈融資授信、商品防偽、醫(yī)療病歷和影像共享、物聯(lián)網(wǎng)數(shù)據(jù)安全、跨國(guó)清算、交易實(shí)時(shí)對(duì)賬等。
?
就現(xiàn)階段而言,區(qū)塊鏈的應(yīng)用還在不斷的探索和嘗試當(dāng)中,亟需各種實(shí)際的落地案例來(lái)驗(yàn)證各類技術(shù)方案的可行性和有效性。而判斷一個(gè)場(chǎng)景是否適合,我們建議考慮如下原則,1) 有明顯的共識(shí)需求2) 多方有記賬意愿 3)數(shù)據(jù)開(kāi)放且多方對(duì)等(這里不代表可以直接查看,有可能要授權(quán)解密),典型如交易對(duì)賬,多方都有記錄,也都需要一個(gè)明確認(rèn)同的結(jié)果,就比較適合。
?
目前TBaaS 區(qū)塊鏈落地場(chǎng)景很多,這里舉兩個(gè)比較典型的案例: 一個(gè)是愛(ài)心人壽,主打保險(xiǎn)理賠,一個(gè)是微特,主打供應(yīng)鏈金融。
?
在與愛(ài)心人壽的區(qū)塊鏈合作上,主要探索將醫(yī)療機(jī)構(gòu)、保險(xiǎn)公司、衛(wèi)生信息平臺(tái)等組織成區(qū)塊鏈聯(lián)盟,打通諸多相關(guān)環(huán)節(jié),將數(shù)字存證信息安全高效地保存在區(qū)塊鏈上,力爭(zhēng)從根本上解決醫(yī)療數(shù)字信息的安全性、關(guān)聯(lián)性等應(yīng)用技術(shù)問(wèn)題,實(shí)現(xiàn)真正意義上的醫(yī)療、保險(xiǎn)等信息安全共享和互聯(lián)互通,為用戶提供高效直通安全優(yōu)價(jià)的健康醫(yī)療和保險(xiǎn)保障服務(wù)。
?
具體做法如圖,機(jī)構(gòu)分醫(yī)療機(jī)構(gòu)、保險(xiǎn)公司、病例中心、監(jiān)督節(jié)點(diǎn)多方,這里各方如醫(yī)療機(jī)構(gòu)、保險(xiǎn)公司等實(shí)際都是有多個(gè)組織組成的,為簡(jiǎn)化,圖上只列一個(gè)。
?
實(shí)際的保險(xiǎn)理賠中,客戶的麻煩在于病例單據(jù)的收集和整理,保險(xiǎn)公司的難點(diǎn)在于對(duì)病例的甄別及有效性驗(yàn)證,這是難以信任的兩方,并都要有一定的成本付出(如跨醫(yī)院處理),而醫(yī)院作為中間方,承擔(dān)著對(duì)于病例的保管責(zé)任,在現(xiàn)實(shí)中也有對(duì)其他醫(yī)療機(jī)構(gòu)病例的查看需要。這就同時(shí)滿足了區(qū)塊鏈應(yīng)用的幾個(gè)要求: 有客戶和保險(xiǎn)公司共識(shí)需求,有醫(yī)院間多方記錄的需求,有數(shù)據(jù)開(kāi)放共享的需求。考慮到客戶記賬的不便,引入病例中心和監(jiān)督節(jié)點(diǎn)(可選)參與第三方記賬,這些共同構(gòu)成典型的區(qū)塊鏈病例記錄場(chǎng)景。
?
因區(qū)塊數(shù)據(jù)的不可篡改性,保險(xiǎn)公司只要經(jīng)用戶授權(quán)并經(jīng)醫(yī)療方同意即可拿到翔實(shí)的病例單據(jù)實(shí)現(xiàn)有效準(zhǔn)確理賠。對(duì)保險(xiǎn)公司,只需付出少量的成本,對(duì)用戶則無(wú)需成本還更方便。保險(xiǎn)公司付出的成本將轉(zhuǎn)化為對(duì)醫(yī)療機(jī)構(gòu)及病例中心的物質(zhì)激勵(lì),進(jìn)一步促進(jìn)整個(gè)區(qū)塊鏈的良性運(yùn)轉(zhuǎn)。
?
在保險(xiǎn)公司支付的成本轉(zhuǎn)給到多方醫(yī)療機(jī)構(gòu)和病例中心時(shí),有定期對(duì)賬清算的需求,這又是前文提及的典型對(duì)賬場(chǎng)景,將實(shí)際醫(yī)療機(jī)構(gòu)同意時(shí)(即背書(shū))的交易信息上鏈,通過(guò)智能合約,各方就可以在本地清晰確定自己的收入,實(shí)現(xiàn)去中心的準(zhǔn)確對(duì)賬。也就是通過(guò)區(qū)塊鏈,可以解決保險(xiǎn)理賠全程各方間的數(shù)據(jù)核對(duì)及收入分成問(wèn)題。
?
供應(yīng)鏈金融,是區(qū)塊鏈另一個(gè)相對(duì)契合的適配場(chǎng)景,基于區(qū)塊鏈去中心化的共享、信任及安全機(jī)制,可以有效地解決供應(yīng)鏈金融有關(guān)的轉(zhuǎn)讓、交易、及監(jiān)督問(wèn)題。微特場(chǎng)景,主要是將各類供應(yīng)鏈有形資產(chǎn)數(shù)字化,比如農(nóng)產(chǎn)品,可提前半年以數(shù)字化票據(jù)(通過(guò)區(qū)塊鏈讓更多人員參與)形式來(lái)公開(kāi)預(yù)購(gòu),半年后到期交割。這期間如遇資金緊張,預(yù)購(gòu)方可將部分票據(jù)提前賣出,到期則可以將票證轉(zhuǎn)給批發(fā)商或最終用戶,再由批發(fā)商等直接提貨。這樣可以省去倉(cāng)儲(chǔ)和提貨成本,減少中間的步驟,并降低信息不對(duì)稱的無(wú)效成本,通過(guò)互聯(lián)網(wǎng)新技術(shù)來(lái)提升整個(gè)農(nóng)產(chǎn)品的交易效率。
?
三、?展望目前區(qū)塊鏈還是屬于一個(gè)方興未艾的領(lǐng)域,不斷地有精彩紛呈的新技術(shù)提出,有資料提到區(qū)塊鏈已經(jīng)進(jìn)化到4.0,但細(xì)究下來(lái)看,更多還處于試水(POC)的狀態(tài),而從行業(yè)來(lái)講,一般都是需求催生技術(shù)進(jìn)步,或者說(shuō)在周邊技術(shù)已經(jīng)基本成熟鋪墊好的情況下由需求來(lái)選擇,而當(dāng)下的區(qū)塊鏈,則更多是基于技術(shù)的特點(diǎn)來(lái)延展或構(gòu)建需求,而非必然需求,這是當(dāng)前區(qū)塊鏈發(fā)展亟待解決的關(guān)鍵問(wèn)題。在本文中,提出了兩個(gè)與實(shí)際相對(duì)契合的例子供大家參考。
????????
隨著行業(yè)的發(fā)展,人與系統(tǒng)和系統(tǒng)間(如各種IOT設(shè)備)聯(lián)系的不斷緊密,傳統(tǒng)的中心化架構(gòu)必然在可伸縮性等方面面臨挑戰(zhàn),而去中心的化的區(qū)塊鏈應(yīng)是有良好前景的可選解決方案。計(jì)費(fèi)平臺(tái)部將會(huì)結(jié)合自身在分布式系統(tǒng)事務(wù)及算法上的積累,來(lái)不斷解決區(qū)塊鏈面臨的技術(shù)問(wèn)題。相信隨著區(qū)塊鏈的不斷進(jìn)化,一定會(huì)有更多的應(yīng)用場(chǎng)景來(lái)展現(xiàn)其價(jià)值。
總結(jié)
以上是生活随笔為你收集整理的除了游戏和医疗,腾讯区块链还准备做什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 腾讯云Kafka海量服务自动化运营实践
- 下一篇: 如何让xtrabackup恢复速度提升2