區(qū)塊鏈雖然是革命性的技術(shù),但是經(jīng)過以前的文章的介紹,相信大部分讀者都知道區(qū)塊鏈不是萬能的,其實很多企業(yè)應(yīng)用上完全不需要的利用的到區(qū)塊鏈技術(shù),區(qū)塊鏈技術(shù)有其自身的特點,今天為大家介紹區(qū)塊鏈適合的幾個應(yīng)用場景
1敏感核心數(shù)據(jù)記錄場景
區(qū)塊鏈不同于傳統(tǒng)數(shù)據(jù)庫,大部分性能設(shè)計弱于傳統(tǒng)數(shù)據(jù)庫。所以你一開始就需要知道什么地方用數(shù)據(jù)庫,什么地方用區(qū)塊鏈,數(shù)據(jù)庫適合記錄一種結(jié)構(gòu)性的信息,可以是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,包括一個或幾個表格一樣的數(shù)據(jù)庫表?;蛘呖梢允亲罱餍械腘oSQL,更像文件系統(tǒng)或者字典。(理論上講,NoSQL是關(guān)系型數(shù)據(jù)庫的子集)
而敏感的核心數(shù)據(jù),重要的匯總數(shù)據(jù),日志驗證數(shù)據(jù)可以有選擇的使用區(qū)塊鏈,比如金融資產(chǎn)的總賬可以被用于作為區(qū)塊鏈技術(shù)進行記錄,當(dāng)進行平賬處理時,總賬由于采用區(qū)塊鏈技術(shù)進行記錄具有較高的權(quán)威性,在系統(tǒng)性能和魯棒性上取得平衡
2多個輸入者場景
這個比較簡單。區(qū)塊鏈?zhǔn)且粋€支持多個輸入者的技術(shù)。換句話說,必須有多于一個實體來產(chǎn)生更改數(shù)據(jù)的場景。同時你可能不知道這些輸入者真實情況
3信任的缺失環(huán)境
如果多于一個實體的數(shù)據(jù)輸入,那么在這些實體間需要某種程度的不信任。換句話講,區(qū)塊鏈?zhǔn)且粋€基于數(shù)據(jù)輸入和多個不信任的輸入者的場景。
對于不信任的定義是什么呢,指的是一個用戶不愿意別人修改自己“擁有”的數(shù)據(jù)。類似的,當(dāng)讀取數(shù)據(jù)的內(nèi)容時,一個用戶不會直接接受另一個用戶報告的數(shù)據(jù),因為每個用戶有自己的經(jīng)濟或政治的動機。
4去中介場景
所以這個問題,像之前定義的,是使一個數(shù)據(jù)和多個不信任的輸入者成為可能。已經(jīng)有一個眾所周知的解決方案:一個廣受信任的中間人(例如銀行和支付寶、各類擔(dān)保平臺等)。這是一個每個輸入者都相信的人,雖然他們不見得互相信任。其實,這個數(shù)據(jù)充滿了這種性質(zhì)的數(shù)據(jù)庫,比如在銀行里賬戶的總賬。你的銀行控制著數(shù)據(jù),保證每筆交易都是有效的,是被參與交易的客戶授權(quán)了的。無論你費多大勁的請求,你的銀行也永遠不會讓你直接更改數(shù)據(jù)。
區(qū)塊鏈取消了可信任的中間人,通過使得數(shù)據(jù)可以被多個不可信任的輸入者直接更改。沒有一個中心的守門人需要校驗交易和認(rèn)證他們的來源。然而,交易的定義延伸包含了授權(quán)和可靠的證據(jù)。交易可以被每個節(jié)點單獨的驗證和處理,每個節(jié)點可以保存一份數(shù)據(jù)。
但是你需要問的問題是:你是想要還是真的需要去掉中間人?根據(jù)你的使用場景,有一個中間人維護授信的數(shù)據(jù)庫和作為交易的驗證者真的有錯嗎?
其實區(qū)塊鏈記錄數(shù)據(jù)更傾向于的場景不是不可信任的中間人問題,其中主要的理由包括:成本更低,交易更快,自動調(diào)和,新的監(jiān)管條例或者簡單到找不到合適的中間人。
5交易互動場景
所以區(qū)塊鏈對有多個互不信任的輸入者直接參與修改共享的數(shù)據(jù)是適用的。但這還不夠,區(qū)塊鏈真正厲害的地方在于當(dāng)被多個輸入者創(chuàng)造出來的交易有交互的時候。
一般來講所謂的交互是指被不同的輸入者創(chuàng)造的交易是互相關(guān)聯(lián)的。比方說,小紅給了小明一筆錢,小明給了小李一筆錢。這種情況下,小明的交易取決于小紅的交易,同時我們無法驗證小明的交易除非先查看小紅的。正因為這種關(guān)聯(lián)性,這些交易自然的屬于同一個共享的交易數(shù)據(jù)。
再往深一層說,區(qū)塊鏈一個不錯的特征是多個輸入者可以互相協(xié)作的創(chuàng)造交易,每一方都沒有風(fēng)險。這就使得區(qū)塊鏈不需要中間人來擔(dān)保每方必須實現(xiàn)自己的義務(wù)交易才能發(fā)生的情形。
還有一個弱一點的應(yīng)用是不同獨立的輸入者互相有關(guān)系的情形。一個例子是一個不同實體驗證客戶不同方面的個人身份的身份數(shù)據(jù)。雖然每一個驗證證書是單獨的,但是區(qū)塊鏈提供了一個把所有東西整合在一起的方法。
6制定規(guī)則場景
這不是一個獨立的條件,但是是之前論證的自然結(jié)果。如果數(shù)據(jù)可以被多個輸入者同時修改,這些輸入者并不全部互相相信,那么這些數(shù)據(jù)必須有內(nèi)置的規(guī)則限定交易的運行。
這些規(guī)則從根本上講不同于傳統(tǒng)數(shù)據(jù)庫的約束,因為他們和變換的合法性有關(guān),而不是與數(shù)據(jù)庫某個特定時間的狀態(tài)有關(guān)。每筆交易都會被網(wǎng)絡(luò)里的每個節(jié)點用這些規(guī)則檢查,檢查失敗的將會被拒絕,不會傳下去。
資產(chǎn)總賬包括了這種規(guī)則的簡單例子,來避免交易無中生有的創(chuàng)造資產(chǎn)。這個規(guī)則說總賬里各種資產(chǎn)的數(shù)量必須在交易前和交易后保持一致。
7選擇驗證者場景
到現(xiàn)在我們描述了一個交易可以在多個地方發(fā)起的分布式數(shù)據(jù)應(yīng)用場景,在節(jié)點中用點對點的方式傳播,被每個節(jié)點單獨驗證。區(qū)塊鏈的任務(wù)是有權(quán)威的最終的交易日志,這個日志的內(nèi)容所有的節(jié)點都可證明的認(rèn)同。
需要這個日志的原因是它使得新添加的節(jié)點可以從零開始計算這些數(shù)據(jù)的內(nèi)容,而不需要信任其他節(jié)點。其次,它解決了一些節(jié)點丟失掉交易的可能性,因為系統(tǒng)的癱瘓或者信息交流的短路。如果沒有交易日志,這會導(dǎo)致一個節(jié)點的數(shù)據(jù)和其他節(jié)點的有出入,這就有損共享數(shù)據(jù)的意義。
一般來講兩個交易是有可能有沖突的,導(dǎo)致只有一個可以被接受。經(jīng)典案例是”一個資產(chǎn)兩次成功消費”,這種情況下同一個資產(chǎn)發(fā)給了兩個不同的接受者。在沒有中央權(quán)威的點對點數(shù)據(jù)庫中,節(jié)點對接受哪個交易是有不同意見的,因為沒有客觀的正確答案。通過交易在區(qū)塊鏈中被“確認(rèn)”,我們保證了所有的節(jié)點達成一致的選擇。
另外需要說的是,在類似以太坊的區(qū)塊鏈中,精確的交易順序是非常關(guān)鍵的,因為每一筆交易都會影響到接下來的交易會發(fā)生什么。這種情形區(qū)塊鏈將定義權(quán)威的事情發(fā)生的順序,沒有這個交易不能被處理。
區(qū)塊鏈從字面上看就是一個區(qū)塊的鏈條,在這個鏈條里每一個區(qū)塊包括了一群被確認(rèn)的交易的集合。但誰負責(zé)選擇進入每個區(qū)塊的交易呢?在適合企業(yè)應(yīng)用的“私有鏈”中,答案是一群固定的驗證者(礦工)來把它們創(chuàng)造出的區(qū)塊進行數(shù)字簽名。這個白名單將和某種形式的分布式可達成一致的方案結(jié)合起來,避免少數(shù)的驗證者控制這個區(qū)塊鏈。
不管使用哪種達成一致的方案,負責(zé)檢驗的節(jié)點都比傳統(tǒng)中心化數(shù)據(jù)庫的擁有者少太多的權(quán)利。檢驗者不能偽造交易,也不能違背規(guī)則修改數(shù)據(jù)。在資產(chǎn)總賬中,這意味著他們不能花別人的錢,也不能改變資產(chǎn)的總量。但是即使如此檢驗者還是有兩種方法來影響數(shù)據(jù)庫的內(nèi)容:
交易審查:如果足夠多的驗證者惡意串通,他們可以阻止特定的交易在區(qū)塊鏈中被確認(rèn),使得這個交易永遠的打入冷宮。
偏好性:如果兩個交易起了沖突,創(chuàng)造下一個區(qū)塊的檢驗者將決定哪個交易被確認(rèn),另一個就被拒絕。公平的選擇是第一個被看到的交易,但是檢驗者可以根據(jù)其他因素做選擇,而不顯露出誰先來后到這一點。
因為這些問題,在部署一個基于區(qū)塊鏈的應(yīng)用時,你需要清醒的認(rèn)識到誰是你的驗證者和你為什么相信他們。根據(jù)場景的不同,驗證者可以被選擇成為:
(1)一個或多個被一個組織控制的節(jié)點
(2)一個維護區(qū)塊鏈的一群核心組織
(3)網(wǎng)絡(luò)上的每個節(jié)點
8資產(chǎn)背書場景
如果你已經(jīng)認(rèn)真看到這里,你們會注意到我傾向于將區(qū)塊鏈描述為共享的數(shù)據(jù)記錄者,而不是通常上講的”共享的總賬”。為什么呢,因為區(qū)塊鏈作為一個技術(shù),可以被用于解決比追蹤資產(chǎn)所有權(quán)更廣闊的問題。任何一個有多個互不信任的輸入者的數(shù)據(jù)都可以基于區(qū)塊鏈搭建,而不需要一個中心化的中間人。例子有共享的日歷,維基百科形式的合作和討論論壇。
但是目前似乎主要是那些追蹤金融資產(chǎn)的流動和交易的人對區(qū)塊鏈感興趣,其主要的兩個原因是:
(1)金融業(yè)在回應(yīng)(回想起來,非常小的)類似比特幣這樣的虛擬貨幣的威脅。
(2)一個資產(chǎn)總賬是一個被多個互不信任的實體創(chuàng)造的互相影響的交易共享數(shù)據(jù),這是區(qū)塊鏈技術(shù)是最簡單和自然的應(yīng)用。
如果你確實想用區(qū)塊鏈作為資產(chǎn)總賬,你需要回答下一個更重要的問題:流動中的資產(chǎn)的本性是什么,這么說不是表示現(xiàn)金、債券、提貨單等,雖然這些也很重要。問題卻是:誰是在區(qū)塊鏈上為這些資產(chǎn)背書的人,如果數(shù)據(jù)庫上說我有十個單位的什么資產(chǎn),誰將允許我在現(xiàn)實世界中對那十個資產(chǎn)宣示所有權(quán),我應(yīng)該把誰告上法庭,如果我不能將在區(qū)塊鏈上聲明的資產(chǎn)轉(zhuǎn)換成傳統(tǒng)的可見的資產(chǎn),這一切有什么意義呢
當(dāng)然,這個答案對于不同的場景將不同。對貨幣資產(chǎn)來說,你可以想象監(jiān)管的銀行接受現(xiàn)金,然后為存款人在一個區(qū)塊鏈技術(shù)下的分布式總賬里面加錢。在貿(mào)易金融中,信用證和提貨單將會被相應(yīng)的進口商的銀行和船運公司來背書。未來,我們可以想象一個一級市場的公司債券直接在區(qū)塊鏈上發(fā)行來進行融資的時代。