王彥華
(廊坊師范學(xué)院,河北 廊坊065000)
目前,公益慈善事業(yè)的流程在資金流動(dòng)、賬目明細(xì)等方面存在一些問(wèn)題,公益事業(yè)的流程仍然不能實(shí)現(xiàn)一體化的管理,致使公益慈善中的信任缺失嚴(yán)重。公益事業(yè)需要一個(gè)透明、公開(kāi)、真實(shí)的管理系統(tǒng)。
區(qū)塊鏈?zhǔn)欠植际綌?shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式。它本質(zhì)上是使用一個(gè)分布式的數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)[1]、采用分布式無(wú)中心的記賬方式。數(shù)據(jù)庫(kù)中的信息是由系統(tǒng)的節(jié)點(diǎn)記錄生成,多個(gè)節(jié)點(diǎn)通過(guò)競(jìng)爭(zhēng)獲得記賬權(quán)限,生成新的區(qū)塊數(shù)據(jù)。記賬節(jié)點(diǎn)再將記錄的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)廣播給其他節(jié)點(diǎn),然后其他節(jié)點(diǎn)同步數(shù)據(jù)信息。每一個(gè)數(shù)據(jù)塊中包含了一批次網(wǎng)絡(luò)交易的信息,用于驗(yàn)證其信息的有效性并生成下一個(gè)區(qū)塊。
本文基于區(qū)塊鏈,為公益事業(yè)提供一體化管理方案,將募捐細(xì)節(jié)、賬目明細(xì)、捐助流程等信息記錄在區(qū)塊鏈上,并通過(guò)智能合約自動(dòng)觸發(fā)資金的有效流動(dòng)。方案保證了公益各環(huán)節(jié)相關(guān)數(shù)據(jù)的公開(kāi)、透明、真實(shí)、不可篡改。通過(guò)本系統(tǒng)呈現(xiàn)給募捐者、受助者一個(gè)完全真實(shí)可信的事實(shí)展示,通過(guò)區(qū)塊鏈構(gòu)建了公益慈善各環(huán)節(jié)的信任。
目前,民眾對(duì)公益慈善越來(lái)越支持,已有大量對(duì)公益慈善系統(tǒng)的相關(guān)研究。其中包括一些慈善綜合管理系統(tǒng),但是該類(lèi)系統(tǒng)是中心化的治理機(jī)制,并且不能排除人為干預(yù)因素。這使該類(lèi)系統(tǒng)不能真正實(shí)現(xiàn)慈善的完全透明化管理。針對(duì)當(dāng)前社會(huì)慈善組織公眾信任危機(jī),方妍[2]對(duì)慈善管理模式提出了改革途徑,該模式使用多中心治理模式代替單一主體治理機(jī)制,其實(shí)在本質(zhì)上仍然是中心化的治理機(jī)制。徐鶯[3]分析我國(guó)慈善組織信任危機(jī)的表現(xiàn)和形成原因,并提出了相應(yīng)理論化的對(duì)策。張龍杰[4]分析了我國(guó)慈善組織面臨的信任危機(jī),并從政策方面提出了一定的對(duì)策。左凱[5]針對(duì)紅十字會(huì)出現(xiàn)的信任問(wèn)題,提出建立信息公開(kāi)制度、問(wèn)責(zé)制度、監(jiān)管機(jī)制,完善自身組織管理,重塑公信力。張靜[6]針對(duì)公眾對(duì)慈善組織的信任缺失,提出了重塑我國(guó)公益慈善組織的公信力的策略,建立聯(lián)動(dòng)監(jiān)督機(jī)制、建設(shè)專(zhuān)業(yè)評(píng)估機(jī)構(gòu)、建設(shè)科學(xué)化的管理體系,從理論方面、策略、制度方面提出了相關(guān)的方法。張晶[7]分析慈善組織信任危機(jī)發(fā)生的根本原因,提出了應(yīng)對(duì)措施。郭彬[8]提出了區(qū)塊鏈能夠構(gòu)建新型的社會(huì)組織形態(tài)和信任世界。孫建波[9]提出了區(qū)塊鏈現(xiàn)金流使用過(guò)程中的信任關(guān)系。江瀚[10]闡述了通過(guò)區(qū)塊鏈構(gòu)建信任,使公眾能夠更好使用共享社會(huì)資源。
通過(guò)深入分析區(qū)塊鏈技術(shù),分析多種公鏈的特點(diǎn),本文選擇Stellar 公鏈作為底層公鏈進(jìn)行方案設(shè)計(jì)。
Stellar 公鏈技術(shù)使用Ed25519 簽名曲線,采用Base32(StrKey)地址編碼。該公鏈基于Stellar Consensus Protocol(SCP),其模型能夠適用于全網(wǎng)范圍的共識(shí)機(jī)制。SCP是第一個(gè)可證明的安全的共識(shí)機(jī)制,并且同時(shí)滿(mǎn)足以下幾個(gè)關(guān)鍵屬性。
分散控制:去中心化控制,任何個(gè)體都可以參與,不需中心化權(quán)威機(jī)構(gòu)認(rèn)定。
低延遲:實(shí)際情形中,節(jié)點(diǎn)可以在參與者對(duì)互聯(lián)網(wǎng)期待的時(shí)間范圍內(nèi)達(dá)成共識(shí),一般小于5秒。
靈活信任:用戶(hù)有信任他們認(rèn)為合適的任何團(tuán)體組合的自由。例如,一個(gè)非盈利組織可能在維持大型機(jī)構(gòu)誠(chéng)實(shí)性方面起到關(guān)鍵作用。
漸進(jìn)安全:安全性建立在數(shù)字簽名及哈希函數(shù)簇上,其參數(shù)可以根據(jù)實(shí)際情況進(jìn)行調(diào)整以抵御擁有強(qiáng)大算力的攻擊者。
多重簽名:對(duì)于同一賬戶(hù),可以由多個(gè)用戶(hù)共同掌管。不同用戶(hù)具有的簽名權(quán)重不同,只有達(dá)到權(quán)重的閾值,才能使用該賬戶(hù)的相關(guān)功能。
Stellar提出了聯(lián)邦拜占庭協(xié)議SCP,SCP基于拜占庭協(xié)議,是一種FBA的構(gòu)造方法,和所有拜占庭協(xié)商協(xié)議一樣,SCP不做任何關(guān)于攻擊者理性行為的假設(shè),允許開(kāi)放的成員關(guān)系,促進(jìn)了網(wǎng)絡(luò)式成長(zhǎng)。對(duì)計(jì)算能力以及經(jīng)濟(jì)成本消耗要求適度,降低了準(zhǔn)入門(mén)檻。它促使節(jié)點(diǎn)在選擇信任對(duì)象時(shí)維持簡(jiǎn)單的責(zé)任,能夠盡最大可能保護(hù)節(jié)點(diǎn)遠(yuǎn)離拜占庭錯(cuò)誤。
事實(shí)上,Stellar 公鏈的實(shí)際處理速度達(dá)到1000tps。Ledger的生成時(shí)間不超過(guò)5秒,每個(gè)Ledger可容納的操作數(shù)達(dá)到1000。通過(guò)分散在世界各地的服務(wù)器實(shí)現(xiàn)分布式總賬的去中心化網(wǎng)絡(luò)??傎~記錄了系統(tǒng)的每一筆交易事務(wù),Stellar網(wǎng)絡(luò)的每個(gè)服務(wù)器都存有一份總賬副本。通過(guò)SCP,服務(wù)器直接相互通信,核實(shí)交易并在2~5秒之內(nèi)同步一次總賬。
Stellar鏈上存儲(chǔ)的數(shù)據(jù),可靠性高且不可篡改,適合用在社會(huì)公益場(chǎng)景。將公益流程中的相關(guān)信息:捐贈(zèng)項(xiàng)目、捐助明細(xì)、資金流向、受助人反饋等,存放于區(qū)塊鏈上,并且有條件地進(jìn)行透明公開(kāi)公示,方便社會(huì)監(jiān)督,任何人使用Stellar的區(qū)塊瀏覽器均可查看鏈上數(shù)據(jù)。
基于Stellar公鏈技術(shù)實(shí)現(xiàn)的公益事業(yè)一體化管理方案,可以對(duì)公益慈善的完整流程進(jìn)行自動(dòng)化、公開(kāi)化管理。
2.2.1 平臺(tái)功能結(jié)構(gòu)
平臺(tái)整體包括項(xiàng)目群管模塊、捐助模塊、數(shù)據(jù)分析模塊等。平臺(tái)包括四層,用戶(hù)層、前端、應(yīng)用層和數(shù)據(jù)層。由于涉及多項(xiàng)目和多資金的管理,采用數(shù)據(jù)一致性保障資金的一致性。并且每個(gè)環(huán)節(jié)都參與全鏈路分析過(guò)程,多行為預(yù)警防范黑客使用各種手段對(duì)平臺(tái)的攻擊。平臺(tái)功能結(jié)構(gòu)如圖1所示。
平臺(tái)使用Hash Check、CORS、Kafka等協(xié)議在賬戶(hù)數(shù)據(jù)的一致性、異?;貪L重放、動(dòng)作流數(shù)據(jù)處理方面提供基礎(chǔ)保障。
使用HASH校驗(yàn),保證平臺(tái)賬戶(hù)的數(shù)據(jù)一致性,避免黑客通過(guò)技術(shù)手段造成平臺(tái)用戶(hù)的利益損失。
基于簡(jiǎn)單清晰的設(shè)計(jì)模式,CQRS 通過(guò)在業(yè)務(wù)上分離操作和查詢(xún)來(lái)使得平臺(tái)具有更好的可擴(kuò)展性,能夠?qū)ο到y(tǒng)的不同部分進(jìn)行擴(kuò)展和優(yōu)化。所有的涉及到對(duì)DB 的操作都是通過(guò)發(fā)送Command,然后特定的Command 觸發(fā)對(duì)應(yīng)事件完成操作。該過(guò)程是異步的,所有涉及到對(duì)系統(tǒng)的變更行為都包含在具體的事件中,結(jié)合Eventing Source模式,能夠記錄平臺(tái)所有事件,而不是以往的某一點(diǎn)的數(shù)據(jù)信息。這些信息作為系統(tǒng)的操作日志,從而在平臺(tái)發(fā)生異常情況時(shí),實(shí)施回滾或重放。
作為一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),Kafka 可以處理平臺(tái)所有動(dòng)作流數(shù)據(jù)。由于吞吐量的要求,這些數(shù)據(jù)通常通過(guò)處理日志和聚合解決。Kafka通過(guò)Hadoop的并行加載機(jī)制來(lái)統(tǒng)一平臺(tái)的線上和離線消息處理。
2.2.2 平臺(tái)捐助-受助流程
平臺(tái)在Stellar網(wǎng)絡(luò)發(fā)行專(zhuān)用于捐助公益項(xiàng)目的通證jkc;jkc僅在Stellar網(wǎng)絡(luò)上流通,且僅能用于在一體化平臺(tái)上的公益項(xiàng)目使用,jkc是該平臺(tái)上捐助和受助的通證。平臺(tái)上進(jìn)行捐助受助的流程如圖2所示。平臺(tái)的具體捐助受助過(guò)程步驟如下。
圖1 平臺(tái)功能結(jié)構(gòu)
圖2 捐助受助流程
(1)捐助者將準(zhǔn)備捐助的全部資金與兌換網(wǎng)兌換成jkc。具體兌換比例按網(wǎng)關(guān)設(shè)定,通常設(shè)定為1:1。
(2)捐助者選擇項(xiàng)目進(jìn)行資助,將jkc 轉(zhuǎn)給該項(xiàng)目。
(3)智能合約解鎖將jkc轉(zhuǎn)給受助者。
(4)受助者使用收到的jkc 與兌換網(wǎng)關(guān)進(jìn)行兌換(按照1:1兌換),獲得受資助的資金。
其中,捐助過(guò)程構(gòu)建智能合約,設(shè)定jkc自動(dòng)轉(zhuǎn)給受助者的時(shí)間??梢栽O(shè)置為:項(xiàng)目獲得滿(mǎn)額jck;項(xiàng)目獲得任何一筆jkc;項(xiàng)目截止日期。
jkc與資金的比例恒定,不能浮動(dòng)。這就保證了jkc的專(zhuān)門(mén)用途。
對(duì)于多個(gè)捐助項(xiàng)目,平臺(tái)可以將項(xiàng)目分類(lèi),每個(gè)類(lèi)別使用一個(gè)通證,通證名字不同,如jkc1,jkc2,...,jkcn。每個(gè)通證的流轉(zhuǎn)記錄都記錄在Stellar鏈上。
(1)數(shù)據(jù)公開(kāi)透明、真實(shí)有效。捐助項(xiàng)目主要參數(shù)、募集明細(xì)、資金流動(dòng)、受助反饋信息均記錄在Stellar 鏈上。公鏈?zhǔn)枪_(kāi)訪問(wèn)的,任何人都可以查詢(xún)記錄在公鏈上的信息,并且記賬權(quán)是節(jié)點(diǎn)通過(guò)公平競(jìng)爭(zhēng)獲得,不存在違規(guī)操作等人為操作現(xiàn)象。
(2)數(shù)據(jù)不可篡改、可溯源。由于捐助等信息記錄在區(qū)塊上,每個(gè)區(qū)塊都有唯一的前驅(qū)區(qū)塊和后繼區(qū)塊,區(qū)塊無(wú)法刪除,保證了記錄在區(qū)塊上的數(shù)據(jù)均是原始記賬。因此,對(duì)于任意時(shí)間點(diǎn)來(lái)說(shuō),都可在Stellar鏈上查詢(xún)?cè)紨?shù)據(jù)。
(3)無(wú)法抵賴(lài)。區(qū)塊的生成過(guò)程,使用節(jié)點(diǎn)的私鑰加密數(shù)據(jù),即進(jìn)行數(shù)字簽名。在下一個(gè)區(qū)塊生成前先使用上一區(qū)塊記錄者的公鑰進(jìn)行驗(yàn)證。驗(yàn)證成功,簽名者無(wú)法抵賴(lài)其操作,因?yàn)樗借€是不公開(kāi)的。
本文提出的基于區(qū)塊鏈的公益事業(yè)一體化管理平臺(tái),對(duì)公益事業(yè)的捐助和受助過(guò)程的數(shù)據(jù)全程記錄在Stellar 鏈上,不但使整個(gè)捐助流程更加透明化、自動(dòng)化,也能使捐助信息真實(shí)有效地反映給公眾。能夠提高公益事業(yè)辦事效率,并從根本上解決公益過(guò)程中普遍存在的信任問(wèn)題。