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

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

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

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

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

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

圖6 查看未報銷的發(fā)票
如圖7 所示,稅務部門審核發(fā)票信息,通過審核仿真,點擊通過,其中1表示審核通過,0表示未審核。

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

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