本發(fā)明涉及一種數(shù)字資產(chǎn)的編碼方法,涉及資產(chǎn)數(shù)字變化技術(shù)領(lǐng)域。
背景技術(shù):
現(xiàn)有的資產(chǎn)數(shù)字化技術(shù)主要包括如下方法:
1)中心化機(jī)構(gòu)資產(chǎn)數(shù)字化方案,通過統(tǒng)一的資產(chǎn)登記,以及由一個(gè)中心進(jìn)行記錄的資產(chǎn)數(shù)字化方案;
2)基于通用唯一識別碼的分布環(huán)境的資產(chǎn)數(shù)字化方案,通過網(wǎng)絡(luò)地址、機(jī)器時(shí)間、機(jī)器特征媽等元素,形成分布式環(huán)境的資產(chǎn)數(shù)字化方案。
現(xiàn)有的資產(chǎn)數(shù)字化技術(shù)的主要缺陷:
1)中心登記資產(chǎn)成本高
現(xiàn)有的各種機(jī)構(gòu)和組織統(tǒng)一登記的資產(chǎn),需要一個(gè)功能齊全的中心進(jìn)行資產(chǎn)登記,需要保障中心的可靠運(yùn)行,資產(chǎn)登記成本高,維護(hù)成本根據(jù)資產(chǎn)的數(shù)量遞增;
2)中心登記只適用于單系統(tǒng)
中心登記資產(chǎn)只適用于單個(gè)系統(tǒng)內(nèi)的資產(chǎn)流轉(zhuǎn),不適用于多系統(tǒng),以及多系統(tǒng)之間的系統(tǒng)協(xié)同,多中心的協(xié)同需要新的資產(chǎn)中心;
3)通用唯一識別碼脫離資產(chǎn)內(nèi)容
通用唯一識別碼是通過網(wǎng)絡(luò)、機(jī)器以及時(shí)間等因素產(chǎn)生的唯一識別碼,和資產(chǎn)本身之間無語義關(guān)系,脫離資產(chǎn)內(nèi)容。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是解決上述現(xiàn)有技術(shù)的不足,提供一種數(shù)字資產(chǎn)編碼方法。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
一種數(shù)字資產(chǎn)編碼方法,包括如下步驟:
1)根據(jù)資產(chǎn)內(nèi)容形成數(shù)字化的資產(chǎn)內(nèi)容文件,資產(chǎn)內(nèi)容包括資產(chǎn)發(fā)行方、資產(chǎn)名稱、資產(chǎn)發(fā)行數(shù)量;
2)根據(jù)數(shù)字化資產(chǎn)文件,進(jìn)行歸一化數(shù)據(jù)處理;
3)利用哈希摘要算法,對歸一化的數(shù)字化資產(chǎn)文件產(chǎn)生數(shù)字資產(chǎn)內(nèi)容摘要;
4)對數(shù)字資產(chǎn)內(nèi)容摘要設(shè)置前綴,用于區(qū)別不同的數(shù)字資產(chǎn),同時(shí)拼接形成中間資產(chǎn)編碼;
5)計(jì)算中間資產(chǎn)編碼摘要,取中間資產(chǎn)編碼的前四個(gè)字節(jié)作為校驗(yàn)值;
6)利用base58編碼字母表,根據(jù)中間資產(chǎn)編碼的前綴、中間資產(chǎn)編碼的校驗(yàn)值以及數(shù)字資產(chǎn)編碼哈希內(nèi)容,生成數(shù)字資產(chǎn)編碼最終版本。
7)對生成的數(shù)字資產(chǎn)編碼最終版本進(jìn)行登記。
進(jìn)一步的,中間資產(chǎn)編碼的前綴為一個(gè)字節(jié)。
進(jìn)一步的,生成的數(shù)字資產(chǎn)編碼最終版本存儲在區(qū)塊鏈系統(tǒng)網(wǎng)關(guān)中。
進(jìn)一步的,摘要算法的函數(shù)是sha256,其中在計(jì)算中間資產(chǎn)編碼摘要時(shí),兩次利用sha256計(jì)算摘要。
從上述技術(shù)方案可以看出本發(fā)明具有以下優(yōu)點(diǎn):數(shù)字資產(chǎn)是有算法生成,任何一個(gè)數(shù)字資產(chǎn)使用者可以產(chǎn)生自己的數(shù)字資產(chǎn),而且不是重復(fù);數(shù)字資產(chǎn)編碼的產(chǎn)生無需第三方服務(wù)器,或者第三方庫,數(shù)字資產(chǎn)使用者,可以根據(jù)編碼規(guī)則,自己產(chǎn)生編碼:數(shù)字資產(chǎn)編碼的產(chǎn)生是有數(shù)字資產(chǎn)內(nèi)容,而不是第三方系統(tǒng)的自增編碼等,數(shù)字資產(chǎn)的編碼是經(jīng)過編碼,是可以辨識的,可以自解釋的;數(shù)字資產(chǎn)編碼的產(chǎn)生是依賴于數(shù)字內(nèi)容的,只要數(shù)字資產(chǎn)內(nèi)容不一樣,就可以產(chǎn)生不同的數(shù)字資產(chǎn)編碼,無需處理數(shù)字資產(chǎn)標(biāo)準(zhǔn);數(shù)字資產(chǎn)編碼存儲可以存儲在一個(gè)資產(chǎn)網(wǎng)關(guān),也可以存儲在多個(gè)資產(chǎn)網(wǎng)關(guān),多個(gè)資產(chǎn)網(wǎng)關(guān)之間存儲的數(shù)字資產(chǎn)編碼不沖突。
具體實(shí)施方式
本發(fā)明的數(shù)字資產(chǎn)編碼方法,包括如下步驟:
1)根據(jù)資產(chǎn)內(nèi)容形成數(shù)字化的資產(chǎn)內(nèi)容文件,根據(jù)要發(fā)行的數(shù)字資產(chǎn),收集數(shù)字資產(chǎn)內(nèi)容,包括資產(chǎn)發(fā)行方、資產(chǎn)名稱、資產(chǎn)發(fā)行數(shù)量等,這些資產(chǎn)內(nèi)容數(shù)字資產(chǎn)編碼者可以自我定義,無關(guān)最終的編碼形成;
2)根據(jù)數(shù)字化資產(chǎn)文件,進(jìn)行歸一化數(shù)據(jù)處理,該步驟可以通過計(jì)算機(jī)程序?qū)崿F(xiàn);
3)利用哈希摘要算法,如采用算法sha256,對歸一化后的數(shù)字化資產(chǎn)文件產(chǎn)生數(shù)字資產(chǎn)內(nèi)容摘要;
4)對經(jīng)數(shù)字資產(chǎn)內(nèi)容摘要設(shè)置一個(gè)字節(jié)的前綴,例如添加前導(dǎo)00前綴,形成中間資產(chǎn)編碼,用于區(qū)別不同的數(shù)字資產(chǎn),
5)計(jì)算中間資產(chǎn)編碼的摘要,也是采用sha256函數(shù),對取得的摘要再次利用sha256計(jì)算摘要,取最終摘要的前四個(gè)字節(jié)作為校驗(yàn)值。
6)利用base58編碼字母表,根據(jù)中間資產(chǎn)編碼的前綴、中間資產(chǎn)編碼的校驗(yàn)值以及數(shù)字資產(chǎn)編碼哈希內(nèi)容,生成數(shù)字資產(chǎn)編碼最終版本,資產(chǎn)編碼哈希內(nèi)容是指步驟3中產(chǎn)生的數(shù)字資產(chǎn)內(nèi)容摘要。
7)對生成的數(shù)字資產(chǎn)編碼最終版本進(jìn)行登記,可以登記在基于區(qū)塊鏈的網(wǎng)關(guān)中。
綜上,數(shù)字資產(chǎn)是有算法生成,任何一個(gè)數(shù)字資產(chǎn)使用者可以產(chǎn)生自己的數(shù)字資產(chǎn),而且不是重復(fù);數(shù)字資產(chǎn)編碼的產(chǎn)生無需第三方服務(wù)器,或者第三方庫,數(shù)字資產(chǎn)使用者,可以根據(jù)編碼規(guī)則,自己產(chǎn)生編碼:數(shù)字資產(chǎn)編碼的產(chǎn)生是有數(shù)字資產(chǎn)內(nèi)容,而不是第三方系統(tǒng)的自增編碼等,數(shù)字資產(chǎn)的編碼是經(jīng)過編碼,是可以辨識的,可以自解釋的;數(shù)字資產(chǎn)編碼的產(chǎn)生是依賴于數(shù)字內(nèi)容的,只要數(shù)字資產(chǎn)內(nèi)容不一樣,就可以產(chǎn)生不同的數(shù)字資產(chǎn)編碼,無需處理數(shù)字資產(chǎn)標(biāo)準(zhǔn);數(shù)字資產(chǎn)編碼存儲可以存儲在一個(gè)資產(chǎn)網(wǎng)關(guān),也可以存儲在多個(gè)資產(chǎn)網(wǎng)關(guān),多個(gè)資產(chǎn)網(wǎng)關(guān)之間存儲的數(shù)字資產(chǎn)編碼不沖突。