CN113269570A - 一种抽取结果验证方法以及相关装置 - Google Patents
一种抽取结果验证方法以及相关装置 Download PDFInfo
- Publication number
- CN113269570A CN113269570A CN202110656641.2A CN202110656641A CN113269570A CN 113269570 A CN113269570 A CN 113269570A CN 202110656641 A CN202110656641 A CN 202110656641A CN 113269570 A CN113269570 A CN 113269570A
- Authority
- CN
- China
- Prior art keywords
- extraction
- result
- verification
- private key
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 349
- 238000012795 verification Methods 0.000 title claims abstract description 240
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006855 networking Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0212—Chance discounts or incentives
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种抽取结果验证方法以及相关装置,用于提高在线抽奖的可信度。本申请方法包括:获取抽取用户的抽取指令并根据预设生成规则生成所述抽取用户的源数,所述源数与所述抽取用户的抽取指令具有唯一对应关系;根据所述源数在本地进行单向哈希运算,并生成哈希运算结果;根据所述哈希运算结果确定抽取结果;获取所述抽取用户的第一私钥并通过所述第一私钥对所述源数以及所述抽取结果进行私钥加签,得到所述抽取用户的第一私钥信息;将所述抽取结果以及所述第一私钥信息发送至服务端以及区块链中的验证节点进行验证。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种抽取结果验证方法以及相关装置。
背景技术
在市场中,经常会有各种各样的抽奖方式的活动,例如大转盘、盲盒等,盲盒是近年来备受欢迎的抽奖方式,盲盒是指消费者不能提前得知具体产品款式的盒子,具有随机属性。只有打开才会知道自己抽到了什么,在这种不确定的刺激下,促使盲盒受到了广大消费者的喜欢。
线上抽盲盒是一种在线上抽取盲盒的方式,可通过以手机应用或网站应用界面给用户呈现一个盲盒转盘等,由用户付费后点击转盘开始抽一定数量的盲盒;或者给用户呈现一个快速滚动的随机数字窗口,由用户付费后按停,从而抽取盲盒,或者是其它类似形式;然而线上抽盲盒的程序或系统都是在由单个参与方所控制的中心服务器上运行的,消费者难以了解其背后的抽取方法,易受到商家控制,这样的方法可信度较低,容易发生不公平的事件,消费者体验较差。
发明内容
为了解决上述技术问题,本申请提供了一种抽取结果验证方法以及相关装置。
本申请第一方面提供了一种抽取结果验证方法,包括:
获取抽取用户的抽取指令并根据预设生成规则生成所述抽取用户的源数,所述源数与所述抽取用户的抽取指令具有唯一对应关系;
根据所述源数在本地进行单向哈希运算,并生成哈希运算结果;
根据所述哈希运算结果确定抽取结果;
获取所述抽取用户的第一私钥并通过所述第一私钥对所述源数以及所述抽取结果进行私钥加签,得到所述抽取用户的第一私钥信息;
将所述抽取结果以及所述第一私钥信息发送至服务端以及区块链中的验证节点进行验证。
可选的,所述根据所述哈希运算结果确定抽取结果包括:
判断所述哈希运算结果是否小于预设阈值;
根据所述判断结果确定抽取结果。
可选的,所述根据所述哈希运算结果确定抽取结果包括:
确定所述哈希运算结果所位于的预设区间;
根据所述预设区间确定抽取结果。
本申请第二方面提供了另一种抽取结果验证方法,所述方法包括:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息;
对所述第一私钥信息进行解密,并对解密结果进行验证;
若对所述解密结果验证通过,则对所述抽取结果进行验证,得到第一验证结果;
通过验证用户的第二私钥对所述验证结果进行私钥加签,得到所述验证用户的第二私钥信息;
将所述第二私钥信息发送至服务端进行验证。
可选的,所述对解密结果进行验证包括:
判断所述解密结果与所述抽取用户的抽取用户ID、源数以及所述抽取结果是否相匹配;
若相匹配,则确定验证通过。
可选的,对所述抽取结果进行验证包括:
读取源数,并对所述源数在本地进行单向哈希运算,并生成哈希运算结果;
根据所述哈希运算结果对所述抽取结果进行验证。
本申请第三方面提供了另一种抽取结果验证方法,所述方法包括:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息,所述第一私钥信息为所述抽取节点对所述抽取结果进行私钥加签得到;
接收验证节点发送的验证用户的第二私钥信息,所述第二私钥信息为所述验证节点对验证结果进行私钥加签得到,所述验证结果为所述验证节点对所述抽取结果进行验证得到;
分别对所述第一私钥信息以及所述第二私钥信息进行验证;
若验证通过,则对所述抽取结果进行验证,得到第二验证结果;
对所述抽取结果、所述第一验证结果以及所述第二验证结果进行统计;
根据统计结果对所述抽取结果进行认证。
可选的,对所述第一私钥信息进行验证包括:
通过所述抽取用户的公钥对所述第一私钥信息进行解密,得到第一解密结果;
判断所述第一解密结果与所述抽取用户的抽取用户ID、源数以及所述抽取结果是否相匹配;
若相匹配,则确定对所述第一私钥信息的验证通过。
可选的,对所述第二私钥信息进行验证包括:
通过验证用户的公钥对所述第二私钥信息进行解密,得到第二解密结果;
判断所述解密结果与所述验证用户的验证用户ID、源数以及所述验证结果是否相匹配;
若相配,则确定对所述第二私钥信息的验证通过。
可选的,根据统计结果对所述抽取结果进行认证包括:
当所述统计结果达到第一目标值时,确定所述抽取结果有效。
本申请第四方面提供了一种抽取结果验证系统,包括:相互耦合的抽取节点、验证节点以及服务端,所述抽取节点用于执行如下步骤:
获取抽取用户的抽取指令并根据预设生成规则生成所述抽取用户的源数,所述源数与所述抽取用户的抽取指令具有唯一对应关系;
根据所述源数在本地进行单向哈希运算,并生成哈希运算结果;
根据所述哈希运算结果确定抽取结果;
获取所述抽取用户的第一私钥并通过所述第一私钥对所述源数以及所述抽取结果进行私钥加签,得到所述抽取用户的第一私钥信息;
将所述抽取结果以及所述抽取用户的第一私钥信息发送至服务端以及区块链中的验证节点进行验证;
所述验证节点用于执行如下步骤:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息;
对所述第一私钥信息进行解密,并对解密结果进行验证;
若对所述解密结果验证通过,则对所述抽取结果进行验证,得到第一验证结果;
通过验证用户的第二私钥对所述验证结果进行私钥加签,得到所述验证用户的第二私钥信息;
将所述第二私钥信息发送至服务端进行验证,
所述服务端用于执行如下步骤:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息,所述第一私钥信息为所述抽取节点对所述抽取结果进行私钥加签得到;
接收验证节点发送的验证用户的第二私钥信息,所述第二私钥信息为所述验证节点对验证结果进行私钥加签得到,所述验证结果为所述验证节点对所述抽取结果进行验证得到;
分别对所述第一私钥信息以及所述第二私钥信息进行验证;
若验证通过,则对所述抽取结果进行验证,得到第二验证结果;
对所述抽取结果、所述第一验证结果以及所述第二验证结果进行统计;
根据统计结果对所述抽取结果进行认证。
本申请第五方面提供了一种抽取节点,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至10任一项所述方法。
本申请第六方面一种验证节点,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至10任一项所述方法。
本申请第七方面一种服务端,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如第三方面以及第三方面任一可选的方法。
本申请第八方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如第一方面至第三方面以及第一方面至第三方面任一可选的方法。
从以上技术方案可以看出,本申请具有以下优点:
本申请提供的抽取结果验证方法中,抽取用户通过抽取指令进行抽取后,抽取节点根据预设规则生成源数并在本地进行单向哈希运算,进而根据哈希运算结果确定抽取结果,并且会运用抽取用户的第一私钥对抽取结果进行私钥加签后才发送至区块链中的验证节点以及服务端进行验证,在本地进行单向哈希运算具有较高的安全强度,可以降低抽取结果被篡改的可能,并且私钥信息中有抽取用户的私钥,即便将代码开源,其它用户也难以对其进行篡改或破坏。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中抽取节点侧的抽取结果验证方法的一个实施例流程示意图;
图2为本申请中验证节点侧的抽取结果验证方法的一个实施例流程示意图;
图3为本申请中服务端侧的抽取结果验证方法的一个实施例流程示意图;
图4为本申请中服务端验证与共识达成流程图;
图5为在线抽取盲盒的生命周期流程示意图;
图6为本申请中抽取结果验证系统的一个实施例结构示意图;
图7为本申请中抽取结果验证系统的另一个实施例结构示意图;
图8为本申请中抽取节点的一个实施例结构示意图;
图9为本申请中验证节点的一个实施例结构示意图;
图10为本申请中服务端的一个实施例结构示意图。
具体实施方式
线上抽盲盒是一种在线上抽取盲盒的方式,可通过以手机应用或网站应用界面给用户呈现一个盲盒转盘等,由用户付费后点击转盘开始抽一定数量的盲盒;或者给用户呈现一个快速滚动的随机数字窗口,由用户付费后按停,从而抽取盲盒,或者是其它类似形式;然而线上抽盲盒的程序或系统都是在由单个参与方所控制的中心服务器上运行的,消费者难以了解其背后的抽取方法,易受到商家控制,这样的方法可信度较低,容易发生不公平的事件,消费者体验较差。
基于此,本申请提供了一种抽取结果验证方法,用于提高在线抽奖的可信度。
需要说明的是本申请提供的方法可以应用于多种场景,例如在线抽取盲盒、抽取积分、抽取奖品等。为了方便描述,下面将以抽取盲盒进行举例描述。本申请提供的方法可以应用于区块链中,区块链中包含有抽取节点、验证节点以及服务端,组网方式可以是用户节点负责全网用户节点的对等(peer-to-peer,P2P)网络拓扑组网和邻居路由表建立;可以采用分布式哈希表(Distributed Hash Table,DHT)机制进行组网,例如采用Kademlia协议进行用户节点的组网。Kademlia协议是一种典型的DHT协议,广泛应用在KAD网络、区块链网络组网中。节点之间的通信协议,由通信接口、通信报文格式、通信流程等组成,例如可以采用基于Kademlia协议进行接口定义、报文格式定义和通信流程定义等。
请参阅图1,图1为本申请提供的抽取结果验证方法一个实施例流程示意图,该抽取结果验证方法包括:
101、获取抽取用户的抽取指令并根据预设生成规则生成抽取用户的源数,源数与抽取用户的抽取指令具有唯一对应关系;
在实际进行盲盒抽取时,一般由服务端将商品信息推送至抽取节点,用户通过抽取指令进行抽取,例如通过输入一串幸运数字或者拨动转盘等进行抽取,此时抽取节点根据预设规则生成抽取用户的源数,源数与抽取指令存在唯一对应关系,例如,一种可选的源数的实施例可以是,源数=订单ID||当前的时间戳||1个随机数||随机幸运数字(||表示字符串串接),幸运数字可以是8位以内的数字,由用户输入。
102、根据源数在本地进行单向哈希运算,并生成哈希运算结果;
生成源数后,抽取节点将在本地进行单向哈希运算,输入为源数,输出为哈希运算结果,例如哈希运算结果=Hash(源数),高安全强度哈希算法是指根据目前计算机技术,无法在有限时间内,暴力反向碰撞而破坏哈希函数单向性的哈希算法,例如SHA256算法,具有较高的安全性,能够极大程度减少数据被破坏单向性的可能。
103、根据哈希运算结果确定抽取结果;
抽取节点根据哈希运算结果确定抽取结果,在实际应用中根据哈希运算结果确定抽取结果可以有多种方式,例如当奖品存在单级时,可以是判断哈希运算结果是否小于预设阈值;根据判断结果确定抽取结果。例如当哈希运算结果小于预设阈值时,确定抽取结果为1,即抽中奖品,当哈希运算结果不小于预设阈值时,确定抽取结果为0,即未抽中奖品。
例如:当存在单级奖品时:
判断Hash(源数)<2D关系是否成立,其中D表示盲盒抽取难度,D越大,难度越低;这个参数可以预先设定;如果关系成立,则抽取到了相应的奖品,抽取结果=1;若关系不成立,则没有抽取到本次盲盒的设定奖品,抽取结果=0。
当奖品存在多级时,可以是确定哈希运算结果所位于预设区间;根据预设区间确定抽取结果。提前设定每一级奖品所对应的区间,确定哈希运算结果位于哪一个区间,即可确定抽取结果为对应该区间的奖品。
例如:当存在多级奖品时:
判断Hash(源数)<2D1,2D1<=Hash(源数)<2D2,…,2D(m-1)<=Hash(源数)<2Dm(Di∈自然数N,且D1<D2<…<Dm,并支持自由设定)关系是否成立。
例如分三个级别的盲盒产品:一级、二级、三级,设置D1=10,D2=20,D3=30;Hash函数使用SHA256,则中选第1级的商品的概率为210/2256=1/2246,中选第2级的商品的概率为(220-210)/2256≈220/2256=1/2236,中选第3级的商品的概率为(230-220)/2256≈230/2256=1/2226。
上述对于抽取结果确定的描述,仅仅是举例的示意性说明,在实际应用中还可以有多种确定方式,具体此处不做限定。
104、获取抽取用户的第一私钥并通过第一私钥对源数以及抽取结果进行私钥加签,得到抽取用户的第一私钥信息;
抽取节点运用抽取用户的第一私钥对源数以及抽取结果进行私钥加签,得到第一私钥信息,例如:第一私钥信息=抽取用户的私钥签名(抽取用户ID||源数||抽取结果),可选的私钥加签算法包括:RSA算法、椭圆曲线加密算法(Elliptic Curve Cryptography,简称ECC)等;在此,采用加签是为了抵御伪造攻击,因为用户的私钥是无法被伪造的。
105、将抽取结果以及第一私钥信息发送至服务端以及区块链中的验证节点进行验证。
抽取节点将抽取结果以及第一私钥信息发送至服务端以及区块链中的验证节点进行验证,服务端将会协同验证节点对本次抽取结果的有效性进行验证,并向全网公布,下述实施例将会对具体的验证方法进行详细阐述。
请参阅图2,图2为本申请中提供的抽取结果验证方法的一个实施例流程示意图,该抽取结果验证方法包括:
201、接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息;
抽取节点对源数进行私钥加签后,将第一私钥信息以及源数发送至其它用户节点进行验证,验证节点指参与验证的其它用户节点。
202、对第一私钥信息进行解密,并对解密结果进行验证;
验证节点对第一私钥信息进行解密,得到解密结果,具体的,运用对应抽取用户的抽取用户ID的公钥对密钥签名进行解密,一种可选的解密方式可以是:
将第一私钥信息分为原始数据部分P1和签名数据部分P2,其中:
P1中包含抽取用户ID、源数以及抽取结果;
P2中包含抽取用户的密钥签名(抽取用户ID||源数||抽取结果)。
进而运用抽取用户ID对应的公钥对P2解签得到P2',其中P2'包含解签运算(P2),解签运算需要用到抽取用户ID对应的公钥,该公钥可以提前被预存,解签运算执行与加签逆向的解密运算即可;例如加签采用了RSA1024的加密算法,则解签采用RSA1024的解密算法。
203、若对解密结果验证通过,则对抽取结果进行验证,得到第一验证结果,若对解密结果验证不通过,则结束流程;
对抽取结果进行验证可以是:判断Hash(源数)<2D是否成立,若成立,则验证通过,确定验证结果=1;若不成立,则验证不通过,确定验证结果=0。
204、通过验证用户的第二私钥对验证结果进行私钥加签,得到验证用户的第二私钥信息;
验证节点运用验证用户对应的第二私钥对验证结果进行私钥加签,例如:将抽取用户ID||验证用户ID|源数||第一验证结果进行字符串串接,并运用验证用户的第二私钥进行密钥签名运算,即获得验证用户的第二私钥信息=验证用户的私钥签名(抽取用户ID||验证用户ID|源数||验证结果);验证节点可以提前预存该用户的密钥CA证书,并基于CA证书运用私钥签名算法进行私钥签名。
205、将第二私钥信息发送至服务端进行验证。
验证节点将{抽取用户ID||验证用户ID|源数||第一验证结果}和第二私钥信息发送至服务端进行验证。
服务端将对验证节点发送的第二私钥信息以及抽取节点发送的第一私钥信息以及抽取结果进行验证,下述实施例将对具体的验证方法进行详细阐述。
请参阅图3,图3为本申请中提供的抽取结果验证方法的一个实施例流程示意图,该抽取结果验证方法包括:
301、接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息,第一私钥信息为抽取节点对抽取结果进行私钥加签得到;
服务端接收抽取节点发送的抽取结果以及第一私钥信息,服务端指为抽奖活动提供服务的一端。
302、接收验证节点发送的验证用户的第二私钥信息,第二私钥信息为验证节点对验证结果进行私钥加签得到,验证结果为验证节点对抽取结果进行验证得到;
服务端接收验证节点发送的第二私钥信息。
303、分别对第一私钥信息以及第二私钥信息进行验证;
服务端分别对第一私钥信息以及第二私钥信息进行验证,当对第一私钥信息或第二私钥信息的验证通过时,需要说明的是,在验证时,对其中一项的验证通过即可继续进行流程,确定验证通过后继续对抽取结果进行验证,当验证不通过时,确定验证失败。对第一私钥信息以及第二私钥信息进行验证可以有多种方式,下面将进行举例说明。
对第一私钥信息进行验证可以是:
通过抽取用户的公钥对第一私钥信息进行解密,得到第一解密结果;判断第一解密结果与抽取用户的抽取用户ID、源数以及抽取结果是否相匹配;若相匹配,则确定对第一私钥信息的验证通过。
服务端运用对应抽取用户ID的公钥对第一私钥信息进行解密,并判断解密结果是否等于抽取用户ID,源数,抽取结果;如果不等于,则确定签名无效,不再继续进行下一步;若等于,确定对第一私钥信息的验证通过。例如:将第一解密结果分为原始数据部分P1和签名数据部分P2,然后用抽取用户ID对应的公钥对P2解签得到P2',最后判断P1是否等于P2',如果等于,则验证通过,如果不等于,则验证不通过。
对第二私钥信息进行验证的方法可以与对第一私钥信息验证的方法类似,在此不再赘述。
304、若验证通过,则对抽取结果进行验证,得到第二验证结果,若验证不通过,则结束流程;
如果对第一私钥信息或第二私钥信息的验证通过,则继续对抽取结果进行验证,对抽取结果的验证可以与确定抽取结果的流程类似,例如判断Hash(源数)<2D是否成立,若成立,则验证通过,确定第二验证结果=1;若不成立,则验证不通过,确定第二验证结果=0。
305、对抽取结果、第一验证结果以及第二验证结果进行统计;
当完成验证之后,服务端获取抽取节点的抽取结果、验证节点的第一验证结果,连同服务端的第二验证结果,一起进行累计统计,得到统计结果,并根据统计结果对抽取结果的有效性进行认证。
306、根据统计结果对抽取结果进行认证。
根据统计结果对抽取结果的有效性进行认证,一种可选的认证方法可以是当统计结果达到第一目标值时,确定抽取结果有效。例如,一种可选的分布式共识算法实施例可以设计为:只要累计的抽取/验证结果的1/0值超过全网用户数量的一定比例(可以设定为51%或1/3),则本次抽取用户的盲盒抽取结果以先达到1/0值为有效,并由服务端在用户入口向所有用户全网公布该用户的盲盒抽取结果。在实际应用中,在没有数据伪造和破坏的前提下,一般全网所有用户的抽取结果和验证结果都是一致的,但是在分布式共识算法的设定下,当超过一定比例的共识通过,即可认证抽取结果有效。
为了更清楚的对本申请进行说明,参考图4所示,图4为本申请中服务端验证与共识达成流程图,本申请将进行实际场景的举例描述:
首先判断是抽取节点还是验证节点发送过来的私钥信息;如果是抽取节点发送过来的第一私钥信息,则执行如下流程:
将第一私钥信息分为原始数据部分P1和签名数据部分P2;
用抽取用户ID对应的公钥对P2解签得到P2';
判断P1是否等于P2',并进行相应处理。
如果是验证节点发送过来的第二私钥信息,则执行如下流程:
将结果分为原始数据部分P3和签名数据部分P4;
用验证用户ID对应的公钥对P4解签得到P4';
判断P3是否等于P4';
判断Hash(源数)<2D是否成立并进行相应处理。
在实际应用中,当确定抽取用户抽取到奖品后,服务端还可以向仓库端发送货物以及配送信息。以将奖品发送给抽取用户。本次抽取完成后,服务端和抽取节点可以选择停止运行,等待下一次抽取周期开始,在此可被重设参数重新启动。
为了更清晰对抽取生命周期进行进行阐述,请参阅图5,图5为在线抽取盲盒的生命周期流程示意图,
本申请将以在线抽取盲盒进行举例进行实际场景说明:
图5中,生命周期流程包括:公布盲盒、启动盲盒活动、盲盒商品推送到用户侧、在线购买盲盒、抽取盲盒、数据加签、发送服务端、发布到全网用户节点、盲盒抽取结果验证、盲盒抽取验证结果加签、加签结果发送服务端、加签结果接收与验证、盲盒抽取结果公布等13个步骤,具体为:
公布盲盒:服务端公布盲盒活动;
启动盲盒活动:服务端启动盲盒活动;
盲盒商品推送到用户侧:服务端将盲盒商品推送到所有用户侧,用户可以在官方网站或应用APP或小程序或以太坊DApp应用等入口看到本次盲盒活动对应的盲盒商品;
在线购买盲盒:用户在线购买盲盒商品;
抽取盲盒:抽取用户对完成购买的盲盒在线上直接点击开启盲盒按钮进行盲盒抽取;
数据加签:抽取节点对抽取结果进行密钥签名;
发送服务端:抽取节点将抽取结果以及加签结果发送服务端,将抽取用户的{抽取用户ID,源数,抽取结果,抽取用户的密钥签名(抽取用户ID||源数||抽取结果)}发送给服务端;
发布到全网用户节点:抽取节点将{抽取用户ID,源数,抽取结果,抽取用户的私钥签名(抽取用户ID||源数||抽取结果)}公布到全网用户节点,由全网用户节点进行验证。
盲盒抽取结果验证:其它用户收到抽取用户的待验证数据后,对抽取用户的盲盒抽取结果进行验证。
验证结果加签:验证节点对验证结果进行密钥签名。
加签结果发送服务端:验证节点将加签结果发送给服务端。
加签结果接收与验证:服务端接收加签结果,并对验证节点的加签结果进行验证。
盲盒抽取结果公布:服务端通对验证通过的盲盒抽取结果全网公布。
本申请中,私钥生成与分发可以由一个公正权威的第三方CA机构(CertificateAuthority,证书颁发机构,即颁发数字证书的机构)来执行。
请参阅图6,图6为本申请中抽取结果验证系统的一个实施例结构示意图,该系统由秘钥生成与分发端、服务端以及多个用户节点组成,系统由多个用户侧子系统、服务端、密钥生成与分发端组成,分别由用户侧手机或电脑、盲盒活动服务器、接收/验证/公布服务器、数据存储服务器、密钥接收与存储服务器、密钥生成与分发服务器组成。
CA机构运用成熟的PKI机制,生成服务端以及多个用户节点的私钥,并将私钥以CA证书方式分发给服务端以及多个用户节点,并将公钥公开给所有的参与方。本发明可以用于在线积分抽奖、在线摇号(车牌、房产等)等活动,实现多方安全可信,具有应用场景的良好延展性。
上述实施例对本申请中提供的抽取结果验证方法进行了详细阐述,下面将对本申请中提供的相关装置进行阐述。
请参阅图7,图7为本申请中提供的抽取结果验证系统的另一个实施例结构示意图,
该抽取结果验证系统包括:
相互耦合的抽取节点701、验证节点702以及服务端703,抽取节点701用于执行如下步骤:
获取抽取用户的抽取指令并根据预设生成规则生成抽取用户的源数,源数与抽取用户的抽取指令具有唯一对应关系;
根据源数在本地进行单向哈希运算,并生成哈希运算结果;
根据哈希运算结果确定抽取结果;
获取抽取用户的第一私钥并通过第一私钥对源数以及抽取结果进行私钥加签,得到抽取用户的第一私钥信息;
将抽取结果以及抽取用户的第一私钥信息发送至服务端以及区块链中的验证节点进行验证;
验证节点702用于执行如下步骤:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息;
对第一私钥信息进行解密,并对解密结果进行验证;
若对解密结果验证通过,则对抽取结果进行验证,得到第一验证结果;
通过验证用户的第二私钥对验证结果进行私钥加签,得到验证用户的第二私钥信息;
将第二私钥信息发送至服务端进行验证,
服务端703用于执行如下步骤:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息,第一私钥信息为抽取节点对抽取结果进行私钥加签得到;
接收验证节点发送的验证用户的第二私钥信息,第二私钥信息为验证节点对验证结果进行私钥加签得到,验证结果为验证节点对抽取结果进行验证得到;
分别对第一私钥信息以及第二私钥信息进行验证;
若验证通过,则对抽取结果进行验证,得到第二验证结果;
对抽取结果、第一验证结果以及第二验证结果进行统计;
根据统计结果对抽取结果进行认证。
可选的,抽取节点701具体用于:
判断哈希运算结果是否小于预设阈值;
根据判断结果确定抽取结果。
可选的,抽取节点701具体用于:
确定哈希运算结果所位于的预设区间;
根据预设区间确定抽取结果。
可选的,验证节点702具体用于:
判断解密结果与抽取用户的抽取用户ID、源数以及抽取结果是否相匹配;
若相匹配,则确定验证通过。
可选的,验证节点702具体用于:
读取源数,并对源数在本地进行单向哈希运算,并生成哈希运算结果;
根据哈希运算结果对抽取结果进行验证。
可选的,服务端703具体用于:
通过抽取用户的公钥对第一私钥信息进行解密,得到第一解密结果;
判断第一解密结果与抽取用户的抽取用户ID、源数以及抽取结果是否相匹配;
若相匹配,则确定对第一私钥信息的验证通过。
可选的,服务端703具体用于:
通过抽取用户的公钥对第二私钥信息进行解密,得到第二解密结果;
判断解密结果与验证用户的验证用户ID、源数以及验证结果是否相匹配;
若相配,则确定对第二私钥信息的验证通过。
可选的,服务端703具体用于:
当统计结果达到第一目标值时,确定抽取结果有效。
请参阅图8,图8为本申请中提供的抽取节点的一个实施例结构示意图,该抽取节点包括:
处理器801、存储器802、输入输出单元803、总线804;
处理器801与存储器802、输入输出单元803以及总线804相连;
存储器802保存有程序,处理器801调用程序以执行如上任一抽取结果验证方法。
请参阅图9,图9为本申请中提供的验证节点的一个实施例结构示意图,该验证节点包括:
处理器901、存储器902、输入输出单元903、总线904;
处理器901与存储器902、输入输出单元903以及总线904相连;
存储器902保存有程序,处理器901调用程序以执行如上任一抽取结果验证方法。
请参阅图10,图10为本申请中提供的服务端的一个实施例结构示意图,该服务端包括:
处理器1001、存储器1002、输入输出单元1003、总线1004;
处理器1001与存储器1002、输入输出单元1003以及总线1004相连;
存储器1002保存有程序,处理器1001调用程序以执行如上任一抽取结果验证方法。
本申请还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一抽取结果验证的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (15)
1.一种抽取结果验证方法,其特征在于,所述方法包括:
获取抽取用户的抽取指令并根据预设生成规则生成所述抽取用户的源数,所述源数与所述抽取用户的抽取指令具有唯一对应关系;
根据所述源数在本地进行单向哈希运算,并生成哈希运算结果;
根据所述哈希运算结果确定抽取结果;
获取所述抽取用户的第一私钥并通过所述第一私钥对所述源数以及所述抽取结果进行私钥加签,得到所述抽取用户的第一私钥信息;
将所述抽取结果以及所述第一私钥信息发送至服务端以及区块链中的验证节点进行验证。
2.根据权利要求1中所述的抽取结果验证方法,其特征在于,所述根据所述哈希运算结果确定抽取结果包括:
判断所述哈希运算结果是否小于预设阈值;
根据所述判断结果确定抽取结果。
3.根据权利要求1中所述的抽取结果验证方法,其特征在于,所述根据所述哈希运算结果确定抽取结果包括:
确定所述哈希运算结果所位于的预设区间;
根据所述预设区间确定抽取结果。
4.一种抽取结果验证方法,其特征在于,所述方法包括:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息;
对所述第一私钥信息进行解密,并对解密结果进行验证;
若对所述解密结果验证通过,则对所述抽取结果进行验证,得到第一验证结果;
通过验证用户的第二私钥对所述验证结果进行私钥加签,得到所述验证用户的第二私钥信息;
将所述第二私钥信息发送至服务端进行验证。
5.根据权利要求4中所述的抽取结果验证方法,其特征在于,所述对解密结果进行验证包括:
判断所述解密结果与所述抽取用户的抽取用户ID、源数以及所述抽取结果是否相匹配;
若相匹配,则确定验证通过。
6.根据权利要求4中所述的抽取结果验证方法,其特征在于,对所述抽取结果进行验证包括:
读取源数,并对所述源数在本地进行单向哈希运算,并生成哈希运算结果;
根据所述哈希运算结果对所述抽取结果进行验证。
7.一种抽取结果验证方法,其特征在于,所述方法包括:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息,所述第一私钥信息为所述抽取节点对所述抽取结果进行私钥加签得到;
接收验证节点发送的验证用户的第二私钥信息,所述第二私钥信息为所述验证节点对验证结果进行私钥加签得到,所述验证结果为所述验证节点对所述抽取结果进行验证得到;
分别对所述第一私钥信息以及所述第二私钥信息进行验证;
若验证通过,则对所述抽取结果进行验证,得到第二验证结果;
对所述抽取结果、所述第一验证结果以及所述第二验证结果进行统计;
根据统计结果对所述抽取结果进行认证。
8.根据权利要求7中所述的抽取结果验证方法,其特征在于,对所述第一私钥信息进行验证包括:
通过所述抽取用户的公钥对所述第一私钥信息进行解密,得到第一解密结果;
判断所述第一解密结果与所述抽取用户的抽取用户ID、源数以及所述抽取结果是否相匹配;
若相匹配,则确定对所述第一私钥信息的验证通过。
9.根据权利要求7中所述的抽取结果验证方法,其特征在于,对所述第二私钥信息进行验证包括:
通过验证用户的公钥对所述第二私钥信息进行解密,得到第二解密结果;
判断所述解密结果与所述验证用户的验证用户ID、源数以及所述验证结果是否相匹配;
若相配,则确定对所述第二私钥信息的验证通过。
10.根据权利要求7至9中任一项所述的抽取结果验证方法,其特征在于,根据统计结果对所述抽取结果进行认证包括:
当所述统计结果达到第一目标值时,确定所述抽取结果有效。
11.一种抽取结果验证系统,其特征在于,包括:相互耦合的抽取节点、验证节点以及服务端,所述抽取节点用于执行如下步骤:
获取抽取用户的抽取指令并根据预设生成规则生成所述抽取用户的源数,所述源数与所述抽取用户的抽取指令具有唯一对应关系;
根据所述源数在本地进行单向哈希运算,并生成哈希运算结果;
根据所述哈希运算结果确定抽取结果;
获取所述抽取用户的第一私钥并通过所述第一私钥对所述源数以及所述抽取结果进行私钥加签,得到所述抽取用户的第一私钥信息;
将所述抽取结果以及所述抽取用户的第一私钥信息发送至服务端以及区块链中的验证节点进行验证;
所述验证节点用于执行如下步骤:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息;
对所述第一私钥信息进行解密,并对解密结果进行验证;
若对所述解密结果验证通过,则对所述抽取结果进行验证,得到第一验证结果;
通过验证用户的第二私钥对所述验证结果进行私钥加签,得到所述验证用户的第二私钥信息;
将所述第二私钥信息发送至服务端进行验证,
所述服务端用于执行如下步骤:
接收抽取节点发送的抽取结果以及抽取用户的第一私钥信息,所述第一私钥信息为所述抽取节点对所述抽取结果进行私钥加签得到;
接收验证节点发送的验证用户的第二私钥信息,所述第二私钥信息为所述验证节点对验证结果进行私钥加签得到,所述验证结果为所述验证节点对所述抽取结果进行验证得到;
分别对所述第一私钥信息以及所述第二私钥信息进行验证;
若验证通过,则对所述抽取结果进行验证,得到第二验证结果;
对所述抽取结果、所述第一验证结果以及所述第二验证结果进行统计;
根据统计结果对所述抽取结果进行认证。
12.一种抽取节点,其特征在于,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至10任一项所述方法。
13.一种验证节点,其特征在于,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至10任一项所述方法。
14.一种服务端,其特征在于,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至10任一项所述方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至10中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110656641.2A CN113269570B (zh) | 2021-06-11 | 2021-06-11 | 一种抽取结果验证方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110656641.2A CN113269570B (zh) | 2021-06-11 | 2021-06-11 | 一种抽取结果验证方法以及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113269570A true CN113269570A (zh) | 2021-08-17 |
CN113269570B CN113269570B (zh) | 2024-04-09 |
Family
ID=77234937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110656641.2A Active CN113269570B (zh) | 2021-06-11 | 2021-06-11 | 一种抽取结果验证方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113269570B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553332A (zh) * | 2021-09-22 | 2021-10-26 | 深圳时空云科技有限公司 | 去中心化的数据存储访问方法与装置 |
CN115708339A (zh) * | 2021-08-20 | 2023-02-21 | 清华大学 | 数据处理方法、装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019052286A1 (zh) * | 2017-09-12 | 2019-03-21 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
CN109636998A (zh) * | 2019-01-09 | 2019-04-16 | 山东浪潮质量链科技有限公司 | 一种利用区块链抽奖的方法及装置 |
CN110071808A (zh) * | 2019-04-09 | 2019-07-30 | 郭浩 | 一种区块链用户的安全数字身份验证方法和装置 |
CN110545170A (zh) * | 2019-09-16 | 2019-12-06 | 福建中科中欣智能科技有限公司 | 一种基于密码抽签的区块链共识方法和装置以及设备 |
CN111008863A (zh) * | 2019-11-28 | 2020-04-14 | 湖南天河国云科技有限公司 | 一种基于区块链的抽奖方法及系统 |
CN111695932A (zh) * | 2020-05-13 | 2020-09-22 | 陈议尊 | 一种基于积分交易的区块链公钥方法和系统 |
-
2021
- 2021-06-11 CN CN202110656641.2A patent/CN113269570B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019052286A1 (zh) * | 2017-09-12 | 2019-03-21 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
CN109636998A (zh) * | 2019-01-09 | 2019-04-16 | 山东浪潮质量链科技有限公司 | 一种利用区块链抽奖的方法及装置 |
CN110071808A (zh) * | 2019-04-09 | 2019-07-30 | 郭浩 | 一种区块链用户的安全数字身份验证方法和装置 |
CN110545170A (zh) * | 2019-09-16 | 2019-12-06 | 福建中科中欣智能科技有限公司 | 一种基于密码抽签的区块链共识方法和装置以及设备 |
CN111008863A (zh) * | 2019-11-28 | 2020-04-14 | 湖南天河国云科技有限公司 | 一种基于区块链的抽奖方法及系统 |
CN111695932A (zh) * | 2020-05-13 | 2020-09-22 | 陈议尊 | 一种基于积分交易的区块链公钥方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115708339A (zh) * | 2021-08-20 | 2023-02-21 | 清华大学 | 数据处理方法、装置和存储介质 |
CN115708339B (zh) * | 2021-08-20 | 2024-03-12 | 清华大学 | 数据处理方法、装置和存储介质 |
CN113553332A (zh) * | 2021-09-22 | 2021-10-26 | 深圳时空云科技有限公司 | 去中心化的数据存储访问方法与装置 |
CN113553332B (zh) * | 2021-09-22 | 2022-01-25 | 深圳时空云科技有限公司 | 去中心化的数据存储访问方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113269570B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021203815B2 (en) | Methods for secure cryptogram generation | |
US20070162961A1 (en) | Identification authentication methods and systems | |
US20160080157A1 (en) | Network authentication method for secure electronic transactions | |
US8060447B2 (en) | Method of providing transactions employing advertising based verification | |
CN106779705B (zh) | 一种动态支付方法及系统 | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
CN113269570B (zh) | 一种抽取结果验证方法以及相关装置 | |
CN110177124A (zh) | 基于区块链的身份认证方法及相关设备 | |
CN111815321A (zh) | 交易提案的处理方法、装置、系统、存储介质和电子装置 | |
CN107679149A (zh) | 一种数据处理方法及服务器 | |
KR20120091618A (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
TWI786039B (zh) | 線下支付方法、終端設備、後臺支付裝置及線下支付系統 | |
CN107615797B (zh) | 一种隐藏用户标识数据的装置、方法和系统 | |
GB2593109A (en) | Reliability verification system for digital-asset data packet | |
US10990978B2 (en) | Method of transaction without physical support of a security identifier and without token, secured by the structural decoupling of the personal and service identifiers | |
EP2306668B1 (fr) | Système et procédé de transaction sécurisée en ligne | |
CN110889793B (zh) | 基于区块链的数字彩票发行方法及区块链节点 | |
CN107808284B (zh) | 一种基于pos机系统的支付方法 | |
CN107403310A (zh) | 量子城域网下支付系统及其支付方法 | |
CN110781526A (zh) | 数字奖章创建方法、装置、电子设备及介质 | |
TW201828134A (zh) | 基於密文的身份驗證方法 | |
CN113592484A (zh) | 一种账户的开立方法、系统及装置 | |
Lin et al. | A countable and time-bound password-based user authentication scheme for the applications of electronic commerce | |
CN102420798A (zh) | 网络认证系统和方法 | |
Lee et al. | An interactive mobile SMS confirmation method using secret sharing technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |