馬 冉,楊孝天,李 江,闕培斯,曾一洪,高 飛
(西藏大學(xué)信息科學(xué)技術(shù)學(xué)院,西藏拉薩 850000)
隨著國(guó)家大力發(fā)展稅務(wù)平臺(tái)與網(wǎng)絡(luò)支付用戶的逐年上漲,電子發(fā)票逐漸成為主要的消費(fèi)憑證,發(fā)票無(wú)紙化是當(dāng)今發(fā)展的趨勢(shì)[1]。由于目前存在的電子發(fā)票中真?zhèn)涡浴踩浴⑼暾缘葐?wèn)題和目前電子發(fā)票系統(tǒng)中存在的重復(fù)報(bào)銷[2]、管理難度大、信息不對(duì)稱、信息孤島問(wèn)題[3],文獻(xiàn)[4]提出財(cái)務(wù)機(jī)器人處理報(bào)賬系統(tǒng),該系統(tǒng)可以代替做重復(fù)、簡(jiǎn)單的工作;文獻(xiàn)[5]提出基于國(guó)密簽名算法的電子發(fā)票公開(kāi)驗(yàn)證架構(gòu),提出發(fā)票防偽簽名碼,實(shí)現(xiàn)多重?cái)?shù)據(jù)核驗(yàn)和簽名;文獻(xiàn)[6]提出基于區(qū)塊鏈技術(shù)的電子發(fā)票防偽追溯研究,設(shè)計(jì)了模型和管理流程;文獻(xiàn)[7]將聯(lián)盟鏈和發(fā)票結(jié)合,設(shè)計(jì)了框架,實(shí)現(xiàn)發(fā)票數(shù)據(jù)共享。
區(qū)塊鏈電子發(fā)票以信息不可篡改和全流程完整追溯的特征得到高度關(guān)注[8],由于目前對(duì)于基于區(qū)塊鏈電子發(fā)票平臺(tái)[9]研究主要集中于稅務(wù)平臺(tái),對(duì)于NFT 電子發(fā)票系統(tǒng)與電子發(fā)票相關(guān)研究并不多,故而文中將電子發(fā)票結(jié)合NFT 技術(shù),提出了基于NFT的稅務(wù)電子發(fā)票防偽系統(tǒng),該系統(tǒng)具有可溯源、不可篡改、數(shù)據(jù)永久存儲(chǔ)、唯一等特性,將其應(yīng)用于電子發(fā)票系統(tǒng)中,以達(dá)到以下目的:①防偽、降低管理難度,提高用戶信息安全、真實(shí)反饋消費(fèi)信息;②發(fā)票的來(lái)源可追溯、發(fā)票入賬信息透明公開(kāi)、避免一票多報(bào);③智能扣稅、提高報(bào)銷的效率、減少人力成本,推動(dòng)報(bào)賬系統(tǒng)的高速發(fā)展。
1)NFT 的特性如下:
①不可互換性。NFT 是一種特殊的加密貨幣[10],但具有與比特幣、以太幣等加密貨幣不同的特點(diǎn),由于NFT 可能代表不同的基礎(chǔ)資產(chǎn),例如房子和畫作,故其不能代表不同價(jià)值,不具有互換性;
②不具有統(tǒng)一性。統(tǒng)一性類似于人民幣,百元人民幣編號(hào)雖然不同,但由于其面值都是百元,可以直接交換,因此具有統(tǒng)一性。相對(duì)于非同質(zhì)化代幣而言,每個(gè)代幣都不同;
③不可分割性。同質(zhì)化代幣可以分割,例如百元人民幣可以拆分為50 元、兩張20 元和10 元,拆分之后與拆分前價(jià)值相同。但是NFT 不可拆分,其基本單位也是一個(gè)代幣;
④可驗(yàn)證性。可以公開(kāi)驗(yàn)證NFT 的所有權(quán);
⑤防篡改性。NFT 數(shù)據(jù)存儲(chǔ)于區(qū)塊鏈上,不可以篡改數(shù)據(jù)。
2)NFT 的協(xié)議標(biāo)準(zhǔn)[11]。ERC 是Ethereum Request for Comments(以太坊征求意見(jiàn)提案)的縮寫。同質(zhì)化代幣的協(xié)議為ERC-20,若兩種代幣協(xié)議都是ERC-20,則可以進(jìn)行交換。非同質(zhì)化代幣在ERC-721 標(biāo)準(zhǔn)中使用更加廣泛,具有可繼承性。
多重簽名目前多應(yīng)用于資產(chǎn)管理[12],在多重簽名機(jī)制中,使用橢圓曲線數(shù)字簽名(ECDSA)密碼機(jī)制,用于保證報(bào)賬資產(chǎn)的安全,防止資金被盜。在多重簽名的M-N 模型中[13],N個(gè)用戶為一個(gè)資產(chǎn)簽名,當(dāng)簽名數(shù)量達(dá)到M時(shí),可以進(jìn)行交易。其中雙重簽名中必須兩人都同意才可以使用資金,同時(shí)第二個(gè)簽名者可以對(duì)簽名進(jìn)行審核。目前,多重簽名運(yùn)用于電子商務(wù)進(jìn)行交易、財(cái)產(chǎn)分割、資金監(jiān)管等。
文中將電子發(fā)票防偽與NFT 相結(jié)合,基于NFT技術(shù)框架的電子發(fā)票整體架構(gòu)如圖1 和圖2 所示。電子發(fā)票系統(tǒng)架構(gòu)由應(yīng)用層、服務(wù)層、合約層、共識(shí)層、網(wǎng)絡(luò)層、數(shù)據(jù)層組成。

圖1 基于NFT的電子發(fā)票防偽系統(tǒng)圖

圖2 基于NFT的電子發(fā)票防偽系統(tǒng)底層架構(gòu)
應(yīng)用層通過(guò)構(gòu)建NFT 電子發(fā)票服務(wù)平臺(tái)為稅務(wù)部門、收款方和付款方提供相應(yīng)發(fā)票服務(wù);服務(wù)層在平臺(tái)運(yùn)行過(guò)程中,為收款方和付款方提供開(kāi)發(fā)票、電子發(fā)票溯源服務(wù),為稅務(wù)部門提供電子發(fā)票數(shù)據(jù)管理、數(shù)據(jù)管理等操作;合約層將電子發(fā)票中相關(guān)信息、扣稅標(biāo)準(zhǔn)、NFT 生成規(guī)則、NFT 轉(zhuǎn)移規(guī)則等錄入?yún)^(qū)塊鏈的智能合約之中,再通過(guò)預(yù)先設(shè)置觸發(fā)條件和響應(yīng)條件來(lái)執(zhí)行NFT 電子發(fā)票相關(guān)規(guī)則,提高執(zhí)行效率,減少人為干預(yù);共識(shí)層采用權(quán)益證明機(jī)制[14](Proof of Stake,PoS)和股權(quán)委托證明機(jī)制[15](Delegated Proof of Stake,DPoS)。DPoS 在PoW 與PoS 基礎(chǔ)上提出通過(guò)投票方式確認(rèn)共識(shí),能量消耗低;網(wǎng)絡(luò)層保證記賬功能可以很好地運(yùn)行,其基于P2P(Peer-to-Peer)網(wǎng)絡(luò)機(jī)制、身份驗(yàn)證機(jī)制。在全網(wǎng)節(jié)點(diǎn)進(jìn)行廣播達(dá)成共識(shí),生成區(qū)塊;數(shù)據(jù)層是區(qū)塊鏈的最底層,包含了數(shù)據(jù)區(qū)塊、結(jié)構(gòu)等數(shù)據(jù)特征,確保了區(qū)塊不會(huì)篡改。
文中采用Bellare-Neven(BN)Multi-Signature 多重簽名算法[16],該算法是一種安全的多簽名算法。已知橢圓曲線E 和點(diǎn)G,電子發(fā)票多重簽名生成過(guò)程如下所示:
步驟一 開(kāi)票方和收票方通過(guò)線下或者線上等平臺(tái)確認(rèn)發(fā)票信息,包括時(shí)間戳、金額、數(shù)量,收票方提供發(fā)票抬頭、稅號(hào)等信息;
步驟二 開(kāi)票方公鑰X1=x1G,稅務(wù)部門公鑰X2=x2G,其中x1、x2分別為開(kāi)票方和稅務(wù)部門的私鑰;
步驟三 計(jì)算R,R=R1+R2,其中,Ri=ri*G。
步驟四 計(jì)算公鑰的哈希函數(shù)值:L=H(X1‖X2),其中,H為哈希函數(shù);
步驟五 開(kāi)票方對(duì)發(fā)票信息進(jìn)行簽名,簽名信息為(R1,s1),其中s1=r1+H(X‖X1‖R‖m)x1,m為待簽名消息;
步驟六 將發(fā)票信息、隨機(jī)數(shù)ri、簽名信息通過(guò)NFT 電子發(fā)票系統(tǒng)安全傳送至稅務(wù);
步驟七 稅務(wù)部門對(duì)于發(fā)票信息以及開(kāi)發(fā)票方的簽名信息進(jìn)行審核,審核內(nèi)容為s×G=R+H(L,X1,R,m)×X+H(L,X2,R,m)×X;
步驟八 稅務(wù)部門對(duì)發(fā)票信息進(jìn)行簽名,最終生成簽名信息(R,s);
步驟九 將簽名信息以及發(fā)票信息生成NFT 標(biāo)識(shí),生成最終的防偽標(biāo)識(shí)。
電子發(fā)票多重簽名的流程圖如圖3 所示。通過(guò)賦予approvers 一個(gè)可以批準(zhǔn)交易的地址數(shù)組,賦予transfer 一個(gè)可以跟蹤轉(zhuǎn)賬的方法,并在映射結(jié)構(gòu)獲取待批準(zhǔn)交易地址,進(jìn)行approvers 初始化,審核交易信息是否合法;通過(guò)getTransfer()方法獲得所有待審核信息,getapprovers()完成審核。

圖3 電子發(fā)票多重簽名的流程圖
NFT 制作流程如下:
步驟一 鑄幣tokenid。tokenid=H(invoice),其中invoice 為代幣電子發(fā)票信息,H為處理函數(shù),tokenid為發(fā)票唯一標(biāo)識(shí)。
步驟二 代幣化。在以太坊公鏈上進(jìn)行NFT 智能合約部署,制定協(xié)議標(biāo)準(zhǔn)ERC-721,通過(guò)tokenUrl來(lái)標(biāo)識(shí)電子發(fā)票的唯一id。其中tokenid 和tokenUrl一一對(duì)應(yīng),具有唯一屬性。NFT 持有者將其寫入鏈中便可獲得NFT 的唯一id。
步驟三 查看與修改。①查看:通過(guò)NFT標(biāo)識(shí)在鏈上查詢相關(guān)電子發(fā)票信息,通過(guò)系統(tǒng)還原電子發(fā)票信息②修改:重置tokenid 所對(duì)應(yīng)內(nèi)容,轉(zhuǎn)讓NFT 所有權(quán)。
NFT 應(yīng)用于電子發(fā)票實(shí)現(xiàn)流程圖如圖4 所示。在開(kāi)票方和收票方都確定交易信息的情況下,將發(fā)票結(jié)構(gòu)包括時(shí)間、客戶地址、金額、數(shù)量等信息存入?yún)^(qū)塊鏈中,雙方確認(rèn)之后生成發(fā)票信息,開(kāi)票方在簽名之后將發(fā)票信息、簽名等信息通過(guò)NFT 電子發(fā)票系統(tǒng)傳遞給稅務(wù)部門,稅務(wù)部門在接收到信息后,進(jìn)行審核和簽名,再由系統(tǒng)將其信息生成NFT 防偽標(biāo)識(shí),開(kāi)始鑄幣,NFT 完成鑄幣并將存儲(chǔ)在區(qū)塊鏈上,將NFT 所有權(quán)傳遞給收票方,通過(guò)設(shè)置tag 來(lái)標(biāo)識(shí)是否報(bào)銷,同時(shí)tag 標(biāo)志改為TRUE,發(fā)票的生成環(huán)節(jié)結(jié)束。收票方可以依據(jù)電子發(fā)票進(jìn)行報(bào)賬,納稅人和納稅部門可以進(jìn)行審核操作。

圖4 NFT電子發(fā)票實(shí)現(xiàn)流程
圖5 所示為添加發(fā)票信息界面,添加客戶地址和發(fā)票金額、開(kāi)票日期、納稅人抬頭等信息,點(diǎn)擊創(chuàng)建后,發(fā)票信息添加了開(kāi)票方簽名,通過(guò)系統(tǒng)傳送到稅務(wù)部門進(jìn)行審核。

圖5 添加發(fā)票信息
如圖6 所示,收票方可以通過(guò)獲取未報(bào)銷的發(fā)票獲取當(dāng)前信息,信息中包含客戶編號(hào)、金額等。

圖6 查看未報(bào)銷的發(fā)票
如圖7 所示,稅務(wù)部門審核發(fā)票信息,通過(guò)審核仿真,點(diǎn)擊通過(guò),其中1表示審核通過(guò),0表示未審核。

圖7 稅務(wù)部門審核
文中將基于NFT 的電子發(fā)票系統(tǒng)和其他系統(tǒng)進(jìn)行比較,結(jié)果如表1 所示。表1 中,√代表該方案具有某功能,×表示不具有某功能。

表1 文中方案與同類方案安全功屬性
多方驗(yàn)證:開(kāi)票方的有效簽名表明發(fā)票信息經(jīng)過(guò)發(fā)票方核驗(yàn)。
抗攻擊性:開(kāi)票方和稅務(wù)部門在確定其有效性后進(jìn)行簽名驗(yàn)證,可以做到抗攻擊。并且在發(fā)送過(guò)程中,發(fā)票信息、隨機(jī)數(shù)、簽名信息經(jīng)加密傳送至稅務(wù)部端,在驗(yàn)證完成且簽名之后,將信息生成NFT 標(biāo)識(shí),能夠保證發(fā)票信息的唯一性防止攻擊。
抗泄露性:文中發(fā)票系統(tǒng)通過(guò)橢圓加密算法將信息進(jìn)行加密,之后進(jìn)行信息傳遞,橢圓加密算法可以有效的防止信息泄露。
隱私保護(hù):文中將發(fā)票數(shù)據(jù)中的私密數(shù)據(jù)通過(guò)加密方式存儲(chǔ)和流轉(zhuǎn)。發(fā)票抬頭中單位可以使用私鑰完成解密,獲取發(fā)票內(nèi)容,以完成后續(xù)報(bào)銷。
唯一性:發(fā)票中的隨機(jī)數(shù)、時(shí)間戳、最后生成的NFT 編碼都保持發(fā)票的唯一性。電子發(fā)票開(kāi)具時(shí)間增加時(shí)間戳防止偽造發(fā)票。
文中基于報(bào)賬系統(tǒng)存在的問(wèn)題與電子發(fā)票的涉密信息等,提出基于NFT 的稅務(wù)電子發(fā)票的防偽系統(tǒng)研究。使用NFT 技術(shù)解決目前電子發(fā)票中存在的發(fā)票重復(fù)報(bào)賬、發(fā)票信息不能夠真實(shí)反映消費(fèi)情況、孤島問(wèn)題、信息不對(duì)稱等問(wèn)題;通過(guò)判定NFT 來(lái)確認(rèn)電子發(fā)票的真?zhèn)涡浴?duì)于發(fā)票重復(fù)使用的情況,也可以通過(guò)NFT 標(biāo)識(shí)進(jìn)行查詢。通過(guò)溯源可查到發(fā)票的所有信息,包括消費(fèi)者、商家、納稅者、稅務(wù)部門等信息。文中提出可以通過(guò)智能合約進(jìn)行扣稅,通過(guò)增加相關(guān)條件進(jìn)行扣稅操作,可以達(dá)到操作公正透明、降低人力資本、簡(jiǎn)化目前納稅方式的目的。