一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种兼具隐私保护和监管的NFT确权与流通方法

2022-06-02 14:36:24 来源:中国专利 TAG:

一种兼具隐私保护和监管的nft确权与流通方法
技术领域
1.本发明属于区块链技术领域,具体涉及一种兼具隐私保护和监管的nft确权与流通方法。


背景技术:

2.随着区块链技术的发展,全球出现了各种各样的nft平台。nft (non-fungible tokens)即“非同质化代币”,具有不可分割、唯一、不可替代等特性,这些特性是nft区别于比特币等货币的本质特点。作为一种数字资产,nft可以在市场内流通,也可以代替现实生活中的某些物品在虚拟市场进行流通。
[0003][0004]
因此本发明着重于解决nft平台的监管问题,通过引入监管,有效解决nft平台可能存在的恶意炒作、买卖方信息泄漏、伪造 nft以及恶意干扰交易市场等问题。在监管的同时,保障用户的隐私并通过引入鉴定证书来提升nft确权的权威性以及在市场内的流通性。


技术实现要素:

[0005]
本发明的目的是提供一种兼具隐私保护和监管的nft确权与流通方法,以解决当前nft平台在上传、保存、认证、交易nft时,可能存在的恶意炒作、买卖方信息泄漏、伪造nft以及恶意干扰交易市场等问题。
[0006]
兼具隐私保护和监管的nft确权与流通系统的方法主要功能模块包括:nft的上链、确权鉴定、安全流通,用户操作nft以及市场交互,平台管理员审核nft与管理平台,监管机构监管用户行为与nft历史行为,鉴定机构出具nft鉴定证书。本发明主要包含四类角色:普通用户、系统管理员、监管机构、鉴定机构。
[0007]
为了实现上述目的,本发明通过如下的技术方案来实现:
[0008]
一种兼具隐私保护和监管的nft确权与流通系统,包括:
[0009]
(1)普通用户:用户是系统的主要使用者,nft的上传者和持有者,用户的行为受到监管机构的监管。
[0010]
(2)系统管理员:审核用户上传的nft,强制下架侵权假冒的 nft,审理用户的举报以及查看平台的各类统计数据。
[0011]
(3)监管机构:对用户的历史交易行为发起审查,监管nft的历史记录,监管平台的各类统计数据。
[0012]
(4)鉴定机构:鉴定机构对提出鉴定申请的nft出具鉴定证书。
[0013]
(5)区块链:存储用户的加密交易记录以及各类操作记录、 nft数据并为系统提供功能支持。
[0014]
(6)系统服务器:是系统内所有角色沟通的桥梁,执行各种加密算法并执行部分逻辑功能。
[0015]
其运行过程如下:系统服务器为四类角色提供必要服务并连通区块链,用户在系
统内对nft进行上传、交易、鉴定等操作,其上传nft、交易nft、更改nft价格、下架nft的操作记录及其验证值会被加密记录到区块链中,用户可以解密,同时受到监管机构的监管。系统管理员处理用户的nft上链申请、统计平台各类数据、审理举报和下架市场上存在问题的各类艺术品。监管机构监管用户的各种行为,在用户恶意炒作、伪造nft以及恶意干扰交易市场等行为被监管机构证实后,监管机构执行相应的惩罚措施并通知平台管理员。鉴定机构为用户需要鉴定的nft出具鉴定证书并将证书上链。
[0016]
一种兼具隐私保护和监管的nft确权与流通方法,包括如下步骤:
[0017]
步骤1.系统初始化:nft确权与流通系统在建立时,根据监管机构提供的各类标准构建初始化参数,主要在于系统加密方案的建设,包括初始化监管机构公开参数及公私钥、初始化区块链系统参数、初始化鉴定机构公私钥。
[0018]
步骤2.用户注册:用户注册时,除了基本信息(包括用户注册时的id,以及登陆系统所用的密码)外,系统将为用户生成认证公私钥pka,ska,交易公私钥pk
at
,sk
at
,以及交易使用的隐秘参数。
[0019]
步骤3.处理用户与系统交互所产生的信息:为保证用户与nft 交互产生的各种信息安全,减少恶意炒作nft、买卖方信息泄漏、伪造nft以及恶意干扰交易市场问题,系统对用户与nft之间的操作记录进行加密处理。
[0020]
步骤4.鉴定机构为提出鉴定申请的nft进行鉴定,鉴定通过后出具鉴定证书并盖章上链。
[0021]
步骤5.监管机构对用户和nft进行监管。
[0022]
步骤1具体方法如下:
[0023]
1-1.初始化监管机构公开参数及私钥:
[0024]
监管机构发布标准,系统根据监管机构生成的公开参数构建初始化参数,监管机构公开参数生成方法如下:
[0025]
首先,在有限域f
p
下选取一大素数p和一条阶为n的椭圆曲线 e
p
(a,b)。之后随机选择一个数和一个ex(a,b)的生成元的基点 p,之后计算监管机构的公钥pks(公式1),私钥sks(公式2),称为认证公私钥,一对用于rsa加解密的公私钥对pkn,skn,称为监管公私钥。
[0026]
pks=x
·
p#(1)
[0027]
sks=x#(2)
[0028]
之后监管机构发布公开参数《e
p
(a,b),n,p,pks,pkn》,本地保存sks,skn。
[0029]
1-2.初始化区块链系统参数:
[0030]
区块链系统参数为用户注册公私钥和生成认证因子时提供必要的支持。生成区块链系统参数的方法如下:
[0031]
首先构造一个双线性群其中是椭圆曲线上两个p阶素数循环加法群,是p阶循环乘法群,ψ是满足ψ是满足的可计算同构。是weil配对:之后选择:选择一个生成元计算p1=ψ(p2)。之后发布区块链系统参数
[0032]
1-3.初始化鉴定机构公私钥:
[0033]
鉴定机构为用户需要鉴定的nft出具鉴定证书,证书上印有系统特制的印章,通过系统对证书上的印章进行验证,判断是否为鉴定机构出具的证书,在生成印章的过程中采用鉴定机构的公私钥 pke,ske进行签名与验签,确保证书难以伪造。初始化鉴定机构公私钥的方法如下:鉴定机构本地选择一对用于rsa加解密的 pke,ske,之后发布pke。
[0034]
步骤2具体方法如下:
[0035]
生成用户隐秘参数和公私钥的方法如下:
[0036]
(1)用户a在本地计算生成认证公钥pka(公式3),ida为用户的账号。再利用随机数y和pka生成用户的认证私钥ska(公式4),以及一对支持rsa加密的交易公私钥pk
at
,sk
at
。:
[0037]
pka=h1(ida)#(3)
[0038]
ska=y
·
pka#(4)
[0039]
(2)用户a根据监管机构开放的公开参数生成认证因子以确保后续交易时交易记录被随时有效监管。用户a本地生成两个随机数 x
a1
,x
a2
,之后计算用户的合法注册id:reida,即通过监管机构认证的id(公式5)。再计算rx
a1
,rx
a2
,这两个参数是为了后续传输时对x
a1
,x
a2
进行保护而设置的(公式6-7)。
[0040]
reida=h(ida||x
a1
)#(5)
[0041][0042][0043]
之后,用户a构造一个点pa(公式8)该点包含了用户a的注册信息,再随机生成一个随机数z,用户a本地计算加密传输的消息 ct0,ct1,ct2(公式9-11)。定义pxor是一种点异或方法,计算方式是点的各个值分别进行异或或一个数和一个点的两个值分别进行异或生成一个新点。计算完成后将pka,ct0,ct1,ct2发送给监管机构。
[0044]
pa=(h2(pka)||rx
a1
,reida||rx
a2
)#(8)
[0045][0046]
ct1=pxor(pa,z
·
pks)#(10)
[0047]
ct2=z
·
p#(11)
[0048]
(3)监管机构收到pka,ct0,ct1,ct2后,先尝试恢复pa(公式 12)得到p
′a,之后从p
′a中恢复出h
′2(pka),reida,rx
a1
,rx
a2
。然后监管机构检查本地计算的h2(pka)是否和监管机构恢复出的h
′2(pka)一致,若一致,则监管机构尝试解密ct0恢复出id
′a(公式13),并检查恢复出的id
′a是否和监管机构已知的ida一致。
[0049]
p
′a=pxor(ct1,sks·
ct2)#(12)
[0050][0051]
如果以上的检查结果全部一致的话,监管机构通过系统服务器将 《ida,pka》键值对上链,否则中断认证过程并通知用户认证失败。再计算用户a的认证因子afa(公式14),并做pxor运算生成加密传输的消息ct3以在网络传输中隐藏afa的具体信息(公式15)。最后将ct3发送给用户a。
[0052]
afa=reida·
h(sks)
·
p#(14)
[0053]
ct3=pxor(rx
a2
,afa)#(15)
[0054]
(4)用户a根据收到的ct3恢复出认证因子afa(公式16),并本地存储《afa,x
a1
,rx
a1
,rx
a2
》以及储存认证因子的当前时间戳t
now
,公开reida。
[0055]
afa=pxor(rx
a2
,ct3)#(16)
[0056]
步骤3具体方法如下:
[0057]
3-1.用户执行nft相关操作:
[0058]
用户上传nft后,在平台管理员审核通过后,该nft上链,系统生成一条用用户公钥加密的操作记录和验证值,该记录存储在区块链上,并且除监管机构监管时通过代理重加密技术解密外,只有用户自己能够解密并访问。
[0059]
用户的操作记录在系统内按如下格式进行记录,其中type字段包括create(上链nft),change(变更nft价格),sold(售出 nft),buy(购买nft),certificate(鉴定机构出具鉴定证书)。
[0060]
typedetail
[0061]
五种操作形成的操作记录context如下:
[0062]
typecontextcreatecreate,ida||t||token||hash(n)||numberchangechange,ida||t||token||pr1||pr2soldsold,ida||id
sold
||t||token||pr||tid||tkbuybuy,ida||id
buy
||t||token||pr||tid||tkcertcert,ida||id
cer
||cer
id
||t||token||hash(c)
[0063]
其中ida指用户a的id,t指执行操作的时间戳,token指nft 的唯一代码,hash(n)指nft的描述文件(图片、视频、文本等) 的哈希值,number指该nft在上链时被分为了多少份。pr1指更改价格之前的价格,pr2指更改价格之后的价格,id
sold
指买方的id, pr指出售时的价格,tid指买方使用的随机id,tk是本次交易双方协商的交易密钥(后续步骤介绍),id
buy
指卖方的id,id
cer
指该证书颁发机构的id,cer
id
指证书号,hash(c)是指证书上所有字段的哈希值。
[0064]
操作记录形成context后,系统利用用户a的认证公钥pka进行 rsa加密context(公式17),同时记录下context的验证值(公式18),将用户的加密操作记录ctext和用户操作记录的哈希值htext记录至区块链中。
[0065][0066]
htext=hash(context)#(18)
[0067]
用户查看历史操作记录时,则在用户本地使用用户的认证私钥解密所有操作记录(公式19)。
[0068][0069]
3-2.用户交易时的交易记录的加密处理:
[0070]
在用户a(卖方)与用户b(买方)交易的情景下,用户b知道用户a的基础信息,包括ida以及想要购买的nft信息,但是为了保护买方的隐私,用户a不清楚用户b的基本信息,只能看到有用户购买nft。为了达成上述效果和保证交易的顺利进行,用户a和用户b按如下流程进行协商:
[0071]
(1)用户b在购买之前,首先检查本地是否存在与用户a曾经协商生成的tid,tk。当用户b本地不存在与用户a协商生成的 tid,tk时,则进入协商阶段:
[0072]
先在本地准备协商必要的参数,首先用户b本地生成两个随机数k,tk(公式20),并计算加密传输的消息ct4(公式21),ct
5 (公式22),以及验证值vb(公式23)。
[0073]
k,tk=random()#(20)
[0074]
ct4=k
·
reida·
afb·
tk#(21)
[0075]
ct5=k
·
reidb#(22)
[0076]vb
=h(ct4||reida)#(23)
[0077]
(2)用户b在本地计算生成自己的交易随机tid,用户b首先选择一个随机数z,之后本地计算加密传输的消息ct6(公式24),ct7(公式25)。之后生成仅用于和a交易的tid(公式26),之后通过系统服务器将tid,ct6,ct7发送给用户a,用户a在下次上线时,选择处理本次协商请求或拒绝协商请求。
[0078][0079][0080]
tid=h1(ct6||ct7)#(26)
[0081]
(3)用户a在收到协商请求后,首先检查接收到的tid和 h1(ct6||ct7)是否一致,之后解密ct7恢复出ct5,tk,vb,t1(公式 27)。然后用户a检查t1到解密的时间是否在自身可接受的范围内,若用户a接受该时间,则接着本地计算ct
′4(公式28),v
′b(公式 29),用户a再检查本地计算得到的v
′b和恢复出的vb是否一致。
[0082][0083]
ct
′4=tk
·
afa·
ct5#(28)
[0084]v′b=h(ct
′4||reida)#(29)
[0085]
(4)如果一致,则用户a本地生成自己的协商消息cta(公式 30),和验证值va(公式31),之后将tid,ct6,ct8,t2,va发送至服务器(同意协商回复)并将tk作为与该tid身份的交易密钥,由服务器转发给用户b进行验证。服务器在转发时,同时将《tid,ct6》 键值对上链。
[0086]
ct8=pxor(tk,ct
′4)#(30)
[0087]va
=h(ct8||t2)#(31)
[0088]
(5)用户b收到a的同意协商回复后,先检查t2时间是否在自身可接受的时间范围内,如果用户b接受该时间,则用户b检查本地的ct4是否和pxor(tk,ct
′8)一致,若一致,用户b在本地存储下与用户a交易的交易密钥tk和tid,下一次与用户a进行交易协商时,用户b先检查本地是否存在与用户a的交易密钥tk和tid,若存在则使用用户a的交易公钥加密交易密钥tk和tid(公式32),通过服务器发送给用户a,服务器转发给用户a。用户a收到后,恢复出交易密钥tk和tid,检查本地是否存在一致的交易密钥tk和tid,若存在,直接将tk作为本次交易密钥。若不存在,则重新进入协商阶段。
[0089][0090]
之后用户a和用户b正式进入交易阶段,在交易结束后,服务器不存储任何交易记录,系统将其操作记录按照步骤3-1加密存储至区块链上,同时为了有效及时监管,用户的
交易记录会按照以下方式记录:
[0091]
tiddetail
[0092]
对于用户a与用户b的交易,用户b本地会生成一条加密交易记录(公式33),以《tid,dc》键值对发送给服务器,之后服务器将该键值对和内容ida||idb||pr||t3||token的哈希值一并记录至区块链上。
[0093][0094]
3-3.nft全生命周期内状态改变的记录加密:
[0095]
对于nft在其生命周期内存在多次变更所有者的情况,当前拥有者不应掌握nft的历史状态改变的细节,但监管机构在某些情况下可能会需要知道nft在其生命周期内状态改变记录,以通过这些记录来发现可疑交易、可疑用户和可疑操作,从而给监管提供更多可行途径。
[0096]
nft在上链至弃用的过程中,会发生上链(upload),变更价格 (change),变更状态(switch)(状态包括在售、珍藏、弃用三种状态),变更拥有者(owner),证书状态变更(certificate),变更名称(name),变更描述文件(description)等七种状态变更。nft的状态变更记录按如下格式记录:
[0097]
typedetail
[0098] detail所含内容如下:
[0099]
typecontextuploadupload,ida||t||hash(n)||numberchangechange,ida||t||pr1||pr2switchswitch,ida||t||s1||s2||rownerowner,ida||idb||t||pr||tid||tkcertcert,id
cer
||ida||cer
id
||t||token||hash(c)namename,ida||t||n1||n2descriptiondescription,ida||t||d1||d2[0100]
其中s1,s2表示更改前的状态和更改后的状态,r为保留字段,在由在售状态转到珍藏状态时包括用户主动下架和强制下架两种原因,n1,n2表示更改前的名称和更改后的名称,d1,d2表示更改前的描述文件内容和更改后的描述文件内容。系统在nft状态更改完成后,将对应操作的操作记录按《token,c》键值对结构上链,c是 context加密后形成的加密记录(公式34)。
[0101][0102]
步骤4具体方法如下:
[0103]
用户首先向鉴定机构申请鉴定,并将nft的基础信息通过系统服务器发送给鉴定机构,鉴定机构受理后,根据用户提交的材料进行鉴定,之后根据鉴定结果出具鉴定证书。鉴定证书上刻有特制印章,支持对鉴定机构主体进行认证。印章生成方法如下:
[0104]
首先鉴定机构生成证书的具体值m
cer
,之后将hash(m
cer
)存储到区块链上,之后生成证书的签名sig(公式35)。再利用鉴定机构提供的电子印章图片模版、证书上链的交易号、和证书签名sig生成印章:将证书上链交易号与证书签名一同构成印章外环,将数据提
供方官方印章图徽作为印章内环。
[0105][0106]
印章验证方法如下:
[0107]
系统首先验证印章上包含的签名(公式36),之后再从服务器中取得证书的具体值m
cer
并计算得到hash

(m
cer
),将hash

(m
cer
)和链上存储的hash(m
cer
)进行比对,比对一致即认为该印章是真实的。
[0108][0109]
步骤5具体方法如下:
[0110]
5-1.监管机构监查nft:
[0111]
监管机构在对一件nft发起审查时,对该nft从上传到当前的操作记录c利用监管机构的监管私钥skn进行rsa解密(公式37)。之后监管机构对解密得到的context中的内容进行审查,获取可疑用户的id,可疑交易的tid,tk。通过可疑用户的id对用户直接进行监管,通过可疑交易的tid,tk对当次交易进行监管。
[0112][0113]
5-2.监管机构监查交易细节:
[0114]
在用户a和用户b交易的情景下,用户a向监管机构举报和用户b交易的tid,请求监管机构对交易进行审查,监管机构首先根据《tid,ct6》键值对找到ct6,之后解密ct6(公式38)获得卖方 ida,买方idb,买方申请该tid的时间t1,与该tid对应的交易密钥 tk,并验证加密记录ct6的签名是否正确(公式39)。
[0115][0116][0117]
之后,监管机构根据《tid,dc》键值对找到加密记录dc,并用交易密钥解密dc得到交易的具体细节(公式40),之后再检查恢复出的内容的哈希值,确保用户上传的是真实的交易细节。再从中获得卖方ida,买方idb,交易价格pr,交易时间t3,交易nft的token。通过解密dc得到的信息,监管机构可以进一步对买卖双方进行审查,对交易涉及的nft进行审查。
[0118][0119]
5-3.监管机构对用户进行审查:
[0120]
监管机构应当在获得用户的同意下进行监管,但无论用户是否同意监管,监管机构在获得足够证据的情况下,可以通知系统管理员对用户的账号及其nft进行限制。例如,监管机构对用户b进行直接审查,首先向服务器发出审查请求,服务器将审查通知发送给用户b,并将用户b所有历史操作记录ctext,htext一并发送,用户 b本地解密ctext并验证hash(context)=htext是否成立(公式 41),若不成立用户b需要通知平台对其历史数据有效性进行核查。之后将所有历史记录打包为contexts,并生成一个随机密钥key,利用key对contexts进行aes加密得到ct
10
(公式42)。之后利用用户b的交易密钥加密随机密钥key得到ct
11
(公式43)。再生成重加密密钥rkb→
x
(公式44)。之后将ct
10
,ct
11
,rkb→
x
发送给服务器。
[0121]
[0122][0123][0124]
rkb→
x
=keygen(pkn,sk
bt
)#(44)
[0125]
服务器通过重加密密钥加密ct
11
得到ct
12
(公式45),之后将 ct
10
,ct
12
和操作记录的验证值发送给监管机构。
[0126][0127]
监管机构通过监管私钥解密ct
12
得到随机密钥key(公式46)。再利用随机密钥解密ct
10
(公式47),之后验证每条操作记录和验证值是否匹配。最后,监管机构对用户b历史的操作记录进行监管。
[0128][0129][0130]
本发明有益效果如下:
[0131]
提出了一种兼具隐私保护和监管的nft确权与流通方法,对 nft的隐私记录、用户的操作记录、交易信息进行保护,同时引入了监管者的角色保证nft市场有序运行,引入鉴定机构保证nft确权的权威性和可信性。主要优点如下:
[0132]
(1)隐私保护。一种兼具隐私保护和监管的nft确权与流通系统采用多种密码学算法,保护用户的隐私操作记录、nft历史操作记录、交易记录。其中用户的隐私操作记录只有用户自己可以解密,在接受监管机构审查的情况下可以被监管机构解密,nft历史操作记录只有监管机构可以解密,交易记录在交易双方一方提出举报的情况下,监管机构可以解密。
[0133]
(2)高效监管。监管机构是保证nft交易市场正常运行重要角色,监管机构有三种基本的监管方式,分别是对交易进行监管,对 nft进行监管和对用户直接进行监管。这三种基本监管方式又可以组合起来,组合成多种复杂的监管方式。
[0134]
(3)权威确权。鉴定机构是nft确权的重要角色,鉴定机构可以为nft出具鉴定证书,具有一定权威性,拥有鉴定证书的nft,其流通性会得到提高。同时,鉴定证书的印章也经过特殊设计,无法盗用和伪造。
[0135]
主要功能包括:
[0136]
(1)nft全生命周期内各种操作记录的加密上链。nft在注册上链到弃用的过程中,会发生上链,变更价格,变更状态,变更拥有者,证书状态变更,变更名称,变更描述文件等状态变更记录,系统会自动收集并加密这些记录,用于后续的nft监管。
[0137]
(2)用户交易时的双方协商以及交易加密。用户交易行为是系统内最敏感的操作之一,从交易协商阶段到交易结束阶段应全程保密。系统主要保护了两方面的内容,分别为卖方对买方的匿名认证并协商交易密钥和交易信息加密保护。同时,交易信息的加密采用交易密钥,该加密密钥在协商阶段确保可由监管机构监管,为监管机构后续监管交易信息打下基础。
[0138]
(3)监管机构的多方位监管。监管机构可以对系统中各类数据进行有效监管,包括系统内各项统计数据、用户历史操作记录、nft 历史状态变更记录以及交易记录。对可疑记录、可疑交易、可疑用户进行有效的监管并在掌握证据后可以通过系统对用户进行诸多惩
罚措施,保证了系统市场各部分正常运行。
[0139]
(4)鉴定机构对nft出具鉴定证书。用户可以申请鉴定机构对 nft出具鉴定证书,鉴定机构会综合评估用户提交的证明材料来出具鉴定证书,证书印有特制印章,有效防止假冒和盗用。
附图说明
[0140]
图1本发明实施例系统架构图;
[0141]
图2本发明实施例用户注册示意图;
[0142]
图3本发明实施例交易协商示意图;
[0143]
图4本发明实施例交易监管示意图;
[0144]
图5本发明实施例用户监管示意图;
具体实施方式
[0145]
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图对本发明作进一步的说明。
[0146][0147]
[0148]
系统架构设计,如图1所示:
[0149]
(1)普通用户:用户是系统的主要使用者,nft的上传者和持有者,用户的行为受到监管机构的监管。
[0150]
(2)系统管理员:审核用户上传的nft,强制下架侵权假冒的 nft,审理用户的举报以及查看平台的各类统计数据。
[0151]
(3)监管机构:对用户的历史交易行为发起审查,监管nft的历史记录,监管平台的各类统计数据。
[0152]
(4)鉴定机构:鉴定机构对提出鉴定申请的nft出具鉴定证书。
[0153]
(5)区块链:存储用户的加密交易记录以及各类操作记录、nft 数据、功能函数等。
[0154]
(6)系统服务器:是系统内所有角色沟通的桥梁,执行各种加密算法并执行部分逻辑功能。
[0155]
其运行过程如下:系统服务器为四类角色提供必要服务并连通区块链,用户在系统内可以对nft进行上传、交易、鉴定等操作,其上传nft、交易nft、更改nft价格、下架nft的操作记录及其验证值会被加密记录到区块链中,用户可以解密,同时受到监管机构的监管。平台管理员处理用户的nft上链申请、统计平台各类数据、审理举报和下架市场上存在问题的各类艺术品。监管机构监管用户的各种行为,在用户恶意炒作、伪造nft以及恶意干扰交易市场等行为被监管机构证实后,监管机构执行相应的惩罚措施并通知平台管理员。鉴定机构为用户需要鉴定的nft出具鉴定证书并将证书上链。
[0156]
一种兼具隐私保护和监管的nft确权与流通方法,包括如下步骤:
[0157]
步骤1.系统初始化:nft确权与流通系统在建立时,根据监管机构提供的各类标准构建初始化参数,主要在于系统加密方案的建设,包括初始化监管机构公开参数及公私钥、初始化区块链系统参数、初始化鉴定机构公私钥。
[0158]
1-1.初始化监管机构公开参数及私钥:
[0159]
监管机构发布标准,系统根据监管机构生成的公开参数构建初始化参数,监管机构公开参数生成方法如下:
[0160]
首先,在有限域f
p
下选取一大素数p和一条阶为n的椭圆曲线 e
p
(a,b)。之后随机选择一个数和一个f
p
(a,b)的生成元的基点 p,之后计算监管机构的公钥pks(公式1),私钥sks(公式2),称为认证公私钥,一对用于rsa加解密的公私钥对pkn,skn,称为监管公私钥。
[0161]
pks=x
·
p#(1)
[0162]
sks=x#(2)
[0163]
之后监管机构发布公开参数《e
p
(a,b),n,p,pks,pkn》,本地保存sks,skn。
[0164]
1-2.初始化区块链系统参数:
[0165]
区块链系统参数为用户注册公私钥和生成认证因子时提供必要的支持。生成区块链系统参数的方法如下:
[0166]
首先构造一个双线性群其中是椭圆曲线上两个p阶素数循环加法群,是p阶循环乘法群,ψ是满足ψ是满足的可计算同构。是weil配对:之后选择:
选择一个生成元计算p1=ψ(p2)。之后发布区块链系统参数
[0167]
1-3.初始化鉴定机构公私钥:
[0168]
鉴定机构为用户需要鉴定的nft出具鉴定证书,证书上印有系统特制的印章,通过系统对证书上的印章进行验证,判断是否为鉴定机构出具的证书,在生成印章的过程中采用鉴定机构的公私钥 pke,ske进行签名与验签,确保证书难以伪造。初始化鉴定机构公私钥的方法如下:鉴定机构本地选择一对用于rsa加解密的 pke,ske,之后发布pke。
[0169]
步骤2.用户注册:如图2所示,用户注册时,除了基本信息 (包括用户注册时的id,以及登陆系统所用的密码)外,系统将为用户生成认证公私钥pka,ska,交易公私钥pk
at
,sk
at
,以及交易使用的隐秘参数。
[0170]
生成用户隐秘参数和公私钥的方法如下:
[0171]
(1)用户a在本地计算生成认证公钥pka(公式3),ida为用户的账号。再利用随机数y和pka生成用户的认证私钥ska(公式4),以及一对支持rsa加密的交易公私钥pk
at
,sk
at
。:
[0172]
pka=h1(ida)#(3)
[0173]
ska=y
·
pka#(4)
[0174]
(2)用户a根据监管机构开放的公开参数生成认证因子以确保后续交易时交易记录被随时有效监管。用户a本地生成两个随机数 x
a1
,x
a2
,之后计算用户的合法注册id:reida,即通过监管机构认证的id(公式5)。再计算rx
a1
,rx
a2
,这两个参数是为了后续传输时对x
a1
,x
a2
进行保护而设置的(公式6-7)。
[0175]
reida=h(ida||x
a1
)#(5)
[0176][0177][0178]
之后,用户a构造一个点pa(公式8)该点包含了用户a的注册信息,再随机生成一个随机数z,用户a本地计算加密传输的消息 ct0,ct1,ct2(公式9-11)。定义pxor是一种点异或方法,计算方式是点的各个值分别进行异或或一个数和一个点的两个值分别进行异或生成一个新点。计算完成后将pka,ct0,ct1,ct2发送给监管机构。
[0179]
pa=(h2(pka)||rx
a1
,reida||rx
a2
)#(8)
[0180][0181]
ct1=pxor(pa,z
·
pks)#(10)
[0182]
ct2=z
·
p#(11)
[0183]
(3)监管机构收到pka,ct0,ct1,ct2后,先尝试恢复pa(公式 12)得到p
′a,之后从p
′a中恢复出h
′2(pka),reida,rx
a1
,rx
a2
。然后监管机构检查本地计算的h2(pka)是否和监管机构恢复出的h
′2(pka)一致,若一致,则监管机构尝试解密ct0恢复出id
′a(公式13),并检查恢复出的id
′a是否和监管机构已知的ida一致。
[0184]
p
′a=pxor(ct1,sks·
ct2)#(12)
[0185][0186]
如果以上的检查结果全部一致的话,监管机构通过系统服务器将 《ida,pka》键值对上链,否则中断认证过程并通知用户认证失败。再计算用户a的认证因子afa(公式14),并做pxor运算生成加密传输的消息ct3以在网络传输中隐藏afa的具体信息(公式15)。最后将ct3发送给用户a。
[0187]
afa=reida·
h(sks)
·
p#(14)
[0188]
ct3=pxor(rx
a2
,afa)#(15)
[0189]
(4)用户a根据收到的ct3恢复出认证因子afa(公式16),并本地存储《afa,x
a1
,rx
a1
,rx
a2
》以及储存认证因子的当前时间戳 t
now
,公开reida。
[0190]
afa=pxor(rx
a2
,ct3)#(16)
[0191]
步骤3.处理用户与系统交互所产生的信息:为保证用户与nft 交互产生的各种信息安全,减少恶意炒作nft、买卖方信息泄漏、伪造nft以及恶意干扰交易市场问题,系统对用户与nft之间的操作记录进行加密处理。
[0192]
3-1.用户执行nft相关操作:
[0193]
用户上传nft后,在平台管理员审核通过后,该nft上链,系统生成一条用用户公钥加密的操作记录和验证值,该记录存储在区块链上,并且除监管机构监管时通过代理重加密技术解密外,只有用户自己能够解密并访问。
[0194]
用户的操作记录在系统内按如下格式进行记录,其中type字段包括create(上链nft),change(变更nft价格),sold(售出 nft),buy(购买nft),certificate(鉴定机构出具鉴定证书)。
[0195]
typedetail
[0196]
五种操作形成的操作记录context如下:
[0197]
typecontextcreatecreate,ida||t||token||hash(n)||numberchangechange,ida||t||token||pr1||pr2soldsold,ida||id
sold
||t||token||pr||tid||tkbuybuy,ida||idbuy||t||token||pr||tid||tkcertcert,ida||id
cer
||cer
id
||t||token||hash(c)
[0198]
其中ida指用户a的id,t指执行操作的时间戳,token指nft 的唯一代码,hash(n)指nft的描述文件(图片、视频、文本等) 的哈希值,number指该nft在上链时被分为了多少份。pr1指更改价格之前的价格,pr2指更改价格之后的价格,id
sold
指买方的id, pr指出售时的价格,tid指买方使用的随机id,tk是本次交易双方协商的交易密钥(后续步骤介绍),id
buy
指卖方的id,id
cer
指该证书颁发机构的id,cer
id
指证书号,hash(c)是指证书上所有字段的哈希值。
[0199]
操作记录形成context后,系统利用用户a的认证公钥pka进行 rsa加密context(公式17),同时记录下context的验证值(公式18),将用户的加密操作记录ctext和用户操作记录的哈希值htext记录至区块链中。
[0200]
[0201]
htext=hash(context)#(18)
[0202]
用户查看历史操作记录时,则在用户本地使用用户的认证私钥解密所有操作记录(公式19)。
[0203][0204]
3-2.用户交易时的交易记录的加密处理:
[0205]
用户在市场交易的交易记录是本系统最敏感的信息之一,这些交易信息泄漏后,可能会造成市场价格大幅波动、用户信息泄漏等严重后果,因此这类记录应随时可被监管机构监管并做到及时反应。
[0206]
在用户a(卖方)与用户b(买方)交易的情景下,用户b知道用户a的基础信息,包括ida以及想要购买的nft信息,但是为了保护买方的隐私,用户a不清楚用户b的基本信息,只能看到有用户购买nft。为了达成上述效果和保证交易的顺利进行,用户a和用户b按如下流程进行协商:
[0207]
(1)用户b在购买之前,首先检查本地是否存在与用户a曾经协商生成的tid,tk。当用户b本地不存在与用户a协商生成的 tid,tk时,则进入协商阶段(如图3所示):
[0208]
先在本地准备协商必要的参数,首先用户b本地生成两个随机数k,tk(公式20),并计算加密传输的消息ct4(公式21),ct
5 (公式22),以及验证值vb(公式23)。
[0209]
k,tk=random()#(20)
[0210]
ct4=k
·
reida·
afb·
tk#(21)
[0211]
ct5=k
·
reidb#(22)
[0212]vb
=h(ct4||reida)#(23)
[0213]
(2)用户b在本地计算生成自己的交易随机tid,用户b首先选择一个随机数z,之后本地计算加密传输的消息ct6(公式24), ct7(公式25)。之后生成仅用于和a交易的tid(公式26),之后通过系统服务器将tid,ct6,ct7发送给用户a,用户a在下次上线时,选择处理本次协商请求或拒绝协商请求。
[0214][0215][0216]
tid=h1(ct6||ct7)#(26)
[0217]
(3)用户a在收到协商请求后,首先检查接收到的tid和 h1(ct6||ct7)是否一致,之后解密ct7恢复出ct5,tk,vb,t1(公式 27)。然后用户a检查t1到解密的时间是否在自身可接受的范围内,若用户a接受该时间,则接着本地计算ct
′4(公式28),v
′b(公式 29),用户a再检查本地计算得到的v
′b和恢复出的vb是否一致。
[0218][0219]
ct4=tk
·
afa·
ct5#(28)
[0220]v′b=h(ct
′4||reida)#(29)
[0221]
(4)如果一致,则用户a本地生成自己的协商消息ct8(公式 30),和验证值va(公式31),之后将tid,ct6,ct8,t2,va发送至服务器(同意协商回复)并将tk作为与该tid身份的交易密钥,由服务器转发给用户b进行验证。服务器在转发时,同时将《tid,ct6》 键值对上链。
[0222]
ct8=pxor(tk,ct
′4)#(30)
[0223]va
=h(ct8||t2)#(31)
[0224]
(5)用户b收到a的同意协商回复后,先检查t2时间是否在自身可接受的时间范围内,如果用户b接受该时间,则用户b检查本地的ct4是否和pxor(tk,ct
′8)一致,若一致,用户b在本地存储下与用户a交易的交易密钥tk和tid,下一次与用户a进行交易协商时,用户b先检查本地是否存在与用户a的交易密钥tk和tid,若存在则使用用户a的交易公钥加密交易密钥tk和tid(公式32),通过服务器发送给用户a,服务器转发给用户a。用户a收到后,恢复出交易密钥tk和tid,检查本地是否存在一致的交易密钥tk和tid,若存在,直接将tk作为本次交易密钥。若不存在,则重新进入协商阶段。
[0225][0226]
之后用户a和用户b正式进入交易阶段,在交易结束后,服务器不存储任何交易记录,系统将其操作记录按照步骤3-1加密存储至区块链上,同时为了有效及时监管,用户的交易记录会按照以下方式记录:
[0227]
tiddetail
[0228]
对于用户a与用户b的交易,用户b本地会生成一条加密交易记录(公式33),以《tid,dc》键值对发送给服务器,之后服务器将该键值对和内容ida||idb||pr||t3||token的哈希值一并记录至区块链上。
[0229][0230]
3-3.nft全生命周期内状态改变的记录加密:
[0231]
对于nft在其生命周期内存在多次变更所有者的情况,当前拥有者不应掌握nft的历史状态改变的细节,但监管机构在某些情况下可能会需要知道nft在其生命周期内状态改变记录,以通过这些记录来发现可疑交易、可疑用户和可疑操作,从而给监管提供更多可行途径。
[0232]
nft在上链至弃用的过程中,会发生上链(upload),变更价格 (change),变更状态(switch)(状态包括在售、珍藏、弃用三种状态),变更拥有者(ownar),证书状态变更(certificate),变更名称(name),变更描述文件(description)等七种状态变更。nft的状态变更记录按如下格式记录:
[0233]
typedetail
[0234]
detail所含内容如下:
[0235]
typecontextuploadupload,ida||t||hash(n)||numberchangechange,ida||t||pr1||pr2switchswitch,ida||t||s1||s2||rownerowner,ida||idb||t||pr||tid||tkcertcert,id
cer
||ida||cer
id
||t||token||hash(c)namename,ida||t||n1||n2descriptiondescription,ida||t||d1||d2[0236]
其中s1,s2表示更改前的状态和更改后的状态,r为保留字段,在由在售状态转到珍
藏状态时包括用户主动下架和强制下架两种原因,n1,n2表示更改前的名称和更改后的名称,d1,d2表示更改前的描述文件内容和更改后的描述文件内容。系统在nft状态更改完成后,将对应操作的操作记录按《token,c》键值对结构上链,c是 context加密后形成的加密记录(公式34)。
[0237][0238]
步骤4.鉴定机构为提出鉴定申请的nft进行鉴定,鉴定通过后出具鉴定证书并盖章上链:
[0239]
鉴定机构出具的鉴定证书具有一定权威性,在市场上,拥有鉴定证书的nft,可能会更具有流通性,买方更倾向购买拥有鉴定证书的nft。用户首先向鉴定机构申请鉴定,并将nft的基础信息通过系统服务器发送给鉴定机构,鉴定机构受理后,根据用户提交的材料进行鉴定,之后根据鉴定结果出具鉴定证书。鉴定证书上刻有特制印章,支持对鉴定机构主体进行认证。印章生成方法如下:
[0240]
首先鉴定机构生成证书的具体值m
cer
,之后将hash(m
cer
)存储到区块链上,之后生成证书的签名sig(公式35)。再利用鉴定机构提供的电子印章图片模版、证书上链的交易号、和证书签名sig生成印章:将证书上链交易号与证书签名一同构成印章外环,将数据提供方官方印章图徽作为印章内环。
[0241][0242]
印章验证方法如下:
[0243]
系统首先验证印章上包含的签名(公式36),之后再从服务器中取得证书的具体值m
cer
并计算得到hash

(m
cer
),将hash

(m
cer
)和链上存储的hash(m
cer
)进行比对,比对一致即认为该印章是真实的。
[0244][0245]
步骤5.监管机构对用户和nft进行监管:
[0246]
监管机构的监管,可以有效的减少nft的炒作、用户操纵市场等违法违规的行为,同时也加强了系统各用户公平公正的进行交易,提升系统权威性,是保障系统正常运行的重要一环。
[0247]
5-1.监管机构监查nft:
[0248]
系统内上传的nft在其生命周期内,其所有权可能会多次变更,在不同的拥有者手中,nft的历史操作记录依然存在,这些历史操作记录不应被当前拥有者所获知。但是监管者需要随时对nft的历史记录进行监管,以保障系统内交易市场的正常运行,同时也提供了一种发现可疑用户、可疑操作、可疑交易的有效途径。监管机构在对一件nft发起审查时,对该nft从上传到当前的操作记录c利用监管机构的监管私钥skn进行rsa解密(公式37)。之后监管机构对解密得到的context中的内容进行审查,获取可疑用户的id,可疑交易的tid,tk。通过可疑用户的id对用户直接进行监管,通过可疑交易的tid,tk对当次交易进行监管。
[0249][0250]
5-2.监管机构监查交易细节:
[0251]
nft的价值流通,主要是通过交易来实现的。nft的价格和现实世界的商品有类似
的表现,但nft的价格更容易受到市场和用户行为的影响,并且交易中极有可能存在违法违规交易的行为,因此,对交易直接进行监管是监管机构对整个nft交易市场进行监管的重要途径之一。同时,交易行为也是用户最希望保护的隐私信息,监管机构应在交易一方的举报下才能对该交易进行检查。例如在用户a和用户b交易的情景下,用户a向监管机构举报和用户b交易的 tid,请求监管机构对交易进行审查,监管机构首先根据《tid,ct6》 键值对找到ct6,之后解密ct6(公式38)获得卖方ida,买方idb,买方申请该tid的时间t1,与该tid对应的交易密钥tk,并验证加密记录ct6的签名是否正确(公式39)。图4本发明实施例交易监管示意图。
[0252][0253][0254]
之后,监管机构根据《tid,dc》键值对找到加密记录dc,并用交易密钥解密dc得到交易的具体细节(公式40),之后再检查恢复出的内容的哈希值,确保用户上传的是真实的交易细节。再从中获得卖方ida,买方idb,交易价格pr,交易时间t3,交易nft的token。通过解密dc得到的信息,监管机构可以进一步对买卖双方进行审查,对交易涉及的nft进行审查。
[0255][0256]
5-3.监管机构对用户进行审查:
[0257]
图5本发明实施例用户监管示意图。监管机构对用户进行审查,是监管机构发现用户违规操作的最有效的方法,但用户的操作记录十分庞大,其中含有大量隐私记录,监管机构应当在获得用户的同意下进行监管,但无论用户是否同意监管,监管机构在获得足够证据的情况下,可以通知系统管理员对用户的账号及其nft进行限制。例如,监管机构对用户b进行直接审查,首先向服务器发出审查请求,服务器将审查通知发送给用户b,并将用户b所有历史操作记录ctext,htext一并发送,用户b本地解密ctext并验证 hash(context)=htext是否成立(公式41),若不成立用户b需要通知平台对其历史数据有效性进行核查。之后将所有历史记录打包为contexts,并生成一个随机密钥key,利用key对contexts进行 aes加密得到ct
10
(公式42)。之后利用用户b的交易密钥加密随机密钥key得到ct
11
(公式43)。再生成重加密密钥rkb→
x
(公式 44)。之后将ct
10
,ct
11
,rkb→
x
发送给服务器。
[0258][0259][0260][0261]
rkb→
x
=keygen(pkn,sk
bt
)#(44)
[0262]
服务器通过重加密密钥加密ct
11
得到ct
12
(公式45),之后将 ct
10
,ct
12
和操作记录的验证值发送给监管机构。
[0263][0264]
监管机构通过监管私钥解密ct
12
得到随机密钥key(公式46)。再利用随机密钥解密ct
10
(公式47),之后验证每条操作记录和验证值是否匹配。最后,监管机构对用户b历史的操
作记录进行监管。
[0265][0266]

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献