BCOS平臺 - 區塊鏈治理模式、準則、物件、過程

買賣虛擬貨幣

1 治理模式

作為一個服務分散式商業的、廣泛適用各個行業領域的底層技術平臺,BCOS平臺或將面臨功能模組不斷增加、系統環節愈加複雜、互動的系統愈加廣泛、參與物件逐漸增多、管理難度逐漸擴大等挑戰,如缺乏科學的資訊科技管理與治理觀念,將無法實現可持續發展。因此,我們引進借鑑了國際上通用的資訊科技系統治理標準--COBIT模型,將區塊鏈的治理準則(Business Requirements)、區塊鏈的治理物件(Resources),區塊鏈的治理過程(Processes)綜合考慮,形成一個三維的治理體系結構。目的是在商業風險、控制需求和技術問題之間架起了一座橋樑,以有效地利用資源,管理與區塊鏈系統相關的風險,滿足BCOS平臺的大規模商用需求。


區塊鏈的治理準則維度集中反映了系統的戰略目標,主要從質量、成本、時間、資源利用率、系統效率、保密性、完整性、可用性等方面來保證區塊鏈系統的安全性、可靠性、有效性。

區塊鏈的治理物件維度主要包括以參與者、共識機制、節點、應用系統、演算法、底層設施及資料在內的區塊鏈相關的資源。

區塊鏈的治理過程維度則是在治理準則的指導下,對區塊鏈的資訊及相關資源進行規劃與處理,從規劃與組織、採集與實施、交付與支援、安全與監控等多個方面確定區塊鏈的處理過程,並賦予每個處理過程詳細的控制目標、審計方針及評估方法。

2 區塊鏈治理準則

區塊鏈技術需要按照各行業的商業與監管要求來設定核心治理架構,確保符合監管要求、符合國際標準、符合各行業基本規則。

具體而言,BCOS平臺將遵循以下五大治理原則:

1) 合法合規原則:遵守國家相關法律法規和監管要求,為監管審計需求提供技術支援;
2) 可追溯原則:業務與活動都有記錄,可追溯,可審計;
3) 安全原則:採取各種必要的安全手段,保障鏈上資產和交易等資訊的安全,防範攻擊;
4) 隱私保護原則:保障鏈上的使用者隱私安全,防止洩露使用者隱私;
5) 業務導向原則:以需求推動技術,設計與開發時優先考慮適用的業務場景,通常需要對原有業務流程進行重新梳理。一方面在保持合規性的同時要使區塊鏈技術特性得以充分發揮,另一方面還須考慮如何為業務帶來怎樣的改善與價值創造。

區塊鏈技術的治理可深入至技術的核心環節如共識機制、節點准入、許可權管理等,通常可劃分為公有鏈、聯盟鏈、私有鏈三種形式。BCOS平臺綜合考量後,選擇了聯盟鏈的部署架構與治理模式。

3 區塊鏈治理物件

區塊鏈的治理物件維包含參與者與技術系統的多個方面,內容廣泛,以下將結合BCOS平臺的設計重點與技術實現,選取部分具有典型區塊鏈特色的治理物件進行闡述。

3.1 身份認證與准入機制

BCOS平臺的身份認證體系目前主要針對機構。在特定業務背景下,經個人使用者授權後,由機構代理其個人使用者在鏈上進行交易。

一個機構擁有一個到多個節點,節點接入到聯盟鏈的網路中,代表其所屬機構在鏈上進行活動,包括同步資料、參與共識、發起交易等,機構和節點是一對多的關係,為了達成機構級別的安全控制和審計監管,首先需要對機構進行身份認證和准入控制。

目前,PKI( Public Key Infrastructure :公鑰基礎設施)是網路安全建設的基礎與核心體系,透過第三方的可信任機構--認證中心CA(Certificate Authority),把機構的公鑰和機構的其他標識資訊繫結在一起,可用於在網路上驗證使用者的身份。

BCOS平臺支援的採用CA證書實現機構身份認證的機制與流程如下:

  • 機構將自己的機構基本資訊(名稱,機構編號,聯絡方式等)以及所屬節點的資訊(IP地址,節點標識等),以及CA公鑰證書提交給聯盟鏈運營管理者,統一進行准入稽覈。

  • 如機構准入稽覈被透過,聯盟鏈運營管理員將該機構的節點資訊,CA公鑰證書向全聯盟鏈廣播,告知全部參與者,將新機構的新節點接入到網路,鏈上已活動的節點應允許新節點進行連線和進行握手。

  • 在節點互相連線時,節點之間會採用CA證書裡的私鑰對自己的握手資訊進行簽名,傳送給對方,接收方根據傳送方的握手資訊查詢CA公鑰證書,並使用公鑰證書進行簽名驗證,以判斷是哪個機構的節點發起的連線,是否允許繼續通訊。

  • 證書管理服務會定期檢測機構的證書狀態,判定證書是否有效,如是否過期、被吊銷等。如證書已經失效,則該機構的節點再嘗試連線到網路時會被拒絕。

3.2 節點管理

節點指安裝了區塊鏈軟體的物理伺服器或虛擬伺服器,這些伺服器可連線到聯盟鏈網路,具有可訪問的IP地址、能對外提供服務。
從資料和共識參與程度來看,部分或全部節點可以設定為共識節點,參與共識演算法,成為鏈上的記賬者;不參與共識,只同步資料的節點稱為觀察節點。

節點的配置管理包括兩個維度:全網配置管理及節點本地配置管理。

全網配置將參與網路的所有節點資訊寫入到鏈上共同維護的全域性配置,在此配置裡的節點才能被鏈上其他節點接受,不存在該配置裡的節點或配置有誤的節點,又或節點的CA證書已經過期,都會被拒絕連線,如此實現了聯盟鏈節點的准入機制。全網維護的全量節點資訊包含了節點的IP地址、埠等,也可用於節點之間的通訊定址。

本地配置是全網配置的一個子集,在本地配置檔案裡實現,支援黑白名單邏輯。

白名單用於解決節點快速發現的問題,白名單裡的節點資訊應被事先鑑定為權威的,可信的。做為一個新接入的節點,可以根據節點白名單,連線到已經被認為是可信的其他節點,進行資料同步,獲取區塊資料,全網配置等。當同步成功後,新接入的節點也擁有了和全網一致的全網配置,可以根據全網配置進行完整的連線控制,如包括CA認證等。

黑名單用於節點的自我保護,如出於安全、服務容量、網路可達性等原因,不能連線到某個其他節點,或者明確的不接受某個其他節點對自己的連線,則可以將該節點加入自己的黑名單配置,則這個節點對自己的連線將會被拒絕,自己也不會去連線這個節點,實現了通訊層面的隔離。

本地配置只對擁有該配置的節點生效,不影響全網配置,可以是暫時性或永久性的,運維人員可根據節點的具體情況進行精細化控制,給節點的管理增加了更細粒度的控制能力。

3.3 共識機制

共識機制不但是計算機之間的演算法和資料共識,也是合作伙伴之間進行協作的共識,共識機制使區塊鏈的參與者透過約定的方式進行共同記賬,確保合作者之間的記賬正確性、一致性、持續性,避免少數出現故障的節點影響網路執行,並防禦少數故意作惡者的破壞。

公有鏈如比特幣、以太坊等使用的共識演算法通常為工作量證明或權益證明等,可以根據投入權益和記賬的行為,對記賬者制定獎勵和懲罰制度。公有鏈上的共識演算法一般確認時間較長,或需要較多的算力投入。

聯盟鏈共識機制的設計目標和公有鏈有所不同,BCOS平臺不會根據記賬的計算量對記賬者進行經濟獎勵,而是鼓勵參與者在共同維護聯盟鏈、促進生態系統發展、推進商業合作的過程中獲得價值或收益。在此過程中產生的糾紛或非法行為,將採用監管審計和法律仲裁結合的方式解決。BCOS平臺共識機制的實現符合聯盟鏈場景需求,可避免算力浪費、防分叉和提升執行穩定性。

BCOS平臺採用高效的PBFT、RAFT共識演算法,採用外掛化設計實現,透過修改系統配置,即可以在一個聯盟鏈裡使用不同的共識機制,參與到這個聯盟鏈的所有節點必須採用同一種共識配置。

BCOS平臺所使用的PBFT共識演算法的特性包括:

  • 共識節點輪流出塊,具有同等的記賬權,體現了參與者的對等性,且防止個別記賬者作惡;
  • 秒級出塊,可配置為1秒到幾秒出塊,滿足交易短時間內響應的需求;
  • 支援1/3容錯,整個系統中少於等於1/3數量的節點出現故障或作惡,均不影響共識進行;
  • 在區塊同步的過程中嚴格校驗簽名,保證資料的安全性。

PBFT共識具有高一致性、高可用性,抗欺詐能力較強,是聯盟鏈裡較為實用的一種共識演算法,經過流程最佳化,也具有較高的效率。



BCOS平臺所使用的RAFT共識演算法特性包括:

  • 共識節點達到出塊條件,即把當前塊作為候選區塊發起選舉,所有共識節點具有同等選票權重,體現了參與者的對等性;
  • 候選區塊超過半數贊成票才提交到區塊鏈中,保證高一致性;
  • 如果超時沒有收集超過半數的回覆票,則重新發起選舉,保證系統的容錯恢復能力;
  • 秒級出塊,可以配置為1秒或多秒出塊;
  • 支援1/2節點容錯,整個系統中少於1/2數量的節點出現故障,均不影響共識進行;
  • 在選舉過程和區塊同步過程中嚴格校驗簽名,保證資料的安全性。



RAFT共識具有較高的效率、高一致性和高可用性。與PBFT共識的拜占庭容錯特性對比,RAFT共識並不嚴格保證抗欺詐性,適用於互信程度較高的聯盟鏈。

聯盟鏈的共識演算法在節點總數不多、網路規模不太大時,可以提供較高的交易併發處理能力。但隨著節點數量增多,比如達到幾百個共識節點的規模時,由於需要共識節點之間交換較多的資訊,會出現明顯的效能下降。所以在聯盟鏈中一般會透過協商,在保證公平公開的前提下,控制參與者共識的節點數量,以保證共識演算法的效率。

BCOS平臺的共識演算法根據聯盟鏈要求的身份對等性、交易響應時間、併發能力、以及伺服器計算能力和網路頻寬等進行深入最佳化,可提高計算效率,減少重複工作,降低頻寬消耗。在保證高併發的同時,可保證交易在短時間內能得到確認,且一旦確認後,在聯盟鏈裡即達成共識且不可篡改。

3.4 隱私保護

個人使用者的KYC資料與機構使用者的交易資料,都牽涉到隱私問題。目前對隱私保護的研究方向,包括使用密碼學演算法保護資料、在體系架構上引入可信第三方、以及按交易牽涉範圍進行隔離等。

在密碼學方面,零知識證明、同態加密等演算法的研究進展給予隱私保護極大的想象空間,目前零知識證明和多操作的同態加密演算法在實現上還存在資料量太大和計算速度較慢的問題,在其效能、可用性達到一定的要求後,可以在業務場景裡進行探索性使用,如支援單一的加法或者乘法操作的同態演算法在理論和工程上都已完備,可以針對部分場景使用。

在一些強監管或高安全要求的業務場景中,可以引進官方或權威的中央對手方提供信用背書,交易參與方的交易資料明細對中央對手方為全部可見,但對不相關的參與方為不可見,中央對手方負責對交易進行驗證並提供面向全聯盟鏈的可信證據。在這種業務場景裡,透過物理隔離與通訊層的邏輯通道設計,交易明細僅傳送給交易牽涉的節點以及中央對手方,從基礎層面防止了隱私資料的擴散。

BCOS平臺出於對當前隱私控制需求的理解,以及從目前各種技術方案的發展現狀出發,建議從以下方面實現隱私控制:

  • 對資料的安全和敏感級別進行甄別,部分和交易以及賬本無強相關,又具有高敏感性的資料,應脫敏後再發到區塊鏈上或不傳送到區塊鏈上,如和某個機構簽約的個人KYC資料,在未得到使用者授權之前不應共享牽涉個人隱私的資料。資料脫敏從源頭杜絕了隱私洩漏的可能性;
  • 提供機構和機構之間點對點通訊方式,資料通訊僅發生在相關的機構之間,當機構之間針對交易資料完成校驗和協商之後,僅把需要對全網確認共識的資料傳送到聯盟鏈上進行共享;
  • 資料明細在鏈下儲存,鏈上提供共識過的資料摘要、資料有效性證明、對資料的定址方法、資料訪問授權約定等,供機構之間在必要時透過資料下載協議獲取可信的資料。分散式檔案服務和存證類業務可以考慮採用類似方式,在鏈下儲存圖片、影片、其他型別的大檔案,並將其摘要傳送到鏈上獲得有效性證明,這種方式可以同時解決資料容量和敏感性的問題。
  • 資料可以對全聯盟鏈進行廣播,但採用高強度的加密資料信封方式進行保護,僅在交易參與方以及中央對手方、監管方之間共享資料,但未參與的的機構收到的是密文,且不能解密這份資料。
  • 在部分只涉及到資料數值加減的場景,可採用加法同態加密演算法,實現對資料的隱私保護,同時不會對效能有大的影響。
  • 在部分能承受一定效率損耗, 並且涉及到複雜資料操作的交易場景,採用零知識證明,多操作同態加密等演算法,用密碼學方式實現隱私保護。

3.5 監管和審計

3.5.1 監管

隨著區塊鏈技術和業務形態探索的發展,需要在區塊鏈技術平臺上提供支援監管的功能,避免區塊鏈系統遊離於法律法規以及行業規則之外,成為洗錢、非法融資或犯罪交易的載體。

BCOS平臺一方面提供可監管的資料介面,另一方面可支援監管部門作為特殊節點接入,可即時同步資料,並對資料完整性、有效性、過程和流程的合規性進行即時的監控,從而可對異常或違規行為及時處理或給予指導意見。各個參與方在加入時都需要經過准入流程提交真實資料,透過稽覈後才能加入。其真實身份和所用的操作帳號繫結並透過全鏈共識,在交易過程中,交易資料、共識過程也會附帶自己的公鑰和簽名,透過簽名資料驗證,可以確定交易參與者的真實身份,參與者在鏈上的行為都會被記錄且不可抵賴。

監管角色不同於開發者、交易管理員、聯盟鏈運營者、運維者等,監管方可以擁有以上角色的許可權的一部分或全部,也可以針對特定的業務場景,制定特定的許可權集合。

例如,在一些特殊的強監管場景中,BCOS平臺可支援監管方作為所有規則的制定者和實施者,透過參與准入稽覈,智慧合約編寫、部署和升級,以及事前中後的檢測和干預對業務實施監管。其他參與者使用聯盟鏈進行點對點的交易時,交易行為和規則都在受控範圍內。

在另一些中度監管的場景中,BCOS平臺可支援監管方選擇性地參與到交易過程,如設計這樣的一個智慧合約:在合約執行前或者生效前,由監管方檢查合約的規則、資料,必須符合監管要求,才給出簽名背書。具有監管方簽名且得到全鏈共識的交易才能生效。區塊鏈上可永久儲存與服務、資源、效能相關的資料和證據,監管方能在事後透過區塊鏈資料同步的特性,審計所有的資料,進行業務合規檢查、反洗錢等操作。BCOS平臺預置了控制交易和部署合約的許可權和介面,透過監管工具、角色賦權等方案,讓監管方可以直接實施聯盟鏈的控制。

3.5.2 審計

審計功能主要用於滿足區塊鏈系統的審計內控、責任鑑定和事件追溯等要求,需要以有效的技術手段,配合業務所屬的行業標準進行精確的審計管理。

BCOS平臺在技術上允許審計者加入區塊鏈系統作為其中一個節點進行實時監控與審計。區塊鏈賬本可永久儲存與審計活動相關的資料和證據,包括協議所有參與方的活動、運營環境條件的記錄和日誌、審計員的審計檢視動作記錄等。建議在BCOS平臺之外,仍需建立完善健全的審計制度。做到事後審計與事前、事中審計的有機結合,建立包含查處違規違紀審計、內控制度審計、績效審計等維度的內審指標體系。

簡而言之,結合區塊鏈資料不可篡改、交易不可抵賴的技術特性,以及准入標準、智慧合約、許可權體系、監管和審計制度,可以實現對BCOS平臺的有效監管和審計,保障業務運作的安全合規。

4 區塊鏈治理過程

對具體的區塊鏈事務流程,需要設計一系列的交付目標、相應的控制程式、以及評價執行效果的監控程式。

4.1 交付和支援

使用BCOS平臺構建應用的工作主要包括搭建聯盟鏈、編寫合約、開發客戶端應用、以及運營管理和升級維護。 獲得BCOS平臺開原始碼的使用者可以對程式碼進行編譯,輸出二進位制程序檔案,部署到使用者自己的伺服器上,根據使用手冊一步步地進行配置,組成獨立的聯盟鏈或加入已有的聯盟鏈。

組鏈成功並執行之後,聯盟鏈的管理運營工作應由參與到的全體機構共同進行,或者選舉一個平臺運營方來執行運營管理工作,如審批加入機構,分配交易帳號和設定許可權,制定並執行業務管理規則,對運營情況進行統計分析等。

日常的支援工作應由運維人員負責,包括聯盟鏈的引數配置,軟體升級等。BCOS平臺軟體升級原則上保證向下相容,原鏈上資料不會因升級而失效,且支援全網灰度升級,不要求所有節點同時升級或停機升級,可以按節點一一替換,執行新版本軟體的節點和執行舊版本軟體的節點可協同工作,直到舊版本被完全替換。

智慧合約的設計應由參與到聯盟鏈的多家機構,包括制定業務邏輯和監管規則的機構一起共同設計,給出全體達成一致的業務流程和約束條件說明,形成明確的智慧合約需求。

開發人員根據需求,進行智慧合約程式碼的編寫、編譯、單元測試。合約的開發可由多方協作進行,也可由聯盟鏈的參與者共同委託一方或第三方開發,合約的程式碼需要在聯盟鏈參與方之間開源。

測試人員對合約進行嚴格的功能和效能測試,測試結果公示給各參與方。

在合約透過測試並徵得參與方一致同意之後,執行釋出流程,釋出到鏈上,經過共識機制確認,合約生效並被後續的交易呼叫。

BCOS平臺上,合約可以升級,並透過灰度升級機制保證業務的安全升級,控制升級中可能出現故障時的影響面。新合約釋出到鏈上後,可以透過灰度方式進行驗證和逐步放量,如先使用測試資料進行驗證,或將業務交易的流量按使用者、商家、交易型別等維度分組,把交易逐步從舊合約切換到新合約上執行,待新合約邏輯驗證透過,再全量切換到新合約,否則回退到上個版本的合約繼續執行。

最後,BCOS平臺提供了友好的SDK,在SDK基礎上開發面向終端使用者的、介面友好的、可互動的、功能豐富的客戶端程式,以HTML/HTML5、PC或手機終端軟體等多種形式呈現,在客戶端上可以儲存鏈上部分或全部的資料,也可以作為輕客戶端訪問鏈上節點。其中,輕客戶端的安全策略與節點類似,將設定准入控制、身份認證及許可權管理等。

4.2 運維和監控

區塊鏈系統從構建和執行邏輯上都具有較高一致性,不同節點的軟硬體系統基本一致。其標準化特性給運維人員帶來了便利,可使用通用的工具、運維策略和運維流程等對區塊鏈系統進行構建、部署、配置、故障處理,從而降低運維成本以及提升效率。

運維人員對聯盟鏈的操作會被許可權系統控制,運維人員有修改系統配置、啟停程序、檢視執行日誌、排查故障等許可權,但不參與到業務交易中,也不能直接檢視具有較高安全隱私等級的使用者資料,交易資料。

系統執行過程中,可透過監控系統對各種執行指標進行監控,對系統的健康程度進行評估,當出現故障時發出告警通知,便於運維快速反應,進行處理。

監控的維度包括基礎環境監控,如CPU佔比、系統記憶體佔比和增長、磁碟IO情況、網路連線數和流量等。

區塊鏈系統監控包括如區塊高度、交易量和虛擬機器計算量,共識節點出塊投票情況等。

介面監控包括如介面呼叫計數、介面呼叫耗時情況、介面呼叫成功率等。

監控資料可以透過日誌或網路介面進行輸出,便於和機構的現有的監控系統進行對接,複用機構的監控能力和既有的運維流程。運維人員收到告警後,採用聯盟鏈提供的運維工具,檢視系統資訊、修改配置、啟停程序、處理故障等。



相關閱讀

免責聲明:

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

推荐阅读

;