基于零知识证明的区块链数字资产的私密使用授权方法技术

技术编号:24169612 阅读:75 留言:0更新日期:2020-05-16 02:31
本发明专利技术公开的基于零知识证明的区块链数字资产的私密使用授权方法,包括以下步骤:用户注册步骤;数字资产注册步骤;数字资产授权步骤;授权证明步骤。本发明专利技术可以在区块链上发布数字资产,但是隐藏数字资产的所有者;同时也可以在链上进行数字资产的使用授权,但是隐藏授权的购买者、所有者以及数字资产信息。

Authorization method of private use of blockchain digital assets based on zero knowledge proof

【技术实现步骤摘要】
基于零知识证明的区块链数字资产的私密使用授权方法
本专利技术涉及区块链
,尤其涉及一种基于零知识证明的区块链数字资产的私密使用授权方法。
技术介绍
以比特币为代表的采用UTXO模型设计的区块链系统中,每一笔UTXO的流动都是公开的,匿名性的保证是通过隐藏人和地址的对应关系来实现,一旦某一个地址和人的对应关系暴露,再配合一些链上数据分析工具,基本上可以追踪到这个人的全部交易记录和资金数量。在以太坊等智能合约区块链中,虽然虚拟机能够提供图灵完备的编程语言实现任意逻辑,但是区块中的所有交易数据也是公开的。零知识证明的发展使得许多用户开始尝试在区块链上实现私密交易,安永(EY)之前发布的Nightfall项目,实现了对以太坊上ERC-721类资产私密转账的支持。ZCash项目,就通过零知识证明设计了交易记录混合方案,实现了和比特币一样的功能,但是链上不存储任何一笔交易的具体信息(发送人、接收人、金额等)。例如ZCash和Nightfall这样的项目,将目光聚焦到了私密转账这一领域,但是区块链的应用远远不止Token转账这一种。人类社会正在经历信息革命带来的巨大冲击,从企业的视角来看,大部分企业正在经历从制造型企业到创新型企业的转型。企业的核心生产资料,正在从资金、厂房、原料等转变为人、知识(信息)、知识形成的网络,专业的说法叫“社会资本”。在这样的大背景下,知识类资料、成果等数字资产的保护和有效流通对企业来说就变得尤其重要。基于ERC-721标准使得资产的注册是必须公开的,在资产注册以后转入一个私密合约,之后的转移操作才是对外不可见的。另外,对于文章、图片等类型的数字资产,最重要的流通方式不是所有权的转移,而是使用权的购买。比如文章的转载权购买、图片的购买使用等。对于这类数字资产,使用NFT模型抽象是不够的,也就更加无法实现使用权的私密购买。为此,申请人进行了有益的探索和尝试,找到了解决上述问题的办法,下面将要介绍的技术方案便是在这种背景下产生的。
技术实现思路
本专利技术所要解决的技术问题在于:针对现有技术的不足而提供一种基于零知识证明的区块链数字资产的私密使用授权方法。本专利技术所要解决的技术问题可以采用如下技术方案来实现:基于零知识证明的区块链数字资产的私密使用授权方法,包括以下步骤:用户注册步骤:需要在区块链上发布数字资产的用户根据智能合约进行注册;数字资产注册步骤:注册后的用户根据智能合约对自身拥有的数字资产进行注册;数字资产授权步骤:当注册后的用户需要将其注册后的数字资产的一部分或全部匿名授权给一个或多个注册后的用户时,该注册后的用户根据智能合约在区块链上生成一条授权记录,并将生成的授权记录发送至被授权的用户;授权证明步骤:当一个或多个被授权的用户获取到某个数字资产的授权后,该一个或多个被授权的用户根据智能合约对接收到的授权记录生成一个授权证明,以证明其获取到某个数字资产的授权。在本专利技术的一个优选实施例中,还包括一验证授权步骤,所述验证授权步骤为当某一注册后的用户接受到另一个注册后的用户提供的授权证明时,该注册后的用户通过调用智能合约验证其接收到的授权证明的有效性。由于采用了如上技术方案,本专利技术的有益效果在于:本专利技术可以在区块链上发布数字资产,但是隐藏数字资产的所有者;同时也可以在链上进行数字资产的使用授权,但是隐藏授权的购买者、所有者以及数字资产信息。从而实现了在区块链上发布、授权数字资产的整个过程的私密化,从原理上保证了所有资产发布和授权的记录不会暴露任何参与者的信息。必要时,使用者又可以依靠区块链上的数据和零知识证明方法,向任意第三方证明资产的所有权或使用权。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,进一步阐述本专利技术。本专利技术的基于零知识证明的区块链数字资产的私密使用授权方法,包括以下步骤:用户注册步骤:需要在区块链上发布数字资产的用户根据智能合约进行注册;数字资产注册步骤:注册后的用户根据智能合约对自身拥有的数字资产进行注册;数字资产授权步骤:当注册后的用户需要将其注册后的数字资产的一部分或全部匿名授权给一个或多个注册后的用户时,该注册后的用户根据智能合约在区块链上生成一条授权记录,并将生成的授权记录发送至被授权的用户;授权证明步骤:当一个或多个被授权的用户获取到某个数字资产的授权后,该一个或多个被授权的用户根据智能合约对接收到的授权记录生成一个授权证明,以证明其获取到某个数字资产的授权。验证授权步骤:当某一注册后的用户接受到另一个注册后的用户提供的授权证明时,该注册后的用户通过调用智能合约验证其接收到的授权证明的有效性。用户注册步骤的具体内容如下:需要在区块链上发布数字资产的用户根据智能合约进行注册,注册后的用户拥有一对代表用户资产所有权身份的公私钥对,长度均为32字节,分别记为pkR,skR,满足关系:pkR=h(skR)注册后的用户还拥有一对代表其区块链身份的公私钥对和对应的区块链地址,分别记为pkE,skE,addr,是用标准的椭圆曲线签名算法生成的。用户需要谨慎保管两组公私钥对中的私钥,不可泄露。用户还拥有一个用户名n,用户名会在验证授权信息时提供给查询方,形式上应该是代表用户身份的自然语义信息。用户需要根据智能合约完成用户注册流程,才能实现对数字资产的匿名授权。用户注册实际上是在区块链上记录了用户的一些重要信息,将用户的pkR,addr,n三种信息做了一个绑定。这些信息有的不可更改,例如用户的区块链地址addr和代表用户的资产所有权身份的pkR;还有的信息需要权限管理,例如用户的注册名信息n。据此要保证以下两点:1.只有拥有skR的用户才能为对应的pkR进行用户注册操作,采用零知识证明来实现;2.一旦用户完成注册,只有拥有pkE对应的私钥skE的地址才能修改用户的注册名,依赖于椭圆曲线签名算法机制来实现。注意,对于上述两点有一个隐含的需求:用户的私钥不能公开。下面以用户A为例,具体介绍用户注册的流程:1.在安全环境下生成需要的两组公-私钥对和其他用户信息数据;2.生成零知识证明π,包含约束:–3.公开输入:4.私有输入:5.调用智能合约方法:Organization.register注:在ZoKrates的零知识证明生成过程中,可设置输入变量是否公开,公开的变量会出现在生成的证明中,而私有的变量则不会出现。数字资产注册步骤的具体内容如下:完成注册后的用户需要根据智能合约对自身拥有的数字资产完成注册流程,才能对这些资产进行匿名授权。对于任意的数字资产,用户需要先为其生成一个唯一的数字id,记为α。在本智能合约中,数字id可以是不超过32字节的任意数据。数字资产注册实际上是在区块链上记录了用户的资产公钥pkR和α的对应关系,据此需保证以下两点:1.只有本文档来自技高网
...

【技术保护点】
1.基于零知识证明的区块链数字资产的私密使用授权方法,其特征在于,包括以下步骤:/n用户注册步骤:需要在区块链上发布数字资产的用户根据智能合约进行注册;/n数字资产注册步骤:注册后的用户根据智能合约对自身拥有的数字资产进行注册;/n数字资产授权步骤:当注册后的用户需要将其注册后的数字资产的一部分或全部匿名授权给一个或多个注册后的用户时,该注册后的用户根据智能合约在区块链上生成一条授权记录,并将生成的授权记录发送至被授权的用户;/n授权证明步骤:当一个或多个被授权的用户获取到某个数字资产的授权后,该一个或多个被授权的用户根据智能合约对接收到的授权记录生成一个授权证明,以证明其获取到某个数字资产的授权。/n

【技术特征摘要】
1.基于零知识证明的区块链数字资产的私密使用授权方法,其特征在于,包括以下步骤:
用户注册步骤:需要在区块链上发布数字资产的用户根据智能合约进行注册;
数字资产注册步骤:注册后的用户根据智能合约对自身拥有的数字资产进行注册;
数字资产授权步骤:当注册后的用户需要将其注册后的数字资产的一部分或全部匿名授权给一个或多个注册后的用户时,该注册后的用户根据智能合约在区块链上生成一条授权记录,并将生成的授权记录发送至被授权的用户;

【专利技术属性】
技术研发人员:毛苇甘露
申请(专利权)人:上海七印信息科技有限公司
类型:发明
国别省市:上海;31

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

1