劉 輝
(中國財政科學研究院研究生院,北京 100142)
服務響應模式是指應用系統按照某種既定的設計原則,對不同優先級的業務申請進行有效區分,并向其提供差異化服務處理能力的機制。服務響應模式與系統處理性能、數據存儲效率等關鍵技術指標共同構成了應用系統規劃設計的核心要素。對于基于區塊鏈的應用系統而言,服務響應模式的設計具有特殊的重要性。這主要是因為以下兩方面原因:
(1)對區塊鏈系統的處理能力進行擴容是一項非常復雜的工程。根據CAP理論,以網絡連接為基礎的數據共享系統只能在“數據一致性”、“數據更新時的業務可用性”和 “網絡分區規模”這3種特性中,有選擇地實現其中兩種[1]。傳統架構下,由于分區數量有限,運營機構可以通過擴展數據庫、應用服務器或網絡設備的部署規模,快速提升應用系統的處理能力。而區塊鏈是典型的分布式計算系統。在保障數據賬本一致性的前提下,雖然 “擴大區塊存儲容量上限”、“縮短新區塊創建間隔”等手段可以在一定程度上提升區塊鏈系統的處理能力,但是隨著部署范圍的擴大,業務處理能力的擴容方案愈加復雜和困難。對于大規模的聯盟鏈或公有鏈而言,情況更是如此。
(2)近年來區塊鏈技術被廣泛應用于市場基礎設施和社會公共服務領域。在服務能力的供給方面,各類業務主體之間建立信任關系、網絡互聯、信息交換等的成本顯著降低,環境變化對服務能力的生產和供給帶來了巨大的創新和前所未有的挑戰[2]。在服務能力的分配方面,塊鏈存儲結構和數據賬本全網同步的特性,使得業務流程和處理結果變得更加公開透明、易于監督。基于相對有限的業務處理能力,如何在市場服務或社會公共服務的過程中確保服務能力分配的公平性和有效性,是監管部門和運營機構所關心的重要問題。
區塊鏈系統中的每個節點都是獨立參與平臺運營的,并不存在統一負責業務調度的權威節點。如何在不同的業務申請之間區分優先等級、如何識別重要客戶,是構建差異化服務響應模式的基礎,也是開發設計人員和運營機構所關注的重點。
在成本效益的原則下,理性的數據節點如何對不同的業務申請提供服務響應,直接與區塊鏈系統的交易激勵機制密切相關。主流的區塊鏈平臺通常會向數據節點同時提供 “區塊創建獎勵”和 “交易費用獎勵”兩種激勵[3]。所有的獎勵都是通過加密貨幣的形式支付給數據節點的。其中,區塊創建獎勵是為了鼓勵數據節點參與系統運行、維護共識機制,而由系統直接給予的獎勵;交易費用獎勵是業務用戶根據情況需要,自愿支付給數據節點的服務對價。在數據賬本記賬權選舉中勝出的節點,有權創建新的區塊并將其寫入數據賬本;另外將同時獲取到的區塊創建獎勵和交易費用獎勵。可以看出,交易激勵不但是業務用戶對數據節點運行成本的額外補償,而且還發揮著“標識”業務申請優先級的作用。交易激勵對服務響應的影響,既體現了區塊鏈系統業務處理能力的分配方式,又體現了均衡狀態下數據節點的最優策略選擇。
關于區塊鏈系統的激勵機制及其作用,國外學者已經做出了大量的研究。在工作量證明(PoW)模式下,適度的區塊創建獎勵有助于數據節點在均衡狀態下達成共識,并且有利于保持區塊創建服務的穩定性[4]。區塊創建獎勵會在加密貨幣體系內導致通貨膨脹,因此當區塊鏈系統步入成熟運營階段之后,減小區塊創建獎勵是必然的趨勢,交易費用獎勵將逐漸成為數據節點的主要收入來源。保持適度的系統擁塞狀態是交易激勵存在的必要條件[5]。但是,在只提供交易費用獎勵的情況下,系統運營可能面臨各類安全威脅或合規風險。采用“自利挖礦”(Selfish Mining)①策略或 “弱合規”②(Petty Compliant)策略的數據節點,都將獲取到更多收益[7]。可以看出,前人的研究主要側重于分析激勵機制對區塊鏈系統運營穩定性的評估,而激勵機制對區塊鏈服務響應模式的影響卻很少被考察,相關結論也缺少實證方面的支持。
Easley等 (2019)將排隊原理應用于區塊鏈系統的服務響應建模,并且證明了隨著交易申請數量的增多,用戶將從 “不支付交易服務費用”的均衡狀態遷移至 “支付交易服務費用”的均衡狀態[8]。本文將在相關研究基礎上,構建多業務優先級場景下區塊鏈系統的服務響應模型,并針對交易激勵對服務響應的影響展開實證分析。
以工作量證明 (PoW)機制為例,區塊鏈系統對交易申請的處理流程大致如下:業務用戶發起交易申請并向全網的數據節點進行廣播,數據節點將接收到的交易申請緩存在本地存儲池 (Pool)中,并自行決定將哪些交易申請放入擬創建的新區塊。在被寫入新區塊之前,交易申請將一直處于等待處理的狀態,直到因為超時而被清理。找到工作量證明條件之后,數據節點會將創建成功的新區塊廣播通知其他節點。其他節點對新區塊中的交易申請進行驗證,并對工作量證明條件進行檢查。通過相關驗證和檢查后,新數據塊就正式成為了數據賬本的一部分,并成為下一個擬創建區塊的 “父區塊”。
假設區塊鏈系統有M個數據節點 (M≥2),每個節點都是理性的和風險中性的;假設每個數據節點的計算能力和網絡帶寬等環境條件都相同,并且所有節點始終保持在線活躍的狀態;假設每條交易申請都占用相同大小的存儲空間,所有的數據節點都同時接收到新的交易申請;假設每個新區塊可以記錄并處理B條交易申請,每個數據節點在單位時間內找到工作量證明條件的瞬時概率記作λ。由于所有數據節點都是獨立工作的,因此單位時間內區塊鏈系統可以提供的業務處理能力是λ·M·B。
業務用戶發起的交易申請數量是區塊鏈系統的外生因素。業務用戶發起新的交易申請后,相關申請會通過廣播的方式被同步至每個數據節點。假設有N個業務用戶,單位時間內每個用戶發起新交易申請的概率記作γ,則單位時間內區塊鏈系統接收到的新交易申請的數量可以表示為γ·N。
當所有的交易申請都屬于同一優先級時,為了保證服務響應的公平性,通常情況下數據節點將按照 “先進先出”的原則進行處理,即先進入存儲池的交易申請,優先得到服務響應。如果單位時間內新發起的交易申請的數量小于區塊鏈系統的業務處理能力,即γ·N<λ·M·B,則數據節點本地存儲池的隊列長度總是可以被控制在一個有限的范圍內。根據 “Little法則”,存儲池的最大隊列長度是[8,9]:

新的業務申請到達數據節點后,在被確認和處理之前的平均等待時間為:

如果單位時間內新發起的交易申請的數量大于區塊鏈系統的業務處理能力,即γ·N>λ·M·B,則存儲池的隊列長度將以γ·N-λ·M·B的速度持續增長下去。最終由于緩存資源耗盡,新產生的交易申請將無法繼續進入數據節點的存儲池,最終將無法得到數據節點的確認和處理。
假設業務申請可以被劃分為c個優先等級。當1≤y<x≤c時,我們認為第y類交易申請比第x類交易申請享有更高的優先處理權利。在多業務優先級場景下,數據節點始終會優先處理業務等級更高的交易申請。業務等級較低的交易申請,不論是存儲池中已有的還是新產生的,都不會影響區塊鏈系統對高優先級交易申請的服務響應。
用γi代表單位時間內用戶發起第i類交易申請的概率,則新產生的第i類交易申請在得到服務響應之前的排隊長度和平均等待時間分別可以表示為:

給定了單位時間內各優先級交易申請的產生概率γi,就可以通過迭代的方法,按照優先級從高到低的順序依次求出各類交易申請在得到服務響應之前的排隊長度和平均等待時間。
當單位時間內新發起的交易申請的數量大于系統的業務處理能力時,雖然從總體需求來看, 但是對于滿足條件的、優先等級不低于i(即x=1,2,…,i)的所有交易申請,都會按照原有模式得到服務響應。對于優先等級低于i的交易申請,區塊鏈系統將無法保證對其的服務響應。如果高優先級交易申請的處理需求持續增加,區塊鏈系統將進一步縮小服務響應的業務等級范圍 (即i減小);如果高優先級交易申請的處理需求有所減少,區塊鏈系統將逐步擴大服務響應的業務等級范圍 (即i增大),從而實現服務響應范圍的動態調整與均衡。
在區塊鏈系統的運營過程中,每個數據節點都面臨著成本和收入兩方面的經濟效益權衡。在成本方面,數據節點需要購置專用或通用的硬件設備,而且硬件設備的持續運行會消耗大量的電力能源。一次性設備購置成本和持續運營成本構成了數據節點的主要成本支出。在收入方面,區塊創建獎勵在相當長的時期內是固定不變的,可供數據節點自行選擇的是將哪些交易申請放入新區塊并獲取相應的交易費用獎勵。
雖然每個數據節點都可以自行定義服務響應策略,但是理性的數據節點會優先選取服務費率更高的交易申請進行處理。因此,在交易費用的激勵作用下,服務費率自然而然地成為了區分不同業務優先等級的標識。基于上述分析,本文提出如下假設:
H01:交易申請服務費率對交易申請等待服務響應的時長存在影響。
服務費率越高,交易申請在得到服務響應之前等待的時間就越短;服務費率越低,交易申請在得到服務響應之前等待的時間就越長。
經歷了十多年的演進和發展,比特幣系統目前已經成為最成熟的區塊鏈平臺之一。本文將借助比特幣系統的運營數據,對上述假設進行檢驗。
比特幣的數據賬本中記錄著所有已經得到確認的交易申請記錄。交易申請的確認時間就是其所在區塊的創建時間,具體的時間戳信息被記錄在區塊的數據頭部分。但是數據賬本并沒有提供相關交易申請到達區塊創建節點的時間等字段屬性,而交易申請的到達時間可能會隨著數據節點的不同而有所變化。Blockchain.info網站提供了部分交易申請的到達時間記錄,但時間范圍僅限于最近1年左右。由于數據來源的限制,本文擬選取比特幣系統2018年全年的交易申請進行后續的分析處理。
比特幣系統每隔10分鐘左右會生成1個新的區塊,每天大約生成144個區塊。每個區塊可以記錄3000筆左右的交易申請。考慮到數據量過大,本文對區塊數據和交易申請記錄進行隨機采樣。具體的采樣處理原則如下:按照日期順序每天隨機抽取1個區塊,然后從該區塊中隨機抽取10筆交易,最終形成全部的觀察值。通常情況下,區塊的第1條交易記錄是系統給予數據節點的區塊創建獎勵,在對交易申請記錄進行采樣的過程中,需要將上述數據進行排除。本文所有數據均來源于Blockchain.info網站。
本文將被解釋變量設置為 “交易申請等待服務響應的時長”。通過計算交易記錄所在區塊的創建時間與交易申請到達數據節點的時間戳兩者之間的差值,可以求出交易申請在得到服務響應之前的等待時間。數量單位是 “秒”。解釋變量是 “交易申請的服務費率”,即在交易申請的發起方根據情況需要,自愿支付給數據節點的、按照單位存儲空間核算的交易激勵水平。數量單位是 “sat/Byte” (百萬分之一比特幣每字節)。
控制變量主要包括以下兩項:交易申請確認當日的比特幣匯率價格和前30日比特幣平均匯率價格。以上兩個控制變量的數量單位都是 “美元/比特幣”。本文選取Blockchain.info網站發布的數據作為比特幣匯率價格的來源③。
不同的數據節點可能采取不同的服務響應模式,而我們無法對每個數據節點的策略選擇過程進行記錄和觀察;另外,區塊鏈系統并沒有針對存儲池提供豐富的監控選項,因此可以利用的運營分析指標非常有限。為了避免 “遺漏變量偏差”可能導致的內生性問題,本文選用工具變量 (IV)方法評估內生解釋變量 (交易申請的服務費率)對被解釋變量 (交易申請等待服務響應的時長)的影響。
選取與區塊統計信息相關的兩項指標作為工具變量。一項是交易申請所在區塊的 “成交總筆數”,數量單位是 “筆”;另一項是交易申請所在區塊的 “成交總規模”,數量單位是 “BTC” (比特幣)。
交易費用獎勵是業務用戶根據情況需要,自愿提供給數據節點的服務對價。當交易申請的處理需求與系統處理能力之間處于相對穩定的狀態時,交易費用獎勵的實際價值及其效用由服務費率和比特幣匯率共同決定;另外,數據節點會依據存儲池的運行環境動態調整服務響應模式,而成交總筆數、成交總規模等區塊統計信息可以有效反映出數據節點做出決策選擇時的歷史環境。可以看出,本文選取的工具變量與內生解釋變量高度相關,但與被解釋變量的誤差項之間基本保持不相關。初步判斷上述工具變量的選擇符合要求。
經過匯總,所有的變量定義如表1所示。

表1 主要變量定義
為了檢驗服務費率對交易申請等待服務響應的時長的影響,本文構建了以下兩階段最小平方回歸 (2SLS)分析模型。

在一階段回歸過程中,交易申請的服務費率satB是內生解釋變量,工具變量是交易申請所在區塊的成交總規模EstVol和成交總筆數NumTrans;在二階段回歸過程中,被解釋變量是交易申請等待服務響應的時長waittime,內生解釋變量是交易申請的服務費率satB,外部控制變量是比特幣當日匯率價格exchange和前30日比特幣平均匯率價格exchange30。一階段回歸過程中工具變量的有效性,以及二階段回歸過程中內生解釋變量的響應系數的顯著性及其正負方向是本文所關心的問題。
根據變量界定,通過對樣本數據進行統計分析,相應變量的基本特征如表2所示。

表2 變量基本特征
通過表2可以看出,交易申請等待服務響應的時長和交易申請的服務費率的樣本量都是3650個。其中,服務費率的最小值是0,說明一些交易申請雖然沒有向數據節點提供服務費用④,但是仍然得到了服務響應。上述兩個變量的直方圖如圖1所示。可以看出,交易申請的等待時長和服務費率的分布都比較集中。
外部控制變量包括比特幣當日匯率價格和前30日平均匯率價格,樣本數量為365個。在采樣區間內,相關變量的變化趨勢如圖2所示。可以看出,2018年初和年末比特幣的匯率經歷了非常劇烈的波動,變化幅度高達30%左右。在2018年3月至11月期間,比特幣的匯率價格相對平穩。另外,均值處理的結果使得前30日平均匯率價格的趨勢曲線更加平滑。
工具變量的樣本數量為365個。區塊內的成交總筆數和成交總規模的直方圖分別如圖3所示。可以看出,成交總規模的分布相對集中,成交總筆數均勻分布于2500筆及以下區域,這說明比特幣系統處于相對繁忙的狀態。

圖1 交易申請等待時長與服務費率的直方圖
根據前文的變量定義和模型構造,采用兩階段最小平方回歸(2SLS)的方法對業務申請等待時間的影響因素進行檢驗。表3詳細展示了估計結果。

圖2 比特幣匯率價格變化 (2018年)

圖3 區塊內成交總筆數和成交總規模的直方圖
在第一階段的回歸過程中,工具變量EstVol和NumTrans的回歸系數都在1%的顯著性水平上顯著。同時,F統計量的值是95.54,Adj R2的值是0.2624。
在第二階段的回歸過程中,內生解釋變量satB的回歸系數為負,并且在1%的顯著性水平上顯著,控制變量exchange和exchange30的回歸系數分別在5%和1%的顯著性水平上顯著。同時,Wald統計量的值是102.60,R2的值是0.0426。
實證檢驗的結果表明,本文提出的原假設成立。交易申請的服務費率與交易申請等待服務響應的時長呈現顯著的反向作用關系。服務費率越高,交易申請等待服務響應的時間就越短;服務費率越低,交易申請等待服務響應的時間就越長。
為了確保回歸結果的有效性,本文分別從工具變量過度識別和弱工具變量兩個角度,對工具變量方法的有效性進行檢驗。在過度識別檢驗過程中,Hansen J Statistic統計量的卡方值是0.012058(p=0.9126),過度識別的原假設可以被接受,工具變量滿足外生性條件。在弱工具變量檢驗過程中,Minimum Eigenvalue Statistic=36.4698, 大于常規閾值10。這說明工具變量與內生解釋變量的相關性較高,弱工具變量檢驗的結果為通過。
本文對區塊鏈系統的服務響應模式進行了建模分析和實證檢驗。研究發現,雖然每個數據節點都是獨立決策的個體,但是由于激勵機制的作用,交易申請的服務費率在全局意義上發揮了 “標識”業務優先級的作用,并對交易申請等待服務響應的時長具有顯著影響。交易申請的服務費率越高,業務優先級就越高,等待服務響應的時間就越短;交易申請的服務費率越低,業務優先級就越低,等待服務響應的時間就更長。
樣本數據的局限性可能會對“交易申請等待服務響應的時長”的估計量造成影響。這主要是因為在創建新區塊的過程中,數據賬本并沒有保存交易申請到達區塊創建節點的時間戳,因此只能使用第三方節點的觀察數據進行替代。考慮數據采樣的隨機性以及樣本數量較多,上述替代不會對估計量帶來明顯的向上或向下的偏差。

表3 服務響應等待時間的影響因素分析 (2SLS)
目前,區塊鏈技術已經被嘗試應用于重構證券市場的基礎設施。證券交易、登記結算、場外證券業務報告、證券市場監管等方案已經被廣泛論證,有些甚至已經完成了場景改造和業務試點[10,11]。在社會公共服務方面,權益登記、投票選舉、數字版權、分布式域名系統、安全時間戳服務器等業務領域已經成為區塊鏈技術的應用熱點[12,13]。但是,主流區塊鏈系統在服務響應模式方面的設計普遍存在不足[14]。由于系統設計和策略管理的原因,甚至無法在全局范圍內嚴格按照 “時間優先”的順序處理交易申請。不合理的服務響應模式會造成重要業務申請的長時間等待,并給運營機構和業務用戶帶來負面影響,嚴重情況下甚至會導致業務和用戶流失。
在確保流程公開透明和數據安全共享的基礎上,市場服務和社會公共服務的監管部門和運營機構對業務處理能力的分配原則及其公平性有著更高的期望和更加嚴格的要求。對服務響應模式的關注和研究,有助于區塊鏈技術在市場服務和其他社會公共服務領域的推廣及應用。本文的研究結論為相關應用系統的設計開發和運營管理提供了重要參考。
注釋:
①采用 “自利挖礦”策略的數據節點在找到工作量證明條件后不會立刻發布新區塊,而是通過選擇合適的時機再發布,以便獲取更多收益。這會對其他節點的計算資源造成浪費并影響數據賬本的一致性[6]。
②當數據賬本出現分叉時,采用 “弱合規”策略的數據節點總是選擇延續能使其收益最大化的分支,而默認的合規策略是 “按照區塊的到達時間順序,優先延續較早形成的分支”。采用“弱合規”策略的數據節點常常會被其他惡意節點利用,并對惡意攻擊等行為造成偏離放大的效應。
③Blockchain.info網站對幾個主要的數字貨幣交易所的分時匯率數據進行收集匯總。按照一定的權重配置,計算得出比特幣匯率的參考價格。
④在本文選取的樣本數據中,沒有提供交易服務費用的交易申請只有1筆。