
作者:jolestar
最近流行一個說法是幣圈涼了,無幣區塊鏈代表未來。一直以來對區塊鏈技術有幾種看法:
只有比特幣,沒有區塊鏈。區塊鏈只是為了實現比特幣而採用的一種不得已而為之的技術,沒有什麼先進性,也沒有通用性。除了比特幣,全是山寨幣,全是騙子,更遑論無幣區塊鏈。
比特幣是區塊鏈技術的一個特殊案例,區塊鏈技術可以用到更廣闊的場景,騙人的都是發幣的,搞無幣區塊鏈的不是騙子。
上面兩種人都是騙子,區塊鏈都是騙子。
鑑於第三種看法前一段時間因為一篇文章廣泛流傳,個人作為一個區塊鏈技術人員,覺得應該寫點什麼。一直想寫一個系列,但年初的時候區塊鏈鼓吹者甚多,作為一個技術人,完全插不上嘴。最近熊市,冷清了許多,決定寫一寫。前一次從賬本技術演進的角度寫了區塊鏈技術的演進《一級標題一級標題
公鏈,聯盟鏈,私鏈的劃分
業界對區塊鏈的劃分一般從兩個角度,一個角度按需要達成的共識範圍,分為公鏈(public),聯盟鏈(consortium),私鏈(private),另外一個角度是從賬本生產者加入的方式,分為無許可鏈(permissionless),許可鏈(permissioned),私鏈(private)。
這裡要談的聯盟鏈對應的就是consortium 和permissioned。
但permissionless 和permissioned 之間的界線實際上並沒有那樣清晰。比如關於EOS 的爭論。有人認為這樣的超級節點數有限的鏈,就是一種超級節點之間的聯盟鏈。 permissionless 就必須是出塊節點無限,純粹的Peer to Peer 網絡,理論上任何一個節點加入後可單憑自己的意願和力量就可成為出塊節點。反對者則認為,EOS 沒有准入限制,任何人都可以競選超級節點,是否能競選上就取決於用戶投票,permissionless 關注的是可能性,調動物力資源(算力)和調動社區力量,都是需要成本的,本質上一樣。這就引出了一個關鍵問題,如何理解permissionless 和permissioned ?誰來許可?
所以為了避免爭議,我自己提出一種劃分方式,可通過鍊是否可以『自舉』,來進行劃分。自舉包括經濟和治理兩個方面。
經濟治理
治理一級標題
一級標題
先有聯盟還是先有鏈?
我們假設一個聯盟鏈的啟動場景,有幾個市場主體,決定要成立個聯盟,啟動一個鏈來共享數據。於是協商好各聯盟成員在聯盟中角色,投票權重,准入機制,承擔的責任,利益分配等等,這些機制,要么落實為合同,要么再成立個合資公司,落實為公司股權以及章程。然後找一個聯盟鏈的技術供應商,購買聯盟鏈系統,啟動聯盟鏈。
而另外一種啟動方式是,把聯盟本身的成立,組織,准入,責任利益分配等治理機制都通過鏈來進行,將線下的合同,轉換為鏈上的共識代碼邏輯,它本身就變成了一種可『自舉』的鏈,聯盟本身是由鏈組織起來的,這和前面說的公鏈實際上沒有了本質的區別了。
這也是當前聯盟鏈當前兩條路徑的主要差異,一派認為應該先有聯盟,鏈只是一個工具,提供方把自己定義成一種區塊鏈軟件系統提供方,關注當前現實的可行性以及合規性。另一派認為先有鏈,聯盟是鏈上的產物,更像是鏈服務提供方,更關注未來的可能性。
當然,後面這套機制如果試圖通過程序表達出來,並且達到最後的可執行效果,複雜度超過可能當前所有公鏈的治理機制,並且也一定程度依賴法律的變革,所以當前的聯盟鏈服務商都採取了一種簡化策略。
去除掉公鏈內部的經濟系統。公鏈的經濟系統本身是為了激勵和懲罰參與者而設計的,沒有了經濟系統,本質上是把利益分配機制轉移到鏈下的傳統方式。
一級標題
一級標題
聯盟鏈的應用場景在哪裡?
區塊鏈造出了幣,造出了融資平台,造出了交易所,也該到造應用,將區塊鏈應用到更多行業和場景裡去的時候了。當前新的公鍊和聯盟鏈其實都是這個趨勢下的產物,主要都在探索應用場景。
談論區塊鏈的時候,很多人的第一個問題就是它到底能用在哪呢。這個問題其實可以拆解成兩個問題,它未來有什麼用,和它當前有什麼用。很多質疑區塊鏈的人混淆了這兩個問題,你談論未來的時候,他拿現狀質疑,你談論現狀的時候,他拿未來嘲諷。
第一個問題其實就是,假設區塊鏈的網絡已經建立起來,網絡效應發揮出來之後的可能性。談論可能性的時候,容易放飛自己,聽著就像忽悠,所以這裡先從背景和趨勢進行演繹。
區塊鏈要解決問題的大背景是信息互聯網在各行各業的進一步深化,也就是常說的互聯網+,或者互聯網進入B 端,從以前連接消費者(C 端)轉變到連接企業(B 端)或者連接組織(包括G 端,政府)。
但C 端直接面向的是人,以信息展示為主,商業模式主要依賴吸引終端用戶的注意力。而要連接B 端,依賴的是企業間系統互通,以信息和價值互換為主。給人的信息展示對數據格式化以及標準化要求並不高,但如果是系統間的交互,則對數據格式,流程,協議有嚴格要求,如何讓不同企業的內部系統遵循同樣的數據,流程,協議,然後連接成一個網絡,形成網絡效應?
一個方向是沿用互聯網模式,讓B 端都接入到一個互聯網平台上,然後再通過平台內部連接。但如何吸引B 端呢?一種嘗試是通過C 端的流量來吸引B 端,比如電商以及外賣平台等都是這個思路。但這種連接比較淺,依然沿用的是互聯網流量入口的模式,並沒有實現B to B 的連接。另外一種嘗試是SaaS 服務,將企業內部應用互聯網化,如果服務普及到一定程度,就可能實現企業與企業之間的連接。但你可以設想全中國的人都用微信來聊天,但能構想一個在線企業服務,比如財務系統,全中國的企業都用嗎?
還有一種方向是行業標准或者行業聯盟提供的平台。比如金融領域的FIX(Financial Information eXchange,金融信息交換協議) ,或者銀聯這樣的組織提供的結算平台。但標準以及協議只能定義通信格式,很難定義業務邏輯,更難實現統一的數據處理邏輯,而銀聯這種行業聯盟平台構建的成本太高,不可能適用到所有行業。
而區塊鏈展示出的一個藍圖是,數據的校驗,處理流程,乃至組織的治理都可以通過代碼定義,各參與方遵循同一套規則,這套規則是活的運行中的代碼,而不是死的文檔中的規範,是一種更高級的行業協議聯盟,是Software Defined X 趨勢在行業內的延續,比如SDF(軟件定義金融,Software Defined Finance)。
比如拿比特幣來舉例,把比特幣網絡理解成一個清算網絡,各交易所是接入這個清算網絡的企業。以前企業間需要數據互通,只能互相談判對接接口,系統接口還必須保持兼容。而有了比特幣這套網絡後,只要遵循比特幣規則接入到網絡中,即可和全球其他任意企業進行價值互通,用戶的比特幣即可在不同交易所之間流動。
把上面的交易所,替換成任何一個B 端系統。比如企業財務系統,企業間的對賬直接通過網絡進行,內部賬單保存在本地,再配合政府的電子發票,基本就實現了記賬對賬審計一整套體系,政府審計查賬那就太容易了,跑一個程序就搞定。這也是為什麼政府支持區塊鏈的原因。
單從行業來說,金融領域是最關注區塊鏈的。如果說互聯網給金融帶來的壓力只是入口之爭,而區塊鏈帶來的壓力則是根本性的。所以金融機構對區塊鏈有一種矛盾的心態,一方面想積極擁抱,聯盟鏈基本上都有金融背景,另外一方面又有排斥,畢竟定義貨幣,債券,股票以及數字資產是金融機構的生存之本。但區塊鏈帶給金融的不僅是挑戰,更多的是契機,比如全球化。
一級標題
一級標題
聯盟鏈的困境
區塊鏈當前遇到的困境其實和互聯網應用初期遇到的困難類似。區塊鍊和互聯網應用都有網絡效應,它所繪製的藍圖需要在網絡構建完成後才能體現出來,初期個體的採用並不能享受到網絡帶來的好處,那初期用戶有什麼動力來採用區塊鏈呢?如果說公鏈還可以依賴自己的經濟體係做早期激勵,互聯網應用可以利用各種營銷手段,對to B 的無幣聯盟鏈來說,這個問題尤其困難。 B 端用戶的決策週期長,採用成本高,尤其區塊鏈的應用架構和傳統應用差異巨大。
所以當前的聯盟鏈創業者初期肯定是需要在路徑上摸索和尋求突破,比如我這裡可以列舉幾個可能的途徑:
以開發的便利性作為突破。區塊鏈的智能合約模型,提供了一種更優雅的應用開發模式,平台完全接管應用的輸入輸出以及運行環境,開發者可以更專心於業務邏輯。這個和Docker,Kubernetes,ServiceMesh,Serverless 的演進是一個體系的。也和朋友聊過通過更輕量的沙箱VM 替代Docker 的想法,有空再仔細寫一下這方面的思路。
以安全和容災作為突破。區塊鏈的架構完全符合異地多活的架構要求,並且可以做的更可靠優雅(可參看《區塊鏈的技術世界觀》中的相關段落分析)。
以內部監管作為突破。可適用於很多複雜體系的企業,比如總公司和分公司使用不同的系統。
以構建公信力作為突破。利用區塊鏈的幾個特性:1. 用戶對自己數據的控制能力。 2. 聯盟成員互相制約。 3. 數據的公示與監督。可以幫助創業者以更快的速度構建公信力,而在之前,基本上公信力只能靠時間來構建(比如保險行業,用戶選擇保險的時候很關注的一點就是保險公司持續的時間)。
一級標題
一級標題
看看現在的聯盟鏈
它提供了一套Flow 機制,方便定義需要多方參與的流轉式交易。它的合約就是Java 或者Kotlin 代碼,不過都是無狀態的,只負責校驗,不保存狀態,同時還內置了許多金融合約的實現,應用打包後就是一個farJar 包,叫做CorDapp,可直接託管給平台,相當於一種平台插件。
Hyperledger Fabric
在聯盟鏈場景下,它簡化了計算證明的要求,允許用戶以任意語言開發應用,並部署到Docker 中運行,被稱為chaincode,相當於託管到鏈上的應用。開發者不需要懂太多區塊鏈知識,只需要知道它接管了應用的輸入,並通過提供SDK 的方式,接管了應用輸出即可。甚至可以理解成一個微服務框架,不過擁有區塊鏈的共識能力,很容易實現多節點數據同步。
在聯盟鏈場景下,它簡化了計算證明的要求,允許用戶以任意語言開發應用,並部署到Docker 中運行,被稱為chaincode,相當於託管到鏈上的應用。開發者不需要懂太多區塊鏈知識,只需要知道它接管了應用的輸入,並通過提供SDK 的方式,接管了應用輸出即可。甚至可以理解成一個微服務框架,不過擁有區塊鏈的共識能力,很容易實現多節點數據同步。
R3 Corda
它提供了一套Flow 機制,方便定義需要多方參與的流轉式交易。它的合約就是Java 或者Kotlin 代碼,不過都是無狀態的,只負責校驗,不保存狀態,同時還內置了許多金融合約的實現,應用打包後就是一個farJar 包,叫做CorDapp,可直接託管給平台,相當於一種平台插件。
它提供了一套Flow 機制,方便定義需要多方參與的流轉式交易。它的合約就是Java 或者Kotlin 代碼,不過都是無狀態的,只負責校驗,不保存狀態,同時還內置了許多金融合約的實現,應用打包後就是一個farJar 包,叫做CorDapp,可直接託管給平台,相當於一種平台插件。
金鍊盟FISCO BCOS
FISCO BCOS(以下簡稱“BCOS”)是基於以太坊改造的聯盟鏈。將以太坊的共識機制改造為PBFT 或者RAFT,並提供系統合約來實現節點管理,系統配置等能力。它的合約以及交易,主要繼承自以太坊,不過廢棄了以太坊的Ether,所有資產都通過合約實現。
一級標題
一級標題
一些應用案例
一直也在琢磨區塊鏈的案例。正好前一段時間金鍊盟舉行了一個大賽,看到一些參賽案例。具體的代碼和實現沒看到,所以只是從腦洞和當前落地的可行性方向分析下。
政務類相當於to G 的場景。這個領域實際上可做的事情非常多,比如最簡單的信息公開。當前大多數政府信息公開還是原始的網頁或者辦公文檔,並沒有格式化的信息,第三方很難再次加工利用。如果通過區塊鏈方式開放格式化的標准信息,則更有價值。比如大賽中出現的不動產登記、智慧城市服務、信用共享等應用場景的案例。這個領域的實施難度不在技術,關鍵在如何驅動。就比如,最簡單的,工商登記部門提供一套證書機制,企業註冊時生成數字證書,證書效力和公章一樣,這樣所有的數字合同場景都可以用得上,這個甚至都不需要用區塊鏈就能實現。
司法類比如做存證固證平台的,如果做好了,完全可以簡化從公安,到檢察院,再到法院的整個辦案的證據提交和轉移流程。實際上是政府部門間協作的流程的標準化以及軟件化。
教育類開放式問題
開放式問題
開放式問題
聯盟鏈當前還有一些開放式問題,暫時沒有答案,等待探索。
聯盟鏈上應用和鏈的關係應該如何劃分?是鏈直接託管應用,還是應用在鏈外?那具體哪一部分應該在鏈外呢?是否可提供整體方案?
相關鏈接
總結
總結
相關鏈接
相關鏈接
金鍊盟中國區塊鏈應用大賽30強揭曉,即將角逐兩百萬獎金有問文中所提的項目列表
題圖來源https://unsplash.com/photos/-lp8sTmF9HA