【发明公布】一种基于区块链链上-链下协同的数据交互方法_东北大学_201910908610.4 

申请/专利权人:东北大学

申请日:2019-09-25

发明/设计人:信俊昌;姚钟铭;郝琨;王之琼;范子嘉;罗艺栖;宋雨萌;陈金义

公开(公告)日:2020-01-10

代理机构:沈阳东大知识产权代理有限公司

公开(公告)号:CN110673966A

代理人:梁焱

主分类号:G06F9/54(20060101)

地址:110819 辽宁省沈阳市和平区文化路3号巷11号

分类号:G06F9/54(20060101);G06F21/64(20130101);G06F16/27(20190101);G06F16/2458(20190101);G06F16/23(20190101)

优先权:

专利状态码:在审-公开

法律状态:2020.01.10#公开

摘要:本发明涉及计算机区块链技术领域,提供一种基于区块链链上‑链下协同的数据交互方法。首先构建链上‑链下协同交互框架;当用户请求写入更新数据时,在链下数据中心写入修改原始数据,从原始数据要修改的数据中提取数据摘要并签名,选取主节点构建区块并接入区块链,再通知其他节点同步;当用户请求查询数据时,发送签名给验证节点,验证节点查询链上数据并广播数据,当多于半数的验证节点查询到相同的数据时,选取主节点,主节点从链下数据中心查询原始数据并提取数据摘要,对比链上数据与链下数据,若一致则返回用户的查询权限,若不一致则通知用户数据损坏。本发明能够保证数据安全性和完整性,且在进行大型数据的交互时速度快。

主权项:1.一种基于区块链链上-链下协同的数据交互方法,其特征在于,包括下述步骤:步骤1:构建区块链链上-链下协同交互框架包括区块链、链下的数据中心、验证网络,所述验证网络包括验证节点集合SVN={VN1,VN2,…,VNp,…,VNP},VNp为第p个验证节点,P为验证节点总数;步骤2:当用户请求写入数据时,执行步骤3;当用户请求查询数据时,执行步骤4;当用户请求更新数据时,执行步骤5;步骤3:进行链上-链下数据写入:步骤3.1:当用户SU={U1,U2,…,Ui,…,UI}请求写入原始数据Sdata={data1,data2,…,dataj,…,dataJ}时,将原始数据Sdata写入链下的数据中心,验证节点集合SVN中的每个验证节点均通过哈希函数从原始数据Sdata中提取数据摘要Sdig={dig1,dig2,…,digj,…,digJ},并使用用户Ui的签名sigi对用户Ui的数据摘要进行签名;其中,digj为原始数据dataj的摘要,Ui为第i个用户,I为用户总数,sigi∈Ssig,Ssig={sig1,sig2,……,sigi,……,sigI};步骤3.2:从最先完成数据摘要提取操作的验证节点中随机选取一个验证节点VNm作为主节点,主节点VNm广播第一消息,其他验证节点收到第一消息后停止数据摘要提取操作;步骤3.3:主节点VNm使用提取的数据摘要构建Merkle树,并将Merkle树打包成区块block,将区块block连接在区块链上,然后广播第二消息;步骤3.4:其他验证节点收到第二消息后同步区块链状态;步骤4:进行链上-链下数据查询:步骤4.1:用户Ui请求查询数据,将签名sigi发送给验证节点集合SVN中的每个验证节点;步骤4.2:验证节点集合SVN中的每个验证节点均从区块链尾开始向区块链头查询区块链链上数据;步骤4.3:每个验证节点查询到签名为sigi的链上数据后均广播消息,当多于P2的验证节点查询到相同的链上数据digeston时,从查询到链上数据digeston的验证节点中随机选取一个验证节点VNm作为主节点,主节点VNm广播第三消息,其他验证节点收到第三消息后停止数据查询操作;步骤4.4:主节点VNm从链下的数据中心查询用户Ui的原始数据,然后从原始数据中提取数据摘要digestoff;步骤4.5:若digeston与digestoff一致,主节点VNm返回用户Ui的查询权限,用户Ui可以在链下的数据中心上查询数据;若digeston与digestoff不一致,主节点VNm通知用户Ui数据损坏;步骤5:进行链上-链下数据更新:步骤5.1:用户SU={U1,U2,…,Ui,…,UI}请求修改一部分数据为Smdata={mdata1,mdata2,…,mdatak,…,mdataK},在链下的数据中心上修改原始数据后,通知验证节点集合SVN中的每个验证节点;步骤5.2:验证节点集合SVN中的每个验证节点均通过哈希函数从数据Smdata中提取数据摘要Smdig={mdig1,mdig2,…,mdigk,…,mdigK},并使用用户Ui的签名sigi对用户Ui的数据摘要进行签名;其中,mdigk为数据mdatak的摘要;步骤5.3:从最先完成数据摘要提取操作的验证节点中随机选取一个验证节点VNm作为主节点,主节点VNm广播第四消息,其他验证节点收到第四消息后停止摘要提取操作;步骤5.4:主节点VNm使用提取的数据摘要构建Merkle树,并将Merkle树打包成区块block_modify,将区块block_modify连接在区块链上,然后广播第五消息;步骤5.5:其他验证节点收到第五消息后同步区块链状态。

全文数据:

权利要求:

百度查询: 东北大学 一种基于区块链链上-链下协同的数据交互方法

-相关技术
vip会员权益升级
价格优惠/年费监控/专利管家/定制微网站 关闭