當我們做區(qū)塊鏈時,我們在做什么

長話短說艺沼,我們在建鏈册舞。

區(qū)塊鏈

關(guān)于區(qū)塊鏈是什么,網(wǎng)上的解釋多如牛毛障般。這里调鲸,我從需求的角度總結(jié)一下:當做記錄保存(身份存證)時,它是分布式賬本挽荡;當做交易或支付(跨境支付)時藐石,它是信任機器。雖然這兩種分類方法并不正交定拟,但是對于理解區(qū)塊鏈的應用方向有很大的好處于微。


區(qū)塊鏈需求分類

區(qū)塊鏈是什么

不論是分布式賬本,還是信任機器青自,以及底層的特性——不可篡改株依、透明、可追溯以及去中心化延窜,最終導向的目的只有一個恋腕,那就是信任。人與人之間的信任關(guān)系很復雜逆瑞,通常兩個陌生人想達成交易之前荠藤,會找一位權(quán)威的第三方中介做公證,交易雙方的信任問題依然存在获高,只是他們都相信了中介的權(quán)威性商源。類似的,區(qū)塊鏈也不會解決信任問題谋减,它只要讓大家相信自己就足夠了牡彻,這個問題就規(guī)約成怎么保證區(qū)塊鏈自己是可信任的?

區(qū)塊鏈為什么是可信任的呢出爹?因為人類相信數(shù)學庄吼。數(shù)學理論和加密學實踐可以確保了鏈上數(shù)據(jù)和所有權(quán)的可信程度。其次严就,區(qū)塊的確認基于多數(shù)人的共識总寻,這在某種程度上肯定了群體智慧,即大多數(shù)覺得正確的才是正確的梢为。再次渐行,精妙的算法和不可變數(shù)據(jù)結(jié)構(gòu)轰坊,Merkle tree可以快速證明交易是否存在于區(qū)塊中,Hash pointer決定了當前區(qū)塊的前趨區(qū)塊不可篡改祟印,進而保證前向區(qū)塊鏈的完整性肴沫。最后是經(jīng)濟博弈和人心,因為加密貨幣的加持蕴忆,凡是以破壞整個網(wǎng)絡的為目的手段颤芬,最可能導致整個網(wǎng)絡里的加密貨幣價值歸零,那么單純以攻擊為樂的算力威脅是失去理性的標識套鹅,理性經(jīng)濟人是區(qū)塊鏈網(wǎng)絡里的人心假設(shè)站蝠。這4條相輔相成的設(shè)計決策是比特幣的最負盛名的優(yōu)雅創(chuàng)造!

Merkle tree & Hash pointer

然而卓鹿,企業(yè)間的聯(lián)盟區(qū)塊鏈菱魔,它的信任更多地依賴于發(fā)起者品牌的背書。在允許這樣的背書之下吟孙,聯(lián)盟鏈的設(shè)計就變得相當靈活豌习,比如最先腰斬的就是代幣。

區(qū)塊鏈的行業(yè)應用

在工信部最新發(fā)表的《2018 年中國區(qū)塊鏈產(chǎn)業(yè)白皮書》中拔疚,區(qū)塊鏈產(chǎn)業(yè)生態(tài)分成了產(chǎn)業(yè)應用,包含金融和實體領(lǐng)域既荚;基礎(chǔ)設(shè)施和平臺稚失,如公有鏈和BaaS;行業(yè)服務恰聘,如媒體句各。而我們的關(guān)注點集中在產(chǎn)業(yè)應用當中。

區(qū)塊鏈產(chǎn)業(yè)生態(tài)地圖

金融領(lǐng)域由于本身數(shù)字化程度比較高晴叨,在證券化和以及ABS交易所等方向都有落地案例凿宾。在實體產(chǎn)業(yè)當中,供應鏈溯源兼蕊,身份存證等也多有應用初厚。再加上區(qū)塊鏈本身具有“信任穿透”的神奇功效,對于供應鏈金融構(gòu)建征信體系孙技,改善小微企業(yè)的融資困境也很有幫助产禾。

總得來說,區(qū)塊鏈技術(shù)幾乎在所有的產(chǎn)業(yè)場景都能落地應用牵啦。因為幾乎所有的產(chǎn)業(yè)場景都涉及交易亚情,都有降成本、提效率哈雏、優(yōu)化產(chǎn)業(yè)誠信環(huán)境的需求楞件。

我們在干什么

我們區(qū)塊鏈小分隊在不遺余力地建鏈∩郎現(xiàn)在在建某著名車廠的汽車(金融)聯(lián)盟鏈。

汽車金融

汽車金融中的核心資產(chǎn)是汽車土浸。汽車金融始終圍繞車的生命周期發(fā)生金融活動罪针。從零配件的生產(chǎn),到主機廠制造整車栅迄,然后通過各個區(qū)域的銷售公司站故,比如歐洲區(qū)、北美區(qū)毅舆、大中華區(qū)等等的銷售公司西篓,將整車賣給各區(qū)域內(nèi)的經(jīng)銷商。實際上在中國憋活,經(jīng)銷商還可以分為不同層級的二三級經(jīng)銷商岂津,最后才到顧客手中。而一旦新車完成銷售悦即,就邁入了后市場的廣闊天地吮成,以及二手車三手車的再銷售。

從汽車零配件的生產(chǎn)運輸和組裝到車賣給經(jīng)銷商辜梳,這些環(huán)節(jié)所涉及到的金融活動叫做供應鏈金融粱甫,而顧客通過金融活動來買車,不管是新車還是二手車作瞄,都屬于消費金融的范疇茶宵。


供應鏈金融和消費金融

汽車金融公司的業(yè)務模式比較簡單清晰,參考下圖宗挥,1乌庶、2、3是汽車的批發(fā)契耿,4瞒大、5是汽車的零售。金融公司參與給授信經(jīng)銷商提供貸款進行車輛的批發(fā)交易搪桂,零售的過程中透敌,金融公司又繼續(xù)給消費者提供消費金融貸款或融資租賃等服務,緩解用戶購車的資金壓力踢械,促進汽車銷售拙泽。因為兩次貸款交易,我們可以看到這兩條方向相反的資金線裸燎,財務上我們管這個叫軋差顾瞻,也就是債務的互相抵消,而這兩次貸款行為的軋差讓金融公司以較低的凈現(xiàn)金賺取了批發(fā)環(huán)節(jié)和零售環(huán)節(jié)的兩次利息收入德绿。

針對汽車金融公司的應用場景荷荤,我們可以簡單總結(jié)業(yè)務痛點:

第一退渗,提升資金利用率是業(yè)務關(guān)鍵。金融服務商以提供資金融通服務進行盈利蕴纳,汽車金融公司的資金很大一部分是來源于汽車集團的財務公司会油,財務公司需要對現(xiàn)金流進出進行精準預測,以提高資金的利用率古毛。傳統(tǒng)的財務記賬方式翻翩,無法實時透明地彰顯資金的實時利用情況:比如有多少現(xiàn)金流即將產(chǎn)生,有多少資金出現(xiàn)了低效的浪費(重復貸款)稻薇,造成了多少潛在損失(壞賬)等等嫂冻。

第二,財務對賬主體數(shù)量較多塞椎,且效率不高桨仿。僅在中國區(qū)域內(nèi)可能就有多家銷售公司和金融公司,以及幾百家經(jīng)銷商案狠。從會計和審計角度服傍,即使每家公司只有兩名財務和審計人員,那么財務審計人員都超過一千名骂铁,更別提全球范圍內(nèi)了吹零。

第三,信任主體的審核門檻較高拉庵。因為金融貸款要控制風險需要信貸審核灿椅,而金融服務機構(gòu)的信審資源有限,審核流程繁雜且周期較長名段,經(jīng)銷商的銷售網(wǎng)絡又比較混亂,因此中小型經(jīng)銷商很容易成為“照顧不過來”的對象泣懊,造成經(jīng)銷商融資困難伸辟,同時也導致汽車金融公司的業(yè)務擴張受限。

汽車金融業(yè)務模式

我們能用區(qū)塊鏈要做的事情馍刮,一言以蔽之信夫,就是汽車資產(chǎn)上鏈以及圍繞汽車所發(fā)生的金融活動而產(chǎn)生債務的記錄。所以不難發(fā)現(xiàn)卡啰,分布式賬本和信任機器在這個場景下都有涉及静稻。

怎么建鏈

建鏈也是有套路的,我們大體總結(jié)成5個步驟匈辱,分別是識別上鏈數(shù)據(jù)振湾,智能合約涉及,API設(shè)計亡脸,部署單元和網(wǎng)絡拓撲架構(gòu)押搪。識別上鏈數(shù)據(jù)指的是如何識別哪些交易的事實值得記在鏈上树酪;智能合約設(shè)計,指的是買賣車及其相關(guān)金融活動如何通過可編程的方式自動完成大州;API設(shè)計則是如何對外暴露平臺能力续语,同時限制控制主體;部署單元和網(wǎng)絡部署架構(gòu)屬于實施范圍厦画,旨在解答分布式賬本如何真正運行在企業(yè)當中疮茄。整體技術(shù)架構(gòu)是基于Corda這個分布式賬本技術(shù)展開的,Corda準確來說不是區(qū)塊鏈根暑,而是一種受區(qū)塊鏈啟發(fā)的DLT力试,即分布式賬本技術(shù),它是由R3這個世界頂級金融區(qū)塊鏈聯(lián)盟開發(fā)和維護的购裙。

上鏈數(shù)據(jù)識別

我們要分析清楚的問題是車在什么時候轉(zhuǎn)移懂版,車在什么參與方之間轉(zhuǎn)移,車在轉(zhuǎn)移的過程中伴隨了什么數(shù)據(jù)的變化躏率。在分析這塊業(yè)務的時候躯畴,我們嘗試了事件風暴,分析了在各個法律參與實體之間發(fā)生車轉(zhuǎn)移的業(yè)務事件薇芝,然后進行了事件排序蓬抄,通過事件析出數(shù)據(jù),包括交易參與方夯到,車的詳細信息嚷缭,車的所有權(quán)和占有權(quán)以及債等等。這部分數(shù)據(jù)有一定的取舍耍贾,比如訂單就不在我們的核心資產(chǎn)當中阅爽,所以不上鏈。

Blockstorming

我們開始進行數(shù)據(jù)建模荐开,在此之前付翁,有必要介紹一下Corda的編程模型——State,因為它會直接影響我們后續(xù)的模型設(shè)計晃听。Corda中核心概念之一就是State百侧,State是分布式賬本上的事實,它代表了交易參與方達成共識的結(jié)果能扒。以IOU這個欠條為例佣渴,State其實就是欠條關(guān)鍵屬性的集合,包含借款方初斑,欠款方辛润,金錢數(shù)量,還款截止日期见秤。當欠款部分歸還時频蛔,這個欠條的內(nèi)容就會發(fā)生變化灵迫,變化的方式就是將老的欠條標記成歷史的,進而生成包含新內(nèi)容的欠條晦溪。

State is a fact

在我們應用場景中瀑粥,核心的State就是車和債,因為Corda是運行在JVM上三圆,開發(fā)首選語言是kotlin狞换,所以這里我們直接拿kotlin中data class對車和債進行建模,而且統(tǒng)一繼承了Corda內(nèi)置的LinearState舟肉,LinearState擁有全局唯一ID修噪,在數(shù)據(jù)演化的過程中不會發(fā)生改變。如果有人了解DDD相關(guān)概念的話路媚,應該能自動映射到實體概念上黄琼。除此之外,Corda中還有一個核心State叫做Fungiable Asset整慎,可以類比成值對象脏款,例如:Cash。


State category

State建模完成之后該怎么演化呢裤园?這就不得不提一個UTXO的概念撤师,UTXO全稱 unspent transaction ouput,最開始是比特幣網(wǎng)絡引入的拧揽,它有很多好處剃盾,比如可以追溯到每一筆輸出的源頭,幫助驗證是否存在雙花現(xiàn)象淤袜,Corda一樣繼承了類似的好處痒谴。銷售公司把車批發(fā)給經(jīng)銷商時,就會將所有權(quán)歸屬自己的車作為交易的輸入铡羡,產(chǎn)生輸出积蔚,輸出中包含了所有權(quán)的變更以及債務的生成。而作為輸入的車就會被標記成歷史的蓖墅。這筆交易本身也必須獲取到交易雙方的簽名才能成立库倘。

未花費的交易輸出 - 口袋里的零錢

智能合約設(shè)計

上面我們聊到的都是鏈上的數(shù)據(jù)以及數(shù)據(jù)演化過程临扮,不過這些過程都不是自動執(zhí)行的论矾。對于復雜的金融合約,往往會涉及到多種state的變化杆勇,這個時候我們就必須使用自動化的流程封裝這些變化贪壳,封裝這些變化的東西其實就是智能合約。還是以經(jīng)銷商批發(fā)車為例蚜退,一個可能的合約模板就是規(guī)定車轉(zhuǎn)移的同時產(chǎn)生一筆債闰靴,以及對應的還款截止日期彪笼。這個合約強制state改變時,交易雙方必須參與簽名蚂且。

在進入智能合約實現(xiàn)之前配猫,我們得先了解一下Corda中flow和contract的概念。Flow是Corda中控制參與節(jié)點如何更新State的自動化流程杏死,它對如何獲取交易對手方的簽名進行了封裝泵肄。一個標準的flow流程包括獲取鏈上數(shù)據(jù),創(chuàng)建一筆交易淑翼,自簽名之后發(fā)送到對手方進行交易驗證腐巢,再簽名,最終在雙方的賬本上分別提交事務玄括。而Contract則是在交易驗證環(huán)節(jié)提供驗證所用的腳本冯丙。

Smart Contract

在我們的應用場景中,智能合約長成這樣遭京,在flow中胃惜,先從鏈上取出原有車的數(shù)據(jù),拷貝得到一個新的所有權(quán)發(fā)生轉(zhuǎn)移的車以及對應一筆債洁墙;然后通過 txBuilder構(gòu)建一筆交易蛹疯,交易的輸入是原車,而輸出即是新車和債热监;最后就是驗證和簽名以及事務提交的過程捺弦。細心的聽眾可能已經(jīng)注意到txBuilder中有個firstNotary的參數(shù),這里提一下notary的概念孝扛,notary在corda中是一類特殊的節(jié)點列吼,專門用于防止資產(chǎn)雙花的問題。所以理論上苦始,每筆交易都需要notary節(jié)點參與寞钥,并對交易進行簽名。在交易驗證環(huán)節(jié)中陌选,我們定義的contract會被執(zhí)行理郑,這個contract非常簡單,簡單到只有一個叫做verify的純函數(shù)咨油。它的作用就是斷言每一個state的更新是否符合要求您炉。

Smart Contract in Corda

API設(shè)計

有了智能合約之后,我們就得考慮如何暴露平臺的合約能力了役电。換句話說赚爵,從消費者的角度,我們該怎么利用平臺提供的能力完成自己的業(yè)務。所以這里我們利用了REST api設(shè)計的思路冀膝,抽象出平臺的能力作為資源呈現(xiàn)唁奢,定義以車為中心的URI,然后選擇合適的HTTP動詞窝剖,得出 REST api麻掸。

API design

從數(shù)據(jù)上鏈識別,到智能合約設(shè)計赐纱,再到API設(shè)計论笔,我們在不同層次利用Corda這個分布式賬本技術(shù)。最底層的分布式賬本記錄每筆交易發(fā)生的事實千所,不可篡改可追溯狂魔;中間的智能合約層提供了合約抽象,甚至可以和現(xiàn)實中的合約一一對應淫痰;最上層的REST api以資源的方式呈現(xiàn)了平臺的金融活動能力最楷。

Platform hierarchy

部署單元

這樣一個汽車金融平臺是怎么跑起來的呢?借助docker待错,我們把一個物理部署單元打包成了一個鏡像籽孙,底層是一個全功能的Corda節(jié)點,所有的智能合約和state都以jar包的方式部署在這個節(jié)點上火俄;同時利用springboot通過RPC的方式連接到Corda節(jié)點犯建,調(diào)用智能合約,對外暴露REST api瓜客;而Corda節(jié)點之間則通過messaging的方式互相通信适瓦。


Deployment unit

網(wǎng)絡拓撲

打包成docker鏡像之后,就可以部署到運行環(huán)境中谱仪,形成一個分布式賬本的網(wǎng)絡玻熙。這里有2個節(jié)點需要留意,最左邊的 permission service 是用于對每個入網(wǎng)節(jié)點進行證書簽發(fā)疯攒,給予每個參與實體一個身份嗦随。中間的Network map類似于微服務中的 service discovery,Corda中節(jié)點的互相發(fā)現(xiàn)并不是通過廣播的方式發(fā)生敬尺,而是通過注冊Network map獲取其它節(jié)點的信息枚尼,從而實現(xiàn)找到對方。


Network topology

回顧

最后砂吞,我們回顧一下先前提到的三層架構(gòu)署恍,用價值的視角重新評估一下整個平臺。傳統(tǒng)的平臺呜舒,通過api的方式暴露服務從而獲得價值輸入锭汛,但是區(qū)塊鏈平臺的核心資產(chǎn)其實在最底層的賬本中∠龋基于這些交易事實和債務或者支付記錄唤殴,我們可以很方便清算各個法律實體的數(shù)字資產(chǎn),計算實時的債務信息到腥,進行車輛的價值溯源朵逝,而且未來結(jié)合大數(shù)據(jù)分析和AI,更有可能打造出一個完整的供應鏈生態(tài)乡范。


Blockchain finance platform

推薦閱讀
麥肯錫報告翻譯:《超越狂歡:區(qū)塊鏈的商業(yè)戰(zhàn)略價值是什么配名?》
技術(shù)簡史的思考

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市晋辆,隨后出現(xiàn)的幾起案子渠脉,更是在濱河造成了極大的恐慌,老刑警劉巖瓶佳,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡瞄沙,警方通過查閱死者的電腦和手機患亿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厚脉,“玉大人习寸,你說我怎么就攤上這事∩倒ぃ” “怎么了霞溪?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長中捆。 經(jīng)常有香客問我威鹿,道長,這世上最難降的妖魔是什么轨香? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任忽你,我火速辦了婚禮,結(jié)果婚禮上臂容,老公的妹妹穿的比我還像新娘科雳。我一直安慰自己,他們只是感情好脓杉,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布糟秘。 她就那樣靜靜地躺著,像睡著了一般球散。 火紅的嫁衣襯著肌膚如雪尿赚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音凌净,去河邊找鬼悲龟。 笑死,一個胖子當著我的面吹牛冰寻,可吹牛的內(nèi)容都是我干的须教。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼斩芭,長吁一口氣:“原來是場噩夢啊……” “哼轻腺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起划乖,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤贬养,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后琴庵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體煤蚌,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年细卧,在試婚紗的時候發(fā)現(xiàn)自己被綠了尉桩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡贪庙,死狀恐怖蜘犁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情止邮,我是刑警寧澤这橙,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站导披,受9級特大地震影響屈扎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜撩匕,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一鹰晨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧止毕,春花似錦模蜡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谨朝,卻和暖如春卤妒,著一層夾襖步出監(jiān)牢的瞬間甥绿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工则披, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留共缕,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓收叶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親共苛。 傳聞我的和親對象是個殘疾皇子判没,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容