數位資產區塊鏈的本質和架構模型
區塊鏈的定義和本質
筆者經過對各種區塊鏈異同點的分析和歸納思考,先給出了一個區塊鏈定義。
區塊鏈是在符合現實社會法律法規前提下,可治理的,依賴於密碼學算法和博弈經濟性設計,基於共識算法,對發生在主體間的價值創造,價值轉移,價值交換,以及涉及到各個價值主體由機器驅動的業務流程,在多個對等的主體間形成的共識,從而達到共享業務狀態,即共享賬本,以達到加速社會資源配置和價值流通,最終提高生產力的目的。
區塊鏈的本質是共識,在互不信任的主體間的共識就形成了公認的價值。區塊鏈的目標是解放和提高整個社會的生產力,手段是將生產關系虛擬化,運用 IoT 和價值錨定技術將現實世界和虛擬世界無縫連接起來,虛擬化的業務合約可以由機器自動化驅動現實和虛擬社會的資源配置,價值生產和流通,結合大數據智能分析優化虛擬的生產關系,現實和虛擬的法律和湧現機制為虛擬的區塊鏈社會和穩定發展提供保障。
區塊鏈的架構模型
作者從區塊鏈的本質出發,以發展的眼光看待區塊鏈的架構和架構未來的發展,關註於主要業務和技術能力,給出一個全面而高度概括的區塊鏈架構模型。 這是一個面向鏈合約服務的高階架構模型,體現了未來基於區塊鏈實現調試自動化、智能化、公平守約的虛擬社會生產關系的能力。
面向鏈合約服務的高階層次化架構包括了三大部分:業務合約和賬本,區塊鏈平臺服務,UI 界面和 API 接口。以下對各個部分進行詳細說明。
業務合約和賬本
在現實世界,我們每個人都處在各種關系契約中,所有人在契約的約定下參與整個社會的生產和生活。區塊鏈技術最終要能促進生產關系虛擬化,推動生產力的發展,整個區塊鏈生態系統的核心就是要能支持各種契約,即業務合約,並在相關參與者間共享交易賬本。業務合約大到非常複雜的業務合約流程,這要高於企業各自的流程,是各個企業、組織或個人作為流程主體共同參與制定共同認可的生產關系流程契約。比業務合約流程粒度小的業務合約稱為合約服務。合約服務是在語義層面對業務行為進行抽象的最小契約,合約服務由一組合約動作(action)構成。作為抽象的合約服務的具體實現,合約代碼可以由不同合約語言編寫,合約代碼中引用的業務條款和法律條款都可以有具體的不同實現語言。
區塊鏈跨鏈本質和跨鏈模型
區塊鏈跨鏈的本質
把整個現實社會都搬到一個區塊鏈上是不現實的,現實社會本身也是分產業分經濟領域進行價值創造的,通過市場實現不同產業和不同經濟領域的價值交換。每一個獨立區塊鏈維護了自己獨立的價值經濟體系,跨鏈區塊鏈是連接獨立區塊鏈的中樞,承載了不同價值體系區塊鏈價值交換的功能,商品要能實現交易,需要有價格,價格來源於商品自身的價值,取決於供求關系,而供求關系是靠市場搭建的,所以,為了實現不同區塊鏈『商品』的價值交換,在跨鏈區塊鏈上會出現各種價值交易市場,跨鏈區塊鏈上每一個價值交易市場就是一個跨鏈合約服務。價值不會憑空產生也不會憑空消失,跨鏈設計也必須遵從人類自古以來的經濟規律。跨鏈的本質是價值等價交換,任何違背這個基本原則的設計最終都會失敗。
區塊鏈跨鏈架構模型
下圖中獨立區塊鏈的架構模型已經在上方中說明了,所有獨立區塊鏈如果需要支持跨鏈價值轉移或交換,就需要存在外鏈合約服務,外鏈合約服務同普通 的合約服務沒有本質的區別,也是一種合約服務規則,不同之處在於合約的制定者會提供一組公開聲明的跨鏈交易公鑰地址,需要進行跨鏈交易的主體可以把自己擁有的一定數量的價值體轉移到跨鏈合約服務指定的公鑰地址上,並指定跨鏈交易內容,如希望交換另一個區塊鏈上一定數量的價值體,並把交換後的價值體轉到自己在另一個區塊鏈上公鑰地址上。
這里假定存在兩個獨立區塊鏈 A 和 B, 存在主體 X 和主體 Y,他們都擁有兩個鏈上的私鑰地址,主體 X 是區塊鏈 A 上的價值生產者,如農民生產糧食,主體 Y 是區塊鏈 B 上的價值生產者,如工廠生產工業品,主體 Y 希望購買區塊鏈 A 上的產品或服務,如糧食。
跨鏈區塊鏈主要有兩種類型的鏈組成,一種是主鏈,跨鏈主鏈只有一個,一種是適配子鏈,適配子鏈至少存在 2 個,由跨鏈主鏈連接各個適配子鏈,各個子鏈之間沒有信任關系,而是通過主鏈進行信任的傳遞。適配子鏈和主鏈按照設定的協議進行交互 ,以達到信任傳遞和交易傳遞的目的。跨鏈區塊鏈本身也需要有同獨立區塊鏈一樣的區塊鏈平臺服務,如合約合規、安全控制、鏈上共識、鏈服務管理、鏈上鏈外治理、開發運維,這些在上圖都做了省略。對於鏈上共識,主鏈和子鏈需要采用比 PoW 更加高效的算法實現跨鏈交易交互,如采用 BFT 共識算法,目前兩個跨鏈平臺(Cosmos 和 Polkadot)設計都是采用 PoS + BFT 的混合共識算法。
跨鏈區塊鏈本身也是個區塊鏈,所以獨立區塊鏈所具有的業務合約能力也就具有,但基於跨鏈區塊鏈構建的業務合約會支持更複雜的業務,實現同不同價值區塊鏈的連接,進行價值交換。每一個跨鏈業務合約都會形成一個交易市場,不同區塊鏈的不同價值體系在這個交易市場上獲得各自的定價,並進行交易,極有可能會形成基於主鏈代幣或者主權加密通貨的各種區塊鏈價值體的統一報價和交易市場。更高級地通過跨鏈合約流程,可以實現所有區塊鏈虛擬社會生產關系的組合,假設每個獨立區塊鏈是一個獨立的經濟領域,跨鏈合約流程就可以串接起獨立的經濟領域成為一個完整的產業鏈條。跨鏈區塊鏈本身也是可以互聯的,通過跨鏈區塊鏈的連接,就串接起了工業、農業、服務業等各行業,從而構成了整個社會的生產關系。生產都關聯到區塊鏈虛擬社會上,基於區塊鏈提供的合約服務以及基於區塊鏈提供的機器驅動業務流程,結合 IoT 和人工智能,價值生產、轉移和流通會更加快速便捷,人類的生產關系也會更加優化協調,生產力由此可以得到進一步解放。區塊鏈和跨鏈將整個人類對等地關聯在一起,去除了任何的信息不對稱性和現實社會的各種屏障,體現了公平公正,個人主體是虛擬社會關系的參與者也是維護者也是受益者。
跨鏈價值等價交換過程
結合上節的跨鏈架構,我們對跨鏈價值交換過程進行說明。這里僅以物物交換市場為例,主體 X 是區塊鏈 A 上的價值生產者,主體 Y 是區塊鏈 B 上的價值生產者,主體 X 如果要獲得區塊鏈 B 上的價值體,就需要拿區塊鏈 A 上的價值體通過跨鏈價值交換合約服務同主體 Y 實現等價的物物交換。
首先主體 X 需要加入 A 鏈上的外鏈合約服務,接受合約服務規定的合約規則和法律條款,主體 X 還需要加入某個跨鏈合約服務,如可以實現 A <-> B 交易匹配的一個跨鏈合約服務,接收跨鏈交易市場的合約規則 和法律條款。然後主體 X 需按照 A 鏈上的外鏈合約服務的合約規則,把自己擁有的一定數量的 A 鏈的價值體轉移到外鏈合約服務指定的公鑰地址上,並指定跨鏈交易內容,如希望交換另一個區塊鏈 B 上設定數量的價值體,並把交換後的價值體轉到自己在另一個區塊鏈 上的公鑰地址。後續的交易過程如下:
入 ① 基於 LCV 的外鏈交易感知
適配子鏈的客戶端驗證(LCV)會不斷同步區塊鏈 A 的區塊頭,其對於區塊鏈 A 上的外鏈合約服務公開的公鑰地址敏感,一旦發現存在在公鑰地址的交易,就認為存在在跨鏈交易請求。
入 ② 生成和打包跨鏈交易
由鏈適配代碼將區塊鏈 A 上的主體 X 指定的跨鏈交易請求內容(用鏈 A 上一定數量的價值體兌換鏈 B 上一定數量的價值體到指定公鑰地址上)生成一個子鏈交易,並且打包子鏈區塊。
入 ③ 提供子鏈存在跨鏈交易證明,發起主鏈跨鏈服務調用
鏈適配代碼基於 Merkle 樹給出一個跨鏈交易請求在子鏈上的存在性證明,並按照跨鏈協議,封裝出發往主鏈的跨鏈服務調用。
入 ④ 執行鏈跨鏈交易代碼
主鏈的跨鏈服務總線,驗證交易 在子鏈上的存在性證明,分析主體 X 的跨鏈交易請求內容,將跨鏈服務調用路由給具體的跨鏈價值交換合約。同樣過程主體 Y 的跨鏈交易請求(用鏈 B 上還不一定數量的價值體到指定公鑰地址上)也被發往相同的跨鏈何人交換合約。
入 ⑤ 產生交易日誌,更新賬本狀態
跨鏈價值交換合約的代碼實現,會進行所有的 A <-> B 交易匹配,形成一個 A 鏈價值體同 B 鏈價值體的買賣市場深度,一旦可以匹配上主體 X 和主體 Y 的交易請求,就形成一個匹配交易,用以封裝 A 鏈和 B 鏈價值體在主體 X 和 Y 之間達成交換的結果。跨鏈價值交換合約本質上就是一個場內交易所。
出 ① 子鏈路由,提供主鏈存在跨鏈交易 證明,向適配子鏈發起外鏈合約服務調用
跨鏈價值交換合約實現代碼,會提供一個交易主體 X 和 Y 的跨鏈匹配交易在主鏈上的存在性證明,分別向鏈 A 和鏈 B 的適配器子鏈發送轉賬指令交易 ,一個指示往 A 鏈 Y 主體指定的公鑰地址轉移一定數量的價值體,一個指示往 B 鏈的 X 主體指定的公鑰地址轉移一定數量的價值體。
出 ② 生成和打包跨鏈交易
這兩個適配子鏈分別將各自的轉賬指令交易記錄日誌,並搶紅包進各自的子鏈區塊。
出 ③ 發起外鏈合約服務調用
鏈適配代碼向各自對應的獨立區塊鏈上的外鏈合約服務發起轉賬指令交易。 A 鏈的適配子鏈會向 A 鏈的外鏈合約服務發送一個轉賬交易 ,指示從合約的公開地址上往 Y 主體指定的公鑰地址轉移一定數量的價值體。B 鏈的適配子鏈也會向 B 鏈的外鏈合約服務發送一個轉賬交易, 指示從合約的公開地址上往 X 主體指定的公鑰地址轉移一定數量的價值體。
出 ④ 執行外鏈合約代碼
A 鏈的外鏈合約服務會執行合約代碼,生成交易,把由合約控制的,轉賬指令要求的一定數量的價值體轉移給 Y 主體指定的公鑰地址。 B 鏈的外鏈合約服務會執行合約代碼,生成交易,把由合約控制 的轉賬指令要求的一定數量的價值體轉移給 X 主體指定的公鑰地址。
出 ⑤ 生成交易日誌,更新賬本狀態
一旦交易被打包進區塊,按照鏈的交易確認特性,最終主體 X 獲得了 B 鏈的價值控制權,主體 Y 獲得了 A 鏈的價值體控制權。
跨鏈區塊鏈也會提供用戶 UI 界面和 API 接口,用戶所有在跨鏈區塊鏈合約服務上執行的交易都可以通過跨鏈用戶界面和 API 接口獲得當前的執行狀態,即查看用戶在交易所掛單狀態和交易市場的買賣深度,甚至可以讓用戶基於私鑰按照市場供求關系重新掛單。跨鏈區塊鏈可以提供基於獨立區塊鏈上的外鏈合約服務的抵押機制,在對應的適配子鏈上,以換取相同數量的抵押區塊鏈 的價值體幻象或籌碼,業務主體拿抵押的子鏈上的價值體幻象參與主鏈的業務合約流程,這種跨鏈的生產關系,基於各個主體抵押的各自區塊鏈上的價值體(也可以是現實世界價值錨定),配置生產資料,開展合約生產,最後分配生產產品價值。跨鏈區塊鏈如果有自己內生的代幣,也可以基於交易市場(合約)完成到內生的代幣的價值兌換,主體拿著跨鏈代幣加入跨鏈合約流程或跨鏈合約服務的虛擬生產關系進行生產和價值交換。