CN111177796B - 一种基于区块链的可溯源云存储系统的共识机制 - Google Patents

一种基于区块链的可溯源云存储系统的共识机制 Download PDF

Info

Publication number
CN111177796B
CN111177796B CN201911366999.0A CN201911366999A CN111177796B CN 111177796 B CN111177796 B CN 111177796B CN 201911366999 A CN201911366999 A CN 201911366999A CN 111177796 B CN111177796 B CN 111177796B
Authority
CN
China
Prior art keywords
cloud storage
equity
competitor
mining
resource
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.)
Active
Application number
CN201911366999.0A
Other languages
English (en)
Other versions
CN111177796A (zh
Inventor
荀怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201911366999.0A priority Critical patent/CN111177796B/zh
Publication of CN111177796A publication Critical patent/CN111177796A/zh
Application granted granted Critical
Publication of CN111177796B publication Critical patent/CN111177796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的可溯源云存储系统的共识机制,以防篡改的方式实现了云存储数据的可溯源,引入随机数以及门限加密方案,提高了CloudPoS共识机的安全性和可靠性,确保了云存储数据的可问责、可取证、和隐私性。首先,云存储用户基于CloudPoS共识机制演算权益函数值,之后,对云存储用户的权益函数进行资源确认,同时,伴随有一定的激励机制和惩罚机制进行约束,从而解决了权益资源存在一家独大、权益资源双花、权益资源信息泄漏等问题,提高了CloudPoS共识机制的安全性和可靠性。

Description

一种基于区块链的可溯源云存储系统的共识机制
技术领域
本发明涉及区块链的云存储技术领域,尤其涉及一种基于区块链的可溯源云存储系统 的共识机制。
背景技术
现阶段,随着互联网的广泛运用,互联网数据的日益增多,开始使用云存储来解决数 据的存储问题。在云存储中,不仅需要确保数据的安全存储,更要确保数据来源信息的完 整性和不可篡改性,进而实现云存储数据的可溯源。
区块链是分布式的防篡改公共分类帐目,任何交易信息都是由区块链上的所有参与者 共同进行验证的。故可使用区块链技术记录云存储数据的来源信息,进而实现云存储数据 的可溯源。因此,2017年Liang X等人提出了一种基于区块链的数据可溯源体系结构ProvChain,为云存储的数据提供了安全性保证。2018年Tosh D等人在ProvChain体系的基础上提出了BlockCloud系统,为了确保BlockCloud系统能安全的运行,针对该系统提出了CloudPoS共识机制,该机制是区块链事务达成分布式共识的算法,是在PoS的基础上改进形成的,实现了云存储数据的可溯源。
虽然已有的CloudPoS共识机制确保云存储实现了数据的可溯源,但仍存在一家独大、 权益资源双花、资源信息泄漏等安全隐患。故本文针对已有的CloudPoS共识机制提出了改 进方案,使BlockCloud系统更具有安全性和隐私性。
发明内容
本发明的目的是提供一种基于区块链的可溯源云存储系统的共识机制,以防篡改的方 式实现了云存储数据的可溯源,引入随机数以及门限加密方案,提高了CloudPoS共识机 的安全性和可靠性,确保了云存储数据的可问责、可取证和隐私性。
本发明采用的技术方案为:
一种基于区块链的可溯源云存储系统的共识机制,包括以下步骤:
A:云存储用户基于CloudPoS共识机制演算权益函数值的产生
A1:云存储用户使用自己的资源竞争挖矿的权力,共识机制中挖矿竞争者i的权益函数值的计算方法为f(i)=liRi,其中Ri=<Ci,Si,Di>为挖矿竞争者i可用于竞争的资源,Ci是挖矿竞争者可投入的中央处理器分片的数量,Si是挖矿竞争者i以千字节为单位分配 可投入的内存大小,Di是挖矿竞争者i以千比特每秒为单位可投入的网络数据处理速率, li∈[0,1)为挖矿竞争者i被CSP分配的随机数;
A2:f(i)的具体计算方式由当前参与的云服务提供商CSP决定,并将计算方式
Figure BDA0002338681040000021
在区块链上进行公布;
f(i)应满足的条件:
(1)
Figure BDA0002338681040000022
即若随机数li∈[0,1)相同,则挖矿竞争者i的权益 函数值f(i)随资源的增大而增大;
(2)f(i)∈Z,且f(i)的计算复杂度不高;
(3)权益函数的计算方式具有可逆性,即当得到权益值f(i)时,可通过随机数li计算出挖矿竞争者i投入竞争挖矿的资源;
(4)权益值f(i)由参与挖矿竞争者i自行计算后,并提交给当前的云存储提供商;
B:云存储用户的权益函数资源确认
B1:选择参与权益资源锁定的云存储用户
相关的云服务提供商CSP通过奖励机制,促使参与挖矿竞争的云存储用户积极的给 CSP发送参与权益资源锁定的请求,除挖矿竞争者i外,CSP根据收到的请求,确定 n个云存储用户Pl(l=1,2,...,n)参与权益资源的锁定过程;
B2:权益函数资源锁定
(i)初始化
当前相关的云服务提供商CSP,选取两个大素数p和q作为公共参数,其中q是(p-1)的素因数;CSP确定d={d1,d2,…,dn},dl(l=1,...,n)都是正整数的随机数,由相关的云服务提供商CSP将随机数dl和dj,分配给用户Pl和Pj,需满足的要求:(a)严格递增;(b) (dl,dj)=1,(l≠j);(c)(dl,q)=1;(d)
Figure BDA0002338681040000023
有限域Zp上的q阶生成 元g,使得在Zp域中计算以g为底的离散对数是不可行的;CSP所选择的参数p,q,g和d={d1,d2,...,dn}对于参与权益资源锁定的所有参与者都是公开的;
(ii)身份验证
两个不同的用户Pl和Pj之间进行身份验证,Pl首先选择随机数xl(0<xl<[q/n])和整数Al(0≤Al≤{[N/q]-1}/n),再使用CSP提供的参数q、p、g和每个用户Pl的dl,计 算yl=xl+Alq,alj=ylmod dj
Figure BDA0002338681040000037
klj=(yl-alj)/dj
Figure BDA0002338681040000031
并广播 验证因子αl、βlj(l≠j);
用户Pl单独保存随机数xl和all=ylmod dl作为私钥,alj、αl、βlj(l≠j)公开。
用户Pj收到alj后,通过计算
Figure BDA0002338681040000032
进行验证,若方程式成 立,用户Pl和Pj之间身份验证成功;
(iii)产生子秘密
两个不同的用户Pl和Pj身份验证成功后,每个用户Pj使用alj和CSP提供的参数dj,计算子秘密Lj
Figure BDA0002338681040000033
(iv)产生群公钥
每个用户Pl(l=1,2,...,n)使用云存储提供商公布的生成元g和自己产生的密钥为随机 数的xl,来计算
Figure BDA0002338681040000034
的值,并公布该值,参与权益资源锁定的任何一方都可以通过所有参与 权益资源锁定用户公布的
Figure BDA0002338681040000035
的值以及云存储提供商公布的大素数p,计算得到群公钥Y:
Figure BDA0002338681040000036
(v)对权益资源进行锁定
采用Elgamal加密算法;对挖矿竞争者i的权益函值f(i)∈Zq进行加密;云存储提供 商选一个随机整数k(1<k<q-1),使用上述计算得到的群公钥Y、云存储提供商公布的大 素数p以及生成元g,计算c1=gkmod p,c2=Ykf(i)mod p,将挖矿竞争者i的权益资源 锁定在CM=(c1,c2)中公布,并将CM=(c1,c2)记录在挖矿竞争者i的信息内;
B3:对权益函数资源进行认证
当挖矿竞争者i再参与其他轮的挖矿竞争,且具有最高的权益函数资源值将作为挖矿 矿工时,相关的云存储提供商使用激励机制促使区块链上,参与挖矿竞争者i权益资源锁 定的t个用户Ps(s=1,2,...,t)(t≤n),对挖矿矿工i的权益函数资源进行认证;
(i)权益资源认证过程
每个用户Ps(s=1,2,...,t)得到权益资源的锁定数据CM=(c1,c2)后,每个Ps使用子秘密Ls和CSP分配的ds,计算
Figure BDA0002338681040000041
并公布;其中,
Figure BDA0002338681040000042
es
Figure BDA0002338681040000043
得出;
每个Ps都可以恢复得到参与挖矿竞争者i的权益资源f(i),过程如下:
第1步:计算:
Figure BDA0002338681040000044
r是一个整数,以保证S是一个正数,且小于
Figure BDA0002338681040000045
第2步:参与挖矿竞争者i的权益资源f(i):
Figure BDA0002338681040000046
(ii)通过认证得到参与挖矿竞争者i的权益资源f(i),又因为已知f(i)的计算方法 和云存参与者i所分配的随机数li,故可以逆推出云存储用户i已锁定的权益资源, 进而完成对权益函数资源的认证;
C:若验证通过,则通知该权益值最高的挖矿竞争者进行挖矿,且设置计时器;若在规定的时间内,该挖矿矿工顺利的进行了挖矿,且返回完成;若在规定的时间内, 没有能够返回正确的值,则重新开始步骤B中新的一轮矿工选择。
还包括激励机制,当有云存储用户成功正确地将区块添加到区块链中时,云存储提供 商在特定时间内进行评估,挖矿矿工和其他为成功挖矿者做贡献的参与者所创造的总价值 量,在此基础上综合参与者所付出的权益资源,然后确定挖矿矿工和其他为成功挖矿做贡 献的参与者的总报酬值;
在添加区块后的某一段时间内,将总报酬的大半付给挖矿矿工作为挖矿的报酬,其余 的部分平分给每个为成功挖矿做贡献的参与者,报酬即为云存储用户释放或分配更多的权 益资源,这些权益资源可用于增加参与下一轮挖矿竞争。
还包括惩罚机制,若有参与者提交了不诚实的信息,且有其他云存储参与者发现,并 对该不诚实的参与者进行了举报;则本应由该参与者所得的奖励的一半交给举报的云存储 参与者,而奖励的另一半则被毁掉
本发明利用区块链技术,以防篡改的方式实现了云存储数据的可溯源。在该系统中使 用的CloudPoS共识机制,是区块链技术的关键部分,确保了数据来源信息以区块的形式 安全的添加到区块链上;采用随机数以及门限加密方案,通过分析表明,解决了CloudPoS 共识机制存在的安全隐患,提高了CloudPoS共识机的安全性和可靠性,确保了云存储数 据的可问责、可取证和隐私性。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显 然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的 实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都 属于本发明保护的范围。
首先说明现有CloudPoS共识机制
BlockCloud系统使用了CloudPoS共识机制,该共识机制中,使用基于计时器的方式, 通过比较每个挖矿竞争者权益值的大小和获得投票票数的多少来竞争挖矿的权力,权益值 的计算方法为:f(R,Rui)=γi(R-Ru),其中γi∈(0,1]是挖矿竞争者i渴望得到挖矿权的程 度系数,R-Ru是挖矿竞争者i可投入竞争的资源。在规定的时间内,权益值越大,且获得 区块链上参与者的票数越多,成为挖矿矿工的概率也就越大。
CloudPoS共识机制中,主要有以下五部分组成:
(1)权益函数值的产生
权益函数值f(i)的计算方法为:f(i)=γiRi,其中γi∈(0,1]是为贪婪因数,即挖矿竞争 者i渴望得到挖矿权的程度系数,Ri=<Ci,Si,Di>为挖矿竞争者i可用于竞争的资源,Ci是 挖矿竞争者可投入的中央处理器分片的数量,Si是是挖矿竞争者i以千字节为单位分配可 投入的内存大小,Di是挖矿竞争者i以千比特每秒为单位可投入的网络数据处理速率。
(2)认证权益
在权益值的计算过程中需要对权益资源进行确认,防止出现权益资源的双花问题,使 用权益锁定函数:
Figure BDA0002338681040000061
进行权益资源的锁定, 其中,
Figure BDA0002338681040000064
是挖矿竞争者i投入的资源,分别是中央处理器分片的数量、内存大小 以及网络数据处理速率,SS是由云存储提供商提供的共享秘密,Δi是挖矿竞争者i的签名, txIDi是挖矿竞争者i的事务认证,Δi和txIDi包含在区块里。以后当一个挖矿竞争者要成为 挖矿矿工时,其他区块链上的参与者可以使用权益认证函数:VMVERIFY(Δi)→0/1进行 权益资源的确认,如果它的二进制输出为1,则权益资源确认成功,否则输出0。
(3)选择挖矿矿工
采用一种基于计时器的投票方式。挖矿竞争者向区块链上的其他参与者发出投票请 求,并启动计时器。接收到请求的其他参与者,调用权益认证函数VMVERIFY(Δi),若输出1,则可对该挖矿竞争者进行投票,否则删除请求。获得多数选票的挖矿竞争者可进入 下一阶段。
(4)添加区块
在成功的选取了挖矿矿工后,挖矿矿工通过事务的顺序来创建区块,区块的数据包括 区块头和事务列表,区块头还包含挖矿矿工权益值以外的信息,如Δi,txIDi,其他信息都 保持不变。当挖矿矿工产生的区块通过区块链上其他参与者的验证后,将该区块添加到区 块链中
(5)惩罚机制
将区块成功的添加到区块链中会对相关的参与者有一定的奖励,奖励分布为RZ={Rt+1,...,Rt+Z},其中
Figure BDA0002338681040000062
向每个时段t分配同等数量的奖励,即
Figure BDA0002338681040000063
本发明的方案
本文对BlockCloud系统的CloudPoS共识机制进行改进,主要引入了门限加密方案, 来提高CloudPoS共识机制的安全性和挖矿竞争的公平性。
一、权益函数值的产生
云存储用户使用自己的资源竞争挖矿的权力,进而获得一定的报酬。共识机制中挖矿 竞争者i的权益函数值的计算方法为f(i)=liRi,其中Ri=<Ci,Si,Di>为挖矿竞争者i可用 于竞争的资源,Ci是挖矿竞争者可投入的中央处理器分片的数量,Si是挖矿竞争者i以千 字节为单位分配可投入的内存大小,Di是挖矿竞争者i以千比特每秒为单位可投入的网络 数据处理速率,li∈[0,1)为挖矿竞争者i被CSP分配的随机数。
f(i)的具体计算方式由当前参与的CSP决定,并将计算方式
Figure BDA0002338681040000071
在区块链上进行 公布。f(i)应满足的条件:(1)
Figure BDA0002338681040000072
即若随机数li∈[0,1)相同,则 挖矿竞争者i的权益函数值f(i)随资源的增大而增大;(2)f(i)∈Z,且f(i)的计算复杂度 不高;(3)权益函数的计算方式应具有可逆性,即当得到权益值f(i)时,可通过随机数li计 算出挖矿竞争者i投入竞争挖矿的资源;(4)权益值f(i)由参与挖矿竞争者i自行计算后, 并提交给当前的云存储提供商。
二、权益函数资源确认
使用门限加密方案,使相关的云服务提供商对矿工提交的权益资源进行锁定,当他们 在决定退出共识机制和/或更改其在BlockCloud系统扮演的角色之前,都无法使用已投入 的资源去竞争下一轮的挖矿。具体的权益资源确认流程如下:
(1)选择参与权益资源锁定的云存储用户
相关的云服务提供商CSP通过奖励机制,促使参与挖矿竞争的云存储用户(除i外), 可以积极的给CSP发送参与权益资源锁定的请求。CSP根据收到的请求,确定n个云存储 用户Pl(l=1,2,...,n)参与权益资源的锁定过程。
(2)权益函数资源锁定
(i)初始化
当前相关的云服务提供商CSP,选取两个大素数p和q作为公共参数,其中q是(p-1)的素因数;CSP确定d={d1,d2,...,dn},dl(l=1,...,n)都是正整数的随机数,由相关的云服 务提供商CSP将随机数dl和dj,分配给用户Pl和Pj,需满足的要求:(a)严格递增;(b) (dl,dj)=1,(l≠j);(c)(dl,q)=1;(d)
Figure BDA0002338681040000081
有限域Zp上的q阶生成 元g,使得在Zp域中计算以g为底的离散对数是不可行的;CSP所选择的参数p,q,g和 d={d1,d2,…,dn}对于参与权益资源锁定的所有参与者都是公开的。
CSP所选择的参数p,q,g和d={d1,d2,…,dn}对于参与权益资源锁定的所有参与者都是公开的。
(ii)身份验证
两个不同的用户Pl和Pj之间进行身份验证,Pl首先选择随机数xl(0<xl<[q/n])和整数Al(0≤Al≤{[N/q]-1}/n),再使用CSP提供的参数q、p、g和每个用户Pl的dl,计 算yl=xl+Alq,alj=ylmod dj
Figure BDA0002338681040000082
klj=(yl-alj)/dj
Figure BDA0002338681040000083
并广播 验证因子αl、βlj(l≠j)。
用户Pl单独保存随机数xl和all=ylmod dl作为私钥,alj、αl、βlj(l≠j)公开。
用户Pj收到alj后,通过计算
Figure BDA0002338681040000084
进行验证,若方程式成 立,用户Pl和Pj之间身份验证成功。
(iii)产生子秘密
两个不同的用户Pl和Pj身份验证成功后,每个用户Pj使用alj和CSP提供的参数dj,计算子秘密Lj
Figure BDA0002338681040000085
(iv)产生群公钥
每个用户Pl使用私钥xl和CSP提供的参数g,计算
Figure BDA0002338681040000086
的值并公布。每个权益资源锁定的参与者,均可通过每个用户公布的
Figure BDA0002338681040000087
和CSP提供的参数p,计算得到群公钥Y:
Figure BDA0002338681040000088
(v)对权益资源进行锁定
采用Elgamal加密算法,对挖矿竞争者i的权益函值f(i)∈Zq进行加密。CSP选一个随 机整数k(1<k<q-1),使用群公钥Y、CSP提供的参数p和g,计算c1=gkmod p, c2=Ykf(i)mod p,将CM=(c1,c2)中记录在挖矿竞争者i的信息内并公布。
(3)对权益资源进行认证
当挖矿竞争者i再参与其他轮的挖矿竞争,且具有最高的权益函数资源值将作为挖矿 矿工时,相关的云存储提供商使用激励机制促使区块链上,参与挖矿竞争者i权益资源锁 定的t个用户Ps(s=1,2,...,t)(t≤n),对挖矿矿工i的权益函数资源进行认证;
(i)权益资源认证过程
每个用户Ps(s=1,2,...,t)得到权益资源的锁定数据CM=(c1,c2)后,每个Ps使 用子秘密Ls和CSP分配的ds,计算
Figure RE-GDA0002443975920000105
并公布。其中,
Figure RE-GDA0002443975920000106
Figure RE-GDA0002443975920000111
得出。
每个Ps都可以恢复得到参与挖矿竞争者i的权益资源f(i),过程如下:
第1步:计算:
Figure BDA0002338681040000094
r是一个整数,以保证S是一个正数,且小于
Figure BDA0002338681040000095
第2步:参与挖矿竞争者i的权益资源f(i):
Figure BDA0002338681040000096
(ii)认证过程可行性分析
假设
Figure BDA0002338681040000097
Figure BDA0002338681040000098
故可得:Z≡X(mod q)。此外,
Figure BDA0002338681040000099
故可得:Z≡Li(mod di),i=1,2,...,t。
则中国剩余定理可得:
Figure BDA00023386810400000910
则可得:
则可得:
Figure BDA0002338681040000108
(iii)通过认证得到参与挖矿竞争者i的权益资源f(i),又因为已知f(i)的计算方法 和云存参与者i所分配的随机数li,故可以逆推出云存储用户i已锁定的权益资源,进而完 成对权益函数资源的认证。
三、挖矿矿工的选择及挖矿
云存储参与者i成为挖矿矿工的可能性取决于它的权益值f(i)的大小。在一轮挖矿开 始前,相关的云服务提供商判断哪个挖矿竞争者具有最高的权益值,并组织系统中的其他 参与者,对该挖矿竞争者的权益值进行验证,若验证通过,则通知该权益值最高的挖矿竞 争者进行挖矿,且设置计时器。若在规定的时间内,该挖矿矿工顺利的进行了挖矿,且返 回完成;若没有在规定的时间内,没有能够返回正确的值,则重新开始新的一轮矿工选择。
四、激励机制
该共识机制的运行完全取决于云存储用户的参与积极性,故需为产生区块做贡献的参 与者提供一定的奖励,进而激励他们继续维护区块链。当有云存储用户参成功正确地将区 块添加到区块链中时,云存储提供商评估在特定时间内,挖矿矿工和其他为成功挖矿做贡 献的参与者所创造的总价值量,在此基础上综合参与者所付出的权益资源,然后确定挖矿 矿工和其他为成功挖矿做贡献的参与者的总报酬值。在添加区块后的某一段时间内,将总 报酬的大半付给挖矿矿工作为挖矿的报酬,其余的部分平分给每个为成功挖矿做贡献的参 与者,报酬即为云存储用户释放或分配更多的权益资源,这些权益资源可用于增加参与下 一轮挖矿竞争。
五、惩罚机制
在共识机制中,单单通过奖励机制来激励参与者正确积极的挖矿往往是不够的,还应 当有合理的惩罚机制,来对系统中的不诚实参与者进行惩罚,以鼓励每个参与者诚实的维 护云存储数据操作信息。若有参与者提交了不诚实的信息,且有其他云存储参与者发现, 并对该不诚实的参与者进行了举报。则本应由该参与者所得的奖励的一半交给举报的云存 储参与者,而奖励的另一半则被毁掉。
本发明主要从CloudPoS共识机制的五个方面对共识机制进行了改进,解决了权益资 源存在一家独大、权益资源双花、权益资源信息泄漏等问题,提高了CloudPoS共识机制的安全性和可靠性。
一、安全性
CloudPoS共识机制中引入了门限加密方案来进行权益资源的锁定,在该方案中,除了 负责挖矿矿工外,所有为挖矿做贡献的云存储用户(如参与权益资源认证)都会得到一定 数额的奖励。云存储提供商通过该奖励机制,吸引BlockCloud云存储系统中的参与者积 极参与维护挖矿的安全正常进行。
在对权益资源的锁定时,使用了门限加密方案,不但锁定了挖矿参与者所投入的资源, 使得已经投入的资源不能再进行双花,从而保证了挖矿竞争的公平性,确保了CloudPoS 共识机制的安全性。还对权益资源值进行了加密,使得挖矿竞争者在同时竞争其他挖矿机 会时,其可以投入的权益资源具有隐私性,从而保证了挖矿竞争的公平性,确保了CloudPoS 共识机制的安全性。
二、可靠性
共识机制中云存储提供商给挖矿竞争者i分配随机数li∈[0,1),使得权益值不仅仅 取决于资源占有量,还取决于云存储提供商分配的随机因素,进而防止了一家独大的问题, 即个别挖矿竞争者通过占有的大量权益资源来进行恶意的挖矿。
CloudPoS共识机制加入了惩罚机制,当共识机制中出现不诚实的参与者,且有其他参 与者进行举报。则本应由该云存储参与者所得的奖励的一半交给举报的参与者,而奖励的 另一半则被毁掉。毁掉奖励的另一半,这样即使不诚实的参与者能够合理地指控自己,对 他的惩罚也会使他的利益受到伤害。且挖矿的奖励只能在添加区块后的某一段时间内转给 矿工,以便有足够的时间让其他区块链的云存储参与者提出惩罚机制。这样的惩罚机制可 以促使系统的参与者积极配合维护维护云存储数据操作信息,从而提高CloudPoS共识机 制的可靠性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参 照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可 以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同 替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范 围。

Claims (3)

1.一种基于区块链的可溯源云存储系统的共识机制的方法,其特征在于:包括以下步骤:
A:云存储用户基于CloudPoS共识机制演算权益函数值的产生
A1:云存储用户使用自己的资源竞争挖矿的权力,共识机制中挖矿竞争者i的权益函数值的计算方法为f(i)=liRi,其中Ri=<Ci,Si,Di>为挖矿竞争者i可用于竞争的资源,Ci是挖矿竞争者可投入的中央处理器分片的数量,Si是挖矿竞争者i以千字节为单位分配可投入的内存大小,Di是挖矿竞争者i以千比特每秒为单位可投入的网络数据处理速率,li∈[0,1)为挖矿竞争者i被CSP分配的随机数;
A2:f(i)的具体计算方式由当前参与的云服务提供商CSP决定,并将计算方式
Figure FDA0003353746230000011
在区块链上进行公布;
f(i)应满足的条件:
(1)
Figure FDA0003353746230000012
即若随机数li∈[0,1)相同,则挖矿竞争者i的权益函数值f(i)随资源的增大而增大;
(2)f(i)∈Z,且f(i)的计算复杂度不高;
(3)权益函数的计算方式具有可逆性,即当得到权益值f(i)时,可通过随机数li计算出挖矿竞争者i投入竞争挖矿的资源;
(4)权益值f(i)由参与挖矿竞争者i自行计算后,并提交给当前的云存储提供商;
B:云存储用户的权益函数资源确认
B1:选择参与权益资源锁定的云存储用户
相关的云服务提供商CSP通过奖励机制,促使参与挖矿竞争的云存储用户积极的给CSP发送参与权益资源锁定的请求,除挖矿竞争者i外,CSP根据收到的请求,确定n个云存储用户Pl(l=1,2,...,n)参与权益资源的锁定过程;
B2:权益函数资源锁定
(i)初始化
当前相关的云服务提供商CSP,选取两个大素数p和q作为公共参数,其中q是(p-1)的素因数;CSP确定d={d1,d2,…,dn},dl(l=1,...,n)都是正整数的随机数,由相关的云服务提供商CSP将随机数dl和dj,分配给用户Pl和Pj,需满足的要求:(a)严格递增;(b)(dl,dj)=1,(l≠j);(c)(dl,q)=1;(d)
Figure FDA0003353746230000021
有限域Zp上的q阶生成元g,使得在Zp域中计算以g为底的离散对数是不可行的;CSP所选择的参数p,q,g和d={d1,d2,…,dn}对于参与权益资源锁定的所有参与者都是公开的;
(ii)身份验证
两个不同的用户Pl和Pj之间进行身份验证,Pl首先选择随机数xl(0<xl<[q/n])和整数Al(0≤Al≤{[N/q]-1}/n),再使用CSP提供的参数q、p、g和每个用户Pl的dl,计算yl=xl+Alq,alj=ylmoddj
Figure FDA0003353746230000022
klj=(yl-alj)/dj
Figure FDA0003353746230000023
并广播验证因子αl、βlj(l≠j);
用户Pl单独保存随机数xl和all=ylmoddl作为私钥,alj、αl、βlj(l≠j)公开;
用户Pj收到alj后,通过计算
Figure FDA0003353746230000024
进行验证,若方程式成立,用户Pl和Pj之间身份验证成功;
(iii)产生子秘密
两个不同的用户Pl和Pj身份验证成功后,每个用户Pj使用alj和CSP提供的参数dj,计算子秘密Lj
Figure FDA0003353746230000025
(iv)产生群公钥
每个用户Pl(l=1,2,...,n)使用云存储提供商公布的生成元g和自己产生的密钥为随机数的xl,来计算
Figure FDA0003353746230000026
的值,并公布该值,参与权益资源锁定的任何一方都可以通过所有参与权益资源锁定用户公布的
Figure FDA0003353746230000027
的值以及云存储提供商公布的大素数p,计算得到群公钥Y:
Figure FDA0003353746230000028
(v)对权益资源进行锁定
采用Elgamal加密算法;对挖矿竞争者i的权益函值f(i)∈Zq进行加密;云存储提供商选一个随机整数k(1<k<q-1),使用上述计算得到的群公钥Y、云存储提供商公布的大素数p以及生成元g,计算c1=gkmodp,c2=Ykf(i)modp,将挖矿竞争者i的权益资源锁定在CM=(c1,c2)中公布,并将CM=(c1,c2)记录在挖矿竞争者i的信息内;
B3:对权益函数资源进行认证
当挖矿竞争者i再参与其他轮的挖矿竞争,且具有最高的权益函数资源值将作为挖矿矿工时,相关的云存储提供商使用激励机制促使区块链上,参与挖矿竞争者i权益资源锁定的t个用户Ps(s=1,2,...,t)(t≤n),对挖矿矿工i的权益函数资源进行认证;
(i)权益资源认证过程
每个用户Ps(s=1,2,...,t)得到权益资源的锁定数据CM=(c1,c2)后,每个Ps使用子秘密Ls和CSP分配的ds,计算
Figure FDA0003353746230000031
并公布;其中,
Figure FDA0003353746230000032
es
Figure FDA0003353746230000033
得出;
每个Ps都可以恢复得到参与挖矿竞争者i的权益资源f(i),过程如下:
第1步:计算:
Figure FDA0003353746230000034
r是一个整数,以保证S是一个正数,且小于
Figure FDA0003353746230000035
第2步:参与挖矿竞争者i的权益资源f(i):
Figure FDA0003353746230000036
(ii)通过认证得到参与挖矿竞争者i的权益资源f(i),又因为已知f(i)的计算方法和云存参与者i所分配的随机数li,故可以逆推出云存储用户i已锁定的权益资源,进而完成对权益函数资源的认证;
C:若验证通过,则通知该权益值最高的挖矿竞争者进行挖矿,且设置计时器;若在规定的时间内,该挖矿矿工顺利的进行了挖矿,且返回完成;若在规定的时间内,没有能够返回正确的值,则重新开始步骤B中新的一轮矿工选择。
2.根据权利要求1所述的基于区块链的可溯源云存储系统的共识机制的方法,其特征在于:还包括激励机制,当有云存储用户成功正确地将区块添加到区块链中时,云存储提供商在特定时间内进行评估,挖矿矿工和其他为成功挖矿者做贡献的参与者所创造的总价值量,在此基础上综合参与者所付出的权益资源,然后确定挖矿矿工和其他为成功挖矿做贡献的参与者的总报酬值;
在添加区块后的某一段时间内,将总报酬的大半付给挖矿矿工作为挖矿的报酬,其余的部分平分给每个为成功挖矿做贡献的参与者,报酬即为云存储用户释放或分配更多的权益资源,这些权益资源可用于增加参与下一轮挖矿竞争。
3.根据权利要求2所述的基于区块链的可溯源云存储系统的共识机制的方法,其特征在于:还包括惩罚机制,若有参与者提交了不诚实的信息,且有其他云存储参与者发现,并对该不诚实的参与者进行了举报;则本应由该参与者所得的奖励的一半交给举报的云存储参与者,而奖励的另一半则被毁掉。
CN201911366999.0A 2019-12-26 2019-12-26 一种基于区块链的可溯源云存储系统的共识机制 Active CN111177796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911366999.0A CN111177796B (zh) 2019-12-26 2019-12-26 一种基于区块链的可溯源云存储系统的共识机制

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911366999.0A CN111177796B (zh) 2019-12-26 2019-12-26 一种基于区块链的可溯源云存储系统的共识机制

Publications (2)

Publication Number Publication Date
CN111177796A CN111177796A (zh) 2020-05-19
CN111177796B true CN111177796B (zh) 2022-03-15

Family

ID=70655710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911366999.0A Active CN111177796B (zh) 2019-12-26 2019-12-26 一种基于区块链的可溯源云存储系统的共识机制

Country Status (1)

Country Link
CN (1) CN111177796B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069259B (zh) * 2020-09-09 2023-08-18 天津大学 一种基于区块链的多云环境数据存储系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333696B2 (en) * 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
CN108846667A (zh) * 2018-04-23 2018-11-20 上海分布信息科技有限公司 一种基于区块链的通证调控方法和通证调控系统
CN109964446B (zh) * 2018-06-08 2022-03-25 北京大学深圳研究生院 一种基于投票的共识方法
CN109033832B (zh) * 2018-06-22 2021-02-09 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN110299987B (zh) * 2019-06-24 2022-03-29 暨南大学 一种基于同态加密的百万富翁问题解决方法

Also Published As

Publication number Publication date
CN111177796A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
Yu et al. Repucoin: Your reputation is your power
US20220123927A1 (en) Methods and systems for blockchain-implemented event-lock encryption
CN108171511B (zh) 一种具有隐私保护功能的区块链系统
EP4117228B1 (en) Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network
Miller et al. Nonoutsourceable scratch-off puzzles to discourage bitcoin mining coalitions
US8943322B2 (en) Systems and methods for authenticating an electronic transaction
CN110213059B (zh) 一种随机数的生成方法、生成装置及存储介质
US20200286049A1 (en) Systems and methods of self-administered protocols on a blockchain platform
CN110298641B (zh) 区块链的规则更新方法、装置、区块链节点及网络
CN110505217B (zh) 一种基于博弈论与区块链融合的位置隐私保护方法
CN112968884A (zh) 一种防止黑客攻击的区块链异构共识方法及终端
CN112804272A (zh) 变色龙哈希函数的碰撞计算方法及可裁剪区块链账本结构
CN110266687A (zh) 一种采用区块链技术的物联网安全代理数据共享模块设计方法
CN111177796B (zh) 一种基于区块链的可溯源云存储系统的共识机制
CN116303767A (zh) 一种基于cp-abe的医疗数据多级管理与共享方法
CN113360951B (zh) 一种基于分区式区块链的电子证据保全方法
CN112685750A (zh) 数据处理方法及装置
Zhang et al. F3B: A low-overhead blockchain architecture with per-transaction front-running protection
CN116484398B (zh) 一种基于变色龙哈希的加密验证方法和系统
CN115580431B (zh) 一种基于联盟链智能合约的隐私数据访问控制方法
CN117710101A (zh) 基于区块链的交易处理方法、装置、存储介质及电子设备
CN117973552A (zh) 基于区块链辅助的新型联邦学习方法、系统、设备及介质

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