(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210493796.3
(22)申请日 2022.05.08
(71)申请人 郑云山
地址 200030 上海市徐汇区吴兴 路270弄2
号2411室
(72)发明人 郑云山
(74)专利代理 机构 上海海贝律师事务所 313 01
专利代理师 范海燕
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/30(2006.01)
H04L 9/32(2006.01)
H04L 9/08(2006.01)
H04L 9/06(2006.01)
H04L 67/1097(2022.01)H04L 67/53(2022.01)
(54)发明名称
一种基于区块链和零知识证明的匿名凭证
验证方法及系统
(57)摘要
本发明提出了一种基于区块链和零知识证
明的匿名凭证验证方法及系统, 创建比特币地址
进行交易, 并创建交易合约TB; 区块链中的用户
随机选择消息m, 同时发送哈希值给终端设备, 终
端设备发送哈希值h给第三方计算设备L, 第三方
计算设备L检查哈希值h是否与先前由第三方计
算设备L签署的交易合约中的任意h匹配, 用户盲
化消息m得到w ’, 并等待请求合约TO被确认; 用户
创建交易合约TO’, 第三方计算设备L等待 交易合
约TO’被确认, 从而建立一个交易合约TF去完成
交换, 用户从区块链上看到交易合约TF, 并从中
得到盲签名σ ′; 用户去盲得到σ,并发送凭证给
终端设备, 终端设备创建交易合约TF, 交易合约
TB开始生效。
权利要求书2页 说明书7页 附图2页
CN 114978622 A
2022.08.30
CN 114978622 A
1.一种基于区块链和零知识证明的匿名凭证验证方法, 其特 征在于, 包括以下步骤:
步骤S1、 终端设备创建一个新的临时的比特币地址去进行一笔交易, 并创建一个交易
合约TB;
步骤S2、 区块链中的用户随机选择消息m, 同时发送哈希值h=H(m)给终端设备, 其中, H
为哈希函数;
步骤S3、 终端设备发送哈希值h给第三方计算设备L, 并请求第三方计算设备L创建能提
供a个比特币给终端设备的交易 合约TO, 终端设备必须在t2时间内提供一个有效的凭证;
步骤S4、 第三方计算设备L检查哈希值h是否与先前由第三方计算设备L签署的交易合
约中的任意h匹配, 如果 不匹配, 第三方计算设备L创建所述请求 合约TO并提交到区块链上;
步骤S5、 用户盲化消息m得到w ’, 并等待请求 合约TO被确认;
步骤S6、 用户创建能向第三方计算设备L提供a+w个比特币的交易合约TO’, 第三方计算
设备L必须在t1时间内给用户提供一个有效的盲签名;
步骤S7、 第三方计算设备L等待交易合约TO’被确认, 从而 建立一个交易合约TF去完成交
换, 并将交易合约TF寄存到区块链上, 其中交易合约TF包含盲签名σ ′, 此时, 交易合约TO’中
的a+w个比特币将发送给第三方计算设备L;
步骤S8、 用户从区块链上看到交易 合约TF, 并从中得到盲签名 σ ′;
步骤S9、 用户对盲签名σ ′去盲得到σ, 并发送凭证V=(m, σ )给终端设备, 终端设备创建
包含凭证V=(m, σ )的交易合约TF, 从而, TF中的比特币将发送给终端设备, 交易合约TB开始
生效。
2.根据权利要求1所述的匿名凭证验证方法, 其特征在于, 所述步骤S9中, 为终端设备
创建包含匿名凭证V=(m, σ )的交易 合约TF的具体过程包括:
初始设置阶段, 生成公开参数{G, q, G ’}, 其中G是椭 圆曲线群, q是大素数, 为椭 圆曲线
的阶, G’是群G的生成元, 用户根据随机函数生成私钥sk, 并根据有限域上的椭圆曲线生成
公钥PK=sk*G;
混淆地址生成, 终端设备选择随机函数r作为一 次性私钥, 通过有限域上的椭圆曲线生
成一次性公钥PK=r*G, 通过链下通信或隐蔽信道将该一次性公钥发送给第三方计算设备
L, 根据公式P=HASH(r*PK|i)G ’+PK生成一次性地址, 将此一次性地址作为交易的接收地
址;
数据匿名存 储协议生成, 包括: 伪身份生成阶段、 加密钥生成阶段和数据加密阶段;
交易生成与验证, 输入私钥sk和随机数r, 系统会生成解锁脚本<e, s>, 其中e=HASH
(R||mess age), s=r+e*sk。 其中R=r*G, message为交易信 息, 解锁后, 输入终端设备的一
次性公钥以及随机数生成交易信息并将其提交至验证节点, 根据终端设备提交的解锁脚本
<e, s>, 验证节点计算R ′=s*G‑e*PK, 然后验证e=HASH(R ′||message)是否成立。
3.根据权利要求2所述的匿名凭证验证方法, 其特 征在于,
伪身份生成阶段, 终端设备和第三方计算设备L相互协商两个随机数T, R, 使用这两个
随机数和终端设备的身份Tid生成公钥/私钥 对: (PKpse/SKpse), 该公私钥 对作为生成伪身
份的公私钥, 加密后生成伪身份为PseID;
加密钥生成阶段, 第三方计算设备L 生成对称加密钥K;
数据加密阶段, 输入原始数据M, 对应的伪 身份PseID, 当前 时间戳Ts, 使用对称加密钥K权 利 要 求 书 1/2 页
2
CN 114978622 A
2加密并生成密文C并存 储在本地数据库中, 同时将数据库中数据的地址存 储在区块链上。
4.根据权利要求3所述的匿名凭证验证方法, 其特征在于, 伪身份生成基于ElGamal加
密算法, 选择一个满足安全要求的大素数p, 生成阶为p的群
的一个生成元
选取单
项哈希函数生成公私钥对PKT/SKT, 生成其唯一身份标识Tidi(1≤i≤n), i为当前终端设备
序号, n为终端设备的个数, 选择随机数
将自身的唯一身份标识Tidi和随
机数R一起发送给第三方计算设备L, 第三方计算设备L将随机数T加密后发送给终端设备;
第三方计算设备L接收到终端设备发送过来的Tidi和R后, 计算: gH(T)·R, 则为终端设备
生成伪身份的公私钥对为:
SKpse≡H(Tid)+H(gH(T)·R);
第三方计算设备L将终端设备的身份Tid分为n个分组, 每个分组的长度均为L, 即: Tid
=Tid1Tid2…Tidn;
为每一个分组Tidi选择一个随机数ri, 1<i<n, 1<ri<p‑1, p为阶, 并计算:
终端设备的伪身份为:
PseID=(c1, c′1)(c2, c′2)...(cn, c′n)。
5.一种基于区块链和零知识证明的匿名凭证验证系统, 其特征在于, 用于实现权利要
求1‑4任意一项 所述的匿名凭证验证方法, 包括: 所有者、 第三方计算设备、 区块链和数据匿
名存储协议;
所述终端设备作为数据的产生 者, 具有收集数据功能的传感器或者智能设备;
所述第三方计算设备, 用来帮助所述终端设备生成伪身份, 第三方计算设备在为终端
设备生成伪身份之后, 该伪身份代替真实身份和数据一 起存放到数据匿名存 储协议中;
所述数据匿名存储协议中每一条数据的地址都存放到区块链上, 同时, 伪身份和真实
身份的对应关系被存放到区块链上, 用于举 证和溯源。权 利 要 求 书 2/2 页
3
CN 114978622 A
3
专利 一种基于区块链和零知识证明的匿名凭证验证方法及系统
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:14:27上传分享