基於區塊鏈的資料存證、取證方法和裝置
本發明涉及資料處理技術領域,尤其涉及一種基於區塊鏈的資料存證、取證方法和裝置。
區塊鏈技術,也被稱之為分散式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分散式資料庫的新興技術。由於區塊鏈技術具有去中心化、公開透明、每台計算設備可以參與資料庫記錄、並且各計算設備之間可以快速的進行資料同步的特性,使得區塊鏈技術已在眾多的領域中廣泛的進行應用。
針對以上提出的區塊鏈資料處理流程的現狀,本發明提供了一種基於區塊鏈的事件存證方法,應用於包括存證方節點設備的區塊鏈中;所述區塊鏈上部署有用於資料儲存和讀取的智慧型合約;所述方法包括:
所述存證方節點設備向所述區塊鏈發送第一目標交易,所述第一目標交易包括待儲存的目標事件資料;
呼叫所述智慧型合約,執行所述智慧型合約聲明的資料儲存邏輯,儲存所述目標事件資料至所述智慧型合約;
至少基於所述智慧型合約的標識產生存證標識圖像。
在又一示出的實施方式中,所述目標資料還包括目標事件相關方所作的數位簽章,以供取證方節點設備基於所述數位簽章對所述目標事件資料進行驗證;
所述至少基於所述智慧型合約的標識產生存證標識圖像,包括:
至少基於所述智慧型合約的標識和所述目標事件相關方的身份名稱產生存證標識圖像。
在又一示出的實施方式中,所述至少基於所述智慧型合約的標識產生存證標識圖像,包括:
根據預設的編碼規則至少對所述智慧型合約的標識進行編碼以產生存證數位編碼;
根據預設的編碼與色彩的映射關係和預設的色塊產生順序,將所述存證數位編碼依次產生具有預設樣式的色塊。
在又一示出的實施方式中,所述的方法還包括:
接收所述智慧型合約為所述目標事件資料分配的映射碼;
所述至少基於所述智慧型合約的標識產生存證標識圖像,包括:
至少基於所述智慧型合約的標識和所述映射碼產生存證標識圖像。
在又一示出的實施方式中,所述的方法還包括:
向所述區塊鏈發送目標用戶的資料取證許可權交易,所述資料取證許可權交易用以設置所述目標用戶對所述目標事件資料的取證許可權;
呼叫所述智慧型合約,執行所述智慧型合約聲明的設置用戶的資料取證許可權的邏輯,為所述目標用戶設置取證所述目標事件資料的許可權。
在又一示出的實施方式中,所述的方法還包括:
接收所述智慧型合約發送的取證方節點設備取證所述目標資料的通知消息。
本發明還提供了一種基於區塊鏈的事件取證方法,應用於包括存證方節點設備和取證方節點設備的區塊鏈中;所述區塊鏈上部署有已儲存目標事件資料的智慧型合約;所述方法包括:
所述取證方節點設備識別所述存證方節點設備提供的存證標識圖像,以至少取證所述智慧型合約的標識;其中,所述存證標識圖像至少基於所述智慧型合約的標識產生;
向所述區塊鏈發送第二目標交易,所述第二目標交易包括所述智慧型合約的標識;
呼叫所述智慧型合約,執行所述智慧型合約聲明的資料取證邏輯,取證所述目標事件資料。
在又一示出的實施方式中,所述目標事件資料還包括目標事件相關方所作的數位簽章;
所述方法還包括:
基於所述數位簽章對所述目標資料進行驗證。
在又一示出的實施方式中,所述識別所述存證標識圖像以至少取證所述智慧型合約的標識,包括:
根據預設的色塊產生順序和預設的數位編碼與色彩的映射關係,將所述色塊的色彩依次轉化為存證數位編碼;
根據預設的解碼規則,對所述存證數位編碼進行解碼以至少取證所述智慧型合約的標識。
在又一示出的實施方式中,所述存證標識圖像至少基於所述智慧型合約的標識和所述智慧型合約為所述目標事件資料分配的映射碼產生;
所述識別所述存證標識圖像以至少取證所述智慧型合約的標識,包括:識別所述存證標識圖像以至少取證所述智慧型合約的標識和所述映射碼;
所述第二目標交易還包括所述映射碼。
在又一示出的實施方式中,所述智慧型合約為所述取證方設置有對所述目標事件資料的取證許可權;所述執行所述智慧型合約聲明的資料取證邏輯,取證所述目標事件資料,包括:
獲得所述取證方對所述目標事件資料的取證許可權;
基於所述取證方對所述目標資料的取證許可權,執行所述智慧型合約聲明的資料取證邏輯。
相應的,本發明還提供了一種基於區塊鏈的事件存證裝置,應用於包括存證方節點設備的區塊鏈中;所述區塊鏈上部署有用於資料儲存和讀取的智慧型合約;所述裝置包括:
發送單元,所述存證方節點設備向所述區塊鏈發送第一目標交易,所述第一目標交易包括待儲存的目標事件資料;
智慧型合約執行單元,呼叫所述智慧型合約,執行所述智慧型合約聲明的資料儲存邏輯,儲存所述目標事件資料至所述智慧型合約;
圖像產生單元,至少基於所述智慧型合約的標識產生存證標識圖像。
在又一示出的實施方式中,所述目標資料還包括目標事件相關方所作的數位簽章,以供取證方節點設備基於所述數位簽章對所述目標事件資料進行驗證;
所述圖像產生單元:
至少基於所述智慧型合約的標識和所述目標事件相關方的身份名稱產生存證標識圖像。
在又一示出的實施方式中,所述圖像產生單元:
根據預設的編碼規則至少對所述智慧型合約的標識進行編碼以產生存證數位編碼;
根據預設的編碼與色彩的映射關係和預設的色塊產生順序,將所述存證數位編碼依次產生具有預設樣式的色塊。
在又一示出的實施方式中,所述的裝置還包括:
接收單元,接收所述智慧型合約為所述目標事件資料分配的映射碼;
所述圖像產生單元:
至少基於所述智慧型合約的標識和所述映射碼產生存證標識圖像。
在又一示出的實施方式中,所述發送單元:
向所述區塊鏈發送目標用戶的資料取證許可權交易,所述資料取證許可權交易用以設置所述目標用戶對所述目標事件資料的取證許可權;
所述智慧型合約執行單元,呼叫所述智慧型合約,執行所述智慧型合約聲明的設置用戶的資料取證許可權的邏輯,為所述目標用戶設置取證所述目標事件資料的許可權。
在又一示出的實施方式中,所述的裝置還包括接收單元:接收所述智慧型合約發送的取證方節點設備取證所述目標資料的通知消息。
相應的,本發明還提供了一種基於區塊鏈的事件取證裝置,應用於包括存證方節點設備和取證方節點設備的區塊鏈中;所述區塊鏈上部署有已儲存目標事件資料的智慧型合約;所述裝置包括:
圖像識別單元,所述存證方節點設備識別所述存證方節點設備提供的存證標識圖像,以至少取證所述智慧型合約的標識;其中,所述存證標識圖像至少基於所述智慧型合約的標識產生;
發送單元,向所述區塊鏈發送第二目標交易,所述第二目標交易包括所述智慧型合約的標識;
智慧型合約執行單元,呼叫所述智慧型合約,執行所述智慧型合約聲明的資料取證邏輯,取證所述目標事件資料。
在又一示出的實施方式中,所述目標事件資料還包括目標事件相關方所作的數位簽章;
所述裝置還包括:
資料驗證單元,基於所述數位簽章對所述目標資料進行驗證。
在又一示出的實施方式中,所述圖像識別單元:
根據預設的色塊產生順序和預設的數位編碼與色彩的映射關係,將所述色塊的色彩依次轉化為存證數位編碼;
根據預設的解碼規則,對所述存證數位編碼進行解碼以至少取證所述智慧型合約的標識。
在又一示出的實施方式中,所述存證標識圖像至少基於所述智慧型合約的標識和所述智慧型合約為所述目標事件資料分配的映射碼產生;
所述圖像識別單元:識別所述存證標識圖像以至少取證所述智慧型合約的標識和所述映射碼;
所述第二目標交易還包括所述映射碼。
在又一示出的實施方式中,所述智慧型合約為所述取證方設置有對所述目標事件資料的取證許可權;所述智慧型合約執行單元:
獲得所述取證方對所述目標事件資料的取證許可權;
基於所述取證方對所述目標資料的取證許可權,執行所述智慧型合約聲明的資料取證邏輯。
本發明還提供了一種電腦設備,包括:記憶體和處理器;所述記憶體上儲存有可由處理器運行的電腦程式;所述處理器運行所述電腦程式時,執行上述基於區塊鏈的事件存證方法所述的步驟。
本發明還提供了一種電腦設備,包括:記憶體和處理器;所述記憶體上儲存有可由處理器運行的電腦程式;所述處理器運行所述電腦程式時,執行上述基於區塊鏈的事件取證方法所述的步驟。
本發明提供的基於區塊鏈的資料存證、取證方法和裝置,在所述區塊鏈上部署有用於資料儲存和讀取的智慧型合約,該智慧型合約可應用戶的呼叫而執行對資料的儲存或讀取。基於區塊鏈技術的分散式資料庫儲存機制,存證方用戶在所述智慧型合約內儲存的目標資料被去中心化地記錄在所有節點中,由所有參與方的節點共同維護;基於區塊鏈的共識機制,每個存證方用戶提供的資料資訊不會在提供後被竄改,從而達到了存證目標資料的效果。存證方至少基於所述智慧型合約的標識產生存證標識圖像,以供取證方可通過圖像識別該存證標識圖像而取證上述智慧型合約的標識,進而呼叫該智慧型合約以取證上述目標資料。
智慧型合約可在任何時候應用戶的呼叫而完成對目標資料的存證或取證,大大提升對目標資料的存證或取證的效率;且智慧型合約執行有著較低的人為干預、去中心化權威的優勢,更加增加了資料存證及取證行為的公平性。
這裡將詳細地對示例性實施例進行說明,其示例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本發明一個或多個實施例相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本發明一個或多個實施例的一些方面相一致的裝置和方法的例子。
需要說明的是:在其他實施例中並不一定按照本發明示出和描述的順序來執行相應方法的步驟。在一些其他實施例中,其方法所包括的步驟可以比本發明所描述的更多或更少。此外,本發明中所描述的單個步驟,在其他實施例中可能被分解為多個步驟進行描述;而本發明中所描述的多個步驟,在其他實施例中也可能被合併為單個步驟進行描述。
如圖1所示,本發明一示意性實施例提供了一種基於區塊鏈的目標事件存證、及取證方法,應用於包括存證方節點設備和取證方節點設備的區塊鏈中,所述區塊鏈上部署有用於資料儲存和讀取的智慧型合約。
本實施例所述的區塊鏈,具體可指一個各節點設備通過共識機制達成的、具有分散式資料儲存結構的P2P網路系統,該區塊鏈內的資料分佈在時間上相連的一個個“區塊(block)”之內,後一區塊包含前一區塊的資料摘要,且根據具體的共識機制(如POW、POS、DPOS或PBFT等)的不同,達成全部或部分節點設備的資料全備份。本領域的技術人員熟知,由於區塊鏈系統在相應共識機制下運行,已收錄至區塊鏈資料庫內的資料很難被任意的節點設備竄改,例如採用Pow共識的區塊鏈,至少需要全網51%運算力的攻擊才有可能竄改已有資料,因此區塊鏈系統有著其他中心化資料庫系統所法比擬的保證資料安全、防攻擊竄改的特性。
另外,值得注意的是,本發明所述的節點設備,不僅可包括備份有區塊鏈的分散式資料庫的全量資料的全節點設備,還可包括備份有區塊鏈的分散式資料庫的部分資料的輕節點設備,以及其他的終端設備或用戶端,在本發明中不做限定。
區塊鏈上部署的智慧型合約,是被區塊鏈的節點設備共識驗證以保存至區塊鏈的分散式資料庫的可執行的電腦程式語言;區塊鏈上的任一節點設備均可接收區塊鏈的用戶對智慧型合約的呼叫,以執行該智慧型合約聲明的邏輯;上述執行結果經區塊鏈的節點設備共識驗證後也可被保存至區塊鏈的分散式資料庫。
在本實施例中,區塊鏈上部署有用以資料儲存和讀取的智慧型合約,用戶可通過向該智慧型合約的帳戶位址或其他標識發送交易,呼叫該智慧型合約的介面、及相應的函數,完成向所述智慧型合約內儲存資料或讀取所述智慧型合約內已儲存的資料的操作。
如圖1所示,本實施例所提供的基於區塊鏈的資料存證方法包括:
步驟102,所述存證方節點設備向所述區塊鏈發送第一目標交易,所述第一目標交易包括待儲存的目標事件資料。
在本發明中所描述的交易(transaction),是指用戶通過區塊鏈的節點設備創建,並需要最終發佈至區塊鏈的分散式資料庫中的一筆資料。其中,區塊鏈中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指用戶向區塊鏈發佈的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是用戶在區塊鏈中發起的一筆轉帳。而廣義的交易是指用戶向區塊鏈發佈的一筆任意的數據。本實施例所述的第一目標交易,是包括待儲存的目標事件資料,上述目標事件資料可以包括描述全部或部分事件發生的過程的資料,或描述事件的特徵值的資料等,其可以具體表現為契約、通知書、說明書、業務概況、訂單等各種形式,在本發明中不做限定。為了防止區塊鏈中的其他節點獲知上述目標事件資料的原文,引起一些隱私資訊的洩露,可對上述目標事件資料加密,將上述包含目標事件資料密文的第一目標交易向區塊鏈發送。
本領域的技術人員容易知道,本實施例所述的存證方,可以是上述目標事件相關方或目標事件相關方之一,也可以不屬於上述目標事件相關方,而作為一個中立方或事件存證機構方,執行本發明實施例所述的事件存證方法。
在又一示出的實施例中,上述目標事件資料還包括所述目標事件相關方所作的數位簽章,例如契約的簽署方對契約正文所作的數位簽章,通知書發佈方對通知書正文所作的數位簽章,說明書撰寫方對說明書正文所作的數位簽章,訂單訂購方對訂單內容所作的數位簽章,電子郵件的發送方對電子郵件的正文內容所作的數位簽章等等。類似於實際業務中的簽名,上述的數位簽章可以表達為目標事件相關方對目標事件資料的認定,例如契約簽署方對電子契約所作的數位簽章等。
數位簽章是簽名者基於自身的私密金鑰對其認可的資料內容的數學摘要所進行的數學加密;通過驗證數位簽章,不僅可驗證簽名者的公開金鑰所對應的身份,還可通過將上述私密金鑰加密的數學摘要與現有的資料內容所得的數學摘要進行對比,驗證現有的資料內容是否與簽名者簽署的資料內容是否一致,從而獲知現有的資料內容是否被竄改過。因此在本實施例中,通過驗證上述數位簽章,通常可供該目標事件資料的取證方對目標事件資料的簽署方身份及目標事件資料的內容是否經竄改進行驗證。
在所述第一目標交易經過所述區塊鏈節點設備的共識驗證後,該第一目標交易即可被收錄至所述區塊鏈的分散式資料庫中;區塊鏈中的任一節點設備,包括存證方節點設備在內,均可接收所述存證方節點設備發送至所述區塊鏈的第一目標交易,以基於所述第一目標交易內的智慧型合約的位址,呼叫上述智慧型合約。
步驟104,呼叫所述智慧型合約,執行所述智慧型合約聲明的資料儲存邏輯,儲存所述目標事件資料至所述智慧型合約。
上述將目標事件資料儲存至所述智慧型合約的過程,也可被視為在上述區塊鏈的分散式資料庫內更新上述智慧型合約的過程。在一示出的實施例中,所述儲存所述目標事件資料至所述智慧型合約,包括:
所述區塊鏈中具有記帳許可權的節點將所述儲存有所述目標事件資料的智慧型合約代碼加入到候選區塊;
從所述具有記帳許可權的節點中確定滿足所述區塊鏈共識機制的共識記帳節點;
所述共識記帳節點向所述區塊鏈的節點廣播所述候選區塊;
在所述候選區塊通過所述區塊鏈符合預設數量的節點的驗證認可後,所述候選區塊被視為最新區塊,加入到所述區塊鏈的分散式資料庫中。
在上述的實施例中,具有記帳許可權的節點是指具有產生候選區塊許可權的節點,可包括本發明所述的存證方節點設備、取證方節點設備及上述區塊鏈中的其他節點設備。根據所述區塊鏈的共識機制,可從上述對所述候選區塊具有記帳許可權的節點中確定共識記帳節點,上述共識機制可以包括工作量證明機制(PoW)、或權利證明機制(PoS)、或股份授權證明機制(DPoS)、或PBFT演算法機制等。
基於以上的具體過程,上述目標事件資料被儲存至所述智慧型合約,也即被儲存在所述區塊鏈的分散式資料庫中,從而完成對上述目標事件資料的區塊鏈存證。
當上述第一目標交易中包含的目標事件資料為加密的密文狀態時,上述智慧型合約既可以將上述密文解密,在智慧型合約記憶體證上述目標事件資料的原文;也可以直接存證上述目標事件資料的密文,在本發明中不做限定。
在本實施例中,為了方便其他用戶取證到上述已存證的目標事件資料,存證方節點設備還可執行步驟106:至少基於所述智慧型合約的標識產生存證標識圖像,以供其他用戶基於圖像識別的方式取證到所述智慧型合約的標識,從而在上述區塊鏈中呼叫所述智慧型合約,執行所述智慧型合約聲明的資料取證邏輯,取證所述目標事件資料。上述智慧型合約的標識通常可包括智慧型合約的地址、或智慧型合約的帳戶名稱、或智慧型合約的數位摘要值等可唯一性識別上述智慧型合約的標識。
在又一示出的實施方式中,當所述目標資料還包括所述目標事件相關方所作的數位簽章時,為方便目標事件資料的取證方節點設備在取證目標事件資料後,基於所述數位簽章對所述目標事件資料進行驗證——例如,驗證目標事件相關方的身份,或驗證區塊鏈上存證的目標事件資料是否與目標事件相關方數位簽章所簽署的目標事件資料一致,上述存證標識圖像可基於上述智慧型合約的標識和目標事件相關方的身份名稱而產生。
表徵所述智慧型合約的標識或所述目標事件相關方的身份名稱的存證標識圖像通常可採用二維條碼或條碼等數位圖像化的方式,便捷地通過圖像掃碼的方式取證上述智慧型合約的標識或/和目標事件相關方的身份名稱,以用於對目標事件資料的取證或/和驗證;但是上述二維條碼或條碼形式的存證識別圖像通常不能直觀的體現其代表的資料資訊。
圖2示意了本發明一示例性實施例提供的存證標識圖像,該存證標識圖像為至少基於所述智慧型合約的標識產生的圖片(含色彩),例如根據預設的編碼規則至少對所述智慧型合約的標識進行編碼以產生存證數位編碼,根據預設的編碼與色彩的映射關係,將所述存證數位編碼依次產生相應色彩的色塊。可選的,上述色塊可以為具有固定樣式的圖案,如圖2所示的花朵等,可以按照上述色塊產生的順序(如圖2所示的花瓣1至8的順序)產生彩色圖片。
當存證標識圖像還包括目標事件相關方的身份名稱資訊時,上述目標事件相關方的身份名稱可以採用手寫簽名的方式與上述彩色圖片共同呈現,如圖2所示的手寫簽名“林立”(標號為9),相較於上述以二維條碼或條碼的形式呈現的存證標識圖像,圖2所示的彩色圖片加手寫簽名方式呈現的存證標識圖像,取證方用戶既可以通過觀察手寫簽名,直接取證待取證或待驗證的目標事件相關方的身份名稱,具有更好的直觀性,也可以通過圖像識別的方式識別上述手寫簽名獲得事件相關方的用戶名稱;相較於條碼或二維條碼的圖像樣式,圖2所示的用彩色圖案也具有更好的美觀性。
上述實施例所述的用於資料儲存和讀取的智慧型合約,可以為指定的一個目標業務事件作存證,也可以為多個目標業務事件作存證;既可以為一個目標事件的多條目標事件資料作存證,也可以為多個目標事件的目標事件資料作存證。當上述智慧型合約用於為多個目標業務事件作存證或為一個目標業務事件的多條目標事件資料作存證時,上述智慧型合約還可為上述目標事件資料分配相應的映射碼,以供目標事件資料的取證方可基於該映射碼取證到相應的目標事件資料。上述映射碼可以包括上述智慧型合約為目標事件資料分配的序號,也可包括上述智慧型合約為目標事件資料的相關方的名稱分配的識別號,等等。相應地,上述至少基於所述智慧型合約的標識產生存證標識圖像,也應包括:至少基於所述智慧型合約的標識和所述映射碼產生存證標識圖像。
為了保證上述目標事件資料不會應任何區塊鏈用戶對該智慧型合約的調取而被獲得,保證該目標事件資料的隱私性和安全性,上述智慧型合約內還可為不同的區塊鏈用戶設置其對上述目標事件資料的取證許可權,上述取證許可權可包括:不可取證任何目標事件資料、可取證預設的部分目標事件資料、可獲得全部的目標事件資料等,可依據上述智慧型合約應用的具體場景而設置。上述對目標事件資料的取證許可權的設置,可以在該智慧型合約的部署上鏈前由該智慧型合約的部署方設置,也可在該智慧型合約部署後由具有許可權設置的管理員用戶給予設置,還可根據具體的目標事件,由該目標事件的存證方給予設置。
在一示出的實施方式中,上述由目標事件的存證方設置目標用戶的資料取證許可權的過程包括:該區塊鏈中的任一節點設備(包括所述存證方節點設備)接收所述存證方節點設備向所述區塊鏈發送的目標用戶的資料取證許可權交易,所述資料取證許可權交易用以設置所述目標用戶對所述目標事件資料的取證許可權;呼叫所述智慧型合約,執行所述智慧型合約聲明的設置用戶的資料取證許可權的邏輯,為所述目標用戶設置取證所述目標事件資料的許可權。
為了保證存證方節點設備監控上述目標事件資料的取證以保證資料的安全性,包括及時獲知從上述智慧型合約內取證到上述目標事件資料的取證方用戶,在又一示出的實施方式中,該智慧型合約還聲明有取證消息通知邏輯,用以向上述目標事件資料的存證方發送關於取證方節點設備取證上述目標事件資料的通知消息;相應地,上述存證方節點設備可接收上述智慧型合約發送的關於取證方節點設備取證上述目標事件資料的通知消息。
以上的一個或多個實施例描述了一種或多種基於區塊鏈的事件存證方法,在存證方節點設備完成對目標事件資料的存證後,存證方可將上述存證識別圖像發送至任何需要取證或驗證上述目標事件資料的區塊鏈節點設備,以供上述節點設備作為取證方節點設備取證上述目標事件資料。如圖1所示,取證上述目標事件資料的過程可以包括:
步驟108,所述取證方節點設備識別所述存證方節點設備提供的存證標識圖像,以至少取證所述智慧型合約的標識;其中,所述存證標識圖像至少基於所述智慧型合約的標識產生;
步驟110,向所述區塊鏈發送第二目標交易,所述第二目標交易包括所述智慧型合約的標識;
步驟112,呼叫所述智慧型合約,執行所述智慧型合約聲明的資料取證邏輯,取證所述目標事件資料。
如前所述,上述目標事件資料可以包括描述全部或部分目標事件發生的過程的資料,或描述目標事件的特徵值的資料等,其可以具體表現為契約、通知書、說明書、業務概況、訂單等各種形式,在本發明中不做限定。
在又一示出的實施例中,上述目標事件資料還包括所述目標事件相關方所作的數位簽章,例如契約的簽署方對契約正文所作的數位簽章,通知書發佈方對通知書正文所作的數位簽章,說明書撰寫方對說明書正文所作的數位簽章,訂單訂購方對訂單內容所作的數位簽章,電子郵件的發送方對電子郵件的正文內容所作的數位簽章等等。類似於實際業務中的簽名,上述的數位簽章可以表達為目標事件相關方對目標事件資料的認定,例如契約簽署方對電子契約所作的數位簽章等。
相應地,上述基於區塊鏈的事件取證方法還包括:基於所述數位簽章對所述目標資料進行驗證。數位簽章是簽名者基於自身的私密金鑰對其認可的資料內容的數學摘要所進行的數學加密;通過驗證數位簽章,不僅可獲得簽名者的公開金鑰,進而將上述公開金鑰提供至身份認證機構予以身份認證,從而獲知簽名者的公開金鑰所對應的身份,還可通過將上述私密金鑰加密的數學摘要與現有的資料內容所得的數學摘要進行對比,驗證現有的資料內容是否與簽名者簽署的資料內容是否一致,從而獲知現有的資料內容是否被竄改過。因此在本實施例中,通過驗證上述數位簽章,通常可供該目標事件資料的取證方對目標事件資料的簽署方身份及目標事件資料的內容是否經竄改進行驗證。
在又一示出的實施方式中,當所述目標資料還包括所述目標事件相關方所作的數位簽章時,為方便目標事件資料的取證方節點設備在取證目標事件資料後,基於所述數位簽章對所述目標事件資料進行驗證——例如,驗證目標事件相關方的身份,或驗證區塊鏈上存證的目標事件資料是否與目標事件相關方數位簽章所簽署的目標事件資料一致,上述存證標識圖像可基於上述智慧型合約的標識和目標事件相關方的身份名稱而產生。
表徵所述智慧型合約的標識或所述目標事件相關方的身份名稱的存證標識圖像通常可採用二維條碼或條碼等數位圖像化的方式,便捷地通過圖像掃碼的方式取證上述智慧型合約的標識或/和目標事件相關方的身份名稱,以用於對目標事件資料的取證或/和驗證;但是上述二維條碼或條碼形式的存證識別圖像通常不能直觀的體現其代表的資料資訊。
圖2示意了本發明一示例性實施例提供的存證標識圖像,該存證標識圖像為至少基於所述智慧型合約的標識產生的圖片(含色彩),例如根據預設的編碼規則至少對所述智慧型合約的標識進行編碼以產生存證數位編碼,根據預設的編碼與色彩的映射關係,將所述存證數位編碼依次產生相應色彩的色塊。可選的,上述色塊可以為具有固定樣式的圖案,如圖2所示的花朵等,可以按照上述色塊產生的順序(如圖2所示的花瓣1至8的順序)產生彩色圖片。取證方可通過圖像識別終端掃描上述彩色圖片,根據所述色塊的產生順序(如圖2所示的花瓣1至8的順序),識別上述具有預設樣式的色塊的色彩;根據預設的數位編碼與色彩的映射關係,將所述色塊的色彩解碼,以獲得存證數位編碼;根據預設的解碼規則,對所述存證數位編碼進行解碼以至少取證所述智慧型合約的標識。
當存證標識圖像還包括目標事件相關方的身份名稱資訊時,上述目標事件相關方的身份名稱可以採用手寫簽名的方式與上述彩色圖片共同呈現,如圖2所示的手寫簽名“林立”(標號為9),相較於上述以二維條碼或條碼的形式呈現的存證標識圖像,圖2所示的彩色圖片加手寫簽名方式呈現的存證標識圖像,取證方用戶既可以通過觀察手寫簽名,直接取證待取證或待驗證的目標事件相關方的身份名稱,具有更好的直觀性,也可以通過圖像識別的方式識別上述手寫簽名獲得事件相關方的用戶名稱;相較於條碼或二維條碼的圖像樣式,圖2所示的用彩色圖案也具有更好的美觀性。
上述實施例所述的用於資料儲存和讀取的智慧型合約,可以為指定的一個目標業務事件作存證,也可以為多個目標業務事件作存證;既可以為一個目標事件的多條目標事件資料作存證,也可以為多個目標事件的目標事件資料作存證。當上述智慧型合約用於為多個目標業務事件作存證或為一個目標業務事件的多條目標事件資料作存證時,上述智慧型合約還可為上述目標事件資料分配相應的映射碼,以供目標事件資料的取證方可基於該映射碼取證到相應的目標事件資料。上述映射碼可以包括上述智慧型合約為目標事件資料分配的序號,也可包括上述智慧型合約為目標事件資料的相關方的名稱分配的識別號,等等。相應地,上述至少基於所述智慧型合約的標識產生存證標識圖像,也應包括:至少基於所述智慧型合約的標識和所述映射碼產生存證標識圖像。在取證方節點設備進行存證標識圖像識別後,可獲得所述智慧型合約的標識和所述映射碼,並將上述智慧型合約的標識和所述映射碼一起放置於第二目標交易中,以呼叫上述智慧型合約,並基於上述映射碼取證到相應的目標事件資料。
為了保證上述目標事件資料不會應任何區塊鏈用戶對該智慧型合約的調取而被獲得,保證該目標事件資料的隱私性和安全性,上述智慧型合約內還可為不同的區塊鏈用戶設置其對上述目標事件資料的取證許可權,上述取證許可權可包括:不可取證任何目標事件資料、可取證預設的部分目標事件資料、可獲得全部的目標事件資料等,可依據上述智慧型合約應用的具體場景而設置。上述對目標事件資料的取證許可權的設置,可以在該智慧型合約的部署上鏈前由該智慧型合約的部署方設置,也可在該智慧型合約部署後由具有許可權設置的管理員用戶給予設置,還可根據具體的目標事件,由該目標事件的存證方給予設置。
因此,所述執行所述智慧型合約聲明的資料取證邏輯,取證所述目標資料,包括:獲得所述取證方對所述目標資料的取證許可權;基於所述取證方對所述目標資料的取證許可權,執行所述智慧型合約聲明的資料取證邏輯。具體的,上述取證方的資料取證許可權的設置可以通過設置用戶白名單、用戶黑名單、用戶許可權設置表等技術手段來實現,在此不再贅述。
與上述流程實現對應,本發明的實施例還提供了一種基於區塊鏈的事件存證裝置和一種基於區塊鏈的事件取證。該裝置可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為邏輯意義上的裝置,是通過所在設備的CPU(Central Process Unit,中央處理器)將對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,除了圖5所示的CPU、記憶體以及儲存裝置之外,網路風險業務的實現裝置所在的設備通常還包括用於進行無線信號收發的晶片等其他硬體,和/或用於實現網路通訊功能的板卡等其他硬體。
如圖3所示,本發明還提供了一種基於區塊鏈的事件存證裝置30,應用於包括存證方節點設備的區塊鏈中;所述區塊鏈上部署有用於資料儲存和讀取的智慧型合約;所述裝置30包括:
發送單元302,所述存證方節點設備向所述區塊鏈發送第一目標交易,所述第一目標交易包括待儲存的目標事件資料;
智慧型合約執行單元304,呼叫所述智慧型合約,執行所述智慧型合約聲明的資料儲存邏輯,儲存所述目標事件資料至所述智慧型合約;
圖像產生單元306,至少基於所述智慧型合約的標識產生存證標識圖像。
在又一示出的實施方式中,所述目標事件資料還包括目標事件相關方所作的數位簽章,以供取證方節點設備基於所述數位簽章對所述目標事件資料進行驗證;
所述圖像產生單元306:
至少基於所述智慧型合約的標識和所述目標事件相關方的身份名稱產生存證標識圖像。
在又一示出的實施方式中,所述圖像產生單元306:
根據預設的編碼規則至少對所述智慧型合約的標識進行編碼以產生存證數位編碼;
根據預設的編碼與色彩的映射關係和預設的色塊產生順序,將所述存證數位編碼依次產生具有預設樣式的色塊。
在又一示出的實施方式中,所述的裝置30還包括:
接收單元308,接收所述智慧型合約為所述目標事件資料分配的映射碼;
所述圖像產生單元306:
至少基於所述智慧型合約的標識和所述映射碼產生存證標識圖像。
在又一示出的實施方式中,所述發送單元302:
向所述區塊鏈發送目標用戶的資料取證許可權交易,所述資料取證許可權交易用以設置所述目標用戶對所述目標事件資料的取證許可權;
所述智慧型合約執行單元304,呼叫所述智慧型合約,執行所述智慧型合約聲明的設置用戶的資料取證許可權的邏輯,為所述目標用戶設置取證所述目標事件資料的許可權。
在又一示出的實施方式中,所述的裝置30還包括接收單元310:接收所述智慧型合約發送的取證方節點設備取證所述目標資料的通知消息。
相應的,如圖4所示,本發明還提供了一種基於區塊鏈的事件取證裝置40,應用於包括存證方節點設備和取證方節點設備的區塊鏈中;所述區塊鏈上部署有已儲存目標事件資料的智慧型合約;所述裝置40包括:
圖像識別單元402,所述存證方節點設備識別所述存證方節點設備提供的存證標識圖像,以至少取證所述智慧型合約的標識;其中,所述存證標識圖像至少基於所述智慧型合約的標識產生;
發送單元404,向所述區塊鏈發送第二目標交易,所述第二目標交易包括所述智慧型合約的標識;
智慧型合約執行單元406,呼叫所述智慧型合約,執行所述智慧型合約聲明的資料取證邏輯,取證所述目標事件資料。
在又一示出的實施方式中,所述目標事件資料還包括目標事件相關方所作的數位簽章;
所述裝置40還包括:
資料驗證單元408,基於所述數位簽章對所述目標資料進行驗證。
在又一示出的實施方式中,所述圖像識別單元402:
根據預設的色塊產生順序和預設的數位編碼與色彩的映射關係,將所述色塊的色彩依次轉化為存證數位編碼;
根據預設的解碼規則,對所述存證數位編碼進行解碼以至少取證所述智慧型合約的標識。
在又一示出的實施方式中,所述存證標識圖像至少基於所述智慧型合約的標識和所述智慧型合約為所述目標事件資料分配的映射碼產生;
所述圖像識別單元402:識別所述存證標識圖像以至少取證所述智慧型合約的標識和所述映射碼;
所述第二目標交易還包括所述映射碼。
在又一示出的實施方式中,所述智慧型合約為所述取證方設置有對所述目標事件資料的取證許可權;所述智慧型合約執行單元404:
獲得所述取證方對所述目標事件資料的取證許可權;
基於所述取證方對所述目標資料的取證許可權,執行所述智慧型合約聲明的資料取證邏輯。
上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,相關之處參見方法實施例的部分說明即可,在此不再贅述。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部單元或模組來實現本發明方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的裝置、單元、模組,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、筆記型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本發明的實施例還提供了一種電腦設備,該電腦設備包括記憶體和處理器。其中,記憶體上儲存有能夠由處理器運行的電腦程式;處理器在運行儲存的電腦程式時,執行本發明實施例中基於區塊鏈的事件存證方法的各個步驟。對基於區塊鏈的事件存證方法的各個步驟的詳細描述請參見之前的內容,不再重複。
與上述方法實施例相對應,本發明的實施例還提供了一種電腦設備,該電腦設備包括記憶體和處理器。其中,記憶體上儲存有能夠由處理器運行的電腦程式;處理器在運行儲存的電腦程式時,執行本發明實施例中基於區塊鏈的事件取證方法的各個步驟。對基於區塊鏈的事件取證方法的各個步驟的詳細描述請參見之前的內容,不再重複。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。
電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本發明的實施例可提供為方法、系統或電腦程式產品。因此,本發明的實施例可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本發明的實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
102-112:步驟
1-8:花瓣
9:簽名
30:裝置
302:發送單元
304:智慧型合約執行單元
306:圖像產生單元
40:裝置
402:圖像識別單元
404:發送單元
406:智慧型合約執行單元
圖1為本發明一示例性實施例提供的基於區塊鏈的資料存證、取證方法的流程圖;
圖2為本發明又一實施例提供的存證標識圖像示意圖;
圖3為本發明一示例性實施例提供的基於區塊鏈的資料存證裝置的示意圖;
圖4為本發明一示例性實施例提供的基於區塊鏈的資料取證裝置的示意圖;
圖5為運行本發明示例性實施例所提供的基於區塊鏈的資料存證或驗證裝置實施例的一種硬體結構圖。