銳評:泡沫中的token和被冷落的聯盟鏈

買賣虛擬貨幣

區塊鏈的最佳應用方式就是發行通證並且保障其正確地流轉,與經濟活動的對接應該由通證的使用和流轉來完成

前言

再過十幾個小時,就是中本聰“發幣”九週年:九年前的這一天,比特幣的創世區塊被挖出,伴隨著"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks",開啟了密碼學貨幣與價值網路的全新時代。

九年後的今天,區塊鏈領域仍然處於行業應用相對沉寂,token發行如火如荼的“冰火兩重天”狀況之下,“區塊鏈應用向何處去”的問題,一定會在2018年成為整個領域關注的焦點。筆者在文中總結了自己長期以來在區塊鏈應用的合理模式方面的思考與結論,並給出相關建議,希望為區塊鏈技術發揮其應有的作用做出一些貢獻。

文章的重點是兩個話題:區塊鏈應用的反模式以及聯盟鏈的發展方向,這兩個問題看似沒有絕對必然的聯絡,但卻在現實中如影隨形,兩者一起探討,會得出更有價值的結論。

一、區塊鏈應用的反模式

在一次區塊鏈應用的研討會上,筆者做了《超級POS機:通證經濟時代的殺手級應用》的分享,其中明確提出了當前對區塊鏈模式的最主要誤用:把區塊鏈當做一個去中心化資料庫,用來像傳統資料庫一樣記錄業務流程及狀態,並希望透過運用共識機制,最佳化某些具備多方參與特性的處理流程

筆者為此舉網上的一篇文章作為例子:《一文看懂基於區塊鏈技術的國際貿易跨境支付模式》,https://www.toutiao.com/i6498123578993541645,並指出其中描述的方案是對區塊鏈系統的“經典誤用”。其實,這篇文章的絕大部分內容都是非常好的,包括問題的分析、系統的價值以及總體結構,唯一的問題就在於“區塊鏈賬本”在方案中的使用方式。

這篇文章詳細描述了區塊鏈賬本中記錄的內容以及與業務流程的關係,可以說達到了系統詳細設計的層次,具有很強的可操作性。正因為如此,也就充分暴露出區塊鏈誤用的關鍵細節——文章在系統價值以及共識環節的描述中,有這樣兩段話:

1.  “在基於區塊鏈技術的跨境支付,透過區塊鏈技術將所有參與支付結算的節點,包括進口商和出口商等各類機構連線起來,共同維護支付交易資訊,共同參與一致性校驗。在進口商在透過區塊鏈支付之後,如果未能收到真實有效的出口商發貨資訊,那麼在一致性校驗環節,進口商將否認該筆支付資訊,出口商將無法收到該筆匯款。因此,透過區塊鏈支付,所有交易相關方共同維護交易記錄,共同參與驗證交易資訊,大大降低國際貿易中的支付風險。”

2.  “甲公司、乙公司、C銀行、E銀行、做市商等各個相關角色根據收到的客戶資訊、訂單資訊、匯率資訊、發貨資訊等進行資料的真實性、一致性校驗。如果全部透過校驗,則該筆跨境電商交易中的相關各方達成共識,該筆交易確認。”

從這兩段話中我們就能看出來,這個系統一定沒有真正投入執行,或者其執行邏輯包括根本性的錯誤:

首先,從資訊來源的角度看:“客戶資訊、訂單資訊、匯率資訊、發貨資訊”這些資料,區塊鏈節點怎麼校驗其“真實性”呢?如果這些資料來源在鏈內,那麼資訊是不存在“真實性”概念的,只需要透過區塊鏈的共識演算法確認其有效性就可以,顯然這不是作者的意思。如果資料來自鏈外,那麼就是每個節點都根據鏈外資訊(客戶是不是有效、貨是不是真的收到了、匯率正確不正確)來判定資料的真實性。這樣一來,每個節點在區塊鏈中的角色其實是“預言機”(Oracle),只是根據預言機的資料做出判斷而已,根本沒有共識演算法發揮作用的地方。

其次,從共識機制的流程看:進口商沒收到發貨資訊,可以否決共識;所有人都判斷一致才能達成共識。這是個什麼共識演算法呢,PBFT?那不是說好了大於(n-1)/3節點就能共識嗎?POW、POS,哪個也沒說必須全體一致啊,怎麼還出來一票否決了呢?

筆者必須遺憾地指出,這篇文章的作者完全沒有理解區塊鏈的共識機制的概念,而是用現實世界中的“基於事實的判斷”來替代。不幸的是,我所看到的大量聯盟鏈的應用所描述的共識機制及其價值的論述,都是這樣的概念,並重點強調這是共識機制為系統帶來的優勢,甚至很多領域的公有鏈在ICO白皮書上也是這種邏輯,實在謬以千里。

問題出在哪裡呢?筆者希望闡述的觀點是:從區塊鏈系統的設計理念、資料結構和演算法體系來看,沒有任何證據表明用它作為資料庫來記錄業務流程資料的合理性。如果將區塊鏈技術應用於業務流程資料的記錄,很顯然記錄的正確性受到業務流程的決定。然而,業務流程的每一個環節,必然都有一個角色是其執行者,也就是流程資料記錄的發起者,他才能決定這個流程資料的記錄內容,其他節點有什麼資格和依據去參與一個所謂的“共識”,來證明這個環節的執行者所記錄資料的真實性和正確性呢?實際上,在業務流程中,其他的角色是透過規定好的業務流程規則以及對應的事實,來判斷自己的環節是否可以執行,根本沒有興趣也不可能跟別的環節的執行者達成什麼共識,這才是業務流程模式的本質。上述文章中的兩段話,反應的就是這樣一種邏輯,與區塊鏈的共識機制毫無關係。

用一句通俗的話說:“區塊鏈是讓互相不認識的人協同記賬的一種技術”,這些人相互之間並沒有除區塊鏈之外的其他聯絡,甚至都不知道任何其他角色的存在,他們只根據收到的資料和預先確定好的演算法來達成共識,並且記錄下來。因此,業務流程記錄模式與共識機制的邏輯是毫無關係甚至是完全對立的。有太多的人把這一概念曲解為“讓互相不信任的人協同記賬”,然而,不認識自然不信任,不信任未必不認識,兩者之間的差異就是他們在一件事中的相互關係與角色——是相互無關還是基於流程的協作,這是實質性的區別,建議讀者在這個問題上進一步自行深入思考。

客觀說,區塊鏈的誤用並不僅限於聯盟鏈,如筆者前面所述,很多公有鏈ICO專案的白皮書中也隨處可見這種誤用。但不可否認的是,聯盟鏈是這種誤用的重災區,從一個明顯的特徵就可以看出來:目前聯盟鏈的最主流產品——HyperLedger上,沒有原生代幣,這可以說是判斷區塊鏈是否誤用的一個非常有效的標準,為了說明這一點,就要簡單提一下通證的概念。

二、通證

“通證”就是token,以前大家都翻譯/叫成“代幣”。通證這個翻譯最早是CSDN副總裁孟巖提出來的,並且還和世紀互聯董事長元道先生做了幾篇對話進行闡述,讀者可以自行查閱。

筆者在中關村區塊鏈聯盟的第二次研討會上提出了通證的一個定義:流通的憑證。這個定義其實跟“通證派”其他成員的定義並不完全一致,足見這一概念之新,恐怕還要很長時間才能在業內達成“共識”。

筆者的這個定義是從經濟學角度給出的,相信“流通的憑證”這個概念是最貼合目前token的經濟學含義的,也完全覆蓋“代幣”這一概念。這個角度對通證定義是至關重要的:眾所周知,區塊鏈是一個“價值網路”,其上流轉的是價值單位而非普通訊息,因此“流通的憑證”這一概念精確刻畫了區塊鏈上的價值載體及其運作形態,是區塊鏈在經濟學角度的意義所在。

基於這些概念,結合上一節所指出的區塊鏈應用反模式,筆者要明確地給出自己的觀點:區塊鏈最有價值的應用形態就是“發幣”——發行通證並保證其正確地流轉——就像大部分人已經發現且有所“詬病”的一樣:區塊鏈就是做這個事情的最佳技術,並且這也是區塊鏈應該做的最佳事情。

關於這一點的詳細論述,筆者還會有單獨的文章,大家也可以參考前面提到的孟巖的幾篇對話和文章,基本表達了類似含義。本文的討論到此為止,下面用一個具體例子來說明通證模式的區塊鏈應用的特點。

三、基於通證的國際貿易跨境支付模式

筆者曾經舉過一個銀行承兌匯票的例子,用來說明通證應用模型強於區塊鏈資料庫的模型,在本文中,就用上述國際貿易跨境支付場景這個現成的案例來做描述。

基於通證的模型實現跨國轉賬應用實在太簡單、太清晰了,以至於沒必要用業務流程來描述,簡單地說就是一句話:來轉賬,而不是用鏈去記賬

1.  付款方銀行發行一種“結算通證”(代幣),用1:1的方式代表本國貨幣

2.  企業用本國法幣購買/兌換這種結算通證,並在貿易流程的合適時間透過區塊鏈網路交易將該通證支付給合作方(支付流程結束)

3.  合作方可以在收到通證後的任何時間到接受該結算通證的本國銀行兌換成本幣(涉及外匯兌換)

4.  合作方銀行與付款方銀行可以透過通證進行再次的外匯兌換,具體路徑既可以是傳統國際匯款,也可以在一個有雙方法幣計價的結算通證的區塊鏈體系上進行軋差,總之,這都是二次結算的具體實現方式而已。

簡單地說,通證模式的應用,就是保持原有國際貿易流程全都不變,只把以前透過法幣支付、外匯兌換結算這樣的流程,變成用區塊鏈上的“通證”支付和結算。整個流程的各個參與方,根據自己的需要,與交易對手進行通證與法幣的兌換、通證與通證的兌換,或者通證的軋差(也就是錢包/賬戶的餘額增減),實現最終的結算。也就是說,只要一個銀行發行這種通證,其他銀行可以接受,整個流程就能正常運轉,這樣就要求相關的銀行、企業組成一個接受和使用這種結算通證的聯盟,這不正是“聯盟鏈”所遵循的模型嗎?所以,只要在聯盟鏈上發行結算通證,相關貿易方與銀行加入這個聯盟鏈,基於區塊鏈的國際貿易支付結算就可以實現。

說到這裡,插句“題外話”:瞭解國際間清算結算的讀者應該知道,本文提出的這個所謂“結算通證”,其實就具備貨幣屬性——要麼是各國能夠接受的法定數字貨幣,要麼成為一種國際間可流轉的、基於區塊鏈實現的“銀行承兌匯票”。因此,結算通證仍然會有計價單位的問題,如果他國能接受人民幣為單位計價的結算通證,本質上就是人民幣國際化的一種形式——太陽下沒有新鮮事,你懂的。

言歸正傳,有了上面這個方案,我們反過來看《一文看懂基於區塊鏈技術的國際貿易跨境支付模式》文章中所提出的採用區塊鏈的三大優勢,其中的二、三兩項——提高跨境支付效率、節省銀行業務資源,同樣是可以實現的:一方面透過區塊鏈上通證(代幣)的準實時轉移完成結算,效率遠比SWIFT等中介高,減少大量對賬工作;另一方面,每一筆“錢”都在所有者錢包/賬戶之間轉移,無需在大量中介處開設頭寸賬戶,節約資金成本。至於第一項,“降低跨境支付風險”的作用,在原文中是基於對區塊鏈作用的錯誤理解而想象出來的,基於區塊鏈的所謂分散式賬本並不能實現這一目標,仍然是靠其他流程來保證的。相反,基於通證的模式,倒是可以有助於解決支付風險問題的,由於涉及的方案選擇較多,也不是本文的重點,未來有機會再詳細論述,讀者有興趣可以自行驗證。

總體來說,基於通證的方案主要優勢在於完全不用改造現有系統的總體架構和業務流程,只需要對接通證發放、接收、流轉的介面,對接到區塊鏈系統上,由區塊鏈負責通證在多方之間的轉移即可,方案的價值不言自明。

四、聯盟鏈的意義

從上面描述的通證方案可以看出,區塊鏈底層網路技術的似乎選擇對業務流程沒有什麼影響,只要一個支援通證(原生代幣)的區塊鏈網路——哪怕是比特幣、以太幣、萊特幣——都是可以實現這個功能的。當然,由於這個結算通證需要跟發行國的法幣有1:1的關係,也就是必須獨立發行一種專門用於國際貿易結算的通證,不可能使用已有系統的數字加密貨幣。不過即使如此,用以太坊上的ERC20 token發行這種結算通證應該也是足夠的了。

事實上,雖然從功能上來說公有鏈也能完成方案的目標,但現實中這一方案只可能使用某種聯盟鏈來實現,原因是這個系統必須被採用他的國家/銀行聯盟完全控制:

1.  算力控制

這個系統上流通的是有國家/銀行信用背書的結算單位,本質上就是錢,因此如果需要防止篡改、雙花,算力必須控制在管理者/信用背書者手中。如果採用公有鏈,一旦被算力攻擊,支付結果被更改,就等同於資金被盜,整個系統就失去意義。因此,聯盟鏈所採用的算力/驗證節點准入的方式,是這個系統執行的必要條件。

另一方面,我建議應該放鬆SPV節點的進入控制,這樣可以使通證流轉範圍更廣闊,本質上也就是加入這個結算體系的成員更多,是有利於結算體系的發展的。這一思路也是通證模型與區塊鏈模型最大的差異——如果把區塊鏈做為賬本,那麼賬本是沒必要給無關的人看的,所以會傾向於SPV節點也只有聯盟成員才能加入。

2.  隱私保護

與算力共生的是隱私問題,作為國際支付結算的網路,如果像公有鏈一樣每一筆賬都能被任何人查閱的話,即使不知道地址對應的真實銀行、企業,從流轉速度和總量這些派生資料上也能獲知大量資訊。更何況凡是這個網路的合法使用者,都可以看到很多與他無關的資料,這也是不合理的。

在這方面,聯盟鏈也做了有益的探索,實現了交易只對參與者可見等能力。然而,在本文提出的通證模型中,交易可見性會存在一定問題,因為通證的流轉是一個有向無環圖(DAG)結構,可以實現完全的追溯。因此,筆者考慮“多合約+合約可見性”的方式,讓參與某個合約的交易方才能看到合約資訊,在通證的傳播性、節點靈活性與隱私保護之間取得平衡。當然,這種設計與具體業務流程有一定關係,不再展開討論。

簡單地說,聯盟鏈與公有鏈一樣,應該透過發行通證來支撐應用,否則大概率會陷入誤用的陷阱。至於是否需要類似以太坊ERC20這樣透過智慧合約來派生代幣的能力,則可以根據業務領域來決定。筆者的意見是最好也有,這樣可以讓聯盟鏈上的應用如虎添翼,就像ERC20成就了ICO一樣。在節點機制上,也應該博採眾家之長:全節點保持高可靠、性限制准入,SPV節點放寬准入甚至“準公有鏈”模式,能使聯盟鏈的價值得以更大地提升。

結論

本文的內容大致總結成為兩句話:

1.  直接使用區塊鏈作為資料庫,來記錄業務流程資料,是典型的反模式,我們應該放棄這方面的努力,迴歸到通證應用的方向上——“退”一步,海闊天空

2.  在聯盟鏈上使用“通證”模型,將極大發揮聯盟鏈的優勢,在區塊鏈應用領域起到應有的作用

此外,筆者希望指出:採用通證的方式實際上比直接使用區塊鏈技術的方式具有更大的經濟、社會和政治意義。舉例而言:透過這樣的模式實現國際貿易支付結算,一個國家可以推行其貨幣單位在全球貿易結算活動中被接受的範圍,以中國為例,“一帶一路”經濟帶上的商品和服務進出口貿易如果能夠採用這種方式,實際上就間接實現了人民幣的國際化,其成本要比傳統方式低得多。

相信在可以預見的將來,通證模式一定會被更多人所認知和接受,讓區塊鏈技術發揮其應有的作用。

免責聲明:

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

推荐阅读

;