背景技術(shù):
1、本發(fā)明一般涉及數(shù)字資產(chǎn)領(lǐng)域,尤其涉及認證數(shù)字資產(chǎn)和驗證數(shù)字資產(chǎn)的所有權(quán)。
2、區(qū)塊鏈是共享的、不可變的賬本,其促進了在商業(yè)網(wǎng)絡(luò)中記錄交易和跟蹤資產(chǎn)的過程。資產(chǎn)可以是有形的(房屋、汽車、現(xiàn)金、土地)或無形的(知識產(chǎn)權(quán)、專利、版權(quán)、品牌)。不可替換代幣(nft)是與特定數(shù)字或物理資產(chǎn)相關(guān)聯(lián)的區(qū)塊鏈上的記錄。nft鑄造是取得數(shù)字文件并將其變成可以被存儲在區(qū)塊鏈上的數(shù)字資產(chǎn)的過程。一旦nft變成數(shù)字資產(chǎn),就可以使nft進入流通,并且可以經(jīng)由智能合約來銷售nft。智能合約是計算機程序或交易協(xié)議,其旨在根據(jù)合約或協(xié)議的條款自動地執(zhí)行、控制或記錄法律相關(guān)事件和動作。例如,當nft從一個加密貨幣錢包被轉(zhuǎn)移到另一個時,附加到nft的智能合約被執(zhí)行。加密貨幣錢包是存儲用于加密貨幣交易的公鑰和/或私鑰的設(shè)備、物理介質(zhì)、程序或服務(wù)。nft的所有權(quán)被記錄在區(qū)塊鏈中,并且可以由所有者轉(zhuǎn)移,從而允許nft被銷售和交易。
3、在鑄造過程期間,當區(qū)塊鏈將包含加密散列(其是標識數(shù)據(jù)集的字符集)的記錄連接到先前記錄時,nft被創(chuàng)建,從而創(chuàng)建可標識的數(shù)據(jù)區(qū)塊鏈。該加密交易過程通過提供跟蹤nft的所有權(quán)的數(shù)字簽名來確保每個數(shù)字資產(chǎn)的認證。數(shù)字資產(chǎn)通??蓮墓膬Υ鎺煜螺d。數(shù)字資產(chǎn)也可以在許多不同的平臺或市場上被持有、出售、交易、許諾銷售。這意味著,某人可以從一個平臺取得數(shù)字資產(chǎn)并在另一個平臺或市場上創(chuàng)建原始數(shù)字資產(chǎn)的映像的偽造品。
4、加密貨幣錢包是存儲用于加密貨幣交易的公鑰和/或私鑰的設(shè)備、物理介質(zhì)、程序或服務(wù)。加密貨幣錢包附有公鑰和私鑰。公鑰的作用類似于電子郵件地址,這意味著它可以安全地與其他人共享,從而允許你發(fā)送或接收資產(chǎn)。然而,私鑰是使得數(shù)字資產(chǎn)的持有者能夠進行交易并證明其數(shù)字資產(chǎn)的所有權(quán)的安全碼。私鑰通常是一串字母和數(shù)字。公鑰允許你接收加密貨幣交易。雖然任何人都可以將交易發(fā)送到公鑰,但是你需要私鑰來“解鎖”它們,并且證明你是在交易中接收到的加密貨幣的所有者。
5、隨著區(qū)塊鏈技術(shù)的出現(xiàn),內(nèi)容創(chuàng)建者已經(jīng)能夠?qū)⑺麄兊膭?chuàng)建數(shù)字化并將它們作為nft在市場中出售。nft的缺點之一是任何人都可以使用nft中的鏈接來訪問url并從儲存庫下載資產(chǎn)。然后,他們可以在另一個nft市場上鑄造新的nft,從而宣稱為資產(chǎn)的所有者。然后,挑戰(zhàn)變成證明資產(chǎn)的真實所有權(quán)。
6、us20200242105a1描述了“一種用于創(chuàng)建結(jié)合了影響和外延(“knft”)的可操作的數(shù)字資產(chǎn)和代幣的分布式計算平臺和方法。knft應(yīng)用服務(wù)器可以被配置為通過分布式計算網(wǎng)絡(luò)從遠程計算節(jié)點接收對新的不可替代代幣的請求,其中knft包括唯一knft標識符、至少一個元數(shù)據(jù)元素、以及至少一個社交向量…社交動作可以包括用戶評論、連接、直接消息、點贊、或好評,并且knft的所有權(quán)的改變可以由knft?api寫入社交向量。社交向量可以包括來自至少一個先前所有者的社交向量數(shù)據(jù),并且knft還可以包括合并了knft的所有權(quán)歷史的流通蹤跡向量?!痹搮⒖嘉墨I未能解決在賬本上提供安全機制以認證數(shù)字資產(chǎn)交易的問題。本發(fā)明的實施例是有利的,并且認識到通過提供用于認證數(shù)字資產(chǎn)交易的安全機制來保護數(shù)字資產(chǎn)的方法的需求和重要性。本發(fā)明的實施例通過使用用于驗證的活躍度散列(liveness?hash)來解決賬本上的這個問題。
7、防止數(shù)字資產(chǎn)欺詐的另一種方式是檢查其它已注冊或已知的市場。當前,nft被生成,并且下載原始資產(chǎn)所需的元數(shù)據(jù)通常被嵌入作為nft的一部分。因此,有權(quán)訪問元數(shù)據(jù)的任何人都能夠下載原始資產(chǎn)。這為偽造、假冒和其他漏洞提供了機會。此外,資產(chǎn)本身可以被存儲在某個第三方網(wǎng)站中,該網(wǎng)站在某個時刻可能停止運營,這可能導致原始資產(chǎn)的丟失。然而,本發(fā)明的實施例認識到,用加密映像來鑄造數(shù)字資產(chǎn)增加了確定數(shù)字資產(chǎn)的真實性的可能性。
8、現(xiàn)有的nft創(chuàng)建和驗證過程對公眾是開放的。現(xiàn)有的nft鑄造過程包括對象存儲庫中的映像散列和映像的url。這意味著,任何人都可以通過nft中的資產(chǎn)散列或地址來驗證散列,并計算該散列以檢驗匹配。此外,通過復制資產(chǎn)、創(chuàng)建散列、以及在同一個或不同的平臺用相同的映像鑄造另一個nft,很容易實施nft盜竊。本發(fā)明的實施例通過資產(chǎn)位置和活躍度散列來解決這個問題。此外,所引用的資產(chǎn)被加密。在本發(fā)明的實施例中,所有權(quán)驗證不依賴于nft中的數(shù)據(jù)。在本發(fā)明的實施例中,請求者提供一次性數(shù)字(nonce),并且所有者儲存庫執(zhí)行活躍度散列以便證明所有權(quán)。
技術(shù)實現(xiàn)思路
1、根據(jù)本發(fā)明的一個實施例,公開了一種用于驗證數(shù)字資產(chǎn)的所有權(quán)的計算機實現(xiàn)的方法。所述計算機實現(xiàn)的方法包括:由一個或多個處理器響應(yīng)于接收到對用于加密數(shù)字資產(chǎn)的公鑰的請求,向所述數(shù)字資產(chǎn)的所有者發(fā)送所述公鑰。所述計算機實現(xiàn)的方法還包括:由所述一個或多個處理器從所述數(shù)字資產(chǎn)的所述所有者接收加密的數(shù)字資產(chǎn)和第一活躍度散列,其中,所述數(shù)字資產(chǎn)是使用所述公鑰加密的,所述第一活躍度散列是至少部分地基于未加密形式的所述數(shù)字資產(chǎn)和第一一次性數(shù)字來生成的。所述計算機實現(xiàn)的方法還包括:響應(yīng)于從來自所述數(shù)字資產(chǎn)的所述所有者的所述加密的數(shù)字資產(chǎn)中接收到所述第一一次性數(shù)字和所述第一活躍度散列,確定所述第一活躍度散列是否有效。所述計算機實現(xiàn)的方法還包括:由所述一個或多個處理器響應(yīng)于確定所述第一活躍度散列有效,生成數(shù)字資產(chǎn)記錄,其中,所述數(shù)字資產(chǎn)記錄包括所述加密的數(shù)字資產(chǎn)和所述第一活躍度散列。本發(fā)明的實施例有利于生成活躍度散列來代替散列。
2、根據(jù)本發(fā)明的另一個實施例,公開了一種用于驗證數(shù)字資產(chǎn)的所有權(quán)的計算機程序產(chǎn)品。所述計算機程序產(chǎn)品包括一個或多個計算機可讀存儲介質(zhì)和存儲在一個或多個計算機可讀存儲介質(zhì)上的程序指令。所述程序指令包括響應(yīng)于接收到對用于加密數(shù)字資產(chǎn)的公鑰的請求,向所述數(shù)字資產(chǎn)的所有者發(fā)送所述公鑰的指令。所述程序指令還包括從所述數(shù)字資產(chǎn)的所述所有者接收加密的數(shù)字資產(chǎn)和第一活躍度散列的指令,其中,所述數(shù)字資產(chǎn)是使用所述公鑰加密的,所述第一活躍度散列是至少部分地基于未加密形式的所述數(shù)字資產(chǎn)和第一一次性數(shù)字來生成的。所述程序指令還包括響應(yīng)于從來自所述數(shù)字資產(chǎn)的所述所有者的所述加密的數(shù)字資產(chǎn)中接收到所述第一一次性數(shù)字和所述第一活躍度散列,確定所述第一活躍度散列是否有效的指令。所述程序指令還包括響應(yīng)于確定所述第一活躍度散列有效,生成數(shù)字資產(chǎn)記錄的指令,其中,所述數(shù)字資產(chǎn)記錄包括所述加密的數(shù)字資產(chǎn)和所述第一活躍度散列。本發(fā)明的實施例有利于生成活躍度散列來代替散列。
3、根據(jù)本發(fā)明的另一個實施例,公開了一種用于驗證數(shù)字資產(chǎn)的所有權(quán)的計算機系統(tǒng)。所述計算機系統(tǒng)包括一個或多個計算機處理器、一個或多個計算機可讀存儲介質(zhì)以及計算機程序指令,所述計算機程序指令被存儲在所述一個或多個計算機可讀介質(zhì)上以用于由所述一個或多個計算機處理器執(zhí)行。所述程序指令包括響應(yīng)于接收到對用于加密數(shù)字資產(chǎn)的公鑰的請求,向所述數(shù)字資產(chǎn)的所有者發(fā)送所述公鑰的指令。所述程序指令還包括從所述數(shù)字資產(chǎn)的所述所有者接收加密的數(shù)字資產(chǎn)和第一活躍度散列的指令,其中,所述數(shù)字資產(chǎn)是使用所述公鑰加密的,所述第一活躍度散列是至少部分地基于未加密形式的所述數(shù)字資產(chǎn)和第一一次性數(shù)字來生成的。所述程序指令還包括響應(yīng)于從來自所述數(shù)字資產(chǎn)的所述所有者的所述加密的數(shù)字資產(chǎn)中接收到所述第一一次性數(shù)字和所述第一活躍度散列,確定所述第一活躍度散列是否有效的指令。所述程序指令還包括響應(yīng)于確定所述第一活躍度散列有效,生成數(shù)字資產(chǎn)記錄的指令,其中,所述數(shù)字資產(chǎn)記錄包括所述加密的數(shù)字資產(chǎn)和所述第一活躍度散列。本發(fā)明的實施例有利于生成活躍度散列來代替散列。
4、根據(jù)本發(fā)明的另一個實施例,公開了一種用于驗證數(shù)字資產(chǎn)的所有權(quán)的計算機實現(xiàn)的方法。所述計算機實現(xiàn)的方法包括:由一個或多個處理器從請求實體接收用于數(shù)字資產(chǎn)的所有者提供所述數(shù)字資產(chǎn)的所有權(quán)證明的請求,其中,所述請求包括第一一次性數(shù)字。所述計算機實現(xiàn)的方法還包括:響應(yīng)于接收到用于所述數(shù)字資產(chǎn)的所述所有者提供所述數(shù)字資產(chǎn)的所有權(quán)證明的所述請求。所述計算機實現(xiàn)的方法還包括:由所述一個或多個處理器將所述第一一次性數(shù)字發(fā)送到所述數(shù)字資產(chǎn)的所述所有者。所述計算機實現(xiàn)的方法還包括:由所述一個或多個處理器從所述數(shù)字資產(chǎn)的所述所有者接收與數(shù)字映像相關(guān)聯(lián)的映像id和第一活躍度散列。所述計算機實現(xiàn)的方法還包括:由所述一個或多個處理器驗證所述數(shù)字資產(chǎn)的所有權(quán)證明。本發(fā)明的實施例有利于生成活躍度散列來代替散列。