基於區塊鏈的票據實名領取方法、裝置及電子設備
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種基於區塊鏈的票據實名領取方法、裝置及電子設備。
區塊鏈技術,也被稱之為分布式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分布式資料庫的新興技術。由於區塊鏈技術具有去中心化、公開透明、每台計算設備可以參與資料庫記錄、並且各計算設備之間可以快速的進行資料同步的特性,使得區塊鏈技術已在衆多的領域中廣泛的進行應用。
本說明書提供一種基於區塊鏈的票據實名領取方法,所述方法應用於與所述區塊鏈的節點設備對接的票據管理終端,所述區塊鏈上存證了電子票據;所述方法包括:
回應於用戶發起的針對目標電子票據的關聯操作,向所述區塊鏈發布攜帶有所述目標電子票據標識的關聯交易,以由所述區塊鏈節點設備回應於所述關聯交易,在確定所述區塊鏈存證的所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端返回身分關聯提示資訊;
在接收到所述身分關聯提示資訊時,採集用戶的身分資訊;
將所述用戶的身分資訊發送至所述區塊鏈的節點設備,以由所述區塊鏈的節點設備校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗通過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
可選的,所述方法還包括:
回應於用戶發起的針對所述目標電子票據的查詢操作,向所述區塊鏈發布攜帶有所述用戶的身分資訊的查詢交易,以由所述區塊鏈節點設備回應於所述查詢交易,查找與所述用戶的身分資訊關聯的所述目標電子票據,並向所述票據管理終端返回所述目標電子票據的票據資訊。
可選的,所述區塊鏈存證的電子票據預先進行了加密處理;
所述方法還包括:
從密鑰管理平臺查詢與所述目標電子票據對應的解密密鑰;
基於所述解密密鑰對所述票據管理終端返回的目標電子票據的票據資訊進行解密,並將解密後的目標電子票據的票據資訊展示給所述用戶。
可選的,所述方法還包括:
回應於用戶發起的針對所述目標電子票據的列印操作,調用所述票據管理終端搭載的列印硬體,將所述目標電子票據列印為紙質電子票據;
獲取所述紙質電子票據的票據編號,將所述紙質電子票據的票據編號和所述目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
可選的,所述將所述用戶的身分資訊發送至所述區塊鏈的節點設備,以由所述區塊鏈的節點設備校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,包括:
向所述區塊鏈的節點設備發送攜帶所述用戶的身分資訊的智慧合約調用交易,以由所述區塊鏈的節點設備回應於所述智慧合約調用交易,調用部署在區塊鏈上的智慧合約中聲明的校驗邏輯,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配。
本說明書還提供一種基於區塊鏈的票據實名領取方法,所述方法應用於所述區塊鏈的節點設備,所述方法包括:
接收票據管理終端發送的關聯交易;所述關聯交易攜帶有目標電子票據的標識;
回應於所述關聯交易,在確定所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端發送身分關聯提示資訊,以使所述票據管理終端採集用戶的身分資訊;
接收所述票據管理終端發送的所述用戶的身分資訊,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗通過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係並發布至所述區塊鏈進行存證。
可選的,所述接收所述票據管理終端發送的所述用戶的身分資訊,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,包括:
接收所述票據管理終端發送的智慧合約調用交易;所述智慧合約調用交易攜帶有用戶的身分資訊;
回應於所述智慧合約調用交易,調用部署在區塊鏈上的智慧合約中聲明的校驗邏輯,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配。
可選的,所述方法還包括:
接收所述票據管理終端發送的查詢交易;所述查詢交易攜帶有所述用戶的身分資訊;
回應於所述查詢交易,查找與所述用戶的身分資訊關聯的所述目標電子票據;
向所述票據管理終端返回所述目標電子票據的票據資訊。
本說明書還提供一種基於區塊鏈的票據實名領取裝置,所述裝置應用於與所述區塊鏈的節點設備對接的票據管理終端,所述區塊鏈上存證了電子票據;所述裝置包括:
第一發布模組,回應於用戶發起的針對目標電子票據的關聯操作,向所述區塊鏈發布攜帶有所述目標電子票據標識的關聯交易,以由所述區塊鏈節點設備回應於所述關聯交易,在確定所述區塊鏈存證的所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端返回身分關聯提示資訊;
採集模組,在接收到所述身分關聯提示資訊時,採集用戶的身分資訊;
第二發布模組,將所述用戶的身分資訊發送至所述區塊鏈的節點設備,以由所述區塊鏈的節點設備校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗通過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
可選的,所述裝置還包括:
查詢模組,回應於用戶發起的針對所述目標電子票據的查詢操作,向所述區塊鏈發布攜帶有所述用戶的身分資訊的查詢交易,以由所述區塊鏈節點設備回應於所述查詢交易,查找與所述用戶的身分資訊關聯的所述目標電子票據,並向所述票據管理終端返回所述目標電子票據的票據資訊。
可選的,所述區塊鏈存證的電子票據預先進行了加密處理;
所述裝置還包括:
解密模組,從密鑰管理平臺查詢與所述目標電子票據對應的解密密鑰;
基於所述解密密鑰對所述票據管理終端返回的目標電子票據的票據資訊進行解密,並將解密後的目標電子票據的票據資訊展示給所述用戶。
可選的,所述裝置還包括:
列印模組,回應於用戶發起的針對所述目標電子票據的列印操作,調用所述票據管理終端搭載的列印硬體,將所述目標電子票據列印為紙質電子票據; 獲取所述紙質電子票據的票據編號,將所述紙質電子票據的票據編號和所述目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
可選的,所述第二發布模組,向所述區塊鏈的節點設備發送攜帶所述用戶的身分資訊的智慧合約調用交易,以由所述區塊鏈的節點設備回應於所述智慧合約調用交易,調用部署在區塊鏈上的智慧合約中聲明的校驗邏輯,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配。
本說明書還提供了一種基於區塊鏈的票據實名領取裝置,所述裝置應用於所述區塊鏈的節點設備,所述裝置包括:
接收模組,接收票據管理終端發送的關聯交易;所述關聯交易攜帶有目標電子票據的標識;
返回模組,回應於所述關聯交易,在確定所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端發送身分關聯提示資訊,以使所述票據管理終端採集用戶的身分資訊;
發布模組,接收所述票據管理終端發送的所述用戶的身分資訊,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗通過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係並發布至所述區塊鏈進行存證。
可選的,所述發布模組,接收所述票據管理終端發送的智慧合約調用交易;所述智慧合約調用交易攜帶有用戶的身分資訊;回應於所述智慧合約調用交易,調用部署在區塊鏈上的智慧合約中聲明的校驗邏輯,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配。
可選的,所述裝置還包括:
查詢模組,接收所述票據管理終端發送的查詢交易;所述查詢交易攜帶有所述用戶的身分資訊;回應於所述查詢交易,查找與所述用戶的身分資訊關聯的所述目標電子票據;向所述票據管理終端返回所述目標電子票據的票據資訊。
由上述描述可知,一方面,用戶可以透過票據管理終端,將區塊鏈上存證的自己的電子票據與自己的身分資訊進行關聯,從而實現電子票據的實名領取。
另一方面,當區塊鏈的節點設備接收到用戶的身分資訊後,可校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,從而可以有效地防止電子票據的冒領。
這裏將詳細地對示例性實施例進行說明,其示例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書一個或多個實施例相一致的所有實施方式。相反,它們僅是與如申請專利範圍中所詳述的、本說明書一個或多個實施例的一些方面相一致的裝置和方法的例子。
需要說明的是:在其他實施例中並不一定按照本說明書示出和描述的順序來執行相應方法的步驟。在一些其他實施例中,其方法所包括的步驟可以比本說明書所描述的更多或更少。此外,本說明書中所描述的單個步驟,在其他實施例中可能被分解為多個步驟進行描述;而本說明書中所描述的多個步驟,在其他實施例中也可能被合並為單個步驟進行描述。
區塊鏈一般被劃分為三種類型:公有鏈(Public Blockchain),私有鏈(Private Blockchain)和聯盟鏈(Consortium Blockchain)。此外,還可以有上述多種類型的結合,比如私有鏈+聯盟鏈、聯盟鏈+公有鏈等。
其中,去中心化程度最高的是公有鏈。公有鏈以比特幣、以太坊為代表,加入公有鏈的參與者(也可稱為區塊鏈中的節點)可以讀取鏈上的資料記錄、參與交易、以及競爭新區塊的記帳權等。而且,各節點可自由加入或者退出網路,並進行相關操作。
私有鏈則相反,該網路的寫入權限由某個組織或者機構控制,資料讀取權限受組織規定。簡單來說,私有鏈可以為一個弱中心化系統,其對節點具有嚴格限制且節點數量較少。這種類型的區塊鏈更適合於特定機構內部使用。
聯盟鏈則是介於公有鏈以及私有鏈之間的區塊鏈,可實現“部分去中心化”。聯盟鏈中各個節點通常有與之相對應的實體機構或者組織;節點通過授權加入網路並組成利益相關聯盟,共同維護區塊鏈運行。
基於區塊鏈的基本特性,區塊鏈通常是由若干個區塊構成。在這些區塊中分別記錄有與該區塊的創建時刻對應的時間戳記,所有的區塊嚴格按照區塊中記錄的時間戳記,構成一條在時間上有序的資料鏈條。
對於物理世界產生的真實資料,可以將其構建成區塊鏈所支持的標準的交易(transaction)格式,然後發布至區塊鏈,由區塊鏈中的節點設備對收到的交易進行共識處理,並在達成共識後,由區塊鏈中作為記帳節點的節點設備,將這筆交易打包進區塊,在區塊鏈中進行持久化存證。
其中,區塊鏈中支持的共識演算法可以包括:
第一類共識演算法,即節點設備需要爭奪每一輪的記帳周期的記帳權的共識演算法;例如,工作量證明(Proof of Work, POW)、股權證明(Proof of Stake,POS)、委任權益證明(Delegated Proof of Stake,DPOS)等共識演算法;
第二類共識演算法,即預先為每一輪記帳周期選舉記帳節點(不需要爭奪記帳權)的共識演算法;例如,實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等共識演算法。
在採用第一類共識演算法的區塊鏈網路中,爭奪記帳權的節點設備,都可以在接收到交易後執行該筆交易。爭奪記帳權的節點設備中可能有一個節點設備在本輪爭奪記帳權的過程中勝出,成為記帳節點。記帳節點可以將收到的交易與其它交易一起打包以產生最新區塊,並將產生的最新區塊或者該最新區塊的區塊頭發送至其它節點設備進行共識。
在採用第二類共識演算法的區塊鏈網路中,具有記帳權的節點設備在本輪記帳前已經商定好。因此,節點設備在接收到交易後,如果自身不是本輪的記帳節點,則可以將該交易發送至記帳節點。對於本輪的記帳節點,在將該交易與其它交易一起打包以產生最新區塊的過程中或者之前,可以執行該交易。記帳節點在產生最新區塊後,可以將該最新區塊或者該最新區塊的區塊頭發送至其它節點設備進行共識。
如上所述,無論區塊鏈採用以上示出的哪種共識演算法,本輪的記帳節點都可以將接收到的交易打包以產生最新區塊,並將產生的最新區塊或者該最新區塊的區塊頭發送至其它節點設備進行共識驗證。如果其它節點設備接收到最新區塊或者該最新區塊的區塊頭後,經驗證沒有問題,可以將該最新區塊追加到原有的區塊鏈末尾,從而完成區塊鏈的記帳過程。其它節點驗證記帳節點發來的新的區塊或區塊頭的過程中,也可以執行該區塊中的包含的交易。
此外,在實際應用中,不論是公有鏈、私有鏈還是聯盟鏈,都可能提供智慧合約(Smart contract)的功能。區塊鏈上的智慧合約是在區塊鏈上可以被交易觸發執行的合約。智慧合約可以透過代碼的形式定義。
以以太坊為例,支持用戶在以太坊網路中創建並調用一些複雜的邏輯。以太坊作為一個可程式化區塊鏈,其核心是以太坊虛擬機(EVM),每個以太坊節點都可以運行EVM。EVM是一個圖靈完備的虛擬機,透過它可以實現各種複雜的邏輯。用戶在以太坊中發布和調用智慧合約就是在EVM上運行的。實際上,EVM直接運行的是虛擬機代碼(虛擬機位元組碼,下簡稱“位元組碼”),所以部署在區塊鏈上的智慧合約可以是位元組碼。
如圖1所示,Bob將一筆包含創建智慧合約資訊的交易(Transaction)發送到以太坊網路後,各節點均可以在EVM中執行這筆交易。其中,圖中1中交易的From欄位用於記錄發起創建智慧合約的帳戶的位址,交易的Data欄位的欄位值保存的合約代碼可以是位元組碼,交易的To欄位的欄位值為一個null(空)的帳戶。當節點間透過共識機制達成一致後,這個智慧合約成功創建,後續用戶可以調用這個智慧合約。
智慧合約創建後,區塊鏈上出現一個與該智慧合約對應的合約帳戶,並擁有一個特定的位址;比如,圖1中各節點中的“0x68e12cf284…”就代表了創建的這個合約帳戶的位址;合約代碼(Code)和帳戶儲存(Storage)將保存在該合約帳戶的帳戶儲存中。智慧合約的行為由合約代碼控制,而智慧合約的帳戶儲存則保存了合約的狀態。換句話說,智慧合約使得區塊鏈上產生包含合約代碼和帳戶儲存的虛擬帳戶。
前述提到,包含創建智慧合約的交易的Data欄位保存的可以是該智慧合約的位元組碼。位元組碼由一連串的位元組組成,每一位元組可以標識一個操作。基於開發效率、可讀性等多方面考慮,開發者可以不直接書寫位元組碼,而是選擇一門高級語言編寫智慧合約代碼。例如,高級語言可以採用諸如Solidity、Serpent、LLL語言等。對於採用高級語言編寫的智慧合約代碼,可以經過編譯器編譯,產生可以部署到區塊鏈上的位元組碼。
以Solidity語言為例,用其編寫的合約代碼與物件導向程式化語言中的類(Class)很相似,在一個合約中可以聲明多種成員,包括狀態變量、函數、函數修改器、事件等。狀態變量是永久儲存在智慧合約的帳戶儲存(Storage)欄位中的值,用於保存合約的狀態。
如圖2所示,仍以以太坊為例,Bob將一筆包含調用智慧合約資訊的交易發送到以太坊網路後,各節點均可以在EVM中執行這筆交易。其中,圖2中交易的From欄位用於記錄發起調用智慧合約的帳戶的位址,To欄位用於記錄被調用的智慧合約的位址,交易的Data欄位用於記錄調用智慧合約的方法和參數。調用智慧合約後,合約帳戶的帳戶狀態可能改變。後續,某個客戶端可以透過接入的區塊鏈節點(例如圖2中的節點1)查看合約帳戶的帳戶狀態。
智慧合約可以以規定的方式在區塊鏈網路中每個節點獨立的執行,所有執行記錄和資料都保存在區塊鏈上,所以當這樣的交易執行完畢後,區塊鏈上就保存了無法篡改、不會丟失的交易憑證。
創建智慧合約和調用智慧合約的示意圖如圖3所示。以太坊中要創建一個智慧合約,需要經過編寫智慧合約、變成位元組碼、部署到區塊鏈等過程。以太坊中調用智慧合約,是發起一筆指向智慧合約位址的交易,各個節點的EVM可以分別執行該交易,將智慧合約代碼分布式的運行在以太坊網路中每個節點的虛擬機中。
此外,在跨鏈場景下,多個區塊鏈可以透過跨鏈中繼實現跨鏈對接。
其中,跨鏈中繼,可以透過橋接介面與多個區塊鏈分別進行對接,並基於實現的資料搬運邏輯,完成該多個區塊鏈之間的跨鏈資料同步。
在實現上述跨鏈中繼時所採用的跨鏈技術,在本說明書中不進行特別限定;例如,在實際應用中,可以透過側鏈技術、公證人技術等跨鏈機制,將多個區塊鏈連接起來。
當多個區塊鏈透過跨鏈中繼實現對接之後,區塊鏈之間就可以去讀取並認證其它區塊鏈上的資料,也可以透過跨鏈中繼去調用其它區塊鏈上部署的智慧合約。
區塊鏈上部署的智慧合約,除了可以使用區塊鏈上存證的資料以外,也可以透過Oracle預言機,來引用鏈外的資料實體上的資料,進而實現智慧合約與真實世界的資料實體之間的資料互動。鏈外的資料實體,可以包括諸如部署在鏈外的中心化的伺服器或者資料中心,等等。
其中,與跨鏈中繼不同的是,Oracle預言機的功能並不是將一個區塊鏈上的資料同步到另一個區塊鏈上,而是將鏈外的資料實體上的資料同步到區塊鏈上;
也即,跨鏈中繼用於連接兩個區塊鏈,而Oracle預言機用於連接區塊鏈與鏈外的資料實體,實現區塊鏈與真實世界的資料互動。
隨著區塊鏈的業務場景的不斷豐富,除了諸如轉帳等與價值轉移息息相關的業務以外,越來越多的區塊鏈項目開始引入一些與價值轉移無關的傳統業務場景;例如,業務系統可以與業務區塊鏈對接,在業務區塊鏈上來完成諸如電子票據的開具、報銷等傳統的業務場景。
在現有的電子票據查詢領域中,用戶通常依據電子票據的標識(比如電子票據的代碼和號碼)來查詢電子票據。但是,一方面,電子票據的標識數字位數較多,不易於用戶記錄。另一方面,用戶需要輸入每張電子票據的標識才能查找到每張電子票據。因此,採用電子票據的標識來查詢電子票據就為用戶帶來了極大的不便,也大大降低了用戶查詢電子票據的效率。
本說明書旨在提出一種基於區塊鏈的票據實名領取方法,透過將用戶的身分資訊與用戶的電子票據的關聯關係在區塊鏈上進行存證,使得後續用戶可以透過自身的身分資訊查找到自己所擁有的電子票據。
在實現時,票據管理終端回應於用戶發起的針對目標電子票據的關聯操作,向該區塊鏈發布攜帶有目標電子票據標識的關聯交易。區塊鏈節點設備回應於該關聯交易,在確定該區塊鏈存證的目標電子票據未關聯用戶身分資訊時,向該票據管理終端返回身分關聯提示資訊。
票據管理終端在接收到所述身分關聯提示資訊時,可採集用戶的身分資訊,並將所述用戶的身分資訊發送至所述區塊鏈的節點設備,以由區塊鏈的節點設備校驗用戶的身分資訊與目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗透過後將所述用戶的身分資訊和目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
由上述描述可知,用戶可以透過票據管理終端,將區塊鏈上存證的電子票據與自身的身分資訊進行關聯,從而實現票據的實名領取。
此外,在後續的電子票據的查詢過程中,用戶可以基於自身的身分資訊從該區塊鏈上查詢屬自己的電子票據,因此極大地方便了用戶查詢自己的電子票據。
參見圖4,圖4是本說明書一示例性實施例示出的一種基於區塊鏈的票據實名領取方法的流程圖,該方法可以應用在票據管理終端,可包括如下所示步驟:
步驟402:回應於用戶發起的針對目標電子票據的關聯操作,向所述區塊鏈發布攜帶有所述目標電子票據標識的關聯交易,以由所述區塊鏈節點設備回應於所述關聯交易,在確定所述區塊鏈存證的所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端返回身分關聯提示資訊;
步驟404:在接收到所述身分關聯提示資訊時,採集用戶的身分資訊;
步驟406:將所述用戶的身分資訊發送至所述區塊鏈的節點設備,以由所述區塊鏈的節點設備校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗透過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
參見圖5,圖5是本說明書一示例性實施例示出的一種基於區塊鏈的票據實名領取方法的流程圖,該方法可以用在區塊鏈的節點設備,可包括如下所示步驟。
步驟502:接收票據管理終端發送的關聯交易;所述關聯交易攜帶有目標電子票據的標識;
步驟504:回應於所述關聯交易,在確定所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端發送身分關聯提示資訊,以使所述票據管理終端採集用戶的身分資訊;
步驟506:接收所述票據管理終端發送的所述用戶的身分資訊,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗透過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係並發布至所述區塊鏈進行存證。
其中,上述票據管理終端,是指具有票據管理功能的終端設備。用戶可以透過該票據管理終端進行電子票據的實名領取、電子票據查詢以及電子票據的列印等操作。
比如在醫療領域,該票據管理終端可以是醫療機構部署的具有醫療***管理功能的管理設備。這裏只是對票據管理終端及其功能進行示例性地說明,不進行具體地限定。
上述電子票據的標識,是指唯一標識一個電子票據的資訊。
比如,當上述電子票據為***時,該電子票據標識可以是***代碼、***號碼、或者***代碼和***號碼的組合等。
上述用戶資訊,可包括用戶的姓名、用戶的身分證號、用戶的生理特徵資訊等。其中,用戶的生理特徵資訊可包括:用戶的人臉特徵資訊、用戶的指紋特徵資訊、用戶的虹膜特徵資訊等。這裏只是對用戶資訊、以及用戶的生理特徵資訊進行示例性地說明,不對其進行具體地限定。
此外,本說明公開的區塊鏈可以是公有鏈、私有鏈和聯盟鏈中的一種或者幾種的組合,這裏只是對本說明公開的區塊鏈進行示例性地說明,不進行具體地限定。本說明書公開的區塊鏈上存證了電子票據。
下面從電子票據的實名領域、電子票據的查詢兩方面對本說明書提供的基於區塊鏈的票據實名領取方法進行詳細地說明。
1)電子票據的實名領取
用戶可以透過票據管理終端發起針對目標電子票據的關聯操作。
比如,票據管理終端的界面上部署有“關聯選項”以及用戶所需要關聯的電子票據的票據標識輸入欄,用戶可以在該輸入欄中輸入目標電子票據的標識,然後觸發“關聯選項”,由此用戶可以透過票據管理終端發起針對目標電子票據的關聯操作。
當然,這裏只是對“用戶可以透過票據管理終端發起針對目標電子票據的關聯操作”的示例性說明,不進行具體地限定。
當票據管理終端檢測到用戶針對該目標電子票據的關聯操作時,票據管理終端可以回應於用戶發起的針對目標電子票據的關聯操作,向該區塊鏈的節點設備發布攜帶有目標電子票據的標識的關聯交易。該關聯交易中攜帶有目標電子票據的標識。
區塊鏈的節點設備在接收到該關聯交易時,可回應於該關聯交易,基於關聯交易中攜帶的目標電子票據的標識,在區塊鏈存證的電子票據中查找目標電子票據。然後,區塊鏈的節點設備還可檢測查找到的目標電子票據是否關聯有用戶身分資訊。
若該目標電子票據關聯有用戶身分資訊,則向票據管理終端返回已關聯用戶身分資訊的提示資訊,以由該票據管理終端向用戶展示已關聯用戶身分資訊的提示資訊。
若該目標電子票據未關聯有用戶身分資訊,則向票據管理終端返回身分關聯提示資訊。
當票據管理終端接收到區塊鏈節點設備返回的身分關聯提示資訊時,可採集用戶的身分資訊。比如,票據管理終端可以採集用戶的身分證號、採集用戶的面部特徵資訊、指紋資訊、聲紋資訊以及虹膜資訊等。
舉例來說,在採集時,票據管理終端可在本設備的界面上顯示用以提示用戶輸入身分資訊的提示資訊。用戶在看到該提示資訊後,可在票據管理終端上輸入自身的身分證號。票據管理終端可以獲取用戶輸入的身分證號,從而採集到用戶的身分資訊。當然,票據管理終端還可以調用本設備部署的身分證掃描硬體,透過掃描用戶的身分證來獲取用戶的身分證號碼。
再比如,票據管理終端還可以調用本設備上部署的圖像採集硬體(比如攝影機)等,採集用戶的面部圖像,並提取出用戶的面部特徵西悉尼。
再比如,票據管理終端還可調用本設備上部署的音頻採集硬體(比如麥克風)等,採集用戶的聲音資訊。票據管理終端還可調用指紋採集硬體,採集用戶的指紋資訊。調用虹膜採集硬體,採集用戶的虹膜資訊等。這裏只是示例性地說明,不對其進行具體地限定。
在本說明書實施例中,票據管理終端在採集到用戶的身分資訊後,可將用戶的身分資訊發送至區塊鏈的節點設備。
為了防止電子票據被冒領,區塊鏈的節點設備在接收到該用戶的身分資訊後,可校驗用戶的身分資訊和該目標電子票據的付款方用戶的身分資訊是否匹配。
在一種可選的方式中,區塊鏈的節點設備可以在本地校驗用戶的身分資訊和該目標電子票據的付款方的身分資訊是否匹配。
在另一種可選的方式中,該區塊鏈上部署了智慧合約,該智慧合約中包括校驗邏輯。校驗邏輯用於校驗用戶的身分資訊和目標電子票據的付款方用戶的身分資訊是否匹配。該智慧合約的創建方法可如圖1所示,這裏不再贅述。
在具體實現時,票據管理終端可以向區塊鏈的節點設備發送攜帶有用戶的身分資訊的智慧合約調用交易。區塊鏈的節點設備可回應於該智慧合約調用交易,調用部署在區塊鏈上的智慧合約中聲明的校驗邏輯,校驗用戶的身分資訊與目標電子票據的付款方用戶的身分資訊是否匹配。
例如,電子票據的付款方用戶的身分資訊通常包括:付款方姓名等。
採集的用戶資訊通常包括用戶的唯一身分標識。比如,用戶的身分證號碼、用戶的生理特徵資訊等。
以採集的用戶資訊為用戶的身分證號碼,電子票據的付款方身分資訊為付款方姓名為例對“校驗用戶的身分資訊與目標電子票據的付款方用戶的身分資訊是否匹配”進行說明。
在校驗用戶的身分資訊與目標電子票據的付款方用戶的身分資訊是否匹配時,區塊鏈的節點設備可以先獲取用戶的身分證號碼所關聯的用戶姓名,然後校驗用戶的身分證號碼所關聯的用戶姓名是否與電子票據上的付款方的姓名匹配。
在獲取用戶的身分證號碼所關聯的用戶姓名時,可以透過如下方式進行獲取。
方式一:上述區塊鏈上儲存了用戶的身分證號碼與用戶姓名的對應關係。
在獲取時,區塊鏈上的節點設備可以該區塊鏈存證的用戶的身分證號碼和用戶姓名的對應關係中,查找與採集到的用戶的身分證號碼對應的用戶姓名。
方式二:鏈下的伺服器儲存了用戶的身分證號碼與用戶姓名的對應關係。
在獲取時,區塊鏈的節點設備可以透過Oracle預言機,從鏈下的伺服器中獲取該採集的用戶的身分證號碼對應的用戶姓名。
當然,在本說明書中,還可以單獨部署除上述區塊鏈之外的其他區塊鏈,其他區塊鏈上存證了用戶身分證號碼和用戶姓名的對應關係。
在獲取時,區塊鏈的節點設備可以透過跨鏈中繼從其他區塊鏈上獲取該採集的用戶的身分證號碼對應的用戶姓名
這裏只是對獲取用戶的身分證號碼所關聯的用戶姓名進行示例性地說明,不進行具體地限定。
在本說明書中,當區塊鏈的節點設備確定採集的用戶身分資訊和目標電子票據的付款方用戶的身分資訊匹配時,區塊鏈的節點設備可以將該採集的用戶身分資訊和目標電子票據的標識的關聯關係發布至區塊鏈進行存證。
由上述描述可知,一方面,用戶可以透過票據管理終端,將區塊鏈上存證的自己的電子票據與自己的身分資訊進行關聯,從而實現電子票據的實名領取。
另一方面,當區塊鏈的節點設備接收到用戶的身分資訊後,可校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,從而可以有效地防止電子票據的冒領。
2)電子票據的查詢
在電子票據實名領取後,區塊鏈上存證了電子票據的標識與用戶的身分資訊的關聯關係。
當用戶需要查詢自己的電子票據時,用戶可以基於自己的身分資訊來查詢自己的電子票據。
在實現時,用戶可以透過票據管理終端發起針對目標電子票據的查詢操作。
比如,用戶可以在票據管理終端的查詢界面上輸入自己的身分資訊,從而發起針對該目標電子票據的查詢操作。
當票據管理終端檢測到用戶針對目標電子票據的查詢操作後,可以向區塊鏈發布查詢交易。該查詢交易中攜帶有用戶的身分資訊。
區塊鏈的節點設備可以回應於該查詢交易,在區塊鏈存證的用戶的身分資訊和電子票據的標識的對應關係中,查找該查詢交易攜帶的用戶的身分資訊對應的目標電子票據的標識。然後將該電子票據標識所指示的目標電子票據的票據資訊返回至票據管理終端。
此外,為了保證用戶的電子票據的安全性,區塊鏈上存證的電子票據通常是經過加密的電子票據。
電子票據的解密密鑰可以儲存在與票據管理設備對接的密鑰管理平臺上。
票據管理終端可以從密鑰管理平臺上獲取與該目標電子票據對應的解密密鑰,然後採用該解密密鑰對區塊鏈節點設備返回的目標電子票據的票據資訊進行解密,並將解密後的目標電子票據的票據資訊展示給用戶。
由上述描述可知,用戶不再透過每張電子票據的標識查詢自己所擁有的每一張電子票據,而是可以透過自身的身分資訊查詢自己所擁有的所有電子票據,從而可以有效地提高用戶查詢自己所擁有的電子票據的效率。
此外,在本說明書實施例中,用戶還可以透過票據管理終端列印查詢到的目標電子票據。
為了防止用戶透過紙質電子票據和電子票據進行多次報銷,票據管理終端還可將用戶列印出的紙質電子票據的票據編號和該目標電子票據的標識的關聯關係發布至區塊鏈進行存證。
在具體實現時,用戶可以透過票據管理終端發起針對目標電子票據的列印操作。
例如,票據管理終端在為用戶展示目標電子票據的票據資訊的界面上存在“列印”選項,用戶可以點擊“列印”選項,發起針對該目標電子票據的列印操作。
票據管理終端可以回應於用戶發起的針對目標電子票據的列印操作,調用該票據管理終端搭載的列印硬體,將該目標電子票據列印為紙質電子票據。
然後,票據管理終端可以獲取該紙質電子票據的票據編號。在獲取時,票據管理終端可以調用該票據管理終端搭載的掃描硬體,掃描該紙質電子票據,獲取紙質電子票據上的票據編號。當然,用戶還可在票據管理終端上輸入紙質電子票據的票據編號,票據管理終端可以獲取用戶輸入的該紙質電子票據的票據編號。
在獲取到紙質電子票據的票據編號後,票據管理終端可將該紙質電子票據的票據編號和目標電子票據的標識的關聯關係發布至區塊鏈進行存證。
由上述描述可知,一方面,用戶可以透過票據管理終端,將區塊鏈上存證的自己的電子票據與自己的身分資訊進行關聯,從而實現電子票據的實名領取。
另一方面,當區塊鏈的節點設備接收到用戶的身分資訊後,可校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,從而可以有效地防止電子票據的冒領。
第三方面,在用戶將查詢到的目標電子票據列印成紙質電子票據後,可以將紙質電子票據的票據編號和目標電子票據的標識發布至區塊鏈進行存證,從而可以防止用戶進行多次報銷。
與上述圖4所示方法實施例相對應,本說明書還提供了一種基於區塊鏈的票據實名領取裝置的實施例。本說明書的基於區塊鏈的票據實名領取裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非易失性記憶體中對應的電腦程式指令讀取到內部記憶體中運行形成的。從硬體層面而言,如圖6所示,為本說明書的基於區塊鏈的票據實名領取裝置所在電子設備的一種硬體結構圖,除了圖6所示的處理器、內部記憶體、網路介面、以及非易失性記憶體之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
參見圖7,圖7是本說明書一示例性實施例示出的一種基於區塊鏈的票據實名領取裝置的方塊圖,所述裝置應用於與所述區塊鏈的節點設備對接的票據管理終端,所述區塊鏈上存證了電子票據;所述裝置包括:
第一發布模組701,回應於用戶發起的針對目標電子票據的關聯操作,向所述區塊鏈發布攜帶有所述目標電子票據標識的關聯交易,以由所述區塊鏈節點設備回應於所述關聯交易,在確定所述區塊鏈存證的所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端返回身分關聯提示資訊;
採集模組702,在接收到所述身分關聯提示資訊時,採集用戶的身分資訊;
第二發布模組703,將所述用戶的身分資訊發送至所述區塊鏈的節點設備,以由所述區塊鏈的節點設備校驗用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗通過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
可選的,所述裝置還包括:
查詢模組704(圖7中未示出),回應於用戶發起的針對所述目標電子票據的查詢操作,向所述區塊鏈發布攜帶有所述用戶的身分資訊的查詢交易,以由所述區塊鏈節點設備回應於所述查詢交易,查找與所述用戶的身分資訊關聯的所述目標電子票據,並向所述票據管理終端返回所述目標電子票據的票據資訊。
可選的,所述區塊鏈存證的電子票據預先進行了加密處理;
所述裝置還包括:
解密模組705(圖7中未示出),從密鑰管理平臺查詢與所述目標電子票據對應的解密密鑰;
基於所述解密密鑰對所述票據管理終端返回的目標電子票據的票據資訊進行解密,並將解密後的目標電子票據的票據資訊展示給所述用戶。
可選的,所述裝置還包括:
列印模組706(圖7中未示出),回應於用戶發起的針對所述目標電子票據的列印操作,調用所述票據管理終端搭載的列印硬體,將所述目標電子票據列印為紙質電子票據; 獲取所述紙質電子票據的票據編號,將所述紙質電子票據的票據編號和所述目標電子票據的標識的關聯關係發布至所述區塊鏈進行存證。
可選的,所述第二發布模組703,向所述區塊鏈的節點設備發送攜帶所述用戶的身分資訊的智慧合約調用交易,以由所述區塊鏈的節點設備回應於所述智慧合約調用交易,調用部署在區塊鏈上的智慧合約中聲明的校驗邏輯,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配。
與上述圖5所示方法實施例相對應,本說明書還提供了一種基於區塊鏈的票據實名領取裝置的實施例。本說明書的基於區塊鏈的票據實名領取裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非易失性記憶體中對應的電腦程式指令讀取到內部記憶體中運行形成的。從硬體層面而言,如圖8所示,為本說明書的基於區塊鏈的票據實名領取裝置所在電子設備的一種硬體結構圖,除了圖8所示的處理器、內部記憶體、網路介面、以及非易失性記憶體之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
參見圖9,圖9是本說明書一示例性實施例示出的另一種基於區塊鏈的票據實名領取裝置的方塊圖。所述裝置應用於所述區塊鏈的節點設備,所述裝置包括:
接收模組901,接收票據管理終端發送的關聯交易;所述關聯交易攜帶有目標電子票據的標識;
返回模組902,回應於所述關聯交易,在確定所述目標電子票據未關聯用戶身分資訊時,向所述票據管理終端發送身分關聯提示資訊,以使所述票據管理終端採集用戶的身分資訊;
發布模組903,接收所述票據管理終端發送的所述用戶的身分資訊,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配,並在校驗通過後將所述用戶的身分資訊和所述目標電子票據的標識的關聯關係並發布至所述區塊鏈進行存證。
可選的,所述發布模組903,接收所述票據管理終端發送的智慧合約調用交易;所述智慧合約調用交易攜帶有用戶的身分資訊;回應於所述智慧合約調用交易,調用部署在區塊鏈上的智慧合約中聲明的校驗邏輯,校驗所述用戶的身分資訊與所述目標電子票據的付款方用戶的身分資訊是否匹配。
可選的,所述裝置還包括:
查詢模組904(圖9中未示出),接收所述票據管理終端發送的查詢交易;所述查詢交易攜帶有所述用戶的身分資訊;回應於所述查詢交易,查找與所述用戶的身分資訊關聯的所述目標電子票據;向所述票據管理終端返回所述目標電子票據的票據資訊。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、行動電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
在一個典型的配置中,電腦包括一個或多個處理器 (CPU)、輸入/輸出介面、網路介面和內部記憶體。
內部記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性內部記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。內部記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變內部記憶體 (PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶、磁碟儲存、量子記憶體、基於石墨烯的儲存媒體或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體 (transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
上述對本說明書特定實施例進行了描述。其它實施例在申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
在本說明書一個或多個實施例使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本說明書一個或多個實施例。在本說明書一個或多個實施例和申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本說明書一個或多個實施例可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書一個或多個實施例範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“回應於確定”。
以上所述僅為本說明書一個或多個實施例的較佳實施例而已,並不用以限制本說明書一個或多個實施例,凡在本說明書一個或多個實施例的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書一個或多個實施例保護的範圍之內。
70:基於區塊鏈的票據實名領取裝置
90:基於區塊鏈的票據實名領取裝置
701:第一發布模組
702:採集模組
703:第二發布模組
901:接收模組
902:返回模組
903:發布模組
[圖1]是本說明書一示例性實施例示出的一種創建智慧合約的示意圖;
[圖2]是本說明書一示例性實施例示出的一種調用智慧合約的示意圖;
[圖3]是本說明書一示例性實施例示出的創建智慧合約和調用智慧合約的示意圖;
[圖4]是本說明書一示例性實施例示出的一種基於區塊鏈的票據實名領取方法的流程圖;
[圖5]是本說明書一示例性實施例示出的一種基於區塊鏈的票據實名領取方法的流程圖;
[圖6]是本說明書一示例性實施例示出的電子設備的硬體結構圖;
[圖7]是本說明書一示例性實施例示出的一種基於區塊鏈的票據實名領取裝置的方塊圖;
[圖8]是本說明書一示例性實施例示出的電子設備的硬體結構圖;
[圖9]是本說明書一示例性實施例示出的另一種基於區塊鏈的票據實名領取裝置的方塊圖。