国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

發(fā)布區(qū)塊鏈CNWW3標(biāo)準(zhǔn)的高并發(fā)快速交易及交易驗證體系模型

2019-03-22 08:36李東云吳先鋒
關(guān)鍵詞:分片全網(wǎng)記賬

李東云,白 杰,吳先鋒

(傲為信息技術(shù)(江蘇)有限公司,江蘇 南京 210032)

0 引言

從2009年比特幣(Bitcoin)[1]正式面世開始,去中心化區(qū)塊鏈網(wǎng)絡(luò)從概念提出、工程實現(xiàn)到全網(wǎng)實際運(yùn)行,經(jīng)歷了長足的發(fā)展和進(jìn)步。特別是隨著第二代區(qū)塊鏈網(wǎng)絡(luò)——以太坊(Ethereum)平臺及后來的EOS(Enterprise Operation System)逐步引入智能合約(Smart Contract)、去中心應(yīng)用(Decentralized Application)等內(nèi)容和功能,使得相應(yīng)的概念和應(yīng)用進(jìn)一步擴(kuò)展,在越來越多的實際應(yīng)用中落地。同時,隨著去中心化和區(qū)塊鏈網(wǎng)絡(luò)的概念演進(jìn)和系統(tǒng)實踐深入,去中心化區(qū)塊鏈網(wǎng)絡(luò)作為有可能改變當(dāng)前諸多生產(chǎn)關(guān)系的一種新型的技術(shù)基礎(chǔ)平臺的趨向性也明顯體現(xiàn)。因此,傳統(tǒng)的中心化網(wǎng)絡(luò)服務(wù)商在自身業(yè)務(wù)轉(zhuǎn)型升級和新型技術(shù)探索的雙重需求下,也有將現(xiàn)有傳統(tǒng)中心化服務(wù)向去中心化網(wǎng)絡(luò)轉(zhuǎn)化的嘗試和要求?,F(xiàn)有的去中心化區(qū)塊鏈網(wǎng)絡(luò),無論是在承接越來越多的應(yīng)用,還是在嘗試切換傳統(tǒng)中心化服務(wù)的過程中,在技術(shù)方案和業(yè)務(wù)能力上,均出現(xiàn)了不少的問題亟待解決。其中,如何支持交易和信息的快速驗證,是一個非常核心的問題。

1 問題,瓶頸和難點

在分布式系統(tǒng)的不可能三角CAP[2](Consistency/一致性,Availability/可用性,Partition tolerance/分區(qū)容錯性)的條件下,以及區(qū)塊鏈技術(shù)在實現(xiàn)上的策略選擇,現(xiàn)有的各個區(qū)塊鏈系統(tǒng)在安全性(Security)、擴(kuò)展性(Scalability)和去中心化性(Decentralization)上也沒有辦法做到全面兼顧。安全性和去中心化性的要求往往會導(dǎo)致擴(kuò)展性出現(xiàn)問題,如比特幣網(wǎng)絡(luò)和以太坊網(wǎng)絡(luò);對應(yīng)地,考慮安全性和擴(kuò)展性的同時,必然會犧牲去中心化性,如EOS。在不同的應(yīng)用場景中,這三個方面可以有不同的側(cè)重和選擇。但是最根本的,去中心化性作為Web3.0的標(biāo)準(zhǔn)特性,是一個核心要素。在這點上,為了擴(kuò)展性而犧牲去中心化性的EOS,某種程度上并不是嚴(yán)格意義上的區(qū)塊鏈網(wǎng)絡(luò)。

在實際應(yīng)用場景下,無論是交易,還是信息驗證,區(qū)塊鏈網(wǎng)絡(luò)中關(guān)鍵的一個指標(biāo)為TPS(Transaction Per Second),即單位時間內(nèi)的事務(wù)處理量。這個指標(biāo)直接決定了該區(qū)塊鏈網(wǎng)絡(luò)能實際承載的業(yè)務(wù)能力。目前主流的幾個區(qū)塊鏈平臺,如比特幣網(wǎng)絡(luò)平臺,TPS在10以下;以太坊平臺在25左右,經(jīng)過優(yōu)化和提升,大致能到50~100之間;EOS網(wǎng)絡(luò)通過犧牲去中心性號稱可達(dá)到百萬,但還沒有實際驗證和應(yīng)用。而對應(yīng)的傳統(tǒng)網(wǎng)絡(luò)服務(wù),如VISA網(wǎng)絡(luò)在2 000左右,而淘寶天貓“雙11”的尖峰交易數(shù)值已經(jīng)達(dá)到數(shù)十萬。因此,現(xiàn)有的區(qū)塊鏈平臺如果想要承接傳統(tǒng)中心化服務(wù),就必須要對TPS的問題有切實可行的解決辦法。

在比特幣網(wǎng)絡(luò)和以太坊網(wǎng)絡(luò)中,TPS數(shù)值無法進(jìn)行有效提高的根本原因在于網(wǎng)絡(luò)本身的架構(gòu)設(shè)計。完全去中心化的網(wǎng)絡(luò)架構(gòu),對于數(shù)據(jù)的同步和共識機(jī)制達(dá)成的限制和要求,有著時間上的妥協(xié),比如,比特幣網(wǎng)絡(luò)數(shù)據(jù)區(qū)塊的間隔時間為10 min,以太坊為15 s左右;同時,數(shù)據(jù)的同步也需要消耗一定的時間,所以對于一筆交易,在實際運(yùn)行中,比特幣網(wǎng)絡(luò)往往需要6個區(qū)塊周期,也就是1 h左右,才可以完全確認(rèn)交易完成,而以太坊網(wǎng)絡(luò),則往往需要12個區(qū)塊周期或以上,超過3 min。 對于一些應(yīng)用場景,如此長的驗證確認(rèn)時間是無法有效滿足需求的。而對于類似EOS這樣的平臺,TPS數(shù)值的提升是在犧牲去中心化性和安全性的基礎(chǔ)之上的,所以在安全性有較強(qiáng)要求的應(yīng)用場景中,也會存在一些障礙。

另外,對于交易來說,完成一筆交易至少有兩個步驟,第一是驗證該筆交易是合法的,最基本的驗證包括:支付者有足夠余額進(jìn)行支付,收付者有合法地址進(jìn)行接收;第二則是將該筆交易進(jìn)行記賬并全網(wǎng)同步完成共識。比特幣和以太坊在處理交易時,這兩個步驟是同步進(jìn)行的,也就是驗證節(jié)點(礦工)在進(jìn)行區(qū)塊生成的時候,同步進(jìn)行交易驗證和記賬。這種機(jī)制導(dǎo)致如下問題:首先是交易在同一個節(jié)點存在多次被驗證的情況,造成資源浪費;其次,如果待驗證交易過多,則必然存在較長時間的等待和排隊情況;最后,計算資源的利用存在較大浪費,有限的計算資源在網(wǎng)絡(luò)運(yùn)行中,并沒有合理完整地進(jìn)行分配和利用。

因此,問題可以歸結(jié)為兩個方面,一個是如何處理好去中心化性、安全性和擴(kuò)展性的問題;另外一個是如何處理好驗證和記賬的問題。

2 有效去中心化

從中心化系統(tǒng)向去中心化系統(tǒng)轉(zhuǎn)換的一個顯著特點在于:通過分布式系統(tǒng)以相同賬本的方式構(gòu)建一個有序不可篡改數(shù)據(jù)記錄集,以算法達(dá)成全網(wǎng)數(shù)據(jù)和邏輯一致。因此在理論上,網(wǎng)絡(luò)中的所有對應(yīng)節(jié)點都可以具有相同的邏輯和功能,共同參與維護(hù)整個網(wǎng)絡(luò)的可用性和一致性,但是這就會帶來TPS的問題。同時在實際中,并不是所有的網(wǎng)絡(luò)節(jié)點都具備足夠的資源用于支持相應(yīng)的邏輯和功能,大部分的節(jié)點是作為網(wǎng)絡(luò)參與者與使用者,而不是維護(hù)者。所以方案設(shè)計上,在保證安全性和可擴(kuò)展性的基礎(chǔ)上,需要對去中心化性做相應(yīng)的優(yōu)化和折中。

從比特幣、以太坊的絕對去中心化,EOS的偽去中心化,向有效去中心化方向進(jìn)行演進(jìn),是一種合適的方式。有效去中心化的含義在于:通過恰當(dāng)?shù)臋C(jī)制和算法,在保證網(wǎng)絡(luò)安全性和擴(kuò)展性的基礎(chǔ)上,積極有效利用網(wǎng)絡(luò)資源,達(dá)成數(shù)據(jù)和業(yè)務(wù)邏輯的去中心化。相應(yīng)的原則和定義如下。

2.1 節(jié)點分組原則

網(wǎng)絡(luò)中的參與節(jié)點是分組的。分組包含如下幾個方面:

(1)節(jié)點功能上,并不是所有節(jié)點都具有相同的功能;

(2)運(yùn)行網(wǎng)絡(luò)上,不同的節(jié)點也具有不同的優(yōu)先級和層級;

(3)分組的依據(jù)是根據(jù)節(jié)點自身的資源和意愿,通過隨機(jī)選舉產(chǎn)生;

(4)分組并非是永久固定不變的,僅僅是某個時間周期內(nèi)相對固定;

(5)相同小組內(nèi)的節(jié)點也并非同時具有相同的功能,其也同樣存在競爭和監(jiān)督關(guān)系。

2.2 節(jié)點角色原則

不同組中的節(jié)點承擔(dān)不同的角色,相同組中的節(jié)點邏輯上歸屬同一個角色,不同角色的節(jié)點完成對應(yīng)的工作,共同維護(hù)網(wǎng)絡(luò)的運(yùn)行和穩(wěn)定。網(wǎng)絡(luò)中的角色按照CNWW3[1]標(biāo)準(zhǔn)框架可以靈活地進(jìn)行劃分,也可以在邏輯上進(jìn)行相應(yīng)的抽象和概括。

(1)核心角色:完整擁有網(wǎng)絡(luò)的所有功能,通過選舉和競爭參與網(wǎng)絡(luò)的維護(hù)并獲取對應(yīng)的收益。

(2)監(jiān)督角色:對于核心角色所產(chǎn)生的結(jié)果進(jìn)行監(jiān)督和管理,同時提供相應(yīng)的網(wǎng)絡(luò)服務(wù)。

圖2 交易分層示意圖

(3)參與角色:不會參與網(wǎng)絡(luò)的維護(hù)和監(jiān)督,更多地作為網(wǎng)絡(luò)的使用者出現(xiàn)。

需要說明的是,相同角色中的節(jié)點,在相同時間點,并不是都具有相同的功能,互相之間同樣存在競爭和監(jiān)督關(guān)系。

2.3 轉(zhuǎn)化原則

節(jié)點可以在不同組中進(jìn)行轉(zhuǎn)換以及進(jìn)行角色轉(zhuǎn)換。節(jié)點在不同的時間節(jié)點,可以根據(jù)自身的資源情況和意愿,通過選舉競爭的方式變換不同角色,成功之后就可以行使對應(yīng)角色所賦予的功能和權(quán)利,獲取對應(yīng)的網(wǎng)絡(luò)收益。

2.4 運(yùn)行隨機(jī)/機(jī)會均等原則

分組和角色的轉(zhuǎn)換是隨機(jī)的。通過隨機(jī)機(jī)制,保證節(jié)點的分組和角色的轉(zhuǎn)換過程中,不同節(jié)點享有相同的機(jī)會進(jìn)行分組和角色轉(zhuǎn)換,從而最大限度保障網(wǎng)絡(luò)中節(jié)點的積極性和活躍性,進(jìn)而提高網(wǎng)絡(luò)的能力。

2.5 互相監(jiān)督原則

不同節(jié)點在不同角色下進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)同步和更新時,會同步進(jìn)行數(shù)據(jù)的校驗和監(jiān)督工作。如果發(fā)現(xiàn)核心分組節(jié)點產(chǎn)生了異?;蛘咤e誤數(shù)據(jù),則可以進(jìn)行相應(yīng)的舉報和糾察工作,如果無誤則會獲得網(wǎng)絡(luò)對應(yīng)的獎勵。

通過上述原則和方法,區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點能從絕對去中心化向有效去中心化進(jìn)行轉(zhuǎn)變,從而大幅度提高網(wǎng)絡(luò)運(yùn)行的效率,提高資源的利用率,同時又能完整地保持去中心化性,滿足了網(wǎng)絡(luò)的安全性和可靠性要求。有效去中心化示意圖如圖1。

圖1 有效去中心化網(wǎng)絡(luò)示意圖

3 交易分層

如前所述,交易完成的瓶頸在于交易的驗證和記賬混合,最終的交易完成確認(rèn)因記賬周期和其他限制導(dǎo)致延遲。網(wǎng)絡(luò)中的節(jié)點歸屬不同分組,賦予不同角色后,就可以對交易過程進(jìn)行有效的分層處理,如圖2所示。

網(wǎng)絡(luò)中的節(jié)點可以按照交易過程分為3大類:交易驗證節(jié)點、交易記錄節(jié)點和交易參與節(jié)點。

3.1 交易驗證節(jié)點

交易驗證節(jié)點需要同步當(dāng)前全網(wǎng)數(shù)據(jù)區(qū)塊、賬號信息、賬本信息等其他內(nèi)容,作為網(wǎng)絡(luò)的全量節(jié)點提供相應(yīng)的服務(wù)。同時,驗證節(jié)點共同維護(hù)了兩個虛擬列表:待驗證交易和已驗證交易。這兩個列表均為先進(jìn)先出,在交易驗證節(jié)點組中是全網(wǎng)共同維護(hù)的。交易驗證過程如下:

(1)當(dāng)網(wǎng)絡(luò)中發(fā)出一筆交易,驗證節(jié)點接收到該交易后,將其首先放入待驗證交易列表。

(2)驗證節(jié)點從待驗證交易列表中獲取一筆交易,先查詢是否已有其他節(jié)點已經(jīng)驗證該交易,如果沒有,則通過全量數(shù)據(jù)確認(rèn)該交易是否合法,如果合法,將其放入已驗證交易列表并簽名。

(3)如該交易已由另外驗證節(jié)點驗證,則同步驗證該交易,如交易合法,則更新該交易,附加簽名;如驗證交易非法,則忽略該交易。

(4)如交易未驗證通過,則忽略該交易。

(5)同步記賬網(wǎng)絡(luò)中的數(shù)據(jù)區(qū)塊,將已記賬的交易移除已驗證交易列表。

通過這種方式,無需依賴記賬完成的狀態(tài),能使得交易的確認(rèn)時間快速提高。

3.2 交易記賬節(jié)點

交易記錄節(jié)點為傳統(tǒng)意義上的礦工節(jié)點,通過搶奪記賬權(quán)的方式進(jìn)行記賬。記賬節(jié)點可以直接從已驗證交易列表中獲取被驗證的交易構(gòu)造區(qū)塊,而無需再進(jìn)行交易的驗證,可以把資源都用在記賬權(quán)的爭奪和數(shù)據(jù)的同步上。記賬過程如下:

(1)向交易驗證節(jié)點網(wǎng)絡(luò)同步已驗證的交易列表;

(2)從其中獲取足夠數(shù)量的交易構(gòu)造數(shù)據(jù)區(qū)塊;

(3)搶奪記賬權(quán)并發(fā)布數(shù)據(jù)區(qū)塊。

3.3 交易參與節(jié)點

交易參與節(jié)點本質(zhì)上是網(wǎng)絡(luò)的使用者,其通過查詢驗證節(jié)點的已驗證交易列表,向記賬節(jié)點同步記賬區(qū)塊數(shù)據(jù),來完成其自身的業(yè)務(wù)和交易的閉環(huán)。在這個過程中,對于實時性要求并不高的場景,可以通過記賬區(qū)塊進(jìn)行最終確認(rèn),而對于那些對實時性要求高的場景,就可以通過已驗證交易列表快速完成相關(guān)的確認(rèn)工作。

通過交易分層的方式,解決交易確認(rèn)的瓶頸點,同時也支持不同的場景下的業(yè)務(wù)需求。

4 網(wǎng)絡(luò)分片

通過節(jié)點分組、角色劃分和交易分層,已經(jīng)可以大幅度提高區(qū)塊鏈網(wǎng)絡(luò)的TPS數(shù)值,對于行業(yè)性或者區(qū)域性的區(qū)塊鏈平臺已經(jīng)足夠支持大部分的應(yīng)用場景。但是如果是一個全球性的公鏈平臺,則會因網(wǎng)絡(luò)傳輸、帶寬限制等方面的原因,導(dǎo)致相關(guān)交易和驗證發(fā)生延遲。因此就需要通過一種機(jī)制,對交易驗證和記賬過程做進(jìn)一步的分解和組合,進(jìn)一步提升區(qū)塊鏈平臺無論是在地理上還是邏輯上的應(yīng)用寬度和廣度。

在交易場景中,簡單來說有兩類交易:一類是大宗交易,比如能源、原材料等;另外一類是小額交易,如生活中的購物、支付等。對于大宗交易,無論是安全性還是重要性,都需要全網(wǎng)驗證并記賬,同時其對于時效性的要求并沒有那么高;而對于小額交易,一方面在地理上,交易雙方往往較近,另外一方面在業(yè)務(wù)邏輯上,也會有更多的相關(guān)性。所以從這點出發(fā),可以將全網(wǎng)網(wǎng)絡(luò)做進(jìn)一步的分片,使得交易以一種“就近原則”能最快速得到驗證和處理。

通過將全網(wǎng)網(wǎng)絡(luò)節(jié)點以分片的方式組合成多個子網(wǎng)絡(luò),每個子網(wǎng)絡(luò)處理其被指定的交易,生成對應(yīng)的數(shù)據(jù)區(qū)塊,并最終通過分布式網(wǎng)絡(luò),達(dá)成全網(wǎng)統(tǒng)一。需要說明的是,分片僅僅只針對交易,記賬區(qū)塊不會做切片,還是會保持全網(wǎng)唯一。

一筆交易發(fā)起后,發(fā)起方可以通過一定原則指定其交易的處理方式,即是需要全網(wǎng)驗證記賬,還是分片網(wǎng)絡(luò)驗證記賬。如果選擇后者,那么該交易只會被同步至指定的分片網(wǎng)絡(luò),并由該分片網(wǎng)絡(luò)進(jìn)行驗證、記賬并全網(wǎng)廣播最終的結(jié)果。

圖3所示為網(wǎng)絡(luò)切片示意圖。

圖3 區(qū)塊鏈網(wǎng)絡(luò)切片示意圖

5 結(jié)論

本文提出一組機(jī)制,通過有效去中心化、交易分層和網(wǎng)絡(luò)分片機(jī)制,可以在保證去中心化區(qū)塊鏈網(wǎng)絡(luò)的安全性、擴(kuò)展性和去中心化性上,極大地提高網(wǎng)絡(luò)單位時間內(nèi)處理事務(wù)的能力,從而能有效地支持傳統(tǒng)中心化應(yīng)用向去中心化平臺轉(zhuǎn)移,完成業(yè)務(wù)和技術(shù)的雙重升級。

猜你喜歡
分片全網(wǎng)記賬
上下分片與詞的時空佈局
利用狀態(tài)歸約處理跨分片交易的多輪驗證方案①
物聯(lián)網(wǎng)區(qū)塊鏈中基于演化博弈的分片算法
財務(wù)自由第1步,從記賬開始
記賬類APP
雙十一帶貨6500萬,他憑什么?——靠一句“把價格打下來”,牛肉哥火遍全網(wǎng)
農(nóng)家參謀(2019年2期)2019-09-10
基于模糊二分查找的幀分片算法設(shè)計與實現(xiàn)
電力系統(tǒng)全網(wǎng)一體化暫態(tài)仿真接口技術(shù)
讓手機(jī)幫你記賬吧!