Step Voices:區塊鏈到底能幹什麼?

買賣虛擬貨幣

在1月2日的near protocol的北京見面會上,asresearch就“公有鏈vs聯盟鏈”的話題進行了分享,從公鏈和聯盟鏈的角度分別回答了“區塊鏈到底能幹什麼?”

“區塊鏈並不適用於所有行業;無法完全用科技來替代制度和信任,去中心化和中心化各有適用場景“ —— 中國人民銀行工作論文《區塊鏈能做什麼、不能做什麼?》

一、什麼是區塊鏈?

在工信部2016年《區塊鏈發展白皮書》裡面將區塊鏈定義為:一種分散式資料儲存、點對點傳輸、共識機制、加密演算法等計算機技術在網際網路時代的創新應用模式。

從技術角度來看,區塊鏈仍然屬於典型的分散式系統(distributed system),所以關於區塊鏈的定義可以轉化成:“區塊鏈和傳統的分散式系統有什麼區別?”

相同點:資料共享

在分散式系統的經典教材distributed computing:principles, algorithms, and systems裡面有寫到,分散式系統一個非常重要的作用就是資源共享(resources sharing。廣義上的資源包括了計算、儲存資源和資料等等。目前我們暫時不考慮未來區塊鏈是否能演變成計算資源共享的技術(畢竟現階段以太坊也只是高度冗餘的圖靈完備計算機),但資料共享這一點確實是區塊鏈和傳統分散式系統的相同之處。

如果僅僅是為了資料共享,尤其是單個業務主體內部的資料共享,大可不必採用區塊鏈,傳統分散式架構的實現有更好的效能更低的開銷。至於資料安全問題,也可以用一些災備技術去解決。曾經有聯盟鏈的客戶問過:“把自己部門的業務資料全部用區塊鏈儲存,能不能變得更快或者更省錢。”,現實的回答是:都不能。

不同點1:多方維護

首先,傳統資料庫仍然存在一個管理員的概念,無論是分散式架構還是集中式架構。而區塊鏈中對資料的操作則不由單一主體控制,理論上來說區塊鏈就是一個任何節點都能寫入的資料庫(這裡我們先忽略聯盟鏈中的ca),至於寫入能否成功當然也受共識機制的影響(不管能不能成功,至少它有寫入的許可權了)。

從每個節點的寫入操作來看,不同於傳統資料庫具有增加、刪除、更改和查詢四個操作,區塊鏈放棄了“刪改”,僅保留了“增查”兩個操作(實際上刪和改是透過增來實現的),這樣的好處是除了查詢之外的所有操作都能留下記錄,並且透過雜湊函式保證了所有歷史資料嚴格按照時間順序記錄(多節點資料寫入的時序由共識機制保證),這就是我們經常提到的可溯源特性。

說到共識,由於多方寫入操作的存在,整個系統的共識機制也變得更為複雜。同時多個節點操作變得更加難以控制,類似於raft(paxos)這樣的經典共識機制並不能滿足拜占庭容錯(byzantine-fault tolerant )。

一些區塊鏈(主要是聯盟鏈)受到傳統共識機制的啟發,採用了基於領袖的策略(leader-based):先選出一個領袖,再由領袖來提出區塊,剩下的人達成一致,這類演算法以pbft為代表;而比特幣的做法則另闢蹊徑:乾脆不要領袖,所有人都能出塊,也別指望馬上就能達成一致,最後最長的那個鏈就算是大家達成一致的結果。實際上這種機制是放棄了強一致性,僅僅保證最終一致性(聽起來好像很弱的樣子,但可怕的是這個系統已經執行了十一年還沒出過什麼大問題)。關於共識機制,這裡就不做過多展開。這裡只是想強調由於多方維護的原因,區塊鏈在共識機制和傳統分散式系統的區別。

簡單地總結一下,多方維護的意思是,區塊鏈中所有的參與方(或者叫節點,注意這裡我們還將節點和參與方等價)都能查詢和寫入資料,並且寫入操作只能以增加新記錄的方式進行,這樣的特性傳統分散式系統並不能完全滿足(或者需要一些改動)。如果存在這麼一個分散式系統,每個節點都可以執行寫入查詢操作,並且所有的歷史資料都會記錄下來(可以不採用區塊+鏈的形式),那麼它是不是就等同於區塊鏈了?

不同點2:多智慧體系統

我們來看這樣一個問題:假設區塊鏈系統中有五個節點,“一個人一口氣租了五臺伺服器當作節點”“五個人各自用自己的伺服器當節點有什麼不同”?

從純技術的角度看,似乎沒什麼區別。但是從博弈論的角度看,就不一樣了。博弈論裡面有一個概念:multi-agent systems(多智慧體系統)。mas從定義上看比區塊鏈還要抽象:“由在一個環境中互動的多個智慧體組成的計算系統”。但是看了下具體的mas例子後,會發現多智慧體系統(mas)其實也是一種分散式系統:很多mas在底層就是一個p2p網路,比如感測器網路或者車聯網,但multi-agent system和傳統的multi-node system最大的不同就是這個agent(或者叫智慧體),後者是指具有自治性、社會性、反應性和預動性的基本特性的實體(人或者機器等),換句話說每個智慧體都能管理自身的行為並做到自主的合作或者競爭。

所以再回過來看上面那個問題,對於“一個人同時管理所有伺服器”這種情況,我們可以說這些伺服器組成了一個分散式系統,但所有伺服器實際上都只屬於一個智慧體,因此不能算作是多智慧體系統。而一個理想的區塊鏈網路,則應該是一個多智慧體系統。

二、區塊鏈有什麼用

1. 多智慧體之間的合作和競爭

如何讓多智慧體之間進行合作和競爭?答案很簡單:激勵(incentives

我們很容易想到比特幣中的挖礦,所有人參與到記賬的過程中,競爭獲取出塊獎勵,同時也共同維護了系統的安全和穩定性,類似地還有pos機制下的質押金沒收懲罰機制(slashing),這些都是激勵機制,也解釋了為什麼比特幣是目前最成功的區塊鏈應用,因為這套激勵機制完美地讓整個網路成為了一個多智慧體系統。

2. 聯盟鏈和無幣區塊鏈是否可以實現激勵?

博弈論裡面還有一個概念叫做“激勵相容”,用簡單地話來說就是:沒有人可以透過損害集體利益去實現自己利益的最大化。如果設計者設計了一種機制,能夠讓參與者理性實現個體利益最大化的策略,與機制設計者所期望的策略一致,從而使參與者自願按照機制設計者所期望的策略採取行動,那麼這種機制就具有“激勵相容”的特性。

由於我們前面談到區塊鏈能夠提供多方參與共建的可能,在這個基礎上,如果我們能設計一個業務場景,讓所有參與者為了整個集體的利益奮鬥,而不是讓一部分人受益、損害另一部分人的利益。或者說不損害任何利益相關方的利益,至少讓一方受益(帕累託改善),那麼它看起來就應該是一個可行的區塊鏈應用,不管是基於聯盟鏈還是公鏈。

一個特定商品的供應鏈從原材料採購,到製成中間及最終產品,最後由銷售網路把產品送到消費者手中,將供應商、製造商、分銷商、零售商、直到終端使用者連成一個整體。在這個供應鏈中,競爭力較強、規模較大的核心企業因其強勢地位,往往在交貨、價格、賬期等貿易條件方面對上下游配套企業要求苛刻,從而給這些企業造成了巨大的壓力。而上下游配套企業恰恰大多是中小企業,難以從銀行融資,結果最後造成資金鍊十分緊張,整個供應鏈出現失衡。

如果這個時候,我們設計了一個區塊鏈平臺,可以讓銀行、核心企業、上下游配套企業一起參與進來維護,這個平臺就只做一件事,讓所有參與方上傳自己的物流、交易、資金流和隨之產生的其他資訊,並且保證資料的真實性(或者說就算不能保證真實性也能提供一套溯源機制來追溯資料變動的每個節點),那麼這個平臺能帶來什麼好處呢?

對於上下游的小企業來說,哪怕只是螺絲釘生產商,他們也可以拿著可追溯的訂單和交易記錄去找銀行申請貸款或者融資。對銀行等金融機構來說,他們也能更好地找到穩定優質的客戶,減少壞賬率,提升投資收益。對於核心企業而言,看似沒有任何額外收益(目前至少已經是帕累托最優),但由於整個上下游生態帶來經濟效益和社會效益的提升,也將會受益。

這就是供應鏈金融的場景,在這樣一個無幣的場景中,可以透過“激勵相容”的機制,讓參與者都樂於參與其中,並且互相合作。

不過實際應用中,基於區塊鏈的供應鏈金融還有許多問題尚待解決,比如隱私保護問題、鏈上-鏈下資料協同的問題,這個也是我們認為近期主要技術發展方向之一。

總結來說,區塊鏈除了基本的資料共享功能之外,*與傳統分散式系統相比,提供了多方參與共建維護的功能,並且適合於具有激勵相容特性的業務場景*

至於區塊鏈的應用未來會更多在“去中心化”還是“多中心化”的場景中,就留給時間來回答吧。

作者:asresearch.io

asresearch 是一個以學術研究和技術驅動的區塊鏈技術諮詢機構。由多位從事區塊鏈行業多年的博士和碩士組成,致力於透過研究驅動創新和發展

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;