如何判斷一個系統是否應用了區塊鏈?不要讓上鏈成為笑話
對于區塊鏈前面幾年相當火,從區塊鏈技術,各種云平臺和應用系統,到比特幣和各自代幣的發行。雖然現在區塊鏈技術談的人少了很多,但是比特幣卻突破了5.6萬美元的單價。
我自己不做區塊鏈相關的技術,也沒有基于區塊鏈技術開發相應的平臺或應用系統,但是對于區塊鏈做一些基礎的了解還是必須的。從最近幾年來對區塊鏈的學習,簡單來說就是技術邏輯是清楚的,但是應用場景和范圍遠遠沒有想象的那么豐富。
在前不久,我和一個朋友聊天,再次聽到了一個區塊鏈大數據平臺項目,宣傳的是基于區塊鏈技術,所有形成的大數據全部上鏈,去中心化,安全無篡改。當我聽到這里的時候再次陷入了思考,難道只要為了去中心化,安全無篡改就都能用區塊鏈貼金嗎?
區塊鏈中各個區塊本身就要存儲分布式賬本的全量信息,我實在是想不清楚對方號稱的所有大數據上鏈如何做?難道是PB級的大數據都要在所有區塊存儲?
也正是這個原因,我覺得有必要進一步探討下自己對區塊鏈應用場景的理解。
區塊鏈概述
區塊鏈本質上是一個去中心化的分布式賬本數據庫,其本身是一串使用密碼學相關聯所產生的數據塊,每一個數據塊中包含了多次比特幣網絡交易有效確認的信息。
從這個定義來看,需要了解清楚去中心化的概念,區塊的概念,區塊組合組成鏈條,存儲的數據是賬本,如何分布式存儲的?存儲的數據如何通過密碼學進行安全保障的,雙方交易的信息通過什么機制來確認有效的?即從定義里面拆分出來的這些內容都理解清楚后,基本才能夠理解清楚區塊鏈。
以下所有的場景分析還是用A向B發起一次現金轉賬交易來進行說明。
去中心化:傳統轉賬是A通過銀行轉賬給B,那么A和B之間的中介是銀行,銀行來確保交易的安全和有效性,同時防止B抵賴。而去中心化就是沒有這么個信用中介機構,A和B直接進行交易完成,那么這種交易本身就是一種去中心化的交易。
那么A和B直接交易如何保證交易有效并防止抵賴?如果是傳統交易,B還可以寫一個簽字后按手印的收條,A拿到收條后可以防止抵賴,畢竟簽名和指紋很難進行偽造。但是如果是網絡交易,那么B就很難進行簽名或按指紋這種操作,這個來確保交易有效和防止抵賴就很重要了。
去中心化是區塊鏈技術的顛覆性特點,它無需中心化代理,實現了一種點對點的直接交互,使得高效率、大規模、無中心化代理的信息交互方式成為了現實。在去中心化以后,整個系統中沒有了權威的中心化代理,信息的可信度和準確性便會面臨問題。
- 其一是由于去掉了中介方,在A和B雙方通信的情況下,完全可能出現A說轉賬了,B說沒收到這種情況,雙方各執一詞,這個時候各由各的的證據和說明,那么如何判斷究竟誰說的是對的?
- 其二:在一個去中心的系統中,有可能出現節點壞掉,那么節點就會傳輸壞的信息,如何確保信息傳輸的準確性?
最簡單的去中心化系統和分布式賬本
比如A向B轉賬100塊錢,首先是A和B相互確認了,即A確認已經轉錢,B確認已經收到,那么這個時候A和B直接的轉賬100塊前的交易就是成立的。即A向B轉賬了100元,就是我們說的賬本里面的一條數據。這個數據就要通知到另外的100個人或者更多人。這100個人都在自己的賬本里面記錄了A向B轉賬了100元錢,那么這個時候B如果還想抵賴就很困難了。
注意剛才的一條賬本數據,在所有100個人的賬本里面都會記錄,而沒有一個集中化的數據庫,因此是一個典型的分布式賬本數據庫。每個賬本都是一套完整的數據。
區塊和區塊鏈
如果對于A和B每個人都維護有一個賬本,一個賬本是一個區塊的話,那么區塊鏈是如何的?任何一次交易都涉及到A和B雙方,比如A轉賬給B了100塊錢,那么賬本就會記錄下來A轉給B了100元錢。但是A的這100塊錢哪里來的?可能是C轉給A的錢。
因此任何一筆當前的交易,我們還需要去維護這個交易的上次交易是如何的(任何一次交易都必須有輸入和輸出兩部分信息以方便追溯),這樣就將交易過程完全串聯起來,形成一個鏈狀結構。
所以再簡單總結如下:
區塊鏈就是由多個獨立的區塊鏈接起來的分布式賬本數據庫,這個數據庫本身天然是去中心化的架構模式。并且通過多種機制來保證交易或數據的安全并防止篡改。
很多人容易將區塊鏈具備的特征和區塊鏈技術應用等同,比如只要一說到一個場景可以去中心化就一定要用區塊鏈技術,或者一說到分布式就涉及到區塊鏈,說到信息防篡改就得上區塊鏈。這些都是很盲目的做法。這也到了大量的區塊鏈項目很多都屬于掛羊頭賣狗肉。本身用的傳統軟件技術卻一定要和區塊鏈扯上關系,好讓別人覺得很高大上。
類似農產品整個流通過程中的食品安全溯源,這個究竟跟區塊鏈有啥關系?對于數字證書認證又和區塊鏈有啥關系?乃至對于云計算,物聯網,為何一定要撤上區塊鏈,更是不知所云。區塊鏈當前應用最多的仍然是金融和供應鏈兩大行業,其中重點包括了加密貨幣,供應鏈金融業務,清算業務等。
在《中國區塊鏈技術和應用白皮書》里面指出,區塊鏈主要應用于6個場景,即金融服務,供應鏈管理,智能制造,公共服務,教育就業,文化娛樂。但是究竟如何更好地應用,仍然屬于探索階段,因為應用區塊鏈技術后往往是對傳統應用模式的一個徹底革新,已經不簡單的技術層面問題,而涉及到組織革新,業務重構等多方面的問題。
其次我們看到很多銀行,公證機構在推出區塊鏈應用,自己也很納悶的就是這些本身就是傳統的信用中介,推出的區塊鏈應用自己不還是在里面起到信用媒介的作用嗎?那么這樣如何真正做到徹底的去中心化?
區塊鏈+物聯網,無限可能性,但是任何區塊鏈技術應用我們一定要考慮業務和場景驅動,,并且真正具備可操作可落地性。而不是僅僅停留在概念上面。
區塊鏈應用場景和供應鏈溯源
前面談了區塊鏈的一些基本底層技術和概念,從這些核心技術要素出發來看,區塊鏈的關鍵場景可以從以下兩個方面考慮。
其一是只要屬于個人和個體之間的交易撮合和財務往來,又不需要中介機構接入的時候都可以實現區塊鏈技術。我們可以回到個人房屋租賃場景,去掉房屋中介,甲乙之間租賃合同生效或解除都可以作為交易信息被記錄并生效,眾人作證,無法篡改和抵賴。因此在后續租賃執行中完全可以避免出現一房多租,合同單方面違約等各種情況。
其次就是實體資源的虛擬貨幣化,將資源交易轉換為虛擬貨幣交易。而這種交易同樣不需要中介介入同時具備真實無篡改特性。書里面談的后續的電力市場售電改革,能源互聯網都可能是潛在使用的地方。能源資源轉變為虛擬貨幣,虛擬貨幣可以進行交易和流通,即賦予了資源金融屬性。
但是一直以來我們沒有太想清楚的就是在供應鏈或農產品流通環境的溯源,這個和區塊鏈有啥關系。而且現在很奇怪的一點就是只要原來的業務涉及到流程,涉及到鏈這個詞,往往就都在朝區塊鏈上撤,好像用區塊鏈就能夠解決所有問題。
信息上鏈聽到最多,因為是一個流程,一個鏈,好像很自然的就會說到相關信息上區塊鏈。但是這究竟跟區塊鏈有啥關系?
我覺得任何一個平臺,或者說任何一個應用要搞清楚是否是區塊鏈技術或應用,必須首先要回答原來沒有區塊鏈的時候你是如何做的?現在有了區塊鏈你又是如何的?具體的差別究竟在哪里?具體是去掉了哪個中心,哪個中介?其次進一步要問清楚,你的數據信息是否是分布式存儲的,信息是否真正加密存儲并形成了可追溯的鏈條以確保無法篡改。
如果沒有辦法回答上面的問題,那么很可能完全談不上區塊鏈。包括我們看到的網信辦第二批區塊鏈信息備案的產品或項目也同樣存在這個問題。為啥原來的云平臺,應用平臺,供應鏈金融平臺,商品追溯系統都搖身一變變成了區塊鏈平臺,區塊鏈應用平臺。
對這個問題,我個人的思考首先要把產品或應用分為兩個層面來思考。
其一是你你自己的產品或平臺,用到一些區塊鏈底層技術,但是產品平臺業務模式,功能屬性還是老方式。其二是產品或平臺本身就是真正實現了去中心化的一個平臺,實現了智能合約和無中介參與交易。
因此我們在拿到一個產品或項目的時候,可以先從上面兩個維度來看究竟是屬于哪種模式。如果上面兩種模式都不是,那么更加談不上區塊鏈項目,更別提區塊鏈應用。
接下來還是回到主題,談下追溯,溯源這類應用場景到底和區塊鏈有啥關系。因為沒有區塊鏈的時候追溯或溯源類應用早就有了,下面就談下我自己對溯源類系統應用區塊鏈的理解。
為了把這個講清楚,我們先定義一個概念,叫流轉信息,即任何流程或溯源類系統一定存在兩個節點之間的信息流轉和傳遞,比如一個商品從廣西發送到廣東節點了,那么就會產生這么一條流轉信息。
傳統做法很簡單,即所有的這些流轉過程中所有節點產生的流轉信息都全部上傳到溯源平臺進行統一存儲和記錄,那么溯源平臺就能夠對該商品流通過程進行溯源和追蹤。即平臺本身起到了中介或中心化的作用。那么在區塊鏈的思路下來看,不需要有平臺來起到這么一個中心化的作用。
比如整個流通過程涉及到50個節點,如果A和B之間產生了一條流轉信息,在雙方確認之后應該自動化的分發到其它48個節點進行記賬和生效,同時這些分發信息應該進行加密存儲并形成區塊,最終形成鏈條連接。這些信息最終存儲在50個分布式節點上面,而溯源平臺沒有任何關系,完全是去中心化的。
如果整個溯源應用轉變成我上面談到的方式,基本可以看到是滿足區塊鏈應用的整體架構思路的。因此再總結下來說,任何流程或溯源類系統實施區塊鏈,簡單來說就是流轉信息本身類似一條交易或轉賬信息一樣,實現了類似區塊鏈的分布式存儲到各個流轉節點,加密區塊并形成鏈接,真正實現去中心化。
如果不符合上面特點,自己暫時很難想出是哪里應用了區塊鏈。