備受爭議的區塊鏈
區塊鏈從一個技術概念出現,到被大眾期望成為新一次計算范式的顛覆式創新,已受到各行業從業者的廣泛討論,其內涵和外延在迅速發展。區塊鏈概念包含多種信息技術及其組合而成的綜合解決方案。通過多種信息技術的有機集成,區塊鏈系統具有數據安全難以篡改、系統魯棒性超強、全網大規模參與、邏輯自動強制執行等比傳統系統更加可信的優點。因此,區塊鏈系統被嘗試在實體經濟領域各方面落地應用,以增加業務可信性,或創造新的基于可信的區塊鏈系統的新業務模式。
區塊鏈的思想和理念常常被人們解讀為去中心化、分布式記賬、傳遞信任等,這當然是整體區塊鏈系統解決方案所具備的優點,也由此引發了創新的業務思維模式變革。但整體區塊鏈系統解決方案同樣存在明顯的短板,包括處理能力相對較弱、性能和可擴展性難以兼顧、數據保護與數據安全難以兼顧、業務改造及落地成本較高的問題。
區塊鏈概念中蘊含的優秀思想
本文致力于討論和總結區塊鏈概念包含的精妙的思想和理念。這些思想和理念蘊含在區塊鏈概念中,但又可以脫離區塊鏈系統而存在,包括區塊鏈系統技術設計思想、區塊鏈概念對已有業務系統改造的理念、激勵機制賦能業務營銷等等。從比特幣等常見區塊鏈項目的工程設計理念出發,通過剖析其具體工作機制,試圖發現區塊鏈系統中蘊藏的獨立的針對系統或機制的設計思想。希望這些藏在區塊鏈概念中的思想理念,能被單獨或組合地使用,從而賦能更多領域的從業者,讓區塊鏈的價值可以通過改進非區塊鏈系統得到更快更好的展現,彌補當前區塊鏈系統部署成本高、廣泛應用落地難等問題。
需要說明的是,由于區塊鏈系統是多種技術集成的新型系統,任何一個要素的缺失都可能導致其無法被稱為區塊鏈系統。因此,讀者在閱讀過程中可能都會遇到類似“如果只用這一個思想設計系統,并不是一個完整區塊鏈系統”的問題。的確,文中相關改進方式大多是為了更充分體現區塊鏈的某些設計思想,重點提升系統某些方面的能力,不局限于基于區塊鏈系統的優化,而是強調將好的思想盡可能落地現實,真正助力實體經濟。
文章將從五個角度來總結相關的思想,包括:提升系統安全可控性、增強系統可信性、簡化流程降低成本、科學激勵、區塊鏈系統優化與區塊鏈并非萬能。
A. 提升系統安全可控性
1. 數據可獲取性幫助提升安全性——數據及時廣播的多副本存儲模式
以比特幣為代表的區塊鏈系統中,無論是交易發起信息、交易打包信息、交易確認信息其副本都會在第一時間向全網擴散,被各節點同步,在盡可能多的地方留下數據操作的痕跡。看似效率低下浪費資源的信息廣播模式,帶來的卻是極大地減少信息不一致的概率,降低信息沖突帶來的損失,提升信息被篡改后恢復的能力。
一方面,在單點數據出現損壞的情況下能及時用其他節點數據恢復;另一方面,在數據可能被篡改攻擊或者處理出現錯誤的時候,各個業務方能在第一時間校驗數據及發現問題,阻止惡意數據的傳播,并恢復有問題的數據節點。
雖然,這一思想是區塊鏈非常重要的思想并且將其發揮到了極致,但卻并非區塊鏈系統原創。許多傳統金融機構業務系統、數據中心系統、大數據技術框架早已設計了多地備份數據副本,致力于提高數據的安全可恢復及高速傳輸能力。
2. 重視過程數據記錄——相比結果數據,原始過程數據包含更多信息
比特幣系統中利用未花費交易輸出(UTXO)記錄交易過程的設計非常精妙。系統內不記錄賬戶總余額,而是記錄每個可供轉移的價值單元(就是比特幣)的轉移情況和歸屬權。通過歸屬權的轉移體現交易過程。通過一個簡單的數據結構設計保證了有限資源的總量控制、來源追蹤,既完成了轉賬過程的精確記錄,又能體現用戶在各個時間點資產情況。
業務系統中的數據可分為兩類,一類是業務發生過程產生的原始過程數據,另一類是由原始過程數據處理得到的統計結果數據。我們可以把原始基礎數據稱為過程記錄,把統計結果數據看成結果記錄。在區塊鏈系統中,每次的交易需要記錄生成新的未花費交易輸出就是原始過程數據,記錄了用戶先前擁有的未花費資產的所有權轉移過程。每個人擁有的余額并沒有直接記錄,但可以通過統計所有與該用戶相關的未花費交易輸出經過計算得到的統計數據,也是某一時點用戶所掌握財富的結果數據。區塊鏈系統告訴我們,讓原始數據達成一致是保證全局數據一致的關鍵,至于統計結果數據,定期保存或統計有助于提高數據處理的效率,但對于達成共識來說,并不用作為全局同步和達成共識的必要內容。
記錄過程數據的思想結合數據及時廣播的理念,可以解決很多需要公平和安全性的問題,如:防止業務數據被做手腳,防止欺詐事件等。通過多方的實時監督,幫助限制各類欺詐發生的可能。
3. 充分溝通高效落實——多方參與發聲,唯一幸運者掌權記錄
以比特幣為代表的穩定的區塊鏈系統其準入要求通常不高。參與節點各方面能力差距很大的復雜系統無論從安全角度還是效率角度,系統整體能力都容易被最差節點拉低。而比特幣作為一個全民參與的系統,通過巧妙的共識機制,開創性地做到了系統內各節點的充分溝通高效落實。所有節點均有機會記賬的情況下,利用工作量算力競爭全民充分參與的機制,由系統隨機產生幸運記賬者的方式使系統數據的實際寫入方唯一,并且滿足無法預測的隨機性。這種兼具復雜的共識機制與簡單的寫入機制的系統是對復雜與簡單、安全與高效并存的完美詮釋。
其設計理念體現出對于復雜多方參與的分布式系統,如果有較高的安全性和容錯性要求,那就盡量不要讓擁有寫入數據權限的參與方太多,如果無法做到這點,所有節點都需要有寫入能力,就必須要設計合理的機制將眾多節點的寫入權限通過轉移,進行集中處理,避免多點寫入帶來的巨大調度同步成本,在保證多方充分參與共識的情況下使系統具有較高的可靠性和較低的出錯概率。
4. 用數據結構保證可控性——鏈狀數據結構單向線性增長,可控擴張
區塊鏈系統的數據通常一旦確認便無法再次更改,數據只能單向線性增長。這種數據記錄方式體現了設計者希望數據具有良好的可控可管性。可控性為建立全局復雜的共識奠定的基礎。全網需要達成共識的數據集中在最新的幾個區塊中,使得參與共識的結點可以聚焦需要達成共識的部分,而無需操心其他數據的一致性。這是區塊鏈系統區別于傳統系統的一大優點。
然而這一優點往往容易被忽略,人們更多只關注區塊鏈存儲數據量總體大小的單調增長性。一個只能增加數據,無法減少數據的系統如何能夠長久被信任和高效使用呢?相比交易處理能力和共識能力來說,這更是絕大多數的區塊鏈系統難以回避的問題。
筆者認為區塊鏈體現的理念重點在于可控,并且線性單向增長并不意味著無限增長。通過在數據結構增長的設計機制中增加一些設計,區塊鏈可以通過不斷拋棄歷史信息,可控擴張。此處可控擴張意味著,系統中的數據量會隨著業務數據的增加而增加,但一些不影響當前或未來共識的歷史數據可以被拋棄,或是無需每個參與者進行記錄。歷史信息由于具有可驗證性,并具有不可篡改性,只需要少量節點記錄留存即可。
當前,以比特幣為代表的區塊鏈并未解決這個問題。為什么目前比特幣已經遇到數據量過大的問題,卻依然需要結點保存全網數據才安全呢?比特幣鏈不能進行截斷,拋棄歷史區塊,是因為有些UTXO數據記錄在前面的區塊中,如果UTXO一直沒有被轉賬花費,新的區塊中就不會存在相關的信息。因此,在未來的操作這個古老的UTXO時會需要往前追溯到非常老區塊中的信息。當然,這一問題并非無法解決,通過其他機制引入區塊鏈系統完全可以讓區塊鏈在保證系統安全的情況下讓區塊鏈瘦身。
此外,筆者認為這種數據結構也可以為未來區塊鏈系統引入數據失效機制打下基礎。對于某些法律框架中要求系統遺忘的數據進行全網同步遺忘。那些不愿同步遺忘信息的結點,同樣可以被其他節點當作不可信結點,未來的數據增長也不會基于這些節點,從而達到數據全局可信遺忘的效果。當然,此處遺忘指的是達到共識的一致的業務數據銷毀,并非數據在全局痕跡的清除。數據由于具有可復制性,一旦產生被復制,就很難被完全抹掉痕跡。
B. 簡化流程降低成本
5. 減少多方記錄校驗成本——唯一且一致的全局同步數據記錄
有效率的業務模式必須能夠對業務數據達成一致和共識。數據記錄的一致性是最基本且傳統的信息交流要求,信息系統的出現正是為了提升數據記錄的一致性和處理效率。
信息系統的建立對信息處理效率的影響呈螺旋上升態勢。早期,為了記錄一致的數據,不同利益相關實體之間需要各自維護數據并在數據生命周期的各個階段(記錄、使用、定期核查、變更、轉移、銷毀)進行反復地核對和校驗。信息系統對接、信息傳輸、信息處理等過程帶來的開銷是無法避免的。因此,大量中心化信息系統應運而生。信息中介通過中心化收集相關數據并進行統一處理,從而降低數據校驗成本,提升業務效率。隨著業務逐漸復雜,社會化分工變細,服務實體變多,重要的業務信息數據被大量功能不同的業務相關實體持有。導致業務主體開始關注信息中介的可靠性、客觀性、獨立性和安全性。隨著信息中介數量不斷增加、信息被不斷復制并且分別處理,業務系統在多中介情況下變得冗余復雜,其復雜性又會導致更大的信息同步、校驗和管理成本,從而在一定程度上抵消了單個信息系統帶來的效率提升。
于是,區塊鏈系統的出現巧妙地為上述問題給出了一種解決思路——通過唯一且一致得全局同步數據記錄,來突破全局多副本的數據存儲模式導致的復雜低效的瓶頸。
當前,這個思想最為廣泛地被業界接受,也是業界試圖應用區塊鏈的核心思想。許多業內已落地項目,均很好地利用這一思想來降低多方記錄核對成本、簡化數據校驗流程,進而降低業務的綜合成本。
然而,維護一個數據記錄而非多個記錄的思想在落地過程中,無需套用完整區塊鏈系統,也無需實現去中心化、去中介等模式。如果僅僅為了減少多方記賬不一致的風險,通過中心化(參與業務主體或第三方機構)記賬或是多主體參與相互監督、多方實時同步校驗的方法改造現有系統,既可以解決問題,還能提升效率。事實上,筆者認為許多聯盟鏈、私有鏈的試圖解決的業務問題,大多可以通過這種方法解決。
6. 縮減業務關聯方的信息交互流程——去中介化(去模塊化),最終業務方點對點交互
去中介思想,與“去中心化”或“多中心化”是不同的。去中心或多中心強調的更多是平等的理念,而去中介則強調簡化的理念。去中介指的是具有直接相關業務和數據交互的主體的信息系統可以進行有機整合,通過理清業務邊界、合理設計業務數據權限和控制、增加各方及時校驗等業務環節的方式將多余的參與主體、操作環節、權限流程、外部交互進行簡化。在具體系統設計中,體現為去掉或集成冗余的系統模塊,簡化整體處理流程。本質上,去中介不改變業務參與方的邏輯與權限,該有的中心化管理機構依然存在。
對于比特幣等區塊鏈系統來講,記賬、確權及交易過程完全被整合在一個系統中,大大簡化了傳統交易記賬所涉及的交易系統、清算系統、結算系統等多系統模式。其中,一些相對客觀的業務處理可以完全被內置的程序替代,避免了人工或系統作為中介進行干預,增加處理環節的情況,既保證了處理的客觀性、高效性,又使得參與主體可以更透明地監控整個交易過程,便于多方及時發現問題、溝通并解決問題。
去中介體現的是系統集成,去模塊化、多層次融合的系統設計思想,最終業務方點對點交互。這與傳統復雜系統設計中,功能分層、模塊化,盡量簡化單一模塊或單一層次的處理功能,提升系統整體可靠性與可擴展性的思想有一定沖突。對于非常復雜的系統而言,這一思想的實踐是相對困難的,更需要系統設計者對業務中介、系統中介有清晰的梳理和認知,需要非常巧妙且可靠的設計,才能兼顧效率與可靠性。因此,如果業務系統本身涉及的流程和環節非常復雜,則可以考慮只將其中對可擴展性要求不高的,業務模式變化不大的部分進行整合和優化,其他部分仍保持模塊化層次化,隔離層間風險,使系統穩定和可擴展。
7. 信息透明化——簡化信息傳播流程,降低信息傳播成本
區塊鏈系統提升效率的另一個關鍵思想是信息透明化、共享化。現實社會中,信息和數據公開是需要成本的。其成本包括系統建設成本、信息維護成本以及官方確認發布需要投入的成本。信息誰來公示、如何公示、出錯誰來負責是信息公開過程需要考慮的問題。區塊鏈多方參與共識特性使得區塊鏈上的信息在被確認生效的過程中,就完成了信息公示過程,既節省了信息公示的成本,也節省了信息確認的成本,同時減少了最終記錄出錯的可能性。透明和共享可以在不同的范圍內進行。對區塊鏈來說,“公有鏈”常常會將鏈上數據(包括加密數據)全部共享給鏈上節點和用戶,“聯盟鏈”則會在小范圍聯盟內進行共享,數據對外并不透明。
如果業務系統本身能引入信息主體,或其他信息公示目標對象,并能將他們納入業務系統成為參與系統運行的一部分,則可以大幅提升信息透明度,減少數據公開、數據維護的成本。信息透明化的理念的一個很好的應用場景就是各類產權的確權領域。無論是有形資產還是無形資產,產權的公開公示本身就需要消耗大量的成本,如果利用信息透明化的思想,能使因確權與公示成本過高而無法得到充分保護的權利得到確認和保護,提升效率。
C. 增強可信性
8. 可校驗數據結構增強系統可信度——時間戳、數據摘要、信息嵌套等方式使數據具有自校驗能力
安全可校驗的數據結構對區塊鏈顛覆傳統系統發揮了至關重要的作用。區塊鏈系統中信息和算法記錄在區塊中,區塊以鏈表的結構線性增長。鏈表的線性結構保證了復雜系統中數據管理的有效性和穩定性。除此之外,區塊鏈之所以成為一個顛覆傳統的系統,安全可校驗的數據結構在其中起到了至關重要的作用。傳統數據庫設計以效率、符合不同數據庫范式為構建目標,而區塊鏈這一新型數據庫則以安全和可信為目標。通過引入時間戳、數據摘要、信息嵌套等方式,使后生成的數據中包含了之前的數據信息,具有對前面的數據進行校驗能力。這樣環環相扣的局部校驗,保障所有信息的可追溯、可驗證,進而體現為數據不可篡改,或者更確切地說是篡改的數據可驗證。
傳統的計算機系統中,信息校驗技術的應用也很常見,但大多使用單種校驗技術,未能很好地與時間、空間、業務信息進行關聯。比特幣系統是一個很好結合范例。
如果一個業務系統需要數據不可篡改和可驗證的能力,并且業務系統的參與方中沒有很多惡意參與者,甚至只有互信的合作方,可以吸取區塊鏈系統中安全可校驗的數據結構的優秀思想,并且考慮拋棄資源消耗型的記賬節點競選等其他區塊鏈集成的功能來構建業務系統。通過將傳統業務系統中的數據結構重新設計,在后面的數據中加入對之前關鍵數據的摘要、時間戳和校驗信息,輔以及時同步共享分發機制,引入多方存儲數據,同樣可以達到更強的內部管控和自證清白的能力。
9. 固化和穩定核心邏輯——預設邊界條件,減少系統改動
區塊鏈系統被認為能傳遞價值,還體現在系統全生命周期都有效邊界條件。這些邊界條件的不可更改性保證了系統中重要信息的約束力和可信性。如比特幣等內生Token的區塊鏈系統,雖然不同系統記錄Token信息的數據結構不盡相同,但是Token產生機制和總量等參數受到了嚴格的不可更改的限制。規則具有邊界且不隨意更改使得大眾信任系統。在數據可復制的信息時代,為建立數字資源稀缺性提供了途徑,達到了所謂的價值傳遞的目的。在系統運行之初就提前約束Token總量有限和產生機制只是系統預設邊界條件的一種巧妙且重要的應用場景。約束了Token數量的稀缺性可以保證Token不會隨意增長,如果與業務系統中現實資源的稀缺性結合考慮,可以在多個領域發揮不同的作用。
現實生活中的每個業務系統均有自己的約束條件,為何區塊鏈的約束產生了顛覆性的效果?原因就在于區塊鏈系統的核心邏輯(也就是處理數據方式)需要提前固定下來,并且有機制保證其核心邏輯的不變性。區塊鏈系統不僅實現了數據的不可篡改,更重要地是它保證了系統核心邏輯的不可更改。這樣一個無法更改和升級規則的系統,反而體現出巨大的公信力。
一個不能更改規則的系統如何升級和發展呢?區塊鏈系統目前沒有很完美地解決這個問題,而是通過”分叉“,實現系統更新。分叉本來是指區塊鏈系統中產生的不被多數節點認可的短暫性的不具有公信力的數據構成的短鏈。但是,一旦系統中核心邏輯代碼需要修改,運行機制需要更新的時候,系統可以通過人為的,所有業務關聯方共同協商的方法,繼承原有區塊鏈系統中的業務數據,并遷移到運行全新的區塊鏈系統中。這一過程也被稱作是“分叉”。所以,在區塊鏈系統中,“升級“、”分叉“(通常會根據節點客戶端的前向兼容性分為軟分叉和硬分差)通常都指重新創造了一個新的區塊鏈系統,并且人們主動自愿地拋棄舊系統,將業務轉移到新系統。這是目前區塊鏈系統升級的唯一方式。
10. 廣泛校驗幫助增信——明確的校驗方法幫助達成多方共識
明確的校驗方法是信息驗證機制的根基,區塊鏈的強大生命力很大程度上得益于其中明確的校驗方法。在區塊鏈項目研究過程中筆者最關心的是區塊鏈上到底記錄什么信息,這些信息能否被參與系統的其他節點所校驗。許多系統都嘗試引入區塊鏈為業務數據增信,卻沒有著重為參與區塊鏈系統的多方設計出明確的校驗方法導致其系統無法體現相對于中心化系統的優勢,難以解決業務痛點。
比特幣系統中記錄著比特幣的所有權轉移信息(交易信息)。有交易需求的節點通過簽名、加密、摘要等處理方式形成有效的全網所有節點都能看懂且能將參與驗證的交易信息發給其他節點,并由全網節點對其校驗和記錄,最終被全網節點校驗并保留在有效的區塊鏈中。在此過程中,全網參與的節點都有明確的校驗方法,通過檢查區塊鏈的簽名信息、前面區塊中未花費交易的有效性,任一節點產生的交易信息都有明確的驗證途徑。試想,參與區塊鏈系統的節點沒有有效的判斷和校驗信息的方式,即使有再多互不信任的節點加入,有再多非關聯方的參與,再多的信息副本,又如何保證數據的錯誤被及時發現和糾正呢?
正確的做法是找到那些需要共識的信息,找到信息校驗的關聯方,共同組成多方參與的系統,設計有效率的、符合業務邏輯的信息校驗機制,使系統內數據具有更強的可信性。
D. 科學激勵類
11. 物以稀為貴——總量受限,多重功能的通證激勵
比特幣等區塊鏈系統,由于缺乏系統實際管理者,天生存在系統生命力問題。如果沒有節點參與到系統的運行機制中,整個系統就無法持久運行。因此,系統通過內生的通證(平臺幣)激勵系統參與方,獎勵參與方對系統運行所做的貢獻。在無中心化機構維護的系統中,這一機制巧妙且必要,它保證了系統利用人類追求財富的人性結合這一內生機制生存下去。
而對于多中心系統,甚至是傳統中心化系統,激勵機制常常也體現為積分、優惠券、外部獎勵等措施。相比通證激勵,傳統的激勵方式可信度完全取決于系統的擁有者或管理者。為什么傳統系統中的積分都沒有像比特幣一樣能具有如此高的價格呢?筆者認為原因有三,第一,傳統積分的發放模式不透明,機制和用途受管理者影響嚴重;第二,傳統積分的總量不透明,不具有稀缺性;第三,傳統積分的用途不夠廣。此處,我們不過多討論比特幣的價值問題,只是說明區塊鏈概念的出現,使人們開始更關注激勵機制的設計。
一個優秀的激勵機制可以在符合法律法規的前提下,通過充分地創造稀缺性并充分與外部資源結合設計更具吸引力的激勵系統。一個好的激勵系統能夠極大地幫助業務系統贏得客戶,增加知名度,提升系統整體價值。系統價值的提升反過來會為參與者提供更豐厚的激勵。這是一個良性循環,循環一旦開始,項目的價值會得到迅速提升。
12. 利用人性彌補系統弱點——引入激勵機制,解決系統難題
眾所周知比特幣的運行機制中,只要惡意算力占總算力不超過50%,區塊鏈就是安全的。惡意算力的整體算力占比超過一半不是無法達到的。隨著專業礦場的出現,比特幣算力的集中化趨勢明顯,但為何比特幣系統目前依然安全可信?利用人的逐利性發揮了關鍵作用。因為能夠掌握全網一半以上算力的個人或機構完全可以獲得絕大多數的系統獎勵,如果他選擇作惡,雖然整個鏈上數據的記賬權一定程度上可以被他掌握,但這種篡改數據的惡意行為會使這個區塊鏈不再可信,其上面記錄的資產也必將大打折扣。一個困擾了計算機學界很久的兼具效率和安全性P2P系統的可擴展性問題通過激勵機制的引入得到了工程上的解決。
系統可能有不同的弱點,區塊鏈的出現告訴我們,在工程上可以結合激勵機制的設計有針對性地解決或彌補系統的弱點。激勵機制可以僅在系統內部起作用,也可以結合外部資源共同設計。此外,激勵的內容、產生的時間、計算方式、發放時機、懲戒機制可以有很多不同的設計,彌補不同的問題。比特幣等發放挖礦獎勵的區塊鏈只是提供了一種簡單有效的設計,但確實提供了一種全新的解決系統弱點的思路。通過合理的激勵機制設計,未來必將有更多的傳統技術難以實現的大規模系統落地應用。
E. 針對區塊鏈系統的優化
13. 事中容錯,事后一致——系統允許短暫錯誤,但保證最終一致性和正確性
一個不能接受錯誤存在,或者因為存在錯誤導致一系列問題影響可用性的系統,是沒有生命力的。區塊鏈系統也一樣,其本身并沒有要求輸入系統的數據不能出錯。這一點可能與很多讀者的認知有所不同,許多人會認為區塊鏈因為其數據無法篡改,因此一定要保證上鏈數據的真確性。數據無法篡改不等于無法更改。其實,區塊鏈系統恰恰是通過多數節點具有識別錯誤的能力,系統整體可以及時進行糾錯,才讓最終記錄在區塊鏈并經過多次確認的記錄具有公信力。這可能也是區塊鏈系統區別于計算機領域傳統P2P系統的一個閃光的設計思想。
計算機領域在分布式處理過程中追求高效、一致。對錯誤數據記錄的修復和更正,通常會另行設計一套機制來保證。相對傳統數據庫,區塊鏈由于需要保證事后數據的不可篡改,引入了共識機制,為錯誤的出現和修復提供更多的容忍度。這一重要思想通常被許多區塊鏈設計者所忽略,眾多項目紛紛追求提高短交易及確認速度,這會導致弱化甚至犧牲其他節點對數據的驗證過程。同時,更早更快的確認也會帶來問題。參與生成數據的節點需要滿足生成數據不能出錯等更嚴苛要求,導致現在很多區塊鏈項目的在落地過程中出現困難。因為系統使用方會背上了數據必須一次性正確輸入的包袱,需要非常保守和謹慎地選擇上鏈數據。最終,區塊鏈落地應用范圍的狹窄,許多存在出錯可能性的數據難以結合區塊鏈的優點參與業務升級改造。
筆者認為,區塊鏈的設計不僅沒有要求數據必須正確輸入,反而對上述問題提供了非常有啟發的處理模式和設計思想:當有數據出錯的時候,數據關聯方都能及時感知到數據的錯誤,并在第一時間通過某種協商機制及時從不一致地數據中利用某種機制(比特幣中是少數服從多數的思想)快速挑出正確的數據,并最終使得該數據獲得全局認同。這種數據確認過程,考慮了實際業務中可能存在的失誤和系統性錯誤,具有很強的包容性,值得業務系統在考慮錯誤處理更正流程設計時參考。在設計需要確認數據的業務系統(或區塊鏈系統)時,要權衡數據確認時間窗口以及系統糾錯能力,才能設計出適合自身業務特點的數據確認機制(共識機制)。一味追求確認時間短,會使系統適用的業務場景大幅受限,這對新系統的落地應用是極為不利的。
14. 讓用戶對自己行為負責——用戶只愿意主動保護作為唯一核心操作憑證
比特幣交易中私鑰起到了關鍵的作用。私鑰不僅起到了身份核驗的功能,還起到了用戶操作行為不可抵賴的作用。在比特幣系統中進行轉賬交易時,私鑰被作為用戶控制自己資產的唯一憑證,用戶有足夠的獨立性和自主權來進行轉賬操作。由于這種操作直接影響用戶的利益,并且完全取決于持有私鑰的用戶個人意愿,因此用戶具有強大的動力來保管好自己的私鑰信息。這種情況下,私鑰才能真正起到用戶對自己行為負責的作用。
然而,一些區塊鏈項目的私鑰機制設計并沒有激發用戶自主管理私鑰的強烈意愿。如果僅僅將擁有密鑰作為可查看鏈上加密信息的解密鑰匙,甚至其他需要查看鏈上加密信息的人在經過用戶許可(并給到用戶一定激勵)后,取得類似用戶密鑰的查看或管理權限,破壞私鑰擁有者的唯一性,則會削弱私鑰的私有性和安全性,并且導致私鑰的擁有著缺少自主保管動力。當在個人或企業缺少意愿保留私鑰時,區塊鏈系統應用方往往只能采用其他方式代替用戶保管私鑰,代理用戶使用私鑰簽名并操作,或是代理用戶查看加密信息原文。這樣的應用模式,盡管設計了公私鑰加密機制,但事實上與傳統中心化互聯網多用戶的服務模式沒有本質區別。盡管利用區塊鏈能起到鏈上信息難以篡改,對企業關鍵數據自證清白的作用,但用戶的自主管控數據的愿景就很難落地實現。
如果項目方結合自身業務特點發掘用戶的核心操作,配以結合非對稱加密解決方案,保證私鑰不被復制和濫用,則可以達到讓用戶對自己行為負責的效果。同時,用戶也會有更高的積極性來維護和保管自己的私鑰。當然,筆者非常期待技術的創新產生其他方式幫助安全存儲私鑰,減少用戶記憶和保存私鑰的成本。
當然,私鑰雖能起到用戶身份核實的作用,但與傳統用戶名密碼機制類似,并不是非常友好的身份驗證方式。目前,很多成熟地利用人工智能,用戶行為分析,生物比對校驗等方式身份核驗。對于當前中心化互聯網企業來說,這些方式或許更加適合。
15. 不懈地追求相對公平——單一設計的共識機制難以保持長久的公平性
區塊鏈系統之所以具有公信力,并被賦予“能傳遞價值”的光環,與其對公平性的追求密不可分。比特幣等以PoW為共識方式的系統在無需公信力機構背書的前提下在追求公平的道路上走得最遠。專用芯片礦機和礦場的出現本質上打破了比特幣共識機制所追求的公平性。比特幣的設計初衷是讓參與記賬的人和節點足夠多。其潛臺詞是,利用互不信任的主體的加入,相互制約。但礦場和礦機雖然使比特幣系統有更多的人參與記賬,但沒能讓更多利益不同的人參與。大量利益一致的礦工反而減少了系統中其他小眾利益不同的節點的話語權,導致大型礦場綁架了比特幣。這種公平性的減弱,使得一些行業大佬的行為在2018年末大幅影響比特幣的算力,進而影響了整個行業對區塊鏈的認知。人們覺得比特幣的公平機制能力有限,會被礦工和利益集團綁架。但是從信息記錄公平可信的角度講,比特幣的PoW共識機制已經相比傳統系統邁出了巨大的一步。
一個一成不變的機制一旦被設計出來,如果缺乏數學等基礎科學的支持證明其難以被攻破,就會有人試圖對其進行攻擊,并可能在未來真的被他人破壞。因此一個信任共識機制在難以獲得數學證明其性能的情況下,一種防止系統被破壞的常見想法是讓共識機制動起來。結合文中提到的固化穩定核心邏輯的思想,未來一種可能的更加公平的共識機制需要在設計之初,用代碼的方式保證其共識機制的動態變化,通過設計合理的內生的公平性評價體系,使得系統中的共識機制可以不斷地隨機調整相關參數,變化共識機制。這樣或許可以在一定程度上減少專用“礦機”的研發動力,進一步將權力分散化,保證參與主體和整個系統的公平。
F. 區塊鏈并非萬能
16. 讓機器系統直接處理現實問題——預言機幫助探索數字世界與物理世界關聯機制
預言機的概念并非伴隨比特幣而生的,而是由于人們試圖用區塊鏈記錄現實物理世界信息而誕生的。預言機試圖為區塊鏈引入非鏈上原生的數據,打通現實物理世界與鏈上數字世界。
許多區塊鏈應用遇到的重要瓶頸就是人們常常提到的:如何解決數據上鏈的問題。筆者認為,這個問題的產生并不是因為比特幣為代表的區塊鏈機制尚未成熟,設計機制有漏洞,而是由于后人在結合自身業務場景和行業知識利用區塊鏈技術時,對區塊鏈技術憑空賦予的一種期望。
在比特幣的設計中,數據與交易賬本是不可分離的,數據生于鏈上,用于鏈上,天然保證了數據的安全性。而區塊鏈的作用就是讓原本可靠的數據,保持數據全生命周期的可靠性、可信性。
因此,值得思考的問題是,什么樣的數據在數據上鏈的過程中人們沒有造假的動力和意愿。如果數據本身具有這種特點,區塊鏈系統則很容易該場景下落地。如果數據不符合這類特點,對于該種數據上鏈過程中造假問題,目前依然需要依賴社會中的監管機構和有公信力的機構,解決數據數據上鏈過程中造假的問題,或結合前述數據及時廣播與信息透明化的思想盡量提升造假成本和難度。
17. 區塊鏈并非數據保護技術——區塊鏈使得人們更關注隱私保護
依托密碼學的技術,電子簽章可以保障電子信息的真實性和完整性以及簽名人的不可否認性,對于區塊鏈系統中上鏈數據的質量保證有一定的幫助。但對于數據本身特別是隱私數據保護,多數區塊鏈項目仍然只停留在給數據加密的層面。而這種做法的出現與區塊鏈概念和技術的出現并沒有緊密的聯系。單純的為數據加密,并將數據上鏈并沒能提升隱私數據的安全性,反倒是區塊鏈上信息只能追加的特性會導致,一旦信息解密密鑰泄露,信息將更加無法及時銷毀。
雖然加密并上鏈并不能很好地保護數據,但一些區塊鏈項目嘗試結合零知識證明,多方安全計算等新技術,可以在一定程度上解決該問題。目前看來,正是區塊鏈公開透明的性質,推動了人們對加密和數據信息保護技術的探索。
在解決數據和隱私保護的時候,如果認為對數據加密并配備相應密鑰就可以保證數據的安全性和自主可控性,恐怕難以實現。信息數據自身可復制性不會因為加密并配備相應密鑰而消失。以比特幣系統雖然交易匿名,交易發起者難以在物理世界對應到具體的個體,但是并不體現在鏈上數據具有保護機制。
雖然,人們很難做到信息的不可復制不可帶走,但是對于信息追蹤、信息識別還是存在一些其他的技術手段可以來操作的。通過零知識證明、安全多方計算等方法,在數據不脫庫的情況下部署算法從而輸出加工過后的數據信息,來達到對數據的處理保護,但又不改變數據歸屬的目的,才是保證數據安全可控不外泄的方法。
結語
區塊鏈的出現的確從很多角度展現出了很多優秀的機制和思想,可挖掘的理念也絕不止本文提到的內容。歡迎讀者對上述觀點批評指正,相信區塊鏈概念在經歷更多的討論后,提煉出真正有益的思想助力中國區塊鏈的研究與應用落地,賦能實體經濟建設。