【技术实现步骤摘要】
一种基于账户模型的高效数字资产交易方法
[0001]本专利技术涉及区块链金融
,更具体地,涉及一种基于账户模型的高 效数字资产交易方法。
技术介绍
[0002]互联网数字经济蓬勃发展,新型数字资产随处可见,此外,新型数字资产的 交易通常效率较低,如比特币交易峰值不大于每秒7笔交易,以太坊主网交易峰 值约为每秒15笔交易,这其实不能满足实际应用中大量并发交易的需求。
[0003]近年我国央行和欧美多国的资产发行方都积极开展数字法币系统的研究, 并试点推广应用数字法币。2016年英格兰央行率先发布数字法币原型系统 RSCoin,这激发全球各国政府对数字法币的研究兴趣。2018年瑞典央行启动区 块链数字法币项目e-Krona(电子克朗),并于2020年3月开始投入测试。自 2014年起,央行成立专门的团队研究数字法币,并在2019年由国务院正式批 准进行数字法币研发。截至2020年4月,央行数字法币DCEP已在几个城市的 商业银行启动内部测试。数字法币也属于新型数字资产的范畴。数字法币通常 有较好的效率和可监管性,但是隐私保护往往不容易实现。
[0004]目前出现了一些论文,建议使用密码数字货币的底层技术来完善数字法币 系统对用户隐私保护的不足,同时保持法币系统的可监管性和高效的特点,例 如Tian等人在2018年发表的论文《AFCoin:A Framework for Digital FiatCurrency of Central Banks Based on Account Model》,提出了基 ...
【技术保护点】
【技术特征摘要】
1.一种基于账户模型的高效数字资产交易方法,其特征在于,包括资产发行方CB、资产承销方CMB1,
…
,CMB
nb
以及用户DU1,
…
,DU
nu
,其中nb和nu是任意自然数,且随着区块链系统的运行,nb和nu的数值可以动态变化;资产承销方CMB1,
…
,CMB
nb
分别拥有公私钥对(bpk1,bsk1),
…
,(bpk
nb
,bsk
nb
)。用户DU1,
…
,DU
nu
可以在不同的资产承销方注册真实身份,以满足金融系统的监管需求,同时用户分别拥有公私钥对(upk1,usk1),
…
,(upk
nu
,usk
nu
),用户的公钥进一步生成用户的账户地址;用户的数字资产交易包括以下步骤:S1.创建与提交交易:用户DU
i
获取用户DU
j
的账户地址,设置数字资产的值v生成未签名的交易Tx',并通过用户DU
i
的私钥usk
i
生成交易签名Sig
Tx
,发送带签名的交易Tx到资产承销方CMB
s
,其中i,j∈{1,
…
,nu},s∈{1,
…
,nb};S2.处理交易:资产承销方CMB
s
接收来自用户DU
i
的交易Tx,验证交易Tx是否满足交易条件,处理满足交易条件的交易Tx,并输出交易收据Recpt;S3.交易上链:资产承销方CMB
s
将交易Tx1,
…
,Tx
n
的哈希值及交易收据Recpt1,
…
,Recpt
n
的哈希值打包,形成未签名未背书区块Blk',通过CMB
s
的私钥bsk
s
生成区块签名Sig
Blk
并与区块Blk'组装得到未背书的区块Blk”,之后由负责背书的资产承销方CMB
p
和CMB
q
生成背书签名,并提交携带背书签名的区块Blk、交易Tx1,
…
,Tx
n
和收据Recpt1,
…
,Recpt
n
至资产发行方CB,资产发行方CB验证区块Blk的有效性并发布有效的区块至区块链森林中CMB
s
的区块链Chain
s
上,其中p,q∈{1,
…
,nb},n是自然数。2.根据权利要求1所述的基于账户模型的高效数字资产交易方法,其特征在于,所述的步骤S1具体包括:S11.用户DU
i
根据数字资产的值v、用户DU
i
的交易序列号Nonce
i
、用户DU
j
的账户地址Addr
j
和交易产生时间t,组装得到未签名的交易Tx';S12.更新用户DU
i
本地客户端的交易序列号为Nonce
i
+1;S13.根据用户DU
i
所持的私钥usk
i
,为交易Tx'生成数字签名Sig
Tx
,数字签名Sig
Tx
与未签名的交易Tx'组装得到交易Tx;S14.向用户DU
i
的资产承销方CMB
s
提交交易Tx。3.根据权利要求2述的基于账户模型的高效数字资产交易方法,其特征在于,所述的步骤S2体包括:S21.资产承销方CMB
s
接收交易Tx,解析为数字资产的值v、用户DU
i
的交易序列号Nonce
i
、用户DU
j
的账户地址Addr
j
、交易产生时间t和数字签名Sig
Tx
;S22.资产承销方CMB
s
获取所述交易Tx的数字签名Sig
Tx
,计算用户DU
i
的账户地址Addr
i
,验证所述账户地址Addr
i
和Addr
j
是否已在所述资产承销方CMB
s
注册,并拒绝未注册账户的交易;S23.从资产承销方CMB
s
的区块链状态中获取用户DU
i
的链上交易序列号Nonce
i
'、DU
i
的账户余额Bal
i
和用户DU
j
的账户余额Bal
j
,验证所述交易Tx的交易执行条件,并拒绝不符合交易执行条件的交易;S24.资产承销方CMB
s
计算用户DU
i
和用户DU
j
新的状态值;S25.资产承销方CMB
s
计算交易Tx的散列值H
Tx
=Hash(Addr
j
||Nonce
i
||v||t||Sig
Tx
);S26.根据所述交易Tx的散列值H
Tx
、交易后新的账户余额和交易执行时间t2分别为用户
DU
i
和用户DU
j
生成未签名的交易收据Recpt1'和Recpt2';S27.根据资产承销方CMB
s
所持的私钥bsk
s
,为所述未签名的交易收据Recpt1'和Recpt2'分别生成数字签名Sig
Recpt1
和Sig
Recpt2
;S28.所述数字签名Sig
Recpt1
与Sig
Recpt2
和所述未签名的交易收据Recpt1'与Recpt2'组装得到交易收据Recpt1和Recpt2;S29.资产承销方CMB
s
提交所述交易Tx、交易收据Recpt1和Recpt2和该交易所涉及的状态的键名与前后值至交易上链队列,并通知用户DU
i
交易已处理并等待上链。4.根据权利要求3的基于账户模型的高效数字资产交易方法,其特征在于,计算用户DU
i
和用户DU
j
新的状态值,包括:用户DU
i
新的链上交易序列号Nonce
i”=Nonce
i
+1、用户DU
i
新的账户余额Bal
i
'=Bal
i-v和用户DU
j
新的账户余额Bal
j
'=Bal
j
+v,并更新所述新的状态值至所述资产承销方CMB
s
的区块链状态中。5.根据权利要求3的基于账户模型的高效数字资产交易方法,其特征在于,所述的交易执行条件包括:所述交易Tx的交易序列号Nonce
i
是否大于等于所述用户DU
i
的链上交易序列号Nonce
i
'、所述交易发起时间t是否超时、用户DU
j
的账户地址Addr
j
是否存在、所述用户DU
i
的账户余额Bal
i
是否大于等于所述数字资产的值v。6.根据权利要求3的基于账户模型的高效数字资产交易方法,其特征在于,所述的步骤S3具体包括:S31.资产承销方CMB
s
收集交易Tx1,
…
,Tx
n
,交易收据Recpt1,
…
,Recpt
n
和每笔交易所涉及的状态的键名与前后值,交易按照交易执行时间顺序排列;S32.资产承销方CMB
s
根据交易Tx1,
…
,Tx
n
和交易收据Recpt1,
…
,Recpt
n
,通过MPT树算法分别构成交易树和收据树,并计算得到所述交易树的树根的散列值H
TxTrie
和所述收据树的树根的散列值H
RecptTrie
;S33.资产承销方CMB
s
获取所述资产承销方CMB
s
的上一区块的状态树StateTrie',根据交易Tx1,
…
,Tx
n
所涉及的状态的键名与前后值、通过状态树更新算法更新所述状态树StateTrie',通过可验状态树生成方法生成可验状态树,得到新的状态树StateTrie和可验状态树StateTrie
v
,计算得到所述状态树StateTrie的树根的散列值H
StateTrie
;S34.资产承销方CMB
s
从所述资产承销方CMB
s
的区块链中查询上一区块的区块头,并计算所述上一区块的区块头的散列值H
BlkPrev
;S35.资产承销方CMB
s
根据所述上一区块的区块头的散列值H
BlkPrev
、所述交易树的树根的散列值H
TxTrie
、所述收据树的树根的散列值H
RecptTrie
、所述状态树StateTrie的树根的散列值H
Stat...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。