本申請涉及軟件技術(shù)領(lǐng)域,尤其涉及一種區(qū)塊鏈系統(tǒng)、數(shù)據(jù)存儲方法及裝置。
背景技術(shù):
所謂區(qū)塊鏈網(wǎng)絡(luò),也被稱之為分布式賬本網(wǎng)絡(luò),是一種互聯(lián)網(wǎng)數(shù)據(jù)庫,其特點是去中心化、公開透明,各節(jié)點同步數(shù)據(jù)庫記錄(也就是共享賬本)。
具體而言,區(qū)塊鏈網(wǎng)絡(luò)由各節(jié)點組成,每個節(jié)點都持有一個共享賬本,在共享賬本上按時間順序記錄有各區(qū)塊數(shù)據(jù)(一個區(qū)塊數(shù)據(jù)對應(yīng)一段時間內(nèi)各節(jié)點達(dá)成合法性共識的業(yè)務(wù)的集合),也就是說,共享帳本上記錄了區(qū)塊數(shù)據(jù)的時間鏈條,“區(qū)塊鏈”因此得名。每個節(jié)點可以同步更新所述共享賬本,驗證每起業(yè)務(wù)的真實性。
此外,任一節(jié)點都有權(quán)提議在共享賬本上增加區(qū)塊數(shù)據(jù),由各節(jié)點對該提議增加的區(qū)塊數(shù)據(jù)對應(yīng)的業(yè)務(wù)是否具有合法性達(dá)成共識,并將達(dá)成合法性共識的區(qū)塊數(shù)據(jù)增加到共享賬本中?,F(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)主要有兩種:公有區(qū)塊鏈網(wǎng)絡(luò)和聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)。
公有區(qū)塊鏈網(wǎng)絡(luò)是完全去中心化和對外公開透明的,任何主體(個人或單位)都可以成為公有區(qū)塊鏈網(wǎng)絡(luò)中的一個節(jié)點,這就意味著任何主體都可以通過成為節(jié)點來持有共享賬本,進(jìn)而請求各節(jié)點一起針對區(qū)塊數(shù)據(jù)達(dá)成共識并記錄在共享賬本上。
但是,由于任何主體都可以成為公有區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點,因此黑客可以輕松侵入到公有區(qū)塊鏈網(wǎng)絡(luò)中嘗試控制大多數(shù)節(jié)點,在公有區(qū)塊鏈上(也就是共享賬本上)增加不合法的區(qū)塊數(shù)據(jù),對公有區(qū)塊鏈網(wǎng)絡(luò)的安全性構(gòu)成威脅。
聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)是部分去中心化和對外不公開的,只有預(yù)先指定的主體可以成為聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點,其他主體沒有資格成為節(jié)點,也不能持有共享帳本或參與共識。聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)可以為聯(lián)盟區(qū)塊鏈鏈網(wǎng)絡(luò)外的主體(非節(jié)點主體)提供服務(wù),非節(jié)點主體可以與聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)對接,請求聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)針對其產(chǎn)生的業(yè)務(wù)達(dá)成合法性共識。
一個聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)往往只涉及一種業(yè)務(wù)領(lǐng)域,聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點的身份也往往是該領(lǐng)域中的權(quán)威機構(gòu),如金融領(lǐng)域聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點的身份往往是大銀行和金融監(jiān)管機構(gòu)。此外,票據(jù)、物流、醫(yī)療、政府行政等諸多業(yè)務(wù)領(lǐng)域聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點的身份也分別是對應(yīng)業(yè)務(wù)領(lǐng)域中的權(quán)威機構(gòu)。
對于非節(jié)點主體而言,其需要根據(jù)自身產(chǎn)生的業(yè)務(wù)所屬的業(yè)務(wù)領(lǐng)域來選擇相應(yīng)的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),在與聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)對接后,才能享受聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)提供的服務(wù)。但是,各聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)的對接協(xié)議并不一致,倘若非節(jié)點主體產(chǎn)生的多個業(yè)務(wù)分別屬于不同的業(yè)務(wù)領(lǐng)域,那么非節(jié)點主體就得依照不同的對接協(xié)議,分別與多個聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行對接,這對非節(jié)點主體而言,便利性較低。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種區(qū)塊鏈系統(tǒng)、數(shù)據(jù)存儲方法及裝置,以提供區(qū)塊鏈網(wǎng)絡(luò)的安全性和便利性。
為解決上述技術(shù)問題,本申請實施例是這樣實現(xiàn)的:
本申請實施例提供的一種區(qū)塊鏈系統(tǒng),配置中心、非共識子系統(tǒng)、若干共識子系統(tǒng);
所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點;
所述非共識節(jié)點,向所述配置中心發(fā)送業(yè)務(wù)請求;
所述配置中心,接收所述非共識子系統(tǒng)發(fā)送的所述業(yè)務(wù)請求,根據(jù)所述業(yè)務(wù)請求中包含的所述業(yè)務(wù)數(shù)據(jù),確定所述業(yè)務(wù)請求對應(yīng)的共識子系統(tǒng),將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給確定出的共識子系統(tǒng);
所述共識子系統(tǒng),接收所述配置中心轉(zhuǎn)發(fā)的業(yè)務(wù)請求,將所述業(yè)務(wù)請求發(fā)送給所述共識子系統(tǒng)中的各共識節(jié)點進(jìn)行共識校驗;若通過校驗,則根據(jù)所述業(yè)務(wù)請求生成對應(yīng)的區(qū)塊并存入所述共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈。
本申請實施例提供的一種數(shù)據(jù)存儲方法,區(qū)塊鏈系統(tǒng)包括配置中心、非共識子系統(tǒng)、若干共識子系統(tǒng),所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,所述方法包括:
所述共識子系統(tǒng)接收所述配置中心轉(zhuǎn)發(fā)的業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù);
將所述業(yè)務(wù)請求發(fā)送給所述共識子系統(tǒng)中的各共識節(jié)點進(jìn)行共識校驗;
若通過校驗,則根據(jù)所述業(yè)務(wù)請求生成對應(yīng)的區(qū)塊并存入所述共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈。
本申請實施例提供的一種數(shù)據(jù)存儲方法,區(qū)塊鏈系統(tǒng)包括配置中心、非共識子系統(tǒng)、若干共識子系統(tǒng),所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,所述方法包括:
所述配置中心接收所述非共識子系統(tǒng)發(fā)送的所述業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù);
根據(jù)所述業(yè)務(wù)請求中包含的所述業(yè)務(wù)數(shù)據(jù),確定所述業(yè)務(wù)請求對應(yīng)的共識子系統(tǒng);
將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給確定出的共識子系統(tǒng),以使所述共識子系統(tǒng)對所述業(yè)務(wù)請求進(jìn)行共識校驗,并將通過校驗的業(yè)務(wù)請求對應(yīng)的區(qū)塊存入所述共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈。
本申請實施例提供的一種數(shù)據(jù)存儲方法,區(qū)塊鏈系統(tǒng)包括配置中心、非共識子系統(tǒng)、若干共識子系統(tǒng),所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,所述方法包括:
所述非共識子系統(tǒng)向所述配置中心發(fā)送業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù),以使所述配置中心根據(jù)所述業(yè)務(wù)數(shù)據(jù)將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給所述業(yè)務(wù)數(shù)據(jù)對應(yīng)的共識子系統(tǒng)。
本申請實施例提供的一種數(shù)據(jù)存儲裝置,區(qū)塊鏈系統(tǒng)包括配置中心、非共識子系統(tǒng)、若干所述裝置,所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個所述裝置包含多個共識節(jié)點,所述裝置包括:
接收模塊,接收所述配置中心轉(zhuǎn)發(fā)的業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù);
校驗?zāi)K,將所述業(yè)務(wù)請求發(fā)送給所述共識子系統(tǒng)中的各共識節(jié)點進(jìn)行共識校驗;
存儲模塊,若通過校驗,則根據(jù)所述業(yè)務(wù)請求生成對應(yīng)的區(qū)塊并存入所述共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈。
本申請實施例提供的一種數(shù)據(jù)存儲裝置,區(qū)塊鏈系統(tǒng)包括所述裝置、非共識子系統(tǒng)、若干共識子系統(tǒng),所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,所述裝置包括:
接收模塊,接收所述非共識子系統(tǒng)發(fā)送的所述業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù);
確定模塊,根據(jù)所述業(yè)務(wù)請求中包含的所述業(yè)務(wù)數(shù)據(jù),確定所述業(yè)務(wù)請求對應(yīng)的共識子系統(tǒng);
轉(zhuǎn)發(fā)模塊,將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給確定出的共識子系統(tǒng),以使所述共識子系統(tǒng)對所述業(yè)務(wù)請求進(jìn)行共識校驗,并將通過校驗的業(yè)務(wù)請求對應(yīng)的區(qū)塊存入所述共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈。
本申請實施例提供的一種數(shù)據(jù)存儲裝置,區(qū)塊鏈系統(tǒng)包括配置中心、所述裝置、若干共識子系統(tǒng),所述裝置包含多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,,所述裝置包括:
發(fā)送模塊,向所述配置中心發(fā)送業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù),以使所述配置中心根據(jù)所述業(yè)務(wù)數(shù)據(jù)將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給所述業(yè)務(wù)數(shù)據(jù)對應(yīng)的共識子系統(tǒng)。
由以上本申請實施例提供的技術(shù)方案可見,在本申請實施例中,建立包括配置中心、非共識子系統(tǒng)、若干共識子系統(tǒng)的區(qū)塊鏈系統(tǒng),其中,所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,并且,每個共識子系統(tǒng)都相當(dāng)于一個包含所述多個共識節(jié)點的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),這也意味著各共識子系統(tǒng)可以分別不同業(yè)務(wù)領(lǐng)域的共識校驗。如此以來,共識子系統(tǒng)中的各共識節(jié)點負(fù)責(zé)共識校驗,非共識子系統(tǒng)中的各非共識節(jié)點可以向配置中心發(fā)送業(yè)務(wù)請求,配置中心會根據(jù)業(yè)務(wù)請求包含的業(yè)務(wù)數(shù)據(jù)確定特定業(yè)務(wù)領(lǐng)域的共識子系統(tǒng),由共識子系統(tǒng)對業(yè)務(wù)請求進(jìn)行共識校驗。通過本申請實施例,一方面僅由共識節(jié)點負(fù)責(zé)共識校驗,各共識子系統(tǒng)之外的非共識節(jié)點不能參與聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)的共識校驗,提升了區(qū)塊鏈網(wǎng)絡(luò)的安全性;另一方面,配置中心可以對接各聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)外的非共識主體(非共識節(jié)點)僅需與配置中心對接即可,無需依照不同的對接協(xié)議分別與多個聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)對接,這提升了區(qū)塊鏈網(wǎng)絡(luò)的便利性。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1a~b本申請實施例提供的區(qū)塊鏈系統(tǒng)的示意圖;
圖2是本申請實施例提供的一種數(shù)據(jù)存儲方法流程圖;
圖3~5是本申請實施例提供的三種數(shù)據(jù)存儲裝置示意圖。
具體實施方式
本申請實施例提供一種區(qū)塊鏈網(wǎng)絡(luò)、數(shù)據(jù)存儲方法及裝置。
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
如前所述,在實際應(yīng)用中,區(qū)塊鏈網(wǎng)絡(luò)的應(yīng)用形式主要有兩種,即公有區(qū)塊鏈網(wǎng)絡(luò)和聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)。公有區(qū)塊鏈網(wǎng)絡(luò)中的各節(jié)點的身份不受限制,任何主體(個人或單位)都可以成為公有區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點,參與對業(yè)務(wù)請求的共識校驗。由于公有區(qū)塊鏈網(wǎng)絡(luò)是真正去中心化和完全開放的,因此黑客就有機會控制大多數(shù)節(jié)點,使不合法的業(yè)務(wù)請求通過校驗。此外,任何主體都可以查看公有鏈上存儲的全部業(yè)務(wù)數(shù)據(jù),這些業(yè)務(wù)數(shù)據(jù)往往涉及各節(jié)點以及各非節(jié)點主體的隱私,即使對業(yè)務(wù)數(shù)據(jù)進(jìn)行加密,也存在被破解的風(fēng)險。
值得說明的是,對于區(qū)塊鏈網(wǎng)絡(luò)管理的區(qū)塊鏈就是“共享帳本”,相應(yīng)地,聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)管理一個聯(lián)盟區(qū)塊鏈,公有區(qū)塊鏈網(wǎng)絡(luò)管理一個公有區(qū)塊鏈。
聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的各節(jié)點都是預(yù)先指定的一些權(quán)威性機構(gòu)。例如,金融領(lǐng)域的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的各節(jié)點可以是工商銀行、建設(shè)銀行、人民銀行、證監(jiān)會、銀監(jiān)會等。聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)的這種特點決定了黑客沒有機會參與共識校驗,也沒有機會查看聯(lián)盟區(qū)塊鏈上存儲的業(yè)務(wù)數(shù)據(jù),這樣一來,區(qū)塊鏈網(wǎng)絡(luò)的安全性大為提升。但是,由于一個聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點往往某個業(yè)務(wù)領(lǐng)域中的權(quán)威性機構(gòu),因此該聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)也只能對外提供特定業(yè)務(wù)領(lǐng)域的業(yè)務(wù)請求的校驗服務(wù)。非節(jié)點主體往往需要花費很大成本與各不同業(yè)務(wù)領(lǐng)域的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行對接,非常不便。
為此,本申請所要求保護(hù)的技術(shù)方案,提出了一種區(qū)塊鏈系統(tǒng),在系統(tǒng)中設(shè)立配置中心,所述配置中心提供對接標(biāo)準(zhǔn)協(xié)議,一方面與各非節(jié)點主體對接,可以受理非節(jié)點主體的業(yè)務(wù)請求,另一方面與各聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)對接,可以將接受到的業(yè)務(wù)請求按照其對應(yīng)的業(yè)務(wù)領(lǐng)域轉(zhuǎn)發(fā)給相應(yīng)的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行校驗。
本申請所要求保護(hù)的技術(shù)方案中的區(qū)塊鏈系統(tǒng),可以將現(xiàn)有的各自獨立運營的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)和需要各種共識校驗服務(wù)的非節(jié)點主體都納入到統(tǒng)一的系統(tǒng)架構(gòu)中,為各聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)和各非節(jié)點主體提供對接標(biāo)準(zhǔn)協(xié)議,甚至將整個社會中的各種校驗服務(wù)都囊括在所述區(qū)塊鏈系統(tǒng)中,社會中各成員都可以成為所述區(qū)塊鏈系統(tǒng)中的節(jié)點(不需要負(fù)責(zé)共識校驗),每個成員生活和工作的方方面面產(chǎn)生的業(yè)務(wù)請求都可以在所述區(qū)塊鏈系統(tǒng)中得到校驗。
圖1a是本申請實施例提供的一種區(qū)塊鏈系統(tǒng)的示意圖。如圖2所示,區(qū)塊鏈系統(tǒng)包括配置中心、非共識子系統(tǒng)、若干共識子系統(tǒng)。其中,非共識子系統(tǒng)可以對應(yīng)各非節(jié)點主體,將各非節(jié)點主體作為非共識子系統(tǒng)包括的各非共識節(jié)點;也可以對應(yīng)一個公有區(qū)塊鏈網(wǎng)絡(luò),非共識子系統(tǒng)包括的非共識節(jié)點實際上就是公有區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點,只不過各非共識節(jié)點沒有參與共識校驗的職能,只能提交業(yè)務(wù)請求;而每個共識子系統(tǒng)都相當(dāng)于一個聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),每個共識子系統(tǒng)包含的共識節(jié)點實際上就是該共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點;至于各非共識節(jié)點發(fā)起的業(yè)務(wù)請求,則由配置中心統(tǒng)一調(diào)配,將對應(yīng)于不同業(yè)務(wù)領(lǐng)域的業(yè)務(wù)請求轉(zhuǎn)發(fā)給相應(yīng)的共識子系統(tǒng)(也就是相當(dāng)于轉(zhuǎn)發(fā)給了相應(yīng)的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò))。
實際上,當(dāng)整個社會的共識校驗體系基于所述區(qū)塊鏈系統(tǒng)時,各聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)就可以視為為每個社會成員提供服務(wù)的服務(wù)站,對于每個社會成員而言,其在社會活動中因生活或工作產(chǎn)生的業(yè)務(wù)請求往往較多,且跨越了多個業(yè)務(wù)領(lǐng)域,而所述區(qū)塊鏈系統(tǒng)可以為該社會成員提供一站式服務(wù)。此外,所述區(qū)塊鏈系統(tǒng)上存儲的業(yè)務(wù)數(shù)據(jù),也囊括了每個社會成員社會活動的方方面面,包括社會成員的金融、醫(yī)療、教育、保險、購物、財產(chǎn)清算,以及行政、司法、執(zhí)行等領(lǐng)域。這些業(yè)務(wù)數(shù)據(jù)可以作為精確度很高的大數(shù)據(jù),進(jìn)一步用于構(gòu)建整個社會的信用體系。
以下結(jié)合附圖,詳細(xì)說明本申請各實施例提供的技術(shù)方案。
圖1a是本申請實施例提供的一種區(qū)塊鏈系統(tǒng)的示意圖,包括:
非共識子系統(tǒng)101、配置中心102、若干共識子系統(tǒng)103;
所述非共識子系統(tǒng)101包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點;
所述非共識節(jié)點,向所述配置中心102發(fā)送業(yè)務(wù)請求;
所述配置中心102,接收所述非共識子系統(tǒng)發(fā)送的所述業(yè)務(wù)請求,根據(jù)所述業(yè)務(wù)請求中包含的所述業(yè)務(wù)數(shù)據(jù),確定所述業(yè)務(wù)請求對應(yīng)的共識子系統(tǒng),將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給確定出的共識子系統(tǒng)103;
所述共識子系統(tǒng)103,接收所述配置中心轉(zhuǎn)發(fā)的業(yè)務(wù)請求,將所述業(yè)務(wù)請求發(fā)送給所述共識子系統(tǒng)103中的各共識節(jié)點進(jìn)行共識校驗;若通過校驗,則根據(jù)所述業(yè)務(wù)請求生成對應(yīng)的區(qū)塊并存入所述共識子系統(tǒng)103對應(yīng)的聯(lián)盟區(qū)塊鏈。
所述共識子系統(tǒng)103還用于,若通過校驗,則將所述業(yè)務(wù)請求對應(yīng)的區(qū)塊發(fā)送給所述非共識子系統(tǒng)101;
所述非共識子系統(tǒng)101,接收所述區(qū)塊,將所述區(qū)塊存入所述非共識子系統(tǒng)101對應(yīng)的公有區(qū)塊鏈。
所述共識子系統(tǒng)103還用于,根據(jù)所述區(qū)塊對應(yīng)的業(yè)務(wù)數(shù)據(jù),生成所述區(qū)塊對應(yīng)的業(yè)務(wù)摘要,將所述業(yè)務(wù)摘要發(fā)送給所述非共識子系統(tǒng)101;
所述非共識子系統(tǒng)101,將所述業(yè)務(wù)摘要存入所述公有區(qū)塊鏈,以供各非共識節(jié)點查詢。
所述非共識子系統(tǒng)101還包括:
數(shù)據(jù)瀏覽器1011,接收所述非共識節(jié)點發(fā)送的針對業(yè)務(wù)數(shù)據(jù)的查詢請求,根據(jù)所述查詢請求,確定所述非共識節(jié)點的查詢權(quán)限;根據(jù)所述查詢權(quán)限,向所述非共識節(jié)點返回所述查詢權(quán)限對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
所述數(shù)據(jù)瀏覽器1011,根據(jù)所述查詢權(quán)限向所述查詢請求對應(yīng)的共識子系統(tǒng)103獲取所述查詢權(quán)限對應(yīng)的業(yè)務(wù)數(shù)據(jù),將獲取到的業(yè)務(wù)數(shù)據(jù)返回給所述非共識節(jié)點。
在現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)中,節(jié)點就是區(qū)塊鏈網(wǎng)絡(luò)中的成員。節(jié)點可以參與對業(yè)務(wù)請求的共識校驗,也可以查詢區(qū)塊鏈網(wǎng)絡(luò)上(也就是共享賬本上)存儲的區(qū)塊,還可以查詢各區(qū)塊分別對應(yīng)的業(yè)務(wù)數(shù)據(jù)。所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù),節(jié)點或非節(jié)點主體可以提交業(yè)務(wù)請求,請求區(qū)塊鏈網(wǎng)絡(luò)對該業(yè)務(wù)請求進(jìn)行共識校驗,校驗該業(yè)務(wù)請求的業(yè)務(wù)數(shù)據(jù)是否合法。
其中,所述業(yè)務(wù)數(shù)據(jù)是節(jié)點或非節(jié)點主體產(chǎn)生的業(yè)務(wù)數(shù)據(jù),包括節(jié)點或非節(jié)點主體的數(shù)字簽名、標(biāo)識、賬戶地址等,還包括節(jié)點或非節(jié)點主體請求校驗的事項。這些待校驗的事項因業(yè)務(wù)領(lǐng)域的不同而不同,例如,節(jié)點a向節(jié)點b轉(zhuǎn)賬500元,節(jié)點a為了使節(jié)點b相信自己已經(jīng)轉(zhuǎn)賬,會提交業(yè)務(wù)請求,該業(yè)務(wù)請求包含的業(yè)務(wù)數(shù)據(jù)有:節(jié)點a的賬戶地址,節(jié)點b的賬戶地址,“a向b轉(zhuǎn)賬500元”,那么區(qū)塊鏈網(wǎng)絡(luò)中各節(jié)點需要校驗a的賬戶中是否減少了500元人民幣,b的賬戶中是否增加了來自a的賬戶的500元人民幣。
值得說明的是,在區(qū)塊鏈技術(shù)領(lǐng)域,具體是各節(jié)點根據(jù)共識算法對業(yè)務(wù)請求進(jìn)行共識校驗的,并且,區(qū)塊鏈網(wǎng)絡(luò)有權(quán)訪問各節(jié)點的賬戶、交易記錄等隱私,用于校驗。本申請實施例中的共識校驗流程與現(xiàn)有的共識校驗流程并無區(qū)別,因此在后續(xù)說明書不會贅述。
在現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)中,由于需要共識校驗的業(yè)務(wù)請求的數(shù)量是巨大的,因此,通常是對一段時間內(nèi)的一批業(yè)務(wù)請求或者達(dá)到數(shù)量閾值的一批業(yè)務(wù)請求一并進(jìn)行一次共識校驗,以提升效率。然后,如果對這一批業(yè)務(wù)請求校驗通過,則生成該批校驗請求對應(yīng)的一個區(qū)塊,存入?yún)^(qū)塊鏈中(即存入共享賬本中)。節(jié)點可以查詢某個區(qū)塊對應(yīng)的業(yè)務(wù)數(shù)據(jù),來驗證該區(qū)塊是否被篡改。
在本申請實施例中,所述共識節(jié)點與聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點并無功能上的不同,一個共識子系統(tǒng)對應(yīng)于一個聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)(包含聯(lián)盟區(qū)塊鏈),每個共識節(jié)點對應(yīng)一個權(quán)威機構(gòu),參與共識校驗。所述非共識節(jié)點可以是背景技術(shù)中所述的非節(jié)點主體,在本系統(tǒng)中可以賦予非節(jié)點主體以節(jié)點的身份,但是非共識節(jié)點無法參與共識校驗;當(dāng)然,所述非共識節(jié)點也可以是公有區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點,使所述非共識子系統(tǒng)對應(yīng)于一個公有區(qū)塊鏈網(wǎng)絡(luò),這些非共識節(jié)點在本申請的應(yīng)用場景下也是不能參與共識校驗的,在本申請的應(yīng)用場景下共識校驗是由共識子系統(tǒng)包含的各共識節(jié)點執(zhí)行的。
但是,在本申請的應(yīng)用場景之外的其他場景,所述非共識節(jié)點可以執(zhí)行共識校驗,例如,所述非共識節(jié)點可以是比特幣應(yīng)用場景下的節(jié)點,根據(jù)工作量證明算法進(jìn)行為比特幣的流通做共識校驗。如前所述,基于本系統(tǒng)可以將整個社會納入統(tǒng)一的信用體系,當(dāng)非共識子系統(tǒng)對應(yīng)于一個公有區(qū)塊鏈網(wǎng)絡(luò)時,該公有區(qū)塊鏈網(wǎng)絡(luò)只需要與本系統(tǒng)對接即可,并不會影響該公有區(qū)塊鏈網(wǎng)絡(luò)原本的運轉(zhuǎn)。
進(jìn)一步地,本系統(tǒng)中的非共識子系統(tǒng)還可以對應(yīng)于多個公有區(qū)塊鏈網(wǎng)絡(luò),只不過在本系統(tǒng)中,這多個公有區(qū)塊鏈網(wǎng)絡(luò)包含的節(jié)點都是非共識節(jié)點,非共識子系統(tǒng)并不關(guān)心這些非共識節(jié)點原本屬于哪個公有區(qū)塊鏈網(wǎng)絡(luò)。
在本申請實施例中,配置中心對外提供對接標(biāo)準(zhǔn)協(xié)議,具體而言,各聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)可以根據(jù)配置中心提供的應(yīng)用編程接口(api),開發(fā)內(nèi)置標(biāo)準(zhǔn)協(xié)議的客戶端,與配置中心對接,成為一個共識子系統(tǒng)。此外,任何主體都可以對接到配置中心,成為非共識節(jié)點。具體而言,對于個人或個體,其可以在終端上安裝內(nèi)置對接標(biāo)準(zhǔn)協(xié)議的客戶端,以后就可以通過該客戶端隨時提交業(yè)務(wù)請求了;對于企業(yè),尤其是向用戶提供服務(wù)的企業(yè),其可以將其應(yīng)用與配置中心對接,當(dāng)其向用戶提供服務(wù)時,可以提交本次服務(wù)對應(yīng)的業(yè)務(wù)請求,以供相應(yīng)的共識子系統(tǒng)進(jìn)行共識校驗。
例如,張先生是一名慈善家,經(jīng)常資助貧困學(xué)生,他很關(guān)心他捐出去的每筆善款的去向,是否落實到了每個貧困學(xué)生手中。那么,張先生可以申請成為一個非共識節(jié)點,安裝內(nèi)置對接標(biāo)注協(xié)議的支付應(yīng)用,張先生每捐出一筆善款,對應(yīng)的公益領(lǐng)域的共識子系統(tǒng)就會對這筆善款進(jìn)行共識校驗,確保張先生捐出的這筆善款匯入到指定貧困學(xué)生的賬戶中,張先生隨后還可以通過查看存入聯(lián)盟區(qū)塊鏈中的區(qū)塊,來確定這筆業(yè)務(wù)沒有被篡改。
例如,某電商平臺的客戶端可以內(nèi)置對接標(biāo)準(zhǔn)協(xié)議,與配置中心對接,當(dāng)用戶在該電商平臺購物時,電商平臺請求共識子網(wǎng)絡(luò)對該用戶所購商品是否是正品、該用戶是否支付成功等事項進(jìn)行共識校驗,并反饋給用戶。
例如,普通個人可以成為非共識節(jié)點,當(dāng)兩個非共識節(jié)點進(jìn)行轉(zhuǎn)賬時,其中一個非共識節(jié)點可以發(fā)起業(yè)務(wù)請求,請求支付領(lǐng)域?qū)?yīng)的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)為本次轉(zhuǎn)賬進(jìn)行共識校驗,并將本次轉(zhuǎn)賬對應(yīng)的區(qū)塊記錄在聯(lián)盟區(qū)塊鏈上。
總之,在本系統(tǒng)的架構(gòu)下,應(yīng)用場景非常豐富,個人可以成為非共識節(jié)點,請求校驗其產(chǎn)生的各種事件,企業(yè)可以成為非共識節(jié)點,增強用戶對它的信任。
在本申請實施例中,當(dāng)所述非共識子系統(tǒng)對應(yīng)于公有區(qū)塊鏈網(wǎng)絡(luò)時,還可以將生成的所述業(yè)務(wù)請求對應(yīng)的區(qū)塊發(fā)送給非共識子系統(tǒng),以使所述非共識子系統(tǒng)將收到的區(qū)塊存入到公有區(qū)塊鏈。這樣一來,各非共識節(jié)點可以很方便的查看各業(yè)務(wù)發(fā)生的時間鏈條,而無需向共識子系統(tǒng)請求查詢各區(qū)塊。
進(jìn)一步地,為了更方便非共識節(jié)點查詢各已經(jīng)共識校驗的業(yè)務(wù)請求,可以對生成的區(qū)塊所對應(yīng)的業(yè)務(wù)數(shù)據(jù)做摘要,生成業(yè)務(wù)摘要,將業(yè)務(wù)摘要發(fā)送給非共識子系統(tǒng),非共識子系統(tǒng)可以將業(yè)務(wù)摘要存儲到公有鏈上。這樣一來,非共識節(jié)點可以查詢業(yè)務(wù)摘要,滿足通常意義上的查詢需求,同時,非共識節(jié)點又無法查看到完成的業(yè)務(wù)數(shù)據(jù),這避免了一些隱私數(shù)據(jù)被不法分子利用??梢哉f,通過將區(qū)塊和業(yè)務(wù)摘要發(fā)送給非共識子系統(tǒng)存儲,既保證了共識子系統(tǒng)不會面臨被侵入的危險,又實現(xiàn)了區(qū)塊鏈網(wǎng)絡(luò)的開放性。
在本申請實施例中,所述非共識子系統(tǒng)還可以包括數(shù)據(jù)瀏覽器,數(shù)據(jù)瀏覽器的功能是為各非共識節(jié)點提供數(shù)據(jù)查詢和權(quán)限管理功能。如前所述,將區(qū)塊和業(yè)務(wù)摘要發(fā)送給非共識子系統(tǒng)存儲,在一般情況下,非共識節(jié)點可以通過查詢公有鏈上存儲的區(qū)塊和業(yè)務(wù)摘要獲知是否共識校驗通過,通過校驗的大概是什么事項等信息。有時,倘若某個非共識節(jié)點懷疑某個區(qū)塊被篡改,則必須查詢該區(qū)塊對應(yīng)的業(yè)務(wù)數(shù)據(jù)才可以確定,或者倘若某個非共識節(jié)點需要向其他非共識節(jié)點證明自己的信用,那么也需要將一些詳細(xì)的業(yè)務(wù)數(shù)據(jù)展示給其他非共識節(jié)點。但是,倘若讓非共識節(jié)點直接查看聯(lián)盟區(qū)塊鏈上存儲的所有業(yè)務(wù)數(shù)據(jù),安全風(fēng)險較大。因此,數(shù)據(jù)瀏覽器可以對各非共識節(jié)點做查詢權(quán)限管理。
當(dāng)然,本申請所要求保護(hù)的技術(shù)方案中的區(qū)塊鏈系統(tǒng)的架構(gòu)較為靈活,所述數(shù)據(jù)管理器也可以不內(nèi)置于所述非共識子系統(tǒng)中,而是內(nèi)置于配置中心中或與配置中心、非共識子系統(tǒng)、共識子系統(tǒng)平級??傊徽摂?shù)據(jù)瀏覽器在系統(tǒng)中的位置為何,其都可以對非共識節(jié)點提供數(shù)據(jù)查詢服務(wù),并管理查詢權(quán)限。
具體而言,非共識節(jié)點的查詢權(quán)限可以通過以下方式確定:針對每個非共識節(jié)點,確定該非共識節(jié)點的類型;根據(jù)該非共識節(jié)點的類型,為該非共識節(jié)點分配查詢權(quán)限。
其中,所述非共識節(jié)點的類型可以是個體、企業(yè)、監(jiān)管機構(gòu)等,也可以是信用高、信用中、信用低等不同的信用等級??傊?,非共識節(jié)點的類型可以根據(jù)實際情況劃分,本申請對此不做限制。
舉例來說,對于企業(yè)類型的非共識節(jié)點,其查詢權(quán)限可以是其所服務(wù)的所有用戶產(chǎn)生的業(yè)務(wù)數(shù)據(jù);對于普通個體而言,其查詢權(quán)限可以是僅跟自己有關(guān)的業(yè)務(wù)數(shù)據(jù);對于監(jiān)管機構(gòu)而言,其查詢權(quán)限可以是全部業(yè)務(wù)數(shù)據(jù)。
在本申請實施例中,非共識節(jié)點發(fā)送的針對業(yè)務(wù)數(shù)據(jù)的查詢請求中可以攜帶區(qū)塊,說明非共識節(jié)點想要查詢該區(qū)塊對應(yīng)的業(yè)務(wù)數(shù)據(jù),也可以攜帶該非共識節(jié)點的標(biāo)識,說明該非共識節(jié)點想要查詢自己的查詢權(quán)限范圍內(nèi)的業(yè)務(wù)數(shù)據(jù)。
當(dāng)所述數(shù)據(jù)瀏覽器接收到非共識節(jié)點發(fā)送的針對業(yè)務(wù)數(shù)據(jù)的查詢請求時,會對該非共識節(jié)點的查詢權(quán)限進(jìn)行驗證,當(dāng)該非共識節(jié)點沒有相應(yīng)的查詢權(quán)限時(如其無權(quán)查詢某個區(qū)塊對應(yīng)的業(yè)務(wù)數(shù)據(jù)),會拒絕該查詢請求,如果該非共識節(jié)點有相應(yīng)的查詢權(quán)限,則可以根據(jù)所述查詢權(quán)限向所述查詢請求對應(yīng)的共識子系統(tǒng)獲取所述查詢權(quán)限對應(yīng)的業(yè)務(wù)數(shù)據(jù),將獲取到的業(yè)務(wù)數(shù)據(jù)返回給所述非共識節(jié)點。
進(jìn)一步地,數(shù)據(jù)瀏覽器可以根據(jù)確定的查詢權(quán)限確定該非共識節(jié)點可以查詢的業(yè)務(wù)數(shù)據(jù)有哪些,然后向?qū)?yīng)的共識子系統(tǒng)獲取這些業(yè)務(wù)數(shù)據(jù);也可以直接將確定的查詢權(quán)限發(fā)送給對應(yīng)的共識子系統(tǒng),由共識子系統(tǒng)根據(jù)所述查詢權(quán)限返回對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
在圖1a所示的區(qū)塊鏈系統(tǒng)中,建立包括配置中心、非共識子系統(tǒng)、若干共識子系統(tǒng)的區(qū)塊鏈系統(tǒng),其中,所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,并且,每個共識子系統(tǒng)都對應(yīng)一個包含所述多個共識節(jié)點的聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),這也意味著各共識子系統(tǒng)可以分別不同業(yè)務(wù)領(lǐng)域的共識校驗。如此以來,共識子系統(tǒng)中的各共識節(jié)點負(fù)責(zé)共識校驗,非共識子系統(tǒng)中的各非共識節(jié)點可以向配置中心發(fā)送業(yè)務(wù)請求,配置中心會根據(jù)業(yè)務(wù)請求包含的業(yè)務(wù)數(shù)據(jù)確定特定業(yè)務(wù)領(lǐng)域的共識子系統(tǒng),由共識子系統(tǒng)對業(yè)務(wù)請求進(jìn)行共識校驗。通過本申請實施例,一方面僅由共識節(jié)點負(fù)責(zé)共識校驗,各共識子系統(tǒng)之外的非共識節(jié)點不能參與聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)的共識校驗,提升了區(qū)塊鏈網(wǎng)絡(luò)的安全性;另一方面,配置中心可以對接各聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)外的非共識主體(非共識節(jié)點)僅需與配置中心對接即可,無需依照不同的對接協(xié)議分別與多個聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)對接,這提升了區(qū)塊鏈網(wǎng)絡(luò)的便利性。
此外,值得強調(diào)的是,所述配置中心的功能可以僅限于根據(jù)業(yè)務(wù)請求確定對應(yīng)的共識子系統(tǒng),也可以作為所述共識子系統(tǒng)和非共識子系統(tǒng)之間的數(shù)據(jù)交互的中介。也就是說,所述共識子系統(tǒng)和非共識子系統(tǒng)可以不經(jīng)過所述配置中心進(jìn)行數(shù)據(jù)交互(如發(fā)送區(qū)塊、業(yè)務(wù)摘要、業(yè)務(wù)數(shù)據(jù)等),而是基于特定的路由協(xié)議,如圖1b所示。
圖2是本申請實施例提供的一種數(shù)據(jù)存儲方法流程圖,包括以下步驟:
s201:非共識子系統(tǒng)向配置中心發(fā)送業(yè)務(wù)請求。
本申請實施例與圖1a所示的區(qū)塊鏈系統(tǒng)是基于同一發(fā)明構(gòu)思的實施例,對有關(guān)概念的解釋可以參照對圖1a所示的區(qū)塊鏈系統(tǒng)的解釋。
在本申請實施例中,具體可以是非共識子系統(tǒng)包含的某個非共識節(jié)點向配置中心發(fā)送業(yè)務(wù)請求。
s202:配置中心根據(jù)所述業(yè)務(wù)請求,確定所述業(yè)務(wù)請求對應(yīng)的共識子系統(tǒng)。
s203:配置中心將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給確定出的共識子系統(tǒng)。
所述配置中心可以接收多個非共識節(jié)點多次發(fā)送的業(yè)務(wù),并針對每個業(yè)務(wù)請求,將該業(yè)務(wù)請求轉(zhuǎn)發(fā)給對應(yīng)的共識子系統(tǒng),以供共識校驗。
所述配置中心可以作為所述共識子系統(tǒng)和所述非共識子系統(tǒng)進(jìn)行數(shù)據(jù)交互時的中介(如后續(xù)步驟中發(fā)送區(qū)塊、業(yè)務(wù)摘要、查詢業(yè)務(wù)數(shù)據(jù)等),也可以不作為中介,由所述共識子系統(tǒng)與所述非共識子系統(tǒng)直接進(jìn)行數(shù)據(jù)交互。
s204:共識子系統(tǒng)對所述業(yè)務(wù)請求進(jìn)行共識校驗。
所述共識子系統(tǒng)對所述業(yè)務(wù)請求進(jìn)行共識校驗,實際上是將所述業(yè)務(wù)請求分別發(fā)送給其包含的各共識節(jié)點進(jìn)行共識校驗。各共識節(jié)點進(jìn)行共識校驗所根據(jù)的共識算法可以是拜占庭容錯算法,也可以是其他共識算法,不做限制。
s205:校驗通過后,共識子系統(tǒng)根據(jù)所述業(yè)務(wù)請求生成對應(yīng)的區(qū)塊并存入共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈,以及生成所述區(qū)塊對應(yīng)的業(yè)務(wù)摘要。
校驗通過后,共識子系統(tǒng)會根據(jù)所述業(yè)務(wù)請求生成對應(yīng)的區(qū)塊,實際上,該對應(yīng)的區(qū)塊是根據(jù)包含所述業(yè)務(wù)請求在內(nèi)的一批業(yè)務(wù)請求生成的,前文已有解釋,不再贅述。
s206:共識子系統(tǒng)將所述業(yè)務(wù)請求對應(yīng)的區(qū)塊和所述業(yè)務(wù)摘要發(fā)送給所述非共識子系統(tǒng)。
s207:非共識子系統(tǒng)將所述區(qū)塊存入對應(yīng)的公有區(qū)塊鏈。
s208:非共識子系統(tǒng)向共識子系統(tǒng)發(fā)送針對業(yè)務(wù)數(shù)據(jù)的獲取請求。
在本申請實施例中,可以是非共識子系統(tǒng)向共識子系統(tǒng)發(fā)送的所述獲取請求,具體可以是所述非共識子系統(tǒng)包括的數(shù)據(jù)瀏覽器向共識子系統(tǒng)發(fā)送所述獲取請求。
當(dāng)所述獲取請求包含非共識節(jié)點的查詢權(quán)限時,共識子系統(tǒng)可以根據(jù)所述查詢權(quán)限,從非共識子系統(tǒng)存儲的業(yè)務(wù)數(shù)據(jù)中確定出所述查詢權(quán)限對應(yīng)的業(yè)務(wù)數(shù)據(jù)。其中,所述查詢權(quán)限是所述非共識子系統(tǒng)根據(jù)所述非共識節(jié)點發(fā)送的針對業(yè)務(wù)數(shù)據(jù)的查詢請求確定的。
當(dāng)所述獲取請求包含業(yè)務(wù)數(shù)據(jù)的標(biāo)識列表時,共識子系統(tǒng)可以根據(jù)所述標(biāo)識列表,將對應(yīng)的業(yè)務(wù)數(shù)據(jù)返回給非共識子系統(tǒng)。
s209:向所述非共識子系統(tǒng)返回所述獲取請求對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
通過圖2所示的數(shù)據(jù)存儲方法,既可以杜絕共識子系統(tǒng)外的非共識節(jié)點自由查詢業(yè)務(wù)數(shù)據(jù),又可以統(tǒng)一調(diào)配各非共識節(jié)點提交的業(yè)務(wù)請求,提升了區(qū)塊鏈網(wǎng)絡(luò)的便利性。
基于圖2所示的數(shù)據(jù)存儲方法,本申請實施例還對應(yīng)提供了數(shù)據(jù)存儲裝置,如圖3所示,區(qū)塊鏈系統(tǒng)包括配置中心、非共識子系統(tǒng)、若干所述裝置,所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個所述裝置包含多個共識節(jié)點,所述裝置包括:
接收模塊301,接收所述配置中心轉(zhuǎn)發(fā)的業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù);
校驗?zāi)K302,將所述業(yè)務(wù)請求發(fā)送給所述共識子系統(tǒng)中的各共識節(jié)點進(jìn)行共識校驗;
存儲模塊303,若通過校驗,則根據(jù)所述業(yè)務(wù)請求生成對應(yīng)的區(qū)塊并存入所述共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈。
所述裝置還包括:發(fā)送模塊304,若通過校驗,則將所述業(yè)務(wù)請求對應(yīng)的區(qū)塊發(fā)送給所述非共識子系統(tǒng),以使所述非共識子系統(tǒng)將所述區(qū)塊存入所述非共識子系統(tǒng)對應(yīng)的公有區(qū)塊鏈。
所述裝置還包括:生成模塊305,若所述各共識節(jié)點對所述業(yè)務(wù)請求達(dá)成合法的共識,根據(jù)所述區(qū)塊對應(yīng)的業(yè)務(wù)數(shù)據(jù),生成所述區(qū)塊對應(yīng)的業(yè)務(wù)摘要;將所述業(yè)務(wù)摘要發(fā)送給所述非共識子系統(tǒng),以使所述非共識子系統(tǒng)將所述業(yè)務(wù)摘要存入所述公有區(qū)塊鏈,以供所述非共識節(jié)點查詢。
所述裝置還包括:業(yè)務(wù)數(shù)據(jù)管理模塊306,接收所述非共識子系統(tǒng)發(fā)送的針對業(yè)務(wù)數(shù)據(jù)的獲取請求;根據(jù)所述獲取請求,向所述非共識子系統(tǒng)返回所述獲取請求對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
所述獲取請求包含非共識節(jié)點的查詢權(quán)限,所述查詢權(quán)限是所述非共識子系統(tǒng)根據(jù)所述非共識節(jié)點發(fā)送的針對業(yè)務(wù)數(shù)據(jù)的查詢請求確定的;
所述業(yè)務(wù)數(shù)據(jù)管理模塊306,根據(jù)所述查詢權(quán)限,從非共識子系統(tǒng)存儲的業(yè)務(wù)數(shù)據(jù)中確定出所述查詢權(quán)限對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
基于圖2所示的數(shù)據(jù)存儲方法,本申請實施例還對應(yīng)提供了數(shù)據(jù)存儲裝置,如圖4所示,區(qū)塊鏈系統(tǒng)包括所述裝置、非共識子系統(tǒng)、若干共識子系統(tǒng),所述非共識子系統(tǒng)包括多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,所述裝置包括:
接收模塊401,接收所述非共識子系統(tǒng)發(fā)送的所述業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù);
確定模塊402,根據(jù)所述業(yè)務(wù)請求中包含的所述業(yè)務(wù)數(shù)據(jù),確定所述業(yè)務(wù)請求對應(yīng)的共識子系統(tǒng);
轉(zhuǎn)發(fā)模塊403,將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給確定出的共識子系統(tǒng),以使所述共識子系統(tǒng)對所述業(yè)務(wù)請求進(jìn)行共識校驗,并將通過校驗的業(yè)務(wù)請求對應(yīng)的區(qū)塊存入所述共識子系統(tǒng)對應(yīng)的聯(lián)盟區(qū)塊鏈。
基于圖2所示的數(shù)據(jù)存儲方法,本申請實施例還對應(yīng)提供了數(shù)據(jù)存儲裝置,如圖5所示,區(qū)塊鏈系統(tǒng)包括配置中心、所述裝置、若干共識子系統(tǒng),所述裝置包含多個非共識節(jié)點,每個共識子系統(tǒng)包括多個共識節(jié)點,所述裝置包括:
發(fā)送模塊501,向所述配置中心發(fā)送業(yè)務(wù)請求,所述業(yè)務(wù)請求包含業(yè)務(wù)數(shù)據(jù),以使所述配置中心根據(jù)所述業(yè)務(wù)數(shù)據(jù)將所述業(yè)務(wù)請求轉(zhuǎn)發(fā)給所述業(yè)務(wù)數(shù)據(jù)對應(yīng)的共識子系統(tǒng)。
所述裝置還包括:第一存儲模塊502,接收所述共識子系統(tǒng)發(fā)送的所述區(qū)塊;將所述區(qū)塊存入所述非共識子系統(tǒng)對應(yīng)的公有區(qū)塊鏈。
所述裝置還包括:第二存儲模塊503,接收所述共識子系統(tǒng)發(fā)送的所述區(qū)塊對應(yīng)的業(yè)務(wù)摘要;將所述業(yè)務(wù)摘要存入所述公有區(qū)塊鏈,以供各非共識節(jié)點查詢。
所述裝置還包括:查詢模塊504,接收所述非共識節(jié)點發(fā)送的針對業(yè)務(wù)數(shù)據(jù)的查詢請求,根據(jù)所述查詢請求,確定所述非共識節(jié)點的查詢權(quán)限;根據(jù)所述查詢權(quán)限,向所述非共識節(jié)點返回所述查詢權(quán)限對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
非共識節(jié)點的查詢權(quán)限通過以下方式確定:
針對每個非共識節(jié)點,確定該非共識節(jié)點的類型;
根據(jù)該非共識節(jié)點的類型,為該非共識節(jié)點分配查詢權(quán)限。
所述查詢模塊504,根據(jù)所述查詢權(quán)限向所述查詢請求對應(yīng)的共識子系統(tǒng)獲取所述查詢權(quán)限對應(yīng)的業(yè)務(wù)數(shù)據(jù),將獲取到的業(yè)務(wù)數(shù)據(jù)返回給所述非共識節(jié)點。
在20世紀(jì)90年代,對于一個技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計人員幾乎都通過將改進(jìn)的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進(jìn)就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔粒梢詫⒂糜趯崿F(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
本申請實施例中所述支付涉及的技術(shù)載體,例如可以包括近場通信(nearfieldcommunication,nfc)、wifi、3g/4g/5g、pos機刷卡技術(shù)、二維碼掃碼技術(shù)、條形碼掃碼技術(shù)、藍(lán)牙、紅外、短消息(shortmessageservice,sms)、多媒體消息(multimediamessageservice,mms)等。
上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)設(shè)備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂窩電話、相機電話、智能電話、個人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺、平板計算機、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。
本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。