CN112041834B - 使用分布式账本进行数据交换的系统和方法 - Google Patents
使用分布式账本进行数据交换的系统和方法 Download PDFInfo
- Publication number
- CN112041834B CN112041834B CN202080000130.9A CN202080000130A CN112041834B CN 112041834 B CN112041834 B CN 112041834B CN 202080000130 A CN202080000130 A CN 202080000130A CN 112041834 B CN112041834 B CN 112041834B
- Authority
- CN
- China
- Prior art keywords
- data
- peer
- consumer
- blockchain network
- blockchain
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000010200 validation analysis Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000010267 cellular communication Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
- H04L9/3213—Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了使用分布式账本提供数据交换的系统和方法,其中数据在链外交换,用于访问链外数据的信息通过区块链交换。实施例可以提供在区块链外部的数据服务器中存储大量数据(如IoT数据)的混合区块链数据交换平台,其中数据消费者可以使用从区块链获得的令牌从数据服务器获得数据。混合区块链数据交换平台的实施例提供了数据的准确性和安全性,而无需在区块链内存储数据的全部内容,和/或确保交换数据的不可反驳性。
Description
技术领域
本发明涉及数据提供者和数据消费者之间的数据交换,特别涉及使用分布式账本(ledger)的数据交换。
背景技术
物联网(IoT)是一个由相互关联的计算设备、机械和数字机器、物体、动物或人组成的系统,它们具有唯一标识符(UID),能够通过网络传输数据而无需人与人或人机交互。随着诸如智能电器、相机、语音控制的个人助理、智能手机、传感器等连接设备的广泛采用,物联网系统正被广泛使用。因此,大量的IoT数据(例如传感器数据、摄录的视频和/或音频、交易数据等)被产生。这些多样且稳健的IoT数据可以被多个数据消费者(如个人、商业企业、政府部门、研究人员、安保部队等)用于各种目的(例如确定需要满足的需求、确定享受特殊优惠的资格、针对广告和其他营销工作、识别行为和趋势、识别安全威胁等)。但是,大量可用的IoT数据及其各种来源,在确定相关的可用IoT数据、确定相关IoT数据可用的位置以及访问和获取特定的IoT数据方面,对数据消费者来说具有挑战性。
将IoT数据移到分散路径,可以避免单点故障并促进广泛的数据发现和访问。区块链是一项相对较新的技术,已在实施去中心化系统中流行。
区块链技术可将数据分布在整个存储节点网络(即区块链网络)中,并安全地存储在数字或分布式账本中。在区块链运行中,生成并维护了越来越多的使用密码系统链接的区块(账本)列表。每个区块都包含前一个区块的加密哈希(哈希、交易数据等)。区块链网络中的每个节点都有一个副本账本,从而提供了一个分布式帐本。共识机制(例如工作量证明)维持所有帐本的同步性。在许可的私有链中,只有授权的参与者才能加入网络并读取和提交交易(例如,用于企业应用程序,仅允许受信任的节点参与区块链运行)。许可私有链通常具有较高的可扩展性(例如超级账本每秒可以实现3500个交易)。在无需许可的公有链中,任何人都可以加入网络,读取、写入和提交交易(例如,用于加密货币应用程序,允许任何人参与区块链运行)。无需许可的公有链通常提供较低的可扩展性(例如,比特币需要大约10分钟才能确认单笔交易)。
区块链可以提供一种强大的技术,其可以对计算和管理流程去中心化,从而可以解决许多IoT数据问题(例如数据安全性、可发现性和访问性)。然而,用于存储和访问IoT数据的区块链技术的实际实施本身就具有挑战性。例如,区块链分布式账本利用可观的计算资源来生成链式数据块,由区块链网络的每个节点存储。IoT数据提供了大量数据,如果IoT数据管理平台仅将IoT数据存储到区块链中,则可能是不切实际的。例如,鉴于涉及大量IoT数据,在链上执行原始IoT数据交易可能并不有利。由于区块链实施的共识协议,有关链上实施IoT数据交易的可用交易速度可能会低得令人无法接受。此外,区块链中的每个节点都将拥有分布式账本的副本,包括IoT数据上的每个交易,因此会消耗大量的存储空间。因此,如果任务是存储IoT数据,则区块链可能会遇到处理时间长、并需要大区块链存储空间的问题。
先前曾进行过一些尝试将IoT数据移动到分散路径中,包括IoT数据管理平台。例如,公开内容通过引用并入本文的CN108694330A公开了一种IoT数据管理平台,其中,区块链网络中的节点接收IoT数据并确定数据有效性。有效数据将被写入区块链网络。区块链网络中的节点还接收操作指令并确定其有效性。如果操作指令有效,则生成数据服务。公开内容通过引用并入本文的US10,264,066B2公开了一种在IoT网络之间共享对等(P2P)数据的技术。具体而言,其中的技术通过涉及安全令牌的P2P连接提供了两个IoT平台之间的数据共享。公开内容通过引用并入本文的US2019/0165945A1公开了一种多节点交易管理系统,其借助于区块链平台为一组客户节点生成一次性令牌。但是,这些先前的尝试都无法解决IoT数据可能带来的处理时间长和区块链存储空间大的问题。
发明内容
本发明涉及使用分布式账本提供数据交换的系统和方法,其中数据在链外交换,用于访问链外数据的信息通过区块链交换。本发明实施例提供了一种混合区块链实现,其避免了在区块链内存储大量数据,从而提供了非常适合于针对非常大量的数据(如IoT数据)进行数据交换的解决方案。实施例使用区块链系统促进针对大量数据的数据交换,从而以有效的方式实现数据交换,同时保持数据的准确性和安全性。
例如,本发明实施例可以提供一种混合区块链数据交换平台,该平台在区块链外部的一个或多个数据服务器中存储大量数据(如IoT数据)。通过数据提供者将数据注册(如作为数据服务)到区块链,可以使该数据对数据消费者可用(如“发布”)。数据消费者可以访问区块链的分布式帐本,以发现相关数据或感兴趣的数据,并从区块链获得数据令牌(如数据服务令牌),以用于从一个或多个数据服务器获取数据。此后,数据消费者可以使用从区块链获得的令牌访问或以其他方式从一个或多个数据服务器获取数据。这样的混合区块链实现方式有助于广泛发现和访问大量数据,同时避免了处理时间长和区块链存储空间大的问题。
混合区块链数据交换平台的实施例提供了数据的准确性和安全性,而无需在区块链内存储数据的全部内容。例如,代表数据的数据结构(如布隆过滤器)可由区块链存储,并用于验证从混合区块链数据交换平台的一个或多个数据服务器获得的数据的完整性。实施例的代表性数据结构所使用的区块链存储空间比数据本身在区块链内的存储要少得多,而同时还促进了数据安全性和数据准确性的保证。
本发明实施例的混合区块链数据交换平台提供了确保交换数据的不可辩驳性的数据交换。例如,数据消费者从混合区块链数据交换平台的数据服务器获得的数据可以被加密,其中用于提取数据的信息(如代表性数据结构,如哈希值和解密密钥)被数据提供者存储在区块链中。数据消费者可以通过从区块链中提取数据来获取该信息,从而确认数据接收。
前面已经相当广泛地概述了本发明的特征和技术优点,以便可以更好地理解随后的本发明的详细描述。下面将描述构成本发明权利要求的主题的本发明的附加特征和优点。本领域技术人员应该理解,所公开的概念和具体实施例可以容易地用作修改或设计用于实现本发明的相同目的的其他结构的基础。本领域技术人员还应该认识到,这样的等同构造不脱离如所附权利要求书中阐述的本发明的精神和范围。结合附图考虑以下描述,将更好地理解被认为是本发明的特征的新颖特征,就其组织和操作方法而言,以及进一步的目的和优点。然而,应该明确理解的是,每个附图仅仅是为了说明和描述的目的而提供的,并不意图作为本发明的限制的定义。
附图说明
为了更全面地理解本发明,现在结合附图参考以下描述,其中:
图1显示根据本发明实施例的混合区块链数据交换平台的高级功能框图。
图2显示关于图1的混合区块链数据交换平台运行的更多细节。
图3显示根据本发明实施例的阐述由混合区块链数据交换平台提供数据交换的操作的功能流程图。
图4A和图4B显示根据本发明实施例的阐述用于验证IoT数据的数据完整性的功能流程图。
图5A和5B显示根据本发明实施例的阐述用于确保交换数据的不可反驳性的功能流程图。
具体实施方式
图1示出根据本发明的概念被配置为提供数据交换的混合区块链数据交换平台的高级功能框图。在混合区块链数据交换平台100的运行中,数据在链外交换,并且用于访问链外数据的信息通过区块链交换。因此,混合区块链数据交换平台100避免在区块链内存储大量数据,因此非常适合于针对非常大量的数据(例如IoT数据)进行数据交换。
在图1所示的混合区块链数据交换平台的示例中,在区块链外部的一个或多个数据服务器如IoT数据服务器130中存储大量数据(如IoT数据131)。对等(peer)提供者110可以使用区块链150将该数据提供给对等消费者120,下面将进一步详细描述。应当理解,为了简化,尽管在图1中仅显示了一个对等提供者、对等消费者、IoT数据服务器和区块链的一个实例,但是根据本发明概念的混合区块链数据交换平台可以包括不同数量的任何或全部前述组成。例如,期望多个数据消费者将访问任何特定数据提供者的数据。而且,期望多个数据提供者将参与关于混合区块链数据交换平台的实施。
例如,图1示例性实施例中的对等提供者110可以包括一个或多个IoT数据源系统(例如,关于连接设备如智能电器、相机、语音控制个人助理、智能手机、传感器、无人机等的所有者、运营商、集成商等系统),可用于生成、获取、收集、集成、管理或以其他方式促进对IoT数据的访问。相应地,例如,对等消费者120可以包括一个或多个IoT数据消费者的系统(如个人、商业企业、政府部门、研究人员、安全部队等的系统),可访问、获得、利用、分析、使用或以其他方式促进出于各种目的访问IoT数据(例如,确定要满足的需求、确定特殊优惠的资格、针对广告和其他营销工作、确定行为和趋势、确定安全威胁等)。根据一些实施例,对等提供者110和/或对等消费者120可以包括一个或多个基于处理器的系统(例如,个人计算机或其他计算机实施、网络服务器或其他服务器实施、智能手机、平板设备等),在如本文所述的操作指令(如程序代码)控制下运行。例如,对等提供者110和/或对等消费者120可以包括中央处理单元(CPU),与存储程序代码的计算机可读存储器通信连接,该程序代码在由CPU执行时,执行本文描述的功能。
图1示例性实施例的IoT数据服务器130提供了一个平台用于收集和服务IoT数据131。例如,IoT数据服务器130可以包括一个或多个可以存储由一个或多个数据提供者(如对等提供者110)提供的IoT数据131的数据服务器(例如,网络服务器或其他服务器配置、存储区域网络(SAN)、廉价磁盘冗余阵列(RAID)阵列等),。根据本发明的一些实施例,IoT数据服务器130可以由对等提供者110操作、由对等提供者110控制、或与对等提供者110相关联以存储由数据提供者(与对等提供者110相对应)提供的IoT数据。IoT数据服务器130通过网络(如局域网(LAN)、广域网(WAN)、互联网、内联网、蜂窝通信网络等)与对等提供者110的一个或多个系统进行数据通信,以接收IoT数据和相关信息(如数据令牌、代表性数据结构、密码密钥、数字证书/签名等),例如用于存储、用于管理、维护和控制运行等。IoT数据服务器130优选可被一个或多个系统对等消费者120通过诸如LAN、WAN、互联网、内联网、蜂窝通信网络等的网络访问,以供访问部分或全部IoT数据和相关信息(如数据令牌、代表性数据结构、加密密钥、数字证书/签名等),例如,以促进与对等消费者的IoT数据交换。根据一些实施例,IoT数据服务器130可包括一个或多个基于处理器的系统(如个人计算机或其他计算机实施、网络服务器或其他服务器实施、智能手机、平板设备等),在如本文所述的操作指令(如程序代码)控制下运行。例如,IoT数据服务器130可以包括CPU,其与存储程序代码的计算机可读存储器通信连接,该程序代码在由CPU执行时执行本文描述的功能。
实施例的区块链150包括网络节点,网络节点协同运行以形成一个许可私有链网络。实施为区块链150的区块链系统被配置以支持智能合约。智能合约包括存储在区块链150上的计算机代码,其包含预定规则,其中当满足规则时,将执行该代码。因此,区块链150可在无需第三方帮助的情况下执行可信交易。例如,网络管理员或其他管理员可以预先定义不同的角色和智能合约,以解决各种需求,例如对等提供者(如IoT数据提供者)和对等消费者(如IoT数据消费者)的角色,智能合约提供规则和相关代码以实现混合区块链数据交换平台的功能。下表列出了可用于实现混合区块链数据交换平台实施例的一些示例性智能合约。
混合区块链数据交换平台100被配置以使用区块链技术促进关于大量数据(例如IoT数据)的数据交换。在图1的混合区块链数据交换平台100的运行中,可以通过对等提供者110将数据(例如,作为数据服务)注册到区块链150,以使数据可用(如“发布”),以供对等消费者120访问。之后,对等消费者120可以访问区块链150的分布式帐本以发现相关数据或感兴趣的数据并从区块链获得数据令牌(如安全令牌,例如数字签名),以用于从IoT数据获取数据。因此对等消费者120可以使用从区块链150获得的令牌,从IoT数据服务器130访问或以其他方式获取某部分IoT数据131。从上述内容可以理解,IoT数据131的数据是在链外交换(即原始数据或完全/完整的IoT数据既不存储也不由区块链150直接提供),而用于访问IoT数据131相关数据的信息(如数据令牌)则通过区块链150进行交换。
图2显示根据实施例的关于上述混合区块链数据交换平台100运行的更多细节。特别地,图2提供了根据实施例的混合区块链数据交换平台100的运行逻辑流程图。对应于图2逻辑流程的功能流程在图3中被显示为流程300。如上所述的关于混合区块链数据交换平台100的运行,根据图2和3的流程运行提供了链下交换数据,其中原始IoT数据没有存储在分布式账本270中,将在下面详细描述。
本发明实施例的混合区块链数据交换平台100实现一个对等提供者110注册数据和对等消费者120发现数据的过程。因此,在流程300的方框301,对等提供者110使用区块链150注册一个数据服务,对应于IoT数据131中的数据,如图2中的箭头201所示。根据实施例,对等提供者110可以调用智能合约260中的一个智能合约(如以上示例的智能合约SC1)来注册IoT数据服务。数据服务的注册可以包括指定数据、其存储和访问的各种属性。例如,对等提供者110可以指定各种数据过滤参数(如数据类型、有效时间等)、数据访问方式(如REST、MQTT等)和/或等等。相应地,对等提供者110可以将IoT数据131存储到IoT数据服务器130,或者控制IoT数据服务器130来收集IoT数据131,以根据注册的数据服务来为数据消费者提供服务。
在流程300的方框302,对等消费者120使用区块链150发现IoT数据服务,如图2中的箭头202所示。根据本发明实施例,对等消费者120可以调用智能合约(如以上示例中的智能合约SC2)以发现由对等提供者110注册的IoT数据服务。
如果对等消费者120希望消费数据服务的数据,则在流程300的方框303,对等消费者120从区块链150获得数据的数据服务令牌,如图2的箭头203所示。例如,对等消费者120可以分析有关注册数据服务的信息(如数据类型、有效时间等),以确定IoT数据131的数据对于对等消费者的一个或多个目的是否相关或有用。根据本发明的实施例,如果确定对等消费者120希望消费部分IoT数据131,则对等消费者120可以调用智能合约(如以上示例的智能合约SC3)以请求数据服务的数据令牌(如数据服务令牌包括安全令牌,诸如“data_access_secret”形式的数字签名)。例如,数据令牌可以通过上述智能合约的操作来生成(例如,data_access_secret可以是伪随机数,如hash(peer_provider+peer_consumer+cryptopgrapic nonce),其中“+”表示附加,是在调用智能合约SC3时生成的)。
在流程300的方框304处,对等消费者120使用数据令牌从IoT数据服务器130请求IoT数据131的数据,如图2的箭头204所示。根据实施例,对等消费者120可以提供从区块链150获得的数据令牌(例如,data_access_secret)到IoT数据服务器130,并请求部分或全部IoT数据131。
在流程300的方框305处,IoT数据服务器130使用区块链150来验证数据令牌,如图2的箭头205所示。根据实施例,IoT数据服务器130,或与IoT数据服务器130协作运行的对等提供者110,可以调用智能合约(如以上示例的智能合约SC4)来检查对等消费者120提供的数据令牌(如data_access_secret)的有效性。
如果确定数据令牌有效,则在流程300的方框306,IoT数据服务器130将IoT数据131的所请求的数据提供给对等消费者120,如图2的箭头206所示。根据本发明的实施例,IoT数据服务器130,可与对等提供者110合作运行,将IoT数据131的所请求的数据(如data_0,data_1…data_n)发送给对等消费者120。然后,对等消费者120在流程300的方框307处接收数据。
从前述内容可以理解,根据方框301-307的操作,协作以执行从对等提供者110到对等消费者120的数据传输(数据交换),其中,尽管区块链150被用于促进数据传输,但是数据是链外(off-chain)交换(即原始IoT数据不是由区块链150直接提供)。因此,提供了对IoT数据131的广泛发现(widespread discovery)和访问,同时避免了区块链150中处理时间长和区块链存储空间大的题。尽管IoT数据131是链外地(off-chain)提供给对等消费者120,但是混合区块链数据交换平台100仍然被配置以促进链外交换IoT数据131的数据完整性的验证和/或确保交换数据的不可反驳性(irrefutability)。
图4A和图4B显示了混合区块链数据交换平台100对提供给对等消费者120的IoT数据131的数据完整性进行验证的示例性流程图。特别地,图4A和图4B的示例使用了滤波技术用于验证链外交换的IoT数据完整性。
在根据图4A的流程400A提供的促进对IoT数据完整性的验证操作中,在方框401,对等提供者110、或与对等提供者110协作运行的IoT数据服务器130,产生代表IoT数据131的数据结构或其部分,由区块链150存储,以用于验证数据的完整性。例如,代表IoT数据131的数据结构可以包括布隆过滤器或其他数据结构,其被设计为有效地(如快速且存储有效)指示元素是否存在于一个集合中。根据本发明实施例,对等提供者110聚合多个IoT数据131的数据(例如,在流程300的方框306处提供给对等消费者的IoT数据131的数据),并从其创建布隆过滤器(如bloom_filter)。
在流程400A的方框402处,对等提供者110将代表IoT数据131的数据结构存储到区块链150。根据实施例,对等提供者110可以调用智能合约(如以上示例的智能合约SC5)以保存代表IoT数据131的数据结构(如bloom_filter,例如可以包含[Hash(data_1),Hash(data_2)....Hash(data_n)])在区块链150的分布式帐本中。IoT数据服务器130还可以保存重复请求的布隆过滤器记录(如bloom_filter_uuid)的标识符(如通用唯一标识符(UUID))。例如,在一个对等消费者随后请求另一对等消费者先前已请求的相同IoT数据(例如data_1)的情况下,代表IoT数据的数据结构(如bloom_filter)和资源标识符(如bloom_filter_uuid)已保存在区块链150的帐本中。因此,IoT数据服务器可以避免调用SC5再次保存布隆值,可以直接发送资源标识符(如bloom_filter_uuid)和IoT数据(如data_1)给随后的对等消费者。
在根据实施例的操作中,IoT数据服务器130可以通知对等消费者120(如在流程400A的方框402处)IoT 131的数据可以被验证。例如,IoT数据服务器130可以将区块链150存储的对应布隆过滤器的资源标识符(如bloom_filter_uuid)提供给对等消费者120,由此对等消费者120获悉通过已经提供对用于该目的的布隆过滤器的访问来验证数据的能力。
流程400A的方框401和402的操作可以作为流程300的一部分来执行,或者单独地执行。例如,方框401和/或402的操作可以作为方框306提供数据的一部分运行。方框401和/或402的操作可以同样地在流程300的操作完成之后执行(例如在方框307的操作完成后)。
在图4B流程400B的促进验证IoT数据完整性的运行中,在方框411,对等消费者120使用区块链150存储的代表IoT数据的数据结构来验证从IoT数据服务器130接收到的IoT数据。根据实施例,对等消费者120可以使用区块链150存储的对应布隆过滤器的资源标识符(如bloom_filter_uuid),调用智能合约(如上述示例的智能合约SC6),以验证从IoT数据服务器130获取的IoT数据131的数据。例如,如果Hash(data_x)是布隆过滤器(如从区块链150获得的bloom_filter)的元素,则对等消费者120从IoT数据服务器130接收的数据可以确定为有效的。例如,对等消费者120和对等提供者110可以使用一个预定的哈希函数(如SHA1)来进行IoT数据的哈希值计算。实施例的IoT数据服务器130可以例如通过智能合约(如以上讨论的智能合约SC5)的运行,在账本中创建映射(bloom_filter_uuid:bloom_value/bloom_filter)。因此,对等消费者120可以从IoT数据服务器接收资源标识符(如bloom_filter_uuid)和IoT数据(如data_1),并使用预定的哈希函数(如SHA1)来计算哈希值(如Hash(data_1))。根据实施例的运行,对等消费者120可以使用bloom_filter_uuid和Hash(data_1)调用智能合约SC6,从而区块链150使用bloom_filter_uuid查询bloom_filter,并测试Hash(data_1)是否是bloom_filter的成员。
流程400B的方框411可以作为流程300运行的一部分来执行,或者单独地执行。例如,方框411可以被执行为在方框307处对等消费者120从IoT数据服务器130接收数据的一部分。方框411的操作可以同样地在流程300的操作完成之后执行(如在完成方框307的操作之后)。
图5A和5B显示了阐述混合区块链数据交换平台100确保在IoT数据服务器120和对等消费者120之间交换数据的不可反驳性的示例性流程图。特别地,图5A和5B的示例使用了数据加密和密钥交换技术,用于确保链外交换的IoT数据的不可反驳性(即对等提供者110无法拒绝发送数据,对等消费者120无法拒绝接收数据)。
在根据图5A流程500A确保交换数据的不可反驳性的运行中,在方框501,对等消费者120请求的IoT数据131的数据被加密。根据本发明实施例,对等提供者110、或与对等提供者110协作运行的IoT数据服务器130对将要发送给对等消费者120的IoT数据131的数据进行加密。例如,可以根据下面等式进行加密:
encrypted_data=E(data_0+data_1…data_n,key)。
在流程500A的方框502处,产生用于对等消费者120提取数据的信息。例如,对等消费者120提取数据时要使用的信息,除了加密密钥等之外,还可以包括代表性数据结构,如哈希值。根据实施例,对等提供者110、或与对等提供者110协作运行的IoT数据服务器130,可以计算一个代表性数据结构(如哈希值),由对等消费者120在提取数据时使用。例如,可以根据以下等式计算代表性数据结构:
hash_value=Hash(encrypted_data)。
在流程500A的方框503处,对等提供者110将用于对等消费者120提取数据的信息存储在区块链150中。根据本发明实施例,对等提供者110可以调用智能合约(如智能合约SC7)在区块链150的分布式账本中存储该代表性数据结构(如hash_value)和一个加密密钥,该加密密钥对应于方框501的加密。应当理解,加密可以包括对称加密(例如,相同的加密密钥用于数据的加密和解密)或非对称加密(例如,不同的加密密钥,例如公共/私有密钥,用于数据的加密和解密)。
在流程500A的方框504处,IoT数据服务器130向对等消费者120提供加密数据,该加密数据的一个实例包括所请求的IoT数据131的数据,以及用于验证从IoT数据服务器130接收的数据的信息。根据实施例,服务器130可以与对等提供者110协作运行,给对等消费者120发送IoT数据131的加密数据(如在流程500A方框501处生成的encrypted_data)和一个函数(如哈希函数hash_value=Hash(encrypted_data)),从其可以生成加密数据的代表数据结构(如在流程500A的方框502中生成的hash_value)。
流程500A的方框501-504可以作为流程300的一部分来执行,或者单独地执行。例如,方框501、502、503和/或504可以被执行为方框306提供数据的一部分。相对于流程300的运行,方框501、502、503和/或504的运行可以同样地在其他时间执行。
在根据图5B流程500B的确保交换数据的不可反驳性的运行中,在方框511,对等消费者120接收IoT数据131的加密数据和用于验证从IoT数据服务器130接收的数据的信息。根据实施例,对等消费者120可以从IoT数据服务器130接收IoT数据131的加密数据(如encrypted_data)和一个函数(如哈希函数hash_value=Hash(encrypted_data)),从中可以产生加密数据的代表性数据结构(如hash_value)。
在流程500B的方框512,用于验证从IoT数据服务器130接收的数据的信息,与从IoT数据服务器130接收的IoT数据131的加密数据一起使用,以生成用于对等消费者120提取数据的信息。根据实施例,对等消费者120可以使用该函数(如哈希函数hash_value=Hash(encrypted_data))和IoT数据131的加密数据,来计算数据的代表性数据结构(例hash_value)。
在流程500B的方框513,用于验证从IoT数据服务器130接收的数据的信息,被包含在一个对加密密钥的请求中,该加密密钥用于IoT数据131的加密数据。根据本发明实施例,对等消费者120可以调用智能合约(如上述示例的智能合约SC8),以将数据的代表性数据结构(如hash_value)提供给区块链150,以获得加密密钥,用于解密IoT数据131的加密数据。
在根据本发明实施例的操作中,区块链150验证由对等提供者110存储在分布式帐本中的代表性数据结构(如hash_value)与来自对等消费者120请求中的代表性数据结构(如hash_value)的匹配(即对等消费者120接收到的加密数据与对等提供者110和/或IoT数据服务器130产生/提供的加密数据相同)。因此,对等消费者120不能否认已经接收到该数据,因为除了已经接收到IoT数据131的加密数据(如encrypted_data)的人之外,没有人可以提供适当的代表性数据结构(如hash_value)。相应地,对等提供者110不能否认已经发送该数据,因为加密数据的代表数据结构(如hash_value)已通过处理对等消费者120的请求而保存在区块链150的分布式账本中。
如果对等消费者120接收的IoT数据131的加密数据被验证为对等提供者110和/或IoT数据服务器130产生/提供的IoT数据131的加密数据,则区块链150向对等消费者120提供请求的IoT数据131加密数据的加密密钥。因此,在流程500B的方框514,对等消费者120接收所请求的用于IoT数据131加密数据的加密密钥。根据实施例,对等消费者120请求中的代表性数据结构(如hash_value),与对等提供者110存储在分布式帐本中的代表性数据结构(如hash_value)进行比较,以确定它们是否匹配,如果匹配,则将对等提供者110存储在区块链150中的与方框501加密对应的加密密钥提供给对等消费者120。
在流程500B的方框515,对等消费者120使用从区块链150接收的加密密钥从加密数据中提取IoT数据131的数据。根据本发明实施例,对等消费者120根据以下等式解密IoT数据131的数据(如data_0,data_1…data_n):
decrypted_data=D(encrypted_data,key)。
此后,对等消费者120可以根据需要使用该数据。
流程500B的方框511-515可以作为流程300的一部分来执行,或者单独地执行。例如,方框511、512、513、514和/或515作可以被执行为在方框307提供数据的一部分。相对于流程300的运行,方框511、512、513、514和/或515的运行可以同样地在其他时间执行。
应当理解,当以软件实施时,本发明的混合区块链数据交换的流程300、400A,400B,500A和500B的功能可以包括代码段,以执行本文所述的任务。可以将代码段存储在处理器可读介质中,以供基于处理器的系统的一个或多个处理器执行。处理器可读介质可以包括:可以适当地存储和传输信息的任何介质。处理器可读介质的示例包括电子电路、半导体存储设备、只读存储器(ROM)、闪存、可擦除ROM(EROM)、光盘、硬盘等。代码段可以是通过诸如局域网(LAN)、广域网(WAN)、互联网、企业内部网、蜂窝通信网络等计算机网络下载。
从前述示例性实施例可以理解,本发明概念提供了使用分布式账本的数据交换,其中数据在链外交换,用于访问链外数据的信息通过区块链交换。因此,混合区块链实施避免了在区块链内存储大量数据,提供了非常适合于针对大量数据(如IoT数据)进行数据交换的解决方案。但是,应当理解,本文的概念不限于IoT数据的交换。例如,混合区块链数据交换平台可以用于各种大型数据库,例如银行或商业交易记录、视频点播库、公共或政府数据共享(如地图数据、统计数据等)、文档或音乐文件共享等。
尽管已经详细描述了本发明及其优点,但应该理解的是,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,可以在此做出各种改变、替换和更改。此外,本申请的范围并非限于说明书中所描述的过程、机器、制造、物质组成、手段、方法和步骤的特定实施例。如本领域普通技术人员,若将容易地从本发明的公开内容中理解的,目前存在或将来开发的执行基本上相同功能的过程、机器、制造、物质组成、手段、方法或步骤,根据本发明可以实现与本文所述的对应实施例基本相同的结果,则相应地,所附权利要求意在其范围内将包括这样的过程、机器、制造、物质组成、手段、方法或步骤。
Claims (22)
1.一种从对等提供者到对等消费者的数据交换方法,包括:
由对等提供者的数据服务器存储数据,所述数据可用于与一个或多个对等消费者交换;
所述对等提供者使用区块链网络,为可交换数据注册一个数据服务;
所述数据服务器或所述对等提供者,从所述对等消费者接收一个对所述可交换数据的数据请求,其中所述数据请求包括由所述对等消费者从所述区块链网络获得的用于所述可交换数据的所述数据服务的数据令牌;
所述数据服务器或所述对等提供者,使用所述区块链网络,验证所述数据令牌;
如果所述数据令牌验证确认所述数据令牌的有效性,则由所述数据服务器向所述对等消费者提供所述可交换数据的所请求的数据;
所述数据服务器或所述对等提供者产生代表所述可交换数据的数据结构;
存储代表所述可交换数据的数据结构到所述区块链网络;
其中将所述数据结构存储至所述区块链网络包括:
调用所述区块链网络的第五智能合约,以保存代表所述可交换数据的所述数据结构在所述区块链网络的分布式帐本中。
2.根据权利要求1所述的方法,其中注册数据服务包括:
调用所述区块链网络的第一个智能合约来注册所述数据服务。
3.根据权利要求2所述的方法,其中所述数据令牌是在所述对等消费者调用所述区块链网络的第二智能合约以发现所述对等提供者注册的所述数据服务之后,以及在所述对等消费者调用所述区块链网络的第三智能合约以请求所述数据令牌之后,由所述对等消费者获得的。
4.根据权利要求2所述的方法,其中验证数据令牌包括:
调用所述区块链网络的第四智能合约以检查所述对等消费者提供的所述数据令牌的有效性。
5.根据权利要求1所述的方法,其中所述可交换数据包括物联网IoT数据。
6.根据权利要求1所述的方法,其中所述数据令牌是一个包含数字签名的安全令牌。
7.根据权利要求1所述的方法,其中所述区块链网络是许可私有链网络。
8.根据权利要求1所述的方法,其中所述区块链网络不包括所述数据服务器,不存储所述可交换数据,其中由所述数据服务器向所述对等消费者提供所请求的数据,是所述数据服务器向所述对等消费者关于所述区块链网络链外交换所请求的数据。
9.根据权利要求1所述的方法,其中所述区块链网络的代表所述可交换数据的所述数据结构包括布隆过滤器,用于所述区块链网络的所述可交换数据。
10.根据权利要求1所述的方法,其中代表所述可交换数据的所述数据结构由所述区块链网络提供给所述对等消费者,作为所述数据服务的一部分,用于验证所请求的数据的完整性。
11.根据权利要求10所述的方法,其中代表所述可交换数据的所述数据结构是在所述对等消费者调用所述区块链网络的第六智能合约作为操作的一部分之后由所述对等消费者获得的,以验证对所述对等消费者从所述数据服务器获取的所述可交换数据。
12.根据权利要求1所述的方法,还包括:
加密所述所请求的数据,其中提供所述所请求的数据包括:由所述数据服务器向所述对等消费者提供加密的所述所请求的数据;
产生供所述对等消费者使用的信息,所述信息用于从加密的所述所请求的数据中提取所述所请求的数据;
将所述对等消费者提取所述所请求的数据要使用的信息以及一个用于加密的所述所请求的数据的加密密钥存储到所述区块链网络。
13.根据权利要求12所述的方法,其中将用于所述对等消费者提取所述所请求的数据要使用的信息以及所述加密密钥存储到所述区块链网络包括:
调用所述区块链网络的第七智能合约,以将所述对等消费者提取所述所请求的数据要使用的信息以及所述加密密钥保存到所述区块链网络的分布式账本中。
14.根据权利要求12所述的方法,其中由所述数据服务器向所述对等消费者提供加密的所述所请求的数据,还提供信息用于验证从所述数据服务器接收的数据,其中在所述对等消费者使用加密的所述所请求的数据和用于验证从所述数据服务器接收数据的所述信息产生相应信息后由所述对等消费者获得所述加密密钥,所述相应信息用于所述对等消费者提取所述所请求的数据并调用所述区块链网络的第八智能合约以提供所述相应信息用于所述对等消费者提取所述所请求的数据到所述区块链网络。
15.根据权利要求14所述的方法,其中用于所述对等消费者提取所述所请求的数据的信息包括用于加密所请求的数据的哈希值;其中用于验证从所述数据服务器接收的数据的信息包括用于生成所述哈希值的哈希函数。
16.一种混合区块链数据交换系统,包括:
数据服务器,其存储可与一个或多个对等消费者交换的数据;
对等提供者系统,其被配置以使用区块链网络为可交换数据注册一个数据服务,其中所述混合区块链数据交换系统被配置以从所述对等消费者系统接收一个对所述数据服务器存储的所述可交换数据的数据请求,所述数据请求包括所述数据服务的数据令牌,其中所述混合区块链数据交换系统被配置以使用所述区块链网络来验证所述数据令牌,如果所述数据令牌被验证,就向所述对等消费者系统提供所述可交换数据的所请求的数据,其中所述混合区块链数据交换系统被配置以对由所述数据服务器提供给所述对等消费者的所请求的数据进行加密,以生成信息以供所述对等消费者从加密的所述所请求的数据中提取所述所请求的数据时使用,并存储用于所述对等消费者提取所述所请求的数据的所述信息和一个用于加密所请求的数据的加密密钥到所述区块链网络,其中所述加密密钥是在所述对等消费者使用加密所请求的数据和用于验证从所述数据服务器接收的数据的信息来生成用于所述对等消费者提取所述所请求的数据的相应信息之后由所述对等消费者获得的。
17.根据权利要求16所述的混合区块链数据交换系统,其中所述可交换数据包括物联网IoT数据。
18.根据权利要求16所述的混合区块链数据交换系统,其中所述区块链网络是许可私有链网络。
19.根据权利要求16所述的混合区块链数据交换系统,其中所述区块链网络不包括所述数据服务器,不存储所述可交换数据,其中所述混合区块链数据交换系统被配置以关于所述区块链网络链外地向所述对等消费者提供所述所请求的数据。
20.根据权利要求16所述的混合区块链数据交换系统,其中所述混合区块链数据交换系统被配置以产生代表所述可交换数据的数据结构,并将代表可交换数据的数据结构存储到所述区块链网络;其中代表可交换数据的数据结构由所述区块链网络提供给所述对等消费者,作为验证所请求的数据完整性的数据服务的一部分。
21.一种由混合区块链数据交换系统从对等提供者到对等消费者的数据交换方法,该方法包括:
由所述对等提供者的数据服务器存储可用于与一个或多个对等消费者交换的数据;
所述对等提供者调用区块链网络的第一智能合约以为可交换数据注册数据服务,其中在所述对等消费者调用所述区块链网络的第二智能合约以发现所述对等提供者注册的所述数据服务后,在所述对等消费者调用所述区块链网络的第三份智能合约以请求数据令牌后,所述对等消费者获取所述数据令牌;
从所述对等消费者接收一个对所述可交换数据的数据请求,其中所述数据请求包括所述对等消费者从所述区块链网络获得的对所述可交换数据的数据服务的数据令牌;
调用所述区块链网络的第四智能合约,以检查所述对等消费者提供的数据令牌的有效性;
如果确认所述数据令牌的有效性,则由所述数据服务器向所述对等消费者提供所述可交换数据的所请求的数据;
所述数据服务器或所述对等提供者产生代表所述可交换数据的数据结构;
调用第五智能合约以将代表所述可交换数据的数据结构保存到所述区块链网络,其中代表所述可交换数据的数据结构由所述区块链网络作为所述数据服务的一部分提供给所述对等消费者,用于验证所述所请求的数据的完整性,其中在所述对等消费者调用所述区块链网络的第六智能合约,以作为验证由所述对等消费者从所述数据服务器获得的所述可交换数据的操作的一部分之后,将代表所述可交换数据的数据结构提供给所述对等消费者。
22.根据权利要求21所述的方法,还包括:
加密所述所请求的数据,其中提供所述所请求的数据包括:由所述数据服务器向所述对等消费者提供加密的所述所请求的数据;
产生供所述对等消费者使用的信息,所述信息用于从加密的所请求的数据中提取所述所请求的数据;
调用所述区块链网络的第七智能合约,以将所述对等消费者提取所述所请求的数据时要使用的信息和用于加密所述所请求的数据的加密密钥保存到所述区块链网络,其中用于验证从所述数据服务器接收的数据的信息和所述加密所请求的数据一起由所述数据服务器提供给所述对等消费者,其中在所述对等消费者使用加密的所述所请求的数据和用于验证从所述数据服务器接收的数据的信息产生相应信息后将所述加密密钥提供给所述对等消费者,所述相应信息用于所述对等消费者提取所述所请求的数据的相应信息并调用所述区块链网络的第八智能合约以提供所述相应信息用于所述对等消费者提取所述所请求的数据到所述区块链网络。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/732,867 | 2020-01-02 | ||
US16/732,867 US11418342B2 (en) | 2020-01-02 | 2020-01-02 | System and methods for data exchange using a distributed ledger |
PCT/CN2020/071953 WO2021134835A1 (en) | 2020-01-02 | 2020-01-14 | System and methods for data exchange using a distributed ledger |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112041834A CN112041834A (zh) | 2020-12-04 |
CN112041834B true CN112041834B (zh) | 2024-02-13 |
Family
ID=73572817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080000130.9A Active CN112041834B (zh) | 2020-01-02 | 2020-01-14 | 使用分布式账本进行数据交换的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112041834B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114938706B (zh) * | 2022-01-28 | 2024-05-03 | 香港应用科技研究院有限公司 | 一种在区块链系统与非区块链系统之间进行数据交换的方法和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156232A (zh) * | 2017-12-22 | 2018-06-12 | 王轶捷 | 数据共享方法及装置 |
CN108292331A (zh) * | 2015-12-22 | 2018-07-17 | 汤森路透全球资源无限公司 | 用于创建、验证和管理身份的方法及系统 |
CN109447795A (zh) * | 2018-09-11 | 2019-03-08 | 中国人民解放军国防科技大学 | 一种支持快速达成最终确认性的拜占庭共识方法 |
CN109639413A (zh) * | 2018-12-10 | 2019-04-16 | 四川大学 | 一种基于移动自组网的区块链系统 |
CN110247965A (zh) * | 2019-06-13 | 2019-09-17 | 食品安全与营养(贵州)信息科技有限公司 | 一种基于区块链的IoT数据存储系统的存储方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3079322B1 (fr) * | 2018-03-26 | 2021-07-02 | Commissariat Energie Atomique | Methode et systeme de gestion d'acces a des donnees personnelles au moyen d'un contrat intelligent |
US20190303920A1 (en) * | 2018-04-02 | 2019-10-03 | American Express Travel Related Services Company, Inc. | Transaction process using blockchain token smart contracts |
US11126613B2 (en) * | 2018-04-24 | 2021-09-21 | Duvon Corporation | Autonomous exchange via entrusted ledger immutable distributed database |
-
2020
- 2020-01-14 CN CN202080000130.9A patent/CN112041834B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292331A (zh) * | 2015-12-22 | 2018-07-17 | 汤森路透全球资源无限公司 | 用于创建、验证和管理身份的方法及系统 |
CN108156232A (zh) * | 2017-12-22 | 2018-06-12 | 王轶捷 | 数据共享方法及装置 |
CN109447795A (zh) * | 2018-09-11 | 2019-03-08 | 中国人民解放军国防科技大学 | 一种支持快速达成最终确认性的拜占庭共识方法 |
CN109639413A (zh) * | 2018-12-10 | 2019-04-16 | 四川大学 | 一种基于移动自组网的区块链系统 |
CN110247965A (zh) * | 2019-06-13 | 2019-09-17 | 食品安全与营养(贵州)信息科技有限公司 | 一种基于区块链的IoT数据存储系统的存储方法及系统 |
Non-Patent Citations (2)
Title |
---|
CSCE:一个协同的服务组装支持环境;张秀国;刘德春;;计算机工程与设计(第14期);全文 * |
云环境下基于非线性映射的保序加密方案;郁鹏;潘森杉;张建明;;江苏大学学报(自然科学版)(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112041834A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI725793B (zh) | 用於將分散識別符映射到真實世界實體的系統及方法 | |
JP7436568B2 (ja) | ブロックチェーンにより実現される方法及びシステム | |
JP6877448B2 (ja) | 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム | |
CA3058013C (en) | Managing sensitive data elements in a blockchain network | |
CN109074433B (zh) | 使用分布式散列表和点对点分布式分类账验证数字资产完整性的方法和系统 | |
Liu et al. | Blockchain based data integrity service framework for IoT data | |
US11741083B2 (en) | Cross-shard private atomic commit | |
CN112491847B (zh) | 区块链一体机及其自动建链方法、装置 | |
JP6894007B2 (ja) | ブロックチェーンネットワークに基づいたデジタルチケットの転送 | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
EP2513804B1 (en) | Trustworthy extensible markup language for trustworthy computing and data services | |
CN111164594A (zh) | 用于将去中心化标识映射到真实实体的系统和方法 | |
KR20190075772A (ko) | 블록체인을 이용한 개인정보 분리 후 조합을 통한 인증 시스템 | |
JP2012518330A (ja) | 高信頼なクラウド・コンピューティングおよびクラウド・サービスのフレームワーク | |
JP6543743B1 (ja) | 管理プログラム | |
US20220269754A1 (en) | Decentralized system and method for asset registry and authentication | |
US11418342B2 (en) | System and methods for data exchange using a distributed ledger | |
CN115552441A (zh) | 低信任特权访问管理 | |
JP2023542681A (ja) | ブロックチェーンの許可フレームワークへのデバイスアイデンティティの統合 | |
Liu et al. | A blockchain-based privacy preservation scheme in multimedia network | |
JP2024509666A (ja) | ブロックチェーンデータセグリゲーション | |
CN112041834B (zh) | 使用分布式账本进行数据交换的系统和方法 | |
Xu et al. | Blockchain‐based access control for enterprise blockchain applications | |
JP2024501401A (ja) | 非集中型のブロードキャスト暗号化および鍵生成ファシリティ | |
CN113505098A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40044780 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |