基于零知识证明的数据处理方法、系统、设备及存储介质技术方案

技术编号:21894098 阅读:20 留言:0更新日期:2019-08-17 15:22
本发明专利技术公开了一种基于零知识证明的数据处理方法、系统、设备及存储介质,本发明专利技术通过先确定第一预设时间范围及第二预设时间范围;在第一预设时间范围内接收消费者发送的第一哈希值、第一默认随机数及身份数据,从智能合约中获取第二默认随机数,并确定参与活动的总人数;在第二预设时间范围内接收消费者发送的常数及第一随机数,在对身份数据验证通过后根据常数及第一随机数对第一哈希值进行哈希验证;在哈希验证通过的数量不大于总人数时根据消费者发送的数据及智能合约中预设的公开规则确定中奖者,通过区块链技术保证所有数据不可更改,同时通过智能合约公平规则、常数或随机数确定抽奖者,排除了其他因素干扰,保障了抽奖的公平性和可信性。

Data Processing Method, System, Equipment and Storage Media Based on Zero Knowledge Proof

【技术实现步骤摘要】
基于零知识证明的数据处理方法、系统、设备及存储介质
本专利技术涉及区块链
,尤其涉及一种基于零知识证明的数据处理方法、系统、设备及存储介质。
技术介绍
随着互联网快速发展,为了吸引更多消费者,很多商家通过优惠活动推销自己的产品,比如低价促销、线上抽奖等。以线上抽奖为例,消费者在参与优惠抽奖活动的时候,根本不知道商家优惠活动是否公平,为了获取优惠,往往只能单方面信任商家。目前线上抽奖活动未采取必要的保护措施防止抽奖过程中的作假行为,不能从根本上解决公平和公正问题,无法取得消费者的信任。
技术实现思路
本专利技术的主要目的在于提供一种基于零知识证明的数据处理方法、系统、设备及存储介质,旨在解决现有技术中线上抽奖不公平的技术问题。为实现上述目的,本专利技术提供一种基于零知识证明的数据处理方法,所述数据处理方法包括:接收商家发送的活动数据,并根据所述活动数据确定第一预设时间范围及第二预设时间范围,所述第一预设时间范围为接收消费者发送的身份数据和参与数据的时间范围,所述第二预设时间范围为验证和确定中奖者的时间范围;在第一预设时间范围内接收所述身份数据及所述参与数据,并从智能合约中获取第二默认随机数,所述身份数据包括消费者公钥及其签名信息,所述参与数据包括第一哈希值及第一默认随机数;根据所述身份数据及所述参与数据的数量确定参与活动的总人数;在第二预设时间范围内接收消费者发送的常数及第一随机数,根据所述消费者公钥对所述签名信息进行身份验证,在身份验证通过后,根据所述常数及所述第一随机数对所述第一哈希值进行哈希验证;在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者。优选地,所述在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者的步骤,包括:在所述哈希验证通过的数量等于总人数时,根据哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者;在所述哈希验证通过的数量小于总人数时,根据哈希验证失败的消费者对应的所述第一默认随机数和所述第二默认随机数、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者。优选地,所述在所述哈希验证通过的数量小于总人数时,根据哈希验证失败的消费者对应的所述第一默认随机数和所述第二默认随机数、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者的步骤,包括:在所述哈希验证通过的数量小于总人数时,根据所述哈希验证失败的消费者对应的第一默认随机数及所述第二默认随机数计算第二哈希值;根据所述第二哈希值、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者。优选地,所述根据所述第二哈希值、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者的步骤,包括:根据所述第二哈希值、所述哈希验证通过的消费者对应的常数、所述总人数及预设公式计算余数;根据所述余数及所述智能合约中预设的公开规则确定中奖者。优选地,所述根据所述身份数据及所述参与数据的数量确定参与活动的总人数的步骤之后,所述方法还包括:根据所述活动数据确定活动的最低参与人数及最高参与人数;在所述总人数小于所述最低参与人数或所述总人数大于所述最高参与人数时,返回接收商家发送的活动数据,并根据所述活动数据确定第一预设时间范围及第二预设时间范围的步骤。优选地,所述第一哈希值为所述常数及所述第一随机数基于默克尔树算法计算获得的根哈希值。优选地,所述在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者的步骤之后,所述方法还包括:向所述中奖者发送中奖凭证,以使所述中奖者根据所述中奖凭证向商家兑奖。此外,为实现上述目的,本专利技术还提供一种基于零知识证明的数据处理系统,所述基于零知识证明的数据处理系统包括消费者端及区块链;其中,消费者端,用于在第一预设时间范围内向所述区块链发送身份数据及参与数据,并从智能合约中获取第二默认随机数,所述身份数据包括消费者公钥及其签名信息,所述参与数据包括第一哈希值及第一默认随机数;在第二预设时间范围内向所述区块链发送常数及第一随机数;区块链,用于接收商家发送的活动数据,并根据所述活动数据确定第一预设时间范围及第二预设时间范围,所述第一预设时间范围为接收消费者发送的身份数据和所述参与数据的时间范围,所述第二预设时间范围为验证和确定中奖者的时间范围;在第一预设时间范围内接收所述身份数据及所述参与数据,并从智能合约中获取第二默认随机数;根据所述身份数据和所述参与数据的数量确定参与活动的总人数;在第二预设时间范围内接收消费者发送的常数及第一随机数,根据所述消费者公钥对所述签名信息进行身份验证,在身份验证通过后,根据所述常数及所述第一随机数对所述第一哈希值进行哈希验证;在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者。此外,为实现上述目的,本专利技术还提供一种基于零知识证明的数据处理设备,所述基于零知识证明的数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于零知识证明的数据处理程序,所述基于零知识证明的数据处理程序配置为实现所述的基于零知识证明的数据处理方法的步骤。此外,为实现上述目的,本专利技术还提供一种存储介质,所述存储介质上存储有基于零知识证明的数据处理程序,所述基于零知识证明的数据处理程序被处理器执行时实现所述的基于零知识证明的数据处理方法的步骤。本专利技术通过接收商家发送的活动数据,并根据所述活动数据确定第一预设时间范围及第二预设时间范围,所述第一预设时间范围为接收消费者发送的身份数据和参与数据的时间范围,所述第二预设时间范围为验证和确定中奖者的时间范围;在第一预设时间范围内接收所述身份数据及所述参与数据,并从智能合约中获取第二默认随机数,所述身份数据包括消费者公钥及其签名信息,所述参与数据包括第一哈希值及第一默认随机数;根据所述身份数据及所述参与数据的数量确定参与活动的总人数;在第二预设时间范围内接收消费者发送的常数及第一随机数,根据所述消费者公钥对所述签名信息进行身份验证,在身份验证通过后,根据所述常数及所述第一随机数对所述第一哈希值进行哈希验证;在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者,通过区块链技术保证所有数据公开透明、不可更改,同时通过默克尔根验证、智能合约公平规则、常数或随机数确定抽奖者,排除了其他因素干扰,有效防止了抽奖过程中的作假行为,保障了抽奖的公平性和可信性。附图说明图1是本专利技术实施例方案涉及的硬本文档来自技高网...

【技术保护点】
1.一种基于零知识证明的数据处理方法,其特征在于,所述数据处理方法包括:接收商家发送的活动数据,并根据所述活动数据确定第一预设时间范围及第二预设时间范围,所述第一预设时间范围为接收消费者发送的身份数据和参与数据的时间范围,所述第二预设时间范围为验证和确定中奖者的时间范围;在第一预设时间范围内接收所述身份数据及所述参与数据,并从智能合约中获取第二默认随机数,所述身份数据包括消费者公钥及其签名信息,所述参与数据包括第一哈希值及第一默认随机数;根据所述身份数据及所述参与数据的数量确定参与活动的总人数;在第二预设时间范围内接收消费者发送的常数及第一随机数,根据所述消费者公钥对所述签名信息进行身份验证,在身份验证通过后,根据所述常数及所述第一随机数对所述第一哈希值进行哈希验证;在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者。

【技术特征摘要】
1.一种基于零知识证明的数据处理方法,其特征在于,所述数据处理方法包括:接收商家发送的活动数据,并根据所述活动数据确定第一预设时间范围及第二预设时间范围,所述第一预设时间范围为接收消费者发送的身份数据和参与数据的时间范围,所述第二预设时间范围为验证和确定中奖者的时间范围;在第一预设时间范围内接收所述身份数据及所述参与数据,并从智能合约中获取第二默认随机数,所述身份数据包括消费者公钥及其签名信息,所述参与数据包括第一哈希值及第一默认随机数;根据所述身份数据及所述参与数据的数量确定参与活动的总人数;在第二预设时间范围内接收消费者发送的常数及第一随机数,根据所述消费者公钥对所述签名信息进行身份验证,在身份验证通过后,根据所述常数及所述第一随机数对所述第一哈希值进行哈希验证;在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者。2.如权利要求1所述的基于零知识证明的数据处理方法,其特征在于,所述在所述哈希验证通过的数量小于或等于总人数时,根据所述常数及所述智能合约中预设的公开规则确定中奖者或根据所述第一默认随机数、所述第二默认随机数、所述常数及所述智能合约中预设的公开规则确定中奖者的步骤,包括:在所述哈希验证通过的数量等于总人数时,根据哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者;在所述哈希验证通过的数量小于总人数时,根据哈希验证失败的消费者对应的所述第一默认随机数和所述第二默认随机数、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者。3.如权利要求2所述的基于零知识证明的数据处理方法,其特征在于,所述在所述哈希验证通过的数量小于总人数时,根据哈希验证失败的消费者对应的所述第一默认随机数和所述第二默认随机数、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者的步骤,包括:在所述哈希验证通过的数量小于总人数时,根据所述哈希验证失败的消费者对应的第一默认随机数及所述第二默认随机数计算第二哈希值;根据所述第二哈希值、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者。4.如权利要求3所述的基于零知识证明的数据处理方法,其特征在于,所述根据所述第二哈希值、哈希验证通过的消费者对应的所述常数及所述智能合约中预设的公开规则确定中奖者的步骤,包括:根据所述第二哈希值、所述哈希验证通过的消费者对应的常数、所述总人数及预设公式计算余数;根据所述余数及所述智能合约中预设的公开规则确定中奖者。5.如权利要求1至4中任一项所述的基于零知识证明的数据处理方法,其特征在于,所述根据所述身份数据及所...

【专利技术属性】
技术研发人员:张晓许强周伟明刘春蕊
申请(专利权)人:山东工商学院山东冰链网络信息科技有限公司
类型:发明
国别省市:山东,37

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

1