一种区块链下的隐私保护方法及系统技术方案

技术编号:37568822 阅读:17 留言:0更新日期:2023-05-15 07:48
本申请适用于区块链技术领域,提供了一种区块链下的隐私保护方法及系统,该方法应用于链上状态合约模块,该方法包括:响应于入金请求,获取入金数据;根据所述入金用户信息和所述入金资金信息,增加入金用户的链下资金;响应于出金请求,接收由所述链下扩展主节点发送的已执行交易的证明、更新后的状态根哈希和出金数据;验证所述已执行交易的证明通过后,根据所述出金用户信息和出金资金信息,增加出金用户的链上资金。上述方法,能够更有效地隐藏交易细节、保护交易隐私,还能够针对链上状态合约的数据进行保护,可用于扩展已有区块链的隐私保护能力。隐私保护能力。隐私保护能力。

【技术实现步骤摘要】
一种区块链下的隐私保护方法及系统


[0001]本申请属于区块链
,尤其涉及一种区块链下的隐私保护方法及系统。

技术介绍

[0002]众所周知,对于能够访问区块链节点的用户来说,其可以拿到链上的数据,因此,区块链中的数据可以认为是公开的数据,伴随着用户对隐私保护需求的提升,出现了一些能够保护区块链隐私的技术。
[0003]举例来说,Zcash区块链,其能够基于零知识证明技术隐藏掉交易的细节,又或者,以太坊区块链的tornado cash,其是一种能够实现匿名交易的去中心化隐私协议,也能够在以太坊区块链上隐藏掉交易的细节。但是,上述方式虽能够保护区块链中转账类交易的隐私,却无法针对区块链中智能状态合约的数据进行保护。
[0004]除上述方式之外,Aleo区块链提供了zkCloud(链下的执行环境)在链下执行交易,其将计算与共识分开,交易结束后将证明提交至链上即可,链上无法看到交易细节,但是,这种方式需要用户自己在链下执行交易并生成证明,不便于用户操作,交易技术门槛较高。

技术实现思路

[0005]本申请实施例提供了一种区块链下的隐私保护方法及系统,可以解决上述技术问题。
[0006]第一方面,本申请实施例提供了一种区块链下的隐私保护方法,应用于链上状态合约模块,隐私钱包模块与链下扩展模块交互,链下扩展模块与所述链上状态合约模块交互,所述链下扩展模块中包括多个链下扩展节点,同一时间所述链下扩展节点中存在一个链下扩展主节点,包括:响应于入金请求,获取入金数据;其中,所述入金数据包括入金用户信息和入金资金信息;根据所述入金用户信息和所述入金资金信息,增加入金用户的链下资金;其中,所述入金用户的链下资金以状态数据碎片的形式存储在所述链下扩展节点中;响应于出金请求,接收由所述链下扩展主节点发送的已执行交易的证明、更新后的状态根哈希和出金数据;其中,所述出金数据包括出金用户信息和出金资金信息;验证所述已执行交易的证明通过后,根据所述出金用户信息和出金资金信息,增加出金用户的链上资金。
[0007]进一步地,若所述入金资金信息指明为第一目标数量的原生交易对象,所述响应于入金请求,获取入金数据,包括:响应于入金请求,获取所述入金数据,并接收所述入金用户抵押的所述第一目标数量的原生交易对象;所述根据所述入金用户信息和所述入金资金信息,增加入金用户的链下资金,包括:根据所述入金用户信息和所述入金资金信息,增加所述入金用户的类型为原生交易对象且数量为第一目标数量的链下资金。
[0008]进一步地,若所述入金资金信息指明为第一目标数量的非原生交易对象,所述链上状态合约模块响应于入金请求,获取入金数据,包括:响应于入金请求,获取所述入金数据,并接收所述入金用户的押物数据;其中,所述押物数据对应的押物在链上状态合约内可用于置换所述第一目标数量的非原生交易对象;根据所述入金用户信息和所述入金资金信
息,增加入金用户的链下资金,包括:根据所述入金用户信息和所述入金资金信息,在链下状态合约中增加所述入金用户的类型为非原生交易对象且数量为第一目标数量的链下资金;其中,所述链下状态合约为部署在所述链下扩展模块中的与所述链上状态合约相同的状态合约。
[0009]进一步地,所述链上状态合约模块中包括监管模块,还包括:所述监管模块响应于提案请求,获取提案数据,根据所述提案数据,对提案进行社区投票或指定投票,若支持票数量达到预设票数阈值,执行所述提案数据中所述提案对应的特权指令,接收与所述提案相关的交易记录数据、状态数据和/或执行结果;所述监管模块获取监管账户对应的公钥,根据所述监管账户对应的公钥对与所述提案相关的交易记录数据、状态数据和/或执行结果进行加密保存。
[0010]第二方面,本申请实施例提供了一种区块链下的隐私保护方法,应用于隐私钱包模块,所述隐私钱包模块与链下扩展模块交互,所述链下扩展模块与第一方面所述的链上状态合约模块交互,所述链下扩展模块中包括多个链下扩展节点,同一时间所述链下扩展节点中存在一个链下扩展主节点,包括:响应于第一交易请求,解析所述第一交易请求,获取所述交易目标数据,并获取第一公钥;其中,所述第一公钥为接收交易的链下扩展节点对应的公钥;对所述交易目标数据进行签名,并根据所述第一公钥对签名后的交易目标数据进行加密,得到第一加密后的交易目标数据,生成并发送第二交易请求至所述接收交易的链下扩展节点;所述第二交易请求用于触发所述接收交易的链下扩展节点生成并发送交易请求至所述链下扩展主节点。
[0011]第三方面,本申请实施例提供了一种区块链下的隐私保护方法,应用于链下扩展模块,第二方面所述的隐私钱包模块与所述链下扩展模块交互,链下扩展模块与第一方面所述的链上状态合约模块交互,所述链下扩展模块中包括多个链下扩展节点,同一时间所述链下扩展节点中存在一个链下扩展主节点,包括:所述接收交易的链下扩展节点接收由所述隐私钱包模块发送的第二交易请求;所述接收交易的链下扩展节点响应于所述第二交易请求,解析所述第二交易请求,获取第一加密后的交易目标数据;所述接收交易的链下扩展节点根据第一私钥对所述第一加密后的交易目标数据进行解密,得到所述签名后的交易目标数据;所述接收交易的链下扩展节点获取第二公钥,根据所述第二公钥对所述签名后的交易目标数据进行加密,得到第二加密后的交易目标数据,生成并发送交易请求至所述链下扩展主节点;其中,所述第二公钥为所述链下扩展主节点对应的公钥;所述链下扩展主节点响应于交易请求,获取交易目标数据,根据所述交易目标数据,向所述链下扩展节点请求交易依赖数据的碎片,当接收到的所述交易依赖数据的碎片的数量达到预设阈值时执行交易,在交易执行完成后,获取交易记录数据和交易后的状态数据,将所述交易记录数据和所述交易后的状态数据分割为碎片发送至所述链下扩展节点中;其中,所述交易请求经由所述隐私钱包模块和所述接收交易的链下扩展节点发送至所述链下扩展主节点;所述链下扩展主节点响应于第一出金请求,获取所述更新后的状态根哈希和所述出金数据,并根据预设的零知识证明算法,生成已执行交易的证明;其中,在交易执行完成后状态根哈希更新;所述链下扩展主节点根据所述已执行交易的证明、所述更新后的状态根哈希和所述出金数据,生成并发送出金请求至所述链上状态合约模块;所述出金请求用于触发所述链上状态合约模块验证所述已执行交易的证明通过后,根据所述出金用户信息和出金资金信
息,增加出金用户的链上资金。
[0012]进一步地,所述响应于交易请求,获取交易目标数据,包括:所述链下扩展主节点响应于所述交易请求,解析所述交易请求,获取所述第二加密后的交易目标数据;所述链下扩展主节点根据第二私钥对所述第二加密后的交易目标数据进行解密,得到所述签名后的交易目标数据,并对所述签名后的交易目标数据进行验签后得到所述交易目标数据。
[0013]进一步地,若所述交易目标数据指明第一用户意向第二用户转账第二目标数量的链下资金,所述交易依赖数据包括所述第一用户的链下资金和所述第二用户的链下资金;所述向所述链下扩展节点请求交易本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链下的隐私保护方法,应用于链上状态合约模块,其特征在于,隐私钱包模块与链下扩展模块交互,链下扩展模块与所述链上状态合约模块交互,所述链下扩展模块中包括多个链下扩展节点,同一时间所述链下扩展节点中存在一个链下扩展主节点,包括:响应于入金请求,获取入金数据;其中,所述入金数据包括入金用户信息和入金资金信息;根据所述入金用户信息和所述入金资金信息,增加入金用户的链下资金;其中,所述入金用户的链下资金以状态数据碎片的形式存储在所述链下扩展节点中;响应于出金请求,接收由所述链下扩展主节点发送的已执行交易的证明、更新后的状态根哈希和出金数据;其中,所述出金数据包括出金用户信息和出金资金信息;验证所述已执行交易的证明通过后,根据所述出金用户信息和出金资金信息,增加出金用户的链上资金。2.如权利要求1所述的区块链下的隐私保护方法,其特征在于,若所述入金资金信息指明为第一目标数量的原生交易对象,所述响应于入金请求,获取入金数据,包括:响应于入金请求,获取所述入金数据,并接收所述入金用户抵押的所述第一目标数量的原生交易对象;所述根据所述入金用户信息和所述入金资金信息,增加入金用户的链下资金,包括:根据所述入金用户信息和所述入金资金信息,增加所述入金用户的类型为原生交易对象且数量为第一目标数量的链下资金。3.如权利要求1所述的区块链下的隐私保护方法,其特征在于,若所述入金资金信息指明为第一目标数量的非原生交易对象,所述链上状态合约模块响应于入金请求,获取入金数据,包括:响应于入金请求,获取所述入金数据,并接收所述入金用户的押物数据;其中,所述押物数据对应的押物在链上状态合约内可用于置换所述第一目标数量的非原生交易对象;根据所述入金用户信息和所述入金资金信息,增加入金用户的链下资金,包括:根据所述入金用户信息和所述入金资金信息,在链下状态合约中增加所述入金用户的类型为非原生交易对象且数量为第一目标数量的链下资金;其中,所述链下状态合约为部署在所述链下扩展模块中的与所述链上状态合约相同的状态合约。4.如权利要求1所述的区块链下的隐私保护方法,其特征在于,所述链上状态合约模块中包括监管模块,还包括:所述监管模块响应于提案请求,获取提案数据,根据所述提案数据,对提案进行社区投票或指定投票,若支持票数量达到预设票数阈值,执行所述提案数据中所述提案对应的特权指令,接收与所述提案相关的交易记录数据、状态数据和/或执行结果;所述监管模块获取监管账户对应的公钥,根据所述监管账户对应的公钥对与所述提案相关的交易记录数据、状态数据和/或执行结果进行加密保存。5.一种区块链下的隐私保护方法,应用于隐私钱包模块,其特征在于,所述隐私钱包模块与链下扩展模块交互,所述链下扩展模块与权利要求1

4任一项所述的链上状态合约模块交互,所述链下扩展模块中包括多个链下扩展节点,同一时间所述链下扩展节点中存在一个链下扩展主节点,包括:响应于第一交易请求,解析所述第一交易请求,获取所述交易目标数据,并获取第一公
钥;其中,所述第一公钥为接收交易的链下扩展节点对应的公钥;对所述交易目标数据进行签名,并根据所述第一公钥对签名后的交易目标数据进行加密,得到第一加密后的交易目标数据,生成并发送第二交易请求至所述接收交易的链下扩展节点;所述第二交易请求用于触发所述接收交易的链下扩展节点生成并发送交易请求至所述链下扩展主节点。6.一种区块链下的隐私保护方法,应用于链下扩展模块,其特征在于,隐私钱包模块与所述链下扩展模块交互,链下扩展模块与权利要求1

4任一项所述的链上状态合约模块交互,所述链下扩展模块中包括多个链下扩展节点,同一时间所述链下扩展节点中存在一个链下扩展主节点,包括:所述接收交易的链下扩展节点接收由所述隐私钱包模块发送的第二交易请求;所述接收交易的链下扩展节点响应于所述第二交易请求,解析所述第二交易请求,获取第一加密后的交易目标数据;所述接收交易的链下扩展节点根据第一私钥对所述第一加密后的交易目标数据进行解密,得到所述签名后的交易目标数据;所述接收交易的链下扩展节点获取第二公钥,根据所述第二公钥对所述签名后的交易目标数据进行加密,得到第二加密后的交易目标数据,生成并发送交易请求至所述链下扩展主节点;其中,所述第二公钥为所述链下扩展主节点对应的公钥;所述链下扩展主节点响应于交易请求,获取交易目标数据,根据所述交易目标数据,向所述链下扩展节点请求交易依赖数据的碎片,当接收到的所述交易依赖数据的碎片的数量达到预设阈值时执行交易,在交易执行完成后,获取交易记录数据和交易后的状态数...

【专利技术属性】
技术研发人员:汪小益邱炜伟刘敬胡麦芳杜静漪
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1