CN113704357A - 一种基于区块链的智慧城市数据共享方法及系统 - Google Patents
一种基于区块链的智慧城市数据共享方法及系统 Download PDFInfo
- Publication number
- CN113704357A CN113704357A CN202111022717.2A CN202111022717A CN113704357A CN 113704357 A CN113704357 A CN 113704357A CN 202111022717 A CN202111022717 A CN 202111022717A CN 113704357 A CN113704357 A CN 113704357A
- Authority
- CN
- China
- Prior art keywords
- data
- data sharing
- block
- block chain
- smart city
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据共享的技术领域,公开了一种基于区块链的智慧城市数据共享方法,包括:利用以太坊建立区块链,并创建多个区块;智慧城市数据拥有方对数据进行加密,得到加密的智慧城市数据;利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,将共识后的数据添加到区块中;数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,若通过共识,则将该数据共享记录添加到区块中,数据请求方可以下载请求数据并收到解密私钥;实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。本发明还提供了一种基于区块链的智慧城市数据共享系统。本发明实现了智慧城市数据共享。
Description
技术领域
本发明涉及数据共享的技术领域,尤其涉及一种基于区块链的智慧城市数据共享方法及系统。
背景技术
随着城市人数每年在不断的大量增长,庞大的城市人群每年都会产生包含图像、文字等多种类型的海量数据,然而海量数据大部分都保存在中心化数据库中,造成了数据被隔离成为“信息孤岛”,导致无法共享数据从而使海量数据无法发挥其应有价值;同时中心化存储方案也容易由于节点故障导致信息的丢失,其次将数据存储在第三方结构造成了数据真正的拥有者无法掌控个人数据的使用权,且传统区块链方案的共识机制不匹配适用于智慧城市的数据共享,因此数据如何进行共享已经成为该领域需要解决的问题。
鉴于此,如何构建适用于智慧城市数据共享的区块链共识机制,成为本领域技术人员亟待解决的问题。
发明内容
本发明提供一种基于区块链的智慧城市数据共享方法,通过利用以太坊建立区块链,并创建多个区块链节点,智慧城市数据拥有方对数据进行加密,同时利用基于数据共享的区块链共识算法完成加密数据的上链,并实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。
为实现上述目的,本发明提供的一种基于区块链的智慧城市数据共享方法,包括:
利用以太坊建立区块链,并创建多个区块;
智慧城市数据拥有方对数据进行加密,得到加密的智慧城市数据;
利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,将共识后的数据添加到区块中;
数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,若通过共识,则将该数据共享记录添加到区块中,数据请求方可以下载请求数据并收到解密私钥;
实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。
可选地,所述利用以太坊建立区块链,包括:
创建L个区块,所述区块由包含元数据的区块头以及区块体组成,在本发明一个具体实施例中,所述区块头中包含了Merkle根、前一个区块的Hash值、区块的时间戳信息,所述区块体中包含智慧城市数据以及数据共享记录;
在区块头中设置Bloom Filter,所述Bloom Filter采用了k个哈希函数,且初始状态二进制向量的比特位为0;对于某个区块的数据共享记录T={T1,T2,…,TN},若有新的数据共享记录被写入T,则将该数据共享记录使用哈希函数映射,映射结果作为Bloom Filter中的索引位置,该位置的索引为1;并将该数据共享记录添加到T中,写入到区块;
对于一个数据共享记录Ti,通过hash()计算数据共享记录Ti的哈希值,得到多个数组位置,其中每个数组位置即表示每个区块中是否存在数据共享记录Ti,当数组M的位置为数字0,即表示对应的区块M中不存在数据共享记录Ti,当数组N中的位置为数字1,即表示对应的区块N中不存在数据共享记录Ti;
根据区块头中的时间戳信息,将每一个区块按照生成时间的顺序逐个连接起来,形成区块链;在区块链中,第一个区块被称为创世区块,该区块高度为0,从创世区块开始,此后生成区块的区块高度依次递增,所有区块逐个用前一区块Hash值顺接串联,形成了区块链。
可选地,所述智慧城市数据拥有方对数据进行加密,包括:
所述智慧城市数据包括城市公共数据以及市民个人数据,其中城市公共数据包括地理信息、水文信息以及房屋信息等,市民个人数据包括大量市民户籍、医疗、社保、住房等信息,在本发明一个具体实施例中,所述智慧城市数据拥有方为政府部门;
所述智慧城市数据的加密流程为:
1)数据拥有方确定安全参数α,其中α=p1p2,p1,p2为不相同的素数,并设置公开的加密参数{m,n,p,α,X(n-m)×m},其中X为高斯分布矩阵,m<n,p<<α,n(α-1)<p;
3)计算加密的公钥SK=StK2以及私钥SC=MtK1,发布公钥SK;
4)选取高斯噪声e,对智慧城市数据F进行加密:
L=SC·F+e
其中:
L为加密的智慧城市数据。
可选地,所述利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,包括:
1)对所有的区块链节点进行节点有效值验证:
其中:
T为区块链节点解出哈希函数随机数的时间;
t表示生成2000个区块的时间;
T0表示时间度量值,为10分钟;
根据区块链节点有效值对节点进行排序,选取有效值最高的5个节点作为区块链初始共识节点;
2)将每个节点初始信用值设为10,节点每出现一次故障或恶意操作,信用值减5,每稳定执行10次共识,信用值加1;从第二次共识起,每次选取信用值靠前的5个节点进行共识;
3)节点开始执行并行拜占庭算法时,将多个状态对象分组为状态部件,并将每个部件分配给g个机器,使得拜占庭算法使用不同类型的状态部件并行处理传入的共识请求;
4)在共识机制中,正确的节点以一致的方式观察组内节点的变化,因此一致的组称为视图,给视图编号并将它们记录为q;若一个视图中共有N个节点,每个节点都有编号{0,1,…,N-1},共识节点的个数为p,则p=q mod N;当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1;
5)对于给定的共识请求,当它从至少不同的g个执行器获得相同的共识通过结果r时,则认为通过共识,并将共识后的数据添加到区块中。
可选地,所述区块链对数据共享请求进行共识,包括:
1)数据请求方向区块链发起数据共享交易信息,验证节点检查数据共享交易信息是否合法,包括签名是否完整,数据格式是否正确,并在本地模拟交易,若数据共享交易不合格,验证节点将拒绝数据共享交易,并将驳回交易信息反馈给数据请求方;
2)待数据共享交易信息确认无误后,验证节点签名后将处理信息反馈给区块链共识节点;
3)共识节点按照预先设定的协商一致性算法对数据共享交易信息进行共识;
4)若主节点为拜占庭节点,则进行主节点视图切换;若拜占庭共识节点超过区块链容错阈值,则启用备用节点更替拜占庭节点;若在节点正常的情况下未达成共识,则驳回数据共享交易信息,将驳回信息反馈给数据请求方;
5)若共识节点达成共识,则将该数据共享记录添加到存储当前数据的区块中,并向整个网络进行消息广播。
可选地,所述加密数据的解密流程为:
其中:
α为安全参数,n为公开的加密参数;
Lsc为利用解密私钥SC对下载密文数据L进行解密;
F'为解密后的请求共享数据。
可选地,所述区块链数据共享激励机制为:
若机构上传成功一次智慧城市数据,则奖励10以太币,若所上传的智慧城市数据成功被共享一次,则奖励5个以太币。
此外,为实现上述目的,本发明还提供一种基于区块链的智慧城市数据共享系统,所述系统包括:
区块链创建装置,用于利用以太坊建立区块链,并创建多个区块;
数据处理器,用于对数据进行加密,得到加密的智慧城市数据;利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,将共识后的数据添加到区块中;
智慧城市数据分享装置,用于数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,若通过共识,则将该数据共享记录添加到区块中,数据请求方可以下载请求数据并收到解密私钥;实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有智慧城市数据分享程序指令,所述智慧城市数据分享程序指令可被一个或者多个处理器执行,以实现如上所述的基于区块链的智慧城市数据共享的实现方法的步骤。
相对于现有技术,本发明提出一种基于区块链的智慧城市数据共享方法,该技术具有以下优势:
首先,本发明对传统区块链算法的区块头进行改进,通过在区块头中设置BloomFilter,对于某个区块的数据共享记录T={T1,T2,…,TN},若有新的数据共享记录被写入T,则将该数据共享记录使用哈希函数映射,映射结果作为Bloom Filter中的索引位置,该位置的索引为1,并将该数据共享记录添加到T中,写入到区块;在对区块链的区块头进行改进后,对于一个数据共享记录Ti,通过hash()计算数据共享记录Ti的哈希值,得到多个数组位置,其中每个数组位置即表示每个区块中是否存在数据共享记录Ti,当数组M的位置为数字0,即表示对应的区块M中不存在数据共享记录Ti,当数组N中的位置为数字1,即表示对应的区块N中不存在数据共享记录Ti,从而可根据区块头确定区块中是否存在需要查询和检索的数据共享记录,快速地实现区块链中数据共享记录的查询和检索。
同时,本发明提出一种基于区块链的数据加密方法,数据拥有方确定安全参数α,其中α=p1p2,p1,p2为不相同的素数,并设置公开的加密参数{m,n,p,α,X(n-m)×m},其中X为高斯分布矩阵,m<n,p<<α,n(α-1)<p;计算两个矩阵St=[I,X(n-m)×m]以及 其中I表示单位矩阵,H表示智慧城市数据摘要的Hash矩阵;并随机生成两个矩阵K1,K2,使得K1·K2=I;计算加密的公钥SK=StK2以及私钥SC=MtK1,发布公钥SK;选取高斯噪声e,对智慧城市数据F进行加密:
L=SC·F+e
其中:L为加密的智慧城市数据。数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,对于达成共识的数据共享请求,数据请求方可以下载请求数据并接收到解密私钥SC,相较于传统算法,数据拥有方通过自设定安全参数,由区块链利用加密算法对上传数据进行加密,当数据请求方请求数据共享时,由区块链的各节点进行共识,只有当共识通过后才可进行数据共享,在数据共享请求期间,无需数据拥有方进行数据共享的确认,极大增加了数据共享的效率,同时所述加密数据的解密流程为:
其中:α为安全参数,n为公开的加密参数;Lsc为利用解密私钥SC对下载密文数据L进行解密;F'为解密后的请求共享数据。对于解密数据的正确性为:
若从中准确解密得到F,需要根据预先设置的参数定义m<n,p<<α,n(α-1)<p可知,n值较大,满足解密条件,验证了本发明所述加密算法的有效性,即本发明所述加密算法能实现对智慧城市数据进行加密解密处理。
最后本发明提出一种基于数据共享的区块链共识算法,所述基于数据共享的区块链共识算法流程为:对所有的区块链节点进行节点有效值验证:
其中:T为区块链节点解出哈希函数随机数的时间;t表示生成2000个区块的时间;T0表示时间度量值,为10分钟;根据区块链节点解出哈希函数随机数的效率确定区块链节点的性能,选取区块链节点性能最高的5个节点作为区块链初始共识节点,从而选取运算速度较高的节点作为初始共识节点,而传统共识算法中随机选取节点作为初始共识节点,所选取的节点性能可能较差,从而影响区块链初次共识的效率,相较于传统共识算法,本发明所述共识算法在共识算法初期具有更高的共识效率;同时将每个节点初始信用值设为10,节点每出现一次故障或恶意操作,信用值减5,每稳定执行10次共识,信用值加1,从第二次共识起,每次选取信用值靠前的5个节点进行共识,从而在后续节点共识中选取错误操作更少的节点作为共识节点,保证共识算法的可靠性;节点开始执行并行拜占庭算法时,将多个状态对象分组为状态部件,并将每个部件分配给g个机器,使得拜占庭算法使用不同类型的状态部件并行处理传入的共识请求;在共识机制中,正确的节点以一致的方式观察组内节点的变化,因此一致的组称为视图,给视图编号并将它们记录为q;若一个视图中共有N个节点,每个节点都有编号{0,1,…,N-1},共识节点的个数为p,则p=q mod N;当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1;对于给定的共识请求,当它从至少不同的g个执行器获得相同的共识通过结果r时,则认为通过共识,并将共识后的数据添加到区块中。
附图说明
图1为本发明一实施例提供的一种基于区块链的智慧城市数据共享方法的流程示意图;
图2为本发明一实施例提供的一种基于区块链的智慧城市数据共享系统的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
通过利用以太坊建立区块链,并创建多个区块链节点,智慧城市数据拥有方对数据进行加密,同时利用基于数据共享的区块链共识算法完成加密数据的上链,并实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。参照图1所示,为本发明一实施例提供的基于区块链的智慧城市数据共享方法示意图。
在本实施例中,基于区块链的智慧城市数据共享方法包括:
S1、利用以太坊建立区块链,并创建多个区块。
首先,本发明利用以太坊建立区块链,所述区块链的构建流程为:
创建L个区块,所述区块由包含元数据的区块头以及区块体组成,在本发明一个具体实施例中,所述区块头中包含了Merkle根、前一个区块的Hash值、区块的时间戳信息,所述区块体中包含智慧城市数据以及数据共享记录;
在区块头中设置Bloom Filter,所述Bloom Filter采用了k个哈希函数,且初始状态二进制向量的比特位为0;对于某个区块的数据共享记录T={T1,T2,…,TN},若有新的数据共享记录被写入T,则将该数据共享记录使用哈希函数映射,映射结果作为Bloom Filter中的索引位置,该位置的索引为1;并将该数据共享记录添加到T中,写入到区块;
对于一个数据共享记录Ti,通过hash()计算数据共享记录Ti的哈希值,得到多个数组位置,其中每个数组位置即表示每个区块中是否存在数据共享记录Ti,当数组M的位置为数字0,即表示对应的区块M中不存在数据共享记录Ti,当数组N中的位置为数字1,即表示对应的区块N中不存在数据共享记录Ti;
根据区块头中的时间戳信息,将每一个区块按照生成时间的顺序逐个连接起来,形成区块链;在区块链中,第一个区块被称为创世区块,该区块高度为0,从创世区块开始,此后生成区块的区块高度依次递增,所有区块逐个用前一区块Hash值顺接串联,形成了区块链。
S2、智慧城市数据拥有方对数据进行加密,得到加密的智慧城市数据。
进一步地,智慧城市数据拥有方对数据进行加密处理,所述智慧城市数据包括城市公共数据以及市民个人数据,其中城市公共数据包括地理信息、水文信息以及房屋信息等,市民个人数据包括大量市民户籍、医疗、社保、住房等信息,在本发明一个具体实施例中,所述智慧城市数据拥有方为政府部门;
所述智慧城市数据的加密流程为:
1)数据拥有方确定安全参数α,其中α=p1p2,p1,p2为不相同的素数,并设置公开的加密参数{m,n,p,α,X(n-m)×m},其中X为高斯分布矩阵,m<n,p<<α,n(α-1)<p;
3)计算加密的公钥SK=StK2以及私钥SC=MtK1,发布公钥SK;
4)选取高斯噪声e,对智慧城市数据F进行加密:
L=SC·F+e
其中:
L为加密的智慧城市数据。
S3、利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,将共识后的数据添加到区块中。
进一步地,本发明利用基于数据共享的区块链共识算法对加密的智慧城市数据进行共识,所述基于数据共享的区块链共识算法流程为:
1)对所有的区块链节点进行节点有效值验证:
其中:
T为区块链节点解出哈希函数随机数的时间;
t表示生成2000个区块的时间;
T0表示时间度量值,为10分钟;
根据区块链节点有效值对节点进行排序,选取有效值最高的5个节点作为区块链初始共识节点;
2)将每个节点初始信用值设为10,节点每出现一次故障或恶意操作,信用值减5,每稳定执行10次共识,信用值加1;从第二次共识起,每次选取信用值靠前的5个节点进行共识;
3)节点开始执行并行拜占庭算法时,将多个状态对象分组为状态部件,并将每个部件分配给g个机器,使得拜占庭算法使用不同类型的状态部件并行处理传入的共识请求;
4)在共识机制中,正确的节点以一致的方式观察组内节点的变化,因此一致的组称为视图,给视图编号并将它们记录为q;若一个视图中共有N个节点,每个节点都有编号{0,1,…,N-1},共识节点的个数为p,则p=q mod N;当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1;
5)对于给定的共识请求,当它从至少不同的g个执行器获得相同的共识通过结果r时,则认为通过共识,并将共识后的数据添加到区块中。
S4、数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,若通过共识,则将该数据共享记录添加到区块中,数据请求方可以下载请求数据并收到解密私钥。
进一步地,数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,所述共识流程为:
1)数据请求方向区块链发起数据共享交易信息,验证节点检查数据共享交易信息是否合法,包括签名是否完整,数据格式是否正确,并在本地模拟交易,若数据共享交易不合格,验证节点将拒绝数据共享交易,并将驳回交易信息反馈给数据请求方;
2)待数据共享交易信息确认无误后,验证节点签名后将处理信息反馈给区块链共识节点;
3)共识节点按照预先设定的协商一致性算法对数据共享交易信息进行共识;
4)若主节点为拜占庭节点,则进行主节点视图切换;若拜占庭共识节点超过区块链容错阈值,则启用备用节点更替拜占庭节点;若在节点正常的情况下未达成共识,则驳回数据共享交易信息,将驳回信息反馈给数据请求方;
5)若共识节点达成共识,则将该数据共享记录添加到存储当前数据的区块中,并向整个网络进行消息广播。
对于达成共识的数据共享请求,数据请求方可以下载请求数据并接收到解密私钥SC,所述加密数据的解密流程为:
其中:
α为安全参数,n为公开的加密参数;
Lsc为利用解密私钥SC对下载密文数据L进行解密;
F'为解密后的请求共享数据。
S5、实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。
进一步地,本发明利用区块链数据数据共享激励机制对参与智慧城市数据共享的机构进行激励,所述区块链数据共享激励机制为:若机构上传成功一次智慧城市数据,则奖励10以太币,若所上传的智慧城市数据成功被共享一次,则奖励5个以太币。
下面通过一个算法实验来说明本发明的具体实施方式,并对发明的处理方法进行测试。本发明算法的硬件测试环境为:Inter(R)Core(TM)i7-6700K CPU,软件为Matlab2018b;对比方法为基于HBase的智慧城市数据共享方法以及基于Hadoop的智慧城市数据共享方法。
在本发明所述算法实验中,数据集为10T的智慧城市数据。本实验通过将智慧城市数据输入到算法模型中,将智慧城市数据分享的准确率作为算法可行性的评价指标,其中智慧城市数据分享的准确率越高,则说明算法的有效性、可行性越高。
根据实验结果,基于HBase的智慧城市数据共享方法的智慧城市数据分享准确率为85.31%,基于Hadoop的智慧城市数据共享方法的智慧城市数据分享准确率为84.12%,本发明所述方法的智慧城市数据分享准确率为88.92%,相较于对比算法,本发明所提出的基于区块链的智慧城市数据共享方法能够实现更有效的智慧城市数据共享。
发明还提供一种基于区块链的智慧城市数据共享系统。参照图2所示,为本发明一实施例提供的基于区块链的智慧城市数据共享系统的内部结构示意图。
在本实施例中,所述基于区块链的智慧城市数据共享系统1至少包括区块链创建装置11、数据处理器12、智慧城市数据分享装置13,通信总线14,以及网络接口15。
其中,区块链创建装置11可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。
数据处理器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。数据处理器12在一些实施例中可以是基于区块链的智慧城市数据共享系统1的内部存储单元,例如该基于区块链的智慧城市数据共享系统1的硬盘。数据处理器12在另一些实施例中也可以是基于区块链的智慧城市数据共享系统1的外部存储设备,例如基于区块链的智慧城市数据共享系统1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,数据处理器12还可以既包括基于区块链的智慧城市数据共享系统1的内部存储单元也包括外部存储设备。数据处理器12不仅可以用于存储安装于基于区块链的智慧城市数据共享系统1的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
智慧城市数据分享装置13在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,包括监控单元,用于运行数据处理器12中存储的程序代码或处理数据,例如智慧城市数据分享程序指令16等。
通信总线14用于实现这些组件之间的连接通信。
网络接口15可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该系统1与其他电子设备之间建立通信连接。
可选地,基于区块链的智慧城市数据共享系统1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于区块链的智慧城市数据共享系统1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-15以及基于区块链的智慧城市数据共享系统1,本领域技术人员可以理解的是,图1示出的结构并不构成对基于区块链的智慧城市数据共享系统1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的基于区块链的智慧城市数据共享系统1实施例中,数据处理器12中存储有智慧城市数据分享程序指令16;智慧城市数据分享装置13执行数据处理器12中存储的智慧城市数据分享程序指令16的步骤,与基于区块链的智慧城市数据共享方法的实现方法相同,在此不作类述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有智慧城市数据分享程序指令,所述智慧城市数据分享程序指令可被一个或多个处理器执行,以实现如下操作:
利用以太坊建立区块链,并创建多个区块;
智慧城市数据拥有方对数据进行加密,得到加密的智慧城市数据;
利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,将共识后的数据添加到区块中;
数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,若通过共识,则将该数据共享记录添加到区块中,数据请求方可以下载请求数据并收到解密私钥;
实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于区块链的智慧城市数据共享方法,其特征在于,所述方法包括:
利用以太坊建立区块链,并创建多个区块;
智慧城市数据拥有方对数据进行加密,得到加密的智慧城市数据;
利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,将共识后的数据添加到区块中;
数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,若通过共识,则将该数据共享记录添加到区块中,数据请求方可以下载请求数据并收到解密私钥;
实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。
2.如权利要求1所述的一种基于区块链的智慧城市数据共享方法,其特征在于,所述利用以太坊建立区块链,包括:
创建L个区块,所述区块由包含元数据的区块头以及区块体组成,在本发明一个具体实施例中,所述区块头中包含了Merkle根、前一个区块的Hash值、区块的时间戳信息,所述区块体中包含智慧城市数据以及数据共享记录;
在区块头中设置Bloom Filter,所述Bloom Filter采用了k个哈希函数,且初始状态二进制向量的比特位为0;对于某个区块的数据共享记录T={T1,T2,...,TN},若有新的数据共享记录被写入T,则将该数据共享记录使用哈希函数映射,映射结果作为Bloom Filter中的索引位置,该位置的索引为1;并将该数据共享记录添加到T中,写入到区块;
对于一个数据共享记录Ti,通过hash()计算数据共享记录Ti的哈希值,得到多个数组位置,其中每个数组位置即表示每个区块中是否存在数据共享记录Ti,当数组M的位置为数字0,即表示对应的区块M中不存在数据共享记录Ti,当数组N中的位置为数字1,即表示对应的区块N中不存在数据共享记录Ti;
根据区块头中的时间戳信息,将每一个区块按照生成时间的顺序逐个连接起来,形成区块链;在区块链中,第一个区块被称为创世区块,该区块高度为0,从创世区块开始,此后生成区块的区块高度依次递增,所有区块逐个用前一区块Hash值顺接串联,形成区块链。
3.如权利要求2所述的一种基于区块链的智慧城市数据共享方法,其特征在于,所述智慧城市数据拥有方对数据进行加密,包括:
所述智慧城市数据的加密流程为:
1)数据拥有方确定安全参数α,其中α=p1p2,p1,p2为不相同的素数,并设置公开的加密参数{m,n,p,α,X(n-m)×m},其中X为高斯分布矩阵,m<n,p<<α,n(α-1)<p;
3)计算加密的公钥SK=StK2以及私钥SC=MtK1,发布公钥SK;
4)选取高斯噪声e,对智慧城市数据F进行加密:
L=SC·F+e
其中:
L为加密的智慧城市数据。
4.如权利要求3所述的一种基于区块链的智慧城市数据共享方法,其特征在于,所述利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,包括:
1)对所有的区块链节点进行节点有效值验证:
其中:
T为区块链节点解出哈希函数随机数的时间;
t表示生成2000个区块的时间;
T0表示时间度量值,为10分钟;
根据区块链节点有效值对节点进行排序,选取有效值最高的5个节点作为区块链初始共识节点;
2)将每个节点初始信用值设为10,节点每出现一次故障或恶意操作,信用值减5,每稳定执行10次共识,信用值加1;从第二次共识起,每次选取信用值靠前的5个节点进行共识;
3)节点开始执行并行拜占庭算法时,将多个状态对象分组为状态部件,并将每个部件分配给g个机器,使得拜占庭算法使用不同类型的状态部件并行处理传入的共识请求;
4)若一个视图中共有N个节点,每个节点都有编号{0,1,...,N-1},共识节点的个数为p,则p=q mod N;当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1;
5)对于给定的共识请求,当它从至少不同的g个执行器获得相同的共识通过结果r时,则认为通过共识,并将共识后的数据添加到区块中。
5.如权利要求4所述的一种基于区块链的智慧城市数据共享方法,其特征在于,所述区块链对数据共享请求进行共识,包括:
1)数据请求方向区块链发起数据共享交易信息,验证节点检查数据共享交易信息是否合法,包括签名是否完整,数据格式是否正确,并在本地模拟交易,若数据共享交易不合格,验证节点将拒绝数据共享交易,并将驳回交易信息反馈给数据请求方;
2)待数据共享交易信息确认无误后,验证节点签名后将处理信息反馈给区块链共识节点;
3)共识节点按照预先设定的协商一致性算法对数据共享交易信息进行共识;
4)若主节点为拜占庭节点,则进行主节点视图切换;若拜占庭共识节点超过区块链容错阈值,则启用备用节点更替拜占庭节点;若在节点正常的情况下未达成共识,则驳回数据共享交易信息,将驳回信息反馈给数据请求方;
5)若共识节点达成共识,则将该数据共享记录添加到存储当前数据的区块中,并向整个网络进行消息广播。
7.如权利要求6所述的一种基于区块链的智慧城市数据共享方法,其特征在于,所述区块链数据共享激励机制为:
若机构上传成功一次智慧城市数据,则奖励10以太币,若所上传的智慧城市数据成功被共享一次,则奖励5个以太币。
8.一种基于区块链的智慧城市数据共享系统,其特征在于,所述系统包括:
区块链创建装置,用于利用以太坊建立区块链,并创建多个区块;
数据处理器,用于对数据进行加密,得到加密的智慧城市数据;利用基于数据共享的区块链共识算法对加密的智慧城市数据进行区块链共识,将共识后的数据添加到区块中;
智慧城市数据分享装置,用于数据请求方向区块链申请智慧城市数据共享,区块链对数据共享请求进行共识,若通过共识,则将该数据共享记录添加到区块中,数据请求方可以下载请求数据并收到解密私钥;实时利用区块链数据共享激励机制对参与智慧城市数据共享的机构进行激励。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有智慧城市数据分享程序指令,所述智慧城市数据分享程序指令可被一个或者多个处理器执行,以实现如上所述的基于区块链的智慧城市数据共享的实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111022717.2A CN113704357A (zh) | 2021-09-01 | 2021-09-01 | 一种基于区块链的智慧城市数据共享方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111022717.2A CN113704357A (zh) | 2021-09-01 | 2021-09-01 | 一种基于区块链的智慧城市数据共享方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113704357A true CN113704357A (zh) | 2021-11-26 |
Family
ID=78658870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111022717.2A Withdrawn CN113704357A (zh) | 2021-09-01 | 2021-09-01 | 一种基于区块链的智慧城市数据共享方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704357A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114793237A (zh) * | 2022-03-14 | 2022-07-26 | 中国人民大学 | 基于区块链技术的智慧城市数据共享方法、设备及介质 |
CN116303805A (zh) * | 2023-05-22 | 2023-06-23 | 北京恒歌科技有限公司 | 一种基于区块链的地理空间基础数据共享方法及系统 |
CN116546095A (zh) * | 2023-07-04 | 2023-08-04 | 深圳市威宇智通科技有限公司 | 一种不同智慧社区的资源整合数据可信共享系统 |
CN117669897A (zh) * | 2024-02-01 | 2024-03-08 | 中汽数据(天津)有限公司 | 基于工业互联网标识解析的碳排放清单收集公示方法 |
-
2021
- 2021-09-01 CN CN202111022717.2A patent/CN113704357A/zh not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114793237A (zh) * | 2022-03-14 | 2022-07-26 | 中国人民大学 | 基于区块链技术的智慧城市数据共享方法、设备及介质 |
CN114793237B (zh) * | 2022-03-14 | 2023-06-20 | 中国人民大学 | 基于区块链技术的智慧城市数据共享方法、设备及介质 |
CN116303805A (zh) * | 2023-05-22 | 2023-06-23 | 北京恒歌科技有限公司 | 一种基于区块链的地理空间基础数据共享方法及系统 |
CN116303805B (zh) * | 2023-05-22 | 2023-07-25 | 北京恒歌科技有限公司 | 一种基于区块链的地理空间基础数据共享方法及系统 |
CN116546095A (zh) * | 2023-07-04 | 2023-08-04 | 深圳市威宇智通科技有限公司 | 一种不同智慧社区的资源整合数据可信共享系统 |
CN116546095B (zh) * | 2023-07-04 | 2023-09-05 | 深圳市威宇智通科技有限公司 | 一种不同智慧社区的资源整合数据可信共享系统 |
CN117669897A (zh) * | 2024-02-01 | 2024-03-08 | 中汽数据(天津)有限公司 | 基于工业互联网标识解析的碳排放清单收集公示方法 |
CN117669897B (zh) * | 2024-02-01 | 2024-04-16 | 中汽数据(天津)有限公司 | 基于工业互联网标识解析的碳排放清单收集公示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI707244B (zh) | 區塊鏈跨鏈的認證方法、系統、伺服器及可讀儲存媒體 | |
CN107342867B (zh) | 签名验签方法和装置 | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
Hao et al. | Deleting secret data with public verifiability | |
CN110096551A (zh) | 基于区块链的信用数据存储方法、装置、设备及介质 | |
CN111512590B (zh) | 用于密码认证的同态加密 | |
CN111859431B (zh) | 电子文件签章方法、装置、电子设备及存储介质 | |
CN112184444B (zh) | 基于信息的特征进行信息处理的方法、装置、设备及介质 | |
CN113420049B (zh) | 数据流通方法、装置、电子设备及存储介质 | |
CN112163240A (zh) | 一种基于区块链的分布式政务架构统一方法及系统 | |
WO2021218335A1 (zh) | 基于区块链的电子投票方法、装置及存储介质 | |
CN109948370A (zh) | 一种基于区块链的业务处理方法、装置和电子设备 | |
CN111614658A (zh) | 基于区块链网络的算力合约生成方法、电子装置和介质 | |
CN115659417A (zh) | 审计日志存储方法、验证方法、装置和计算机设备 | |
CN111563268B (zh) | 基于矩阵运算的数据加密方法、装置及存储介质 | |
CN106612274A (zh) | 云计算中一种基于同态性的共享数据验证算法 | |
Xu et al. | A generic integrity verification algorithm of version files for cloud deduplication data storage | |
CN114745173B (zh) | 登陆验证方法、装置、计算机设备和存储介质 | |
CN113792282B (zh) | 身份数据验证方法、装置、计算机设备和存储介质 | |
CN112182598B (zh) | 公有样本id识别方法、装置、服务器及可读存储介质 | |
Patel et al. | A chaff-point based approach for cancelable template generation of fingerprint data | |
CN113824703A (zh) | 一种基于区块链的能源系统控制方法及能源系统 | |
CN113468549A (zh) | 基于区块链的加密信息存证的检索方法、系统及电子设备 | |
Rao et al. | Dynamic outsourced proofs of retrievability enabling auditing migration for remote storage security | |
CN114490704A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211126 |