WO2022061599A1 - Blockchain-based distributed internet of things instruction management method and system - Google Patents
Blockchain-based distributed internet of things instruction management method and system Download PDFInfo
- Publication number
- WO2022061599A1 WO2022061599A1 PCT/CN2020/117183 CN2020117183W WO2022061599A1 WO 2022061599 A1 WO2022061599 A1 WO 2022061599A1 CN 2020117183 W CN2020117183 W CN 2020117183W WO 2022061599 A1 WO2022061599 A1 WO 2022061599A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- blockchain
- internet
- blockchain network
- transaction data
- things
- Prior art date
Links
- 238000007726 management method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000011022 operating instruction Methods 0.000 claims abstract description 3
- 238000003860 storage Methods 0.000 claims description 19
- 230000007613 environmental effect Effects 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 13
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
Definitions
- the present invention relates to the technical field of the Internet of Things, and more particularly, to a distributed Internet of Things instruction management method and system based on a block chain.
- the Internet of Things (Internet of Things, referred to as IoT) is the "Internet of everything connected", which is an extension and expansion of the Internet based on the network.
- the Internet of Things connects various information sensing devices to form a huge network, and uses various information sensors, radio frequency identification technology, positioning system and other devices and technologies to collect environmental information in real time, and then transmit the environmental information data to a centralized server. Carry out data processing and data analysis, and issue instructions to each node in the network through the centralized server to control each sensor node and intelligent equipment.
- the purpose of the present invention is to overcome the above-mentioned defects of the prior art, and to provide a distributed Internet of Things instruction management method and system based on block chain, which is a new technology scheme for Internet of Things instruction management based on block chain technology design, which can Addresses single points of failure and improves security.
- a distributed Internet of Things instruction management method based on blockchain includes the following steps:
- a distributed Internet of Things instruction management system based on blockchain includes a client application layer, an IoT device, and a blockchain platform.
- the client application layer, the IoT device, and the blockchain platform realize instruction management for IoT devices through information exchange, and will target the IoT devices.
- Operation instructions for networked devices, design smart contracts and deploy them on the blockchain network generate transaction data packets from the data collected by the IoT devices, and encrypt and digitally sign the transaction data packets with the private key, which is verified by the blockchain network consensus and then stored in the blockchain network.
- the present invention has the advantage that, based on the blockchain technology, it provides a secure distributed IoT instruction management method, gives IoT devices independent identities, and ensures the security of IoT devices through mechanisms such as encryption algorithms and digital signatures.
- the data source is credible, and the collaboration of various departments and the exchange of data are realized through consensus algorithms and smart contracts, so as to solve the problem of single point of failure and improve the security of the system.
- FIG. 1 is a schematic diagram of a distributed Internet of Things instruction management system based on blockchain according to an embodiment of the present invention
- Fig. 2 is the overall flow chart of the distributed Internet of Things instruction management method based on blockchain according to an embodiment of the present invention
- FIG. 3 is a flow chart of network access of an IoT device connected to a blockchain network according to an embodiment of the present invention
- FIG. 4 is a flow chart of deploying an operation instruction for an IoT device as a smart contract of a blockchain network according to an embodiment of the present invention
- Fig. 5 is a flow chart of collecting environmental data by an IoT device according to an embodiment of the present invention.
- FIG. 6 is a flowchart of data signature and recording on the chain according to an embodiment of the present invention.
- FIG. 7 is a flowchart of issuing an operation instruction to an IoT device according to an embodiment of the present invention.
- Blockchain technology also known as distributed ledger technology, is a brand-new distributed infrastructure and computing generic.
- Blockchain technology uses block chain data structure to verify and store data, uses distributed node consensus algorithm to generate and update data, uses cryptography to ensure data transmission and access security, and uses smart contracts composed of automated script codes to generate and update data. Generate and manipulate data.
- the coordination and data of various departments are realized. exchange.
- the IoT device is given an independent identity (that is, a private key and public key pair, also known as a blockchain account), and the data generated by the IoT device is encrypted and stored on the chain through the asymmetric encryption module in the blockchain system.
- Use smart contract technology to manage the instructions of IoT devices, add IoT command operations by deploying smart contracts, and issue operating instructions to IoT devices by calling preset smart contracts.
- the invention aims at the management of the Internet of Things instruction, and gives the Internet of Things device a unique identity, verifiable data and information source through the blockchain technology, and improves the reliability of the data and the security of the Internet of Things instruction.
- the blockchain-based distributed IoT instruction management system of this embodiment includes a client application layer, a blockchain platform and IoT devices, wherein the client application layer is connected to the IoT devices respectively. It has a communication connection with the blockchain platform, and the IoT device has a communication connection with the blockchain platform.
- the client application layer is used to process the user's input or present data information to the user, so as to facilitate the user to use the system.
- users can operate the system and perform instruction management on IoT devices.
- the client application layer can display information such as network status, historical usage, and big data analysis results to the user.
- the client application layer is further subdivided into an interface layer, a business layer and an interface layer according to functions.
- the interface layer is used to provide users with a visual operation interface and display the analysis interface;
- the business layer is used to process the user's business operations, such as adding a new IoT command operation, that is, deploying a new smart contract and issuing operation commands for IoT devices , that is, calling smart contracts;
- the interface layer provides the client application layer with the interaction with IoT devices and blockchain platforms.
- the interface layer can read data on the chain from the blockchain platform, call smart contracts, deploy smart contracts, and also Environmental data can be obtained directly from IoT devices.
- the blockchain platform provides blockchain ledger structure, network structure and security verification.
- Each participant in the blockchain network has a unique identity, that is, a private key and public key pair, also known as a blockchain account.
- Each data stored in the blockchain ledger contains the digital signature of the blockchain account as the source identifier, and it can only be recorded on the chain through the consensus of the whole network.
- the user identity in the blockchain can be represented by the public key or the account address generated from the public key (for example, the public key can be generated by a specific hash and encoding to generate the account address), and the public key and the private key appear in pairs , in which the private key is mastered by the user, and the public key or the above-mentioned account address can be freely published in the blockchain network.
- the data stored in the blockchain ledger is only increased, and each new block can only be put on the chain after the consensus of the entire network, and the blockchain ledger is jointly maintained by the nodes of the entire network. Therefore, the data stored in the blockchain platform is tamper-proof.
- a series of operation instruction smart contracts are deployed in the blockchain network. When the preset conditions of the contract are met, the contract script will automatically run and issue operation instructions to the corresponding IoT devices. The deployment of smart contracts also needs to go through network node consensus.
- the blockchain platform has a total of four layers, namely the contract layer, the network layer, the security layer and the storage layer.
- the contract layer is responsible for managing and running smart contracts. For example, smart contracts are deployed and run in the blockchain network, and these smart contracts are responsible for the instruction management of IoT devices.
- the network layer is responsible for the communication of network nodes.
- the blockchain network is a point-to-point distributed network.
- the nodes in the network can communicate with each other according to the system communication protocol. Different nodes can exchange data, cooperate with each other and work together.
- the security layer is used to implement security mechanisms such as consensus algorithms and asymmetric encryption algorithms, and is responsible for ensuring the security and consistency of the blockchain ledger.
- the storage layer is responsible for data storage on the chain, and the blockchain ledger data is a chain data structure.
- each block of the blockchain includes a block header and a block body.
- the block header contains data used to connect previous blocks, indexed from the hash value of the parent block; timestamp; Nonce (random number), etc.
- the transaction information recorded by the block body is the task data carried by the block, such as the private keys of both parties to the transaction, the number of transactions, and the digital signatures corresponding to the transaction.
- the specific data structure of the block is not repeated here.
- the IoT device is used to collect environmental data and sign and send it to the blockchain network.
- Each IoT device in the present invention has a unique identity, that is, a blockchain account, and the data signed by the account will have an identity. to ensure that the data source on the blockchain can be checked and trusted.
- the IoT device includes four parts, which are a microprocessor, a data acquisition module, an encryption algorithm module and a communication module.
- the microprocessor is responsible for driving the entire IoT device, executing programs, and processing data;
- the data acquisition module is responsible for collecting environmental data;
- the encryption algorithm module is responsible for data encryption processing and data packet signature processing;
- the communication module is responsible for IoT device communication and block. Chain network interaction.
- IoT devices shown in FIG. 1 include but are not limited to devices such as smart home and smart wearable devices.
- devices such as smart home and smart wearable devices.
- smart watches smart air purifiers, sweeping robots, sensors, etc.
- the overall process consists of five main parts, namely: new device access to the network, which is used to connect IoT devices to the blockchain network, and configure a blockchain account as an identity for each IoT device Identification; new instructions are used to deploy operation instructions for IoT devices in the blockchain network in the form of smart contracts; IoT devices collect environmental data; data signatures and records are uploaded to the chain to store the collected environmental data To the blockchain network; issue an instruction to the IoT device, which is used to determine whether to execute the corresponding smart contract in response to the operation instruction issued to the IoT network device.
- the process of adding a new device to the network is shown in FIG. 3 , including: initializing the IoT device; generating a public-private key pair; configuring the identity of the IoT device; and joining the block network.
- new IoT devices can be added to the blockchain network.
- the process of adding an instruction is shown in FIG. 4, including: adding a new instruction request by the client; generating a deployment contract transaction; performing consensus verification on the blockchain network; if the verification is passed, deploying a new smart contract, Otherwise discard.
- smart contracts for executing the newly added IoT operation instructions will be deployed on the blockchain network.
- the newly added operation command request specifically includes: client account, list of controlled IoT devices, command trigger conditions (such as ambient brightness lower than 5lux, temperature higher than 35 degrees Celsius, etc.), execution command content (such as turning on the LED lights of the device, buzzer alarm, etc.).
- command trigger conditions such as ambient brightness lower than 5lux, temperature higher than 35 degrees Celsius, etc.
- execution command content such as turning on the LED lights of the device, buzzer alarm, etc.
- the process of collecting environmental data by the IoT device is shown in FIG. 5 , including: collecting the environmental data by the IoT device; encrypting the collected environmental data with the private key and signing the data package; sent to the blockchain network.
- IoT devices collect environmental data and package it into transactions that are sent to the blockchain network for storage.
- the process of uploading data to the chain is shown in FIG. 6 , including: for the generated transaction, the blockchain network performs consensus verification.
- a transaction data package is generated based on the environmental data collected by the Internet of Things device, and the transaction data package is digitally signed with a private key; the digitally signed transaction data package is recorded by the "miners" in the blockchain network.
- a new block is generated in the blockchain, and the transaction data package is published to the blockchain network; other nodes in the blockchain network obtain the public key from the generated transaction data package, and based on the public key pair of the blockchain node
- the digital signature of the transaction data packet is verified and the data structure compliance of the transaction data packet is verified, and the transaction data packet that has passed the consensus verification is written into the blockchain. In this way, the data packet recorded with the environment information and node signature will be recorded on the chain.
- the process of issuing an instruction to an IoT device is shown in FIG. 7 , including: issuing an instruction to the IoT device (ie, a new transaction is generated); judging whether a preset condition is met, that is, a preset condition in a smart contract Or rules, such as the above-mentioned ambient brightness is lower than 5lux and the temperature is higher than 35 degrees Celsius; when the preset conditions of the contract are met, the contract is automatically executed, and then orders are issued to the IoT device. In this way, the target IoT device indicated by the instruction will be given the operation instruction and execute the corresponding operation.
- consensus verification involved in the embodiments of the present invention can be implemented by using various existing mechanisms.
- consensus mechanisms include but are not limited to a Proof of Work (POW) mechanism, a Byzantine Fault Tolerance (PBFT) mechanism, and an equity mechanism proof, etc. .
- POW Proof of Work
- PBFT Byzantine Fault Tolerance
- equity mechanism proof etc.
- the present invention realizes distributed Internet of Things instruction management based on blockchain technology, uses the distributed characteristics of Internet of Things devices, gives each Internet of Things device a unique identity to connect it to the blockchain network, and builds Distributed Internet of Things command management system, which has the advantages of a distributed system.
- Each node in the network can realize data exchange and collaborative work through consensus algorithms and smart contracts, avoiding the single point of failure problem existing in traditional Internet of Things systems. .
- the reliability of the data source in the system is improved, and the security is improved. After several software and hardware tests, it has been proved that the present invention can meet the expected design indicators, and solve the problems of security, single point of failure and the like faced by the Internet of Things.
- the present invention may be a system, method and/or computer program product.
- the computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of the present invention.
- a computer-readable storage medium may be a tangible device that can hold and store instructions for use by the instruction execution device.
- the computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- Non-exhaustive list of computer readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM) or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically coded devices, such as printers with instructions stored thereon Hole cards or raised structures in grooves, and any suitable combination of the above.
- RAM random access memory
- ROM read only memory
- EPROM erasable programmable read only memory
- flash memory static random access memory
- SRAM static random access memory
- CD-ROM compact disk read only memory
- DVD digital versatile disk
- memory sticks floppy disks
- mechanically coded devices such as printers with instructions stored thereon Hole cards or raised structures in grooves, and any suitable combination of the above.
- Computer-readable storage media are not to be construed as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (eg, light pulses through fiber optic cables), or through electrical wires transmitted electrical signals.
- the computer readable program instructions described herein may be downloaded to various computing/processing devices from a computer readable storage medium, or to an external computer or external storage device over a network such as the Internet, a local area network, a wide area network, and/or a wireless network.
- the network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer-readable program instructions from a network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing/processing device .
- the computer program instructions for carrying out the operations of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or instructions in one or more programming languages.
- Source or object code written in any combination, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as the "C" language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server implement.
- the remote computer may be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (eg, using an Internet service provider to connect).
- LAN local area network
- WAN wide area network
- custom electronic circuits such as programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs)
- FPGAs field programmable gate arrays
- PDAs programmable logic arrays
- Computer readable program instructions are executed to implement various aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer or other programmable data processing apparatus to produce a machine that causes the instructions when executed by the processor of the computer or other programmable data processing apparatus , resulting in means for implementing the functions/acts specified in one or more blocks of the flowchart and/or block diagrams.
- These computer readable program instructions can also be stored in a computer readable storage medium, these instructions cause a computer, programmable data processing apparatus and/or other equipment to operate in a specific manner, so that the computer readable medium on which the instructions are stored includes An article of manufacture comprising instructions for implementing various aspects of the functions/acts specified in one or more blocks of the flowchart and/or block diagrams.
- Computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other equipment to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other equipment to produce a computer-implemented process , thereby causing instructions executing on a computer, other programmable data processing apparatus, or other device to implement the functions/acts specified in one or more blocks of the flowcharts and/or block diagrams.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more functions for implementing the specified logical function(s) executable instructions.
- the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented in dedicated hardware-based systems that perform the specified functions or actions , or can be implemented in a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation in hardware, implementation in software, and implementation in a combination of software and hardware are all equivalent.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
A blockchain-based distributed Internet of Things instruction management method and system, the method comprising: connecting Internet of Things devices to a blockchain network, and configuring a blockchain account as an identification for each Internet of Things device; deploying operating instructions for the Internet of Things devices on the blockchain network by means of designing smart contracts; and generating a transaction data packet from data collected by the Internet of Things devices, using a private key to encrypt and digitally sign the transaction data packet, and storing same on the blockchain network after being verified by means of blockchain network consensus. The solution uses blockchain technology to perform distributed management of Internet of Things device instructions, which may achieve the collaboration and data exchange of departments, thus solving the single-point failure problem and improving safety.
Description
本发明涉及物联网技术领域,更具体地,涉及一种基于区块链的分布式物联网指令管理方法和系统。The present invention relates to the technical field of the Internet of Things, and more particularly, to a distributed Internet of Things instruction management method and system based on a block chain.
物联网(Internet of Things,简称IoT)即“万物相连的互联网”,是互联网基础上的延伸和扩展的网络。物联网将各种信息传感设备连接,形成一个巨大的网络,并利用各种信息传感器、射频识别技术、定位系统等装置与技术,实时采集环境信息,进而将环境信息数据传送到中心化服务器进行数据处理和数据分析,并通过中心化服务器向网络中的各个节点下达指令,控制各传感器节点和智能化设备。The Internet of Things (Internet of Things, referred to as IoT) is the "Internet of everything connected", which is an extension and expansion of the Internet based on the network. The Internet of Things connects various information sensing devices to form a huge network, and uses various information sensors, radio frequency identification technology, positioning system and other devices and technologies to collect environmental information in real time, and then transmit the environmental information data to a centralized server. Carry out data processing and data analysis, and issue instructions to each node in the network through the centralized server to control each sensor node and intelligent equipment.
传统的物联网设备大多依靠与中央服务器通信来完成数据处理、设备通信及指令接受等。一旦中央服务器被攻破,将导致大批设备、服务瘫痪,造成经济损失。此外,海量的物联网实时数据中包含了大量异构信息,这些信息缺乏身份标识,可信度低。Most of the traditional IoT devices rely on communication with the central server to complete data processing, device communication and command acceptance. Once the central server is breached, a large number of devices and services will be paralyzed, resulting in economic losses. In addition, the massive real-time data of the Internet of Things contains a large amount of heterogeneous information, which lacks identification and has low reliability.
目前,在大多数网络中,即使两个物联网设备仅相隔几米,它们之间也不能直接进行交互,必须依靠中央服务器进行控制,即使中央服务器是由几台分布式的计算机构成,也仍存在中心化的管理模式,即其存在单点故障。并且,现阶段大多数物联网系统在建设身份和权限时,制造商往往选取默认密码,使得设备对恶意软件的攻击不堪一击。此外,由于数据没有身份保障机制,大多数的物联网设备接收和发送的数据无法进行溯源,数据可信度低。At present, in most networks, even if two IoT devices are only a few meters apart, they cannot directly interact with each other and must rely on a central server for control, even if the central server is composed of several distributed computers, there are still A centralized management model, that is, it has a single point of failure. In addition, when most IoT systems build identities and permissions at this stage, manufacturers often choose default passwords, making the devices vulnerable to malware attacks. In addition, since there is no identity guarantee mechanism for data, the data received and sent by most IoT devices cannot be traced, and the data reliability is low.
发明内容SUMMARY OF THE INVENTION
本发明的目的是克服上述现有技术的缺陷,提供一种基于区块链的分 布式物联网指令管理方法和系统,是基于区块链技术设计的进行物联网指令管理的新技术方案,能够解决单点故障问题并提高了安全性。The purpose of the present invention is to overcome the above-mentioned defects of the prior art, and to provide a distributed Internet of Things instruction management method and system based on block chain, which is a new technology scheme for Internet of Things instruction management based on block chain technology design, which can Addresses single points of failure and improves security.
根据本发明的第一方面,提供一种基于区块链的分布式物联网指令管理方法。该方法包括以下步骤:According to the first aspect of the present invention, there is provided a distributed Internet of Things instruction management method based on blockchain. The method includes the following steps:
将物联网设备连接到区块链网络,并对每一物联网设备配置区块链账户作为身份标识;Connect IoT devices to the blockchain network, and configure a blockchain account as an identity for each IoT device;
将针对物联网设备的操作指令,通过设计智能合约部署于区块链网络;Deploy the operation instructions for IoT devices on the blockchain network by designing smart contracts;
将物联网设备采集的数据生成交易数据包,并利用私钥对交易数据包进行加密和数字签名,经区块链网络共识验证后存储至区块链网络。Generate transaction data packets from the data collected by IoT devices, encrypt and digitally sign the transaction data packets with private keys, and store them in the blockchain network after being verified by the blockchain network consensus.
根据本发明的第二方面,提供一种基于区块链的分布式物联网指令管理系统。该系统包括客户端应用层、物联网设备、区块链平台,其中,客户端应用层、物联网设备和区块链平台之间通过信息交互实现针对物联网设备的指令管理,并将针对物联网设备的操作指令,设计智能合约部署于区块链网络,将物联网设备采集的数据生成交易数据包,并利用私钥对该交易数据包进行加密和数字签名,经区块链网络共识验证后存储至区块链网络。According to a second aspect of the present invention, a distributed Internet of Things instruction management system based on blockchain is provided. The system includes a client application layer, an IoT device, and a blockchain platform. The client application layer, the IoT device, and the blockchain platform realize instruction management for IoT devices through information exchange, and will target the IoT devices. Operation instructions for networked devices, design smart contracts and deploy them on the blockchain network, generate transaction data packets from the data collected by the IoT devices, and encrypt and digitally sign the transaction data packets with the private key, which is verified by the blockchain network consensus and then stored in the blockchain network.
与现有技术相比,本发明的优点在于,基于区块链技术,提供安全的分布式物联网指令管理方法,赋予物联网设备独立身份,通过加密算法、数字签名等机制确保物联网中的数据来源可信,通过共识算法和智能合约实现各部门的协同与数据的交换,解决单点故障问题,提高系统安全性。Compared with the prior art, the present invention has the advantage that, based on the blockchain technology, it provides a secure distributed IoT instruction management method, gives IoT devices independent identities, and ensures the security of IoT devices through mechanisms such as encryption algorithms and digital signatures. The data source is credible, and the collaboration of various departments and the exchange of data are realized through consensus algorithms and smart contracts, so as to solve the problem of single point of failure and improve the security of the system.
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。Other features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments of the present invention with reference to the accompanying drawings.
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.
图1是根据本发明一个实施例的基于区块链的分布式物联网指令管理系统的示意图;1 is a schematic diagram of a distributed Internet of Things instruction management system based on blockchain according to an embodiment of the present invention;
图2是根据本发明一个实施例的基于区块链的分布式物联网指令管理方法的整体流程图;Fig. 2 is the overall flow chart of the distributed Internet of Things instruction management method based on blockchain according to an embodiment of the present invention;
图3是根据本发明一个实施例的物联网设备连接区块链网络的入网流程图;3 is a flow chart of network access of an IoT device connected to a blockchain network according to an embodiment of the present invention;
图4是根据本发明一个实施例的将针对物联网设备的操作指令部署为区块链网络的智能合约的流程图;4 is a flow chart of deploying an operation instruction for an IoT device as a smart contract of a blockchain network according to an embodiment of the present invention;
图5是根据本发明一个实施例的物联网设备采集环境数据的流程图;Fig. 5 is a flow chart of collecting environmental data by an IoT device according to an embodiment of the present invention;
图6是根据本发明一个实施例的数据签名并记录上链的流程图;6 is a flowchart of data signature and recording on the chain according to an embodiment of the present invention;
图7是根据本发明一个实施例的对物联网设备下达操作指令的流程图。FIG. 7 is a flowchart of issuing an operation instruction to an IoT device according to an embodiment of the present invention.
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the invention unless specifically stated otherwise.
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, such techniques, methods, and apparatus should be considered part of the specification.
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。In all examples shown and discussed herein, any specific values should be construed as illustrative only and not limiting. Accordingly, other instances of the exemplary embodiment may have different values.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。It should be noted that like numerals and letters refer to like items in the following figures, so once an item is defined in one figure, it does not require further discussion in subsequent figures.
区块链技术,也称作分布式账本技术,是一种全新的分布式基础架构与计算泛式。区块链技术利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问安全、利用由自动化脚本代码组成的智能合约来生成和操作数据。Blockchain technology, also known as distributed ledger technology, is a brand-new distributed infrastructure and computing generic. Blockchain technology uses block chain data structure to verify and store data, uses distributed node consensus algorithm to generate and update data, uses cryptography to ensure data transmission and access security, and uses smart contracts composed of automated script codes to generate and update data. Generate and manipulate data.
简言之,在本发明中,经研究分析,结合区块链技术与物联网的特点,通过将分布在不同空间的物联网设备挂接到区块链系统中,实现各部门的协同与数据交换。赋予物联网设备独立身份(即私钥和公钥对,又称区块链账户),通过区块链系统中的非对称加密模块将物联网设备所产生的数据加密后存储上链。利用智能合约技术对物联网设备进行指令管理,通过部署智能合约来添加物联网指令操作,通过调用预设智能合约来对物联网设备下达操作指令。本发明针对物联网指令管理,通过区块链技术赋予物联网设备独特的身份、可证实的数据与信息源,提高了数据可信度以及物联网指令的安全性。In short, in the present invention, after research and analysis, combined with the characteristics of blockchain technology and the Internet of Things, by connecting the Internet of Things devices distributed in different spaces to the blockchain system, the coordination and data of various departments are realized. exchange. The IoT device is given an independent identity (that is, a private key and public key pair, also known as a blockchain account), and the data generated by the IoT device is encrypted and stored on the chain through the asymmetric encryption module in the blockchain system. Use smart contract technology to manage the instructions of IoT devices, add IoT command operations by deploying smart contracts, and issue operating instructions to IoT devices by calling preset smart contracts. The invention aims at the management of the Internet of Things instruction, and gives the Internet of Things device a unique identity, verifiable data and information source through the blockchain technology, and improves the reliability of the data and the security of the Internet of Things instruction.
具体地,参见图1所示,该实施例的基于区块链的分布式物联网指令管理系统包括客户端应用层、区块链平台和物联网设备,其中客户端应用层分别与物联网设备和区块链平台具有通信连接,物联网设备和区块链平台具有通信连接。Specifically, as shown in FIG. 1 , the blockchain-based distributed IoT instruction management system of this embodiment includes a client application layer, a blockchain platform and IoT devices, wherein the client application layer is connected to the IoT devices respectively. It has a communication connection with the blockchain platform, and the IoT device has a communication connection with the blockchain platform.
客户端应用层用于处理用户的输入或向用户呈现数据信息等,以利于用户使用系统。例如,用户可以对系统进行操作,对物联网设备进行指令管理。又如,客户端应用层可以向用户展示网络状况、历史使用情况、大数据分析结果等信息。The client application layer is used to process the user's input or present data information to the user, so as to facilitate the user to use the system. For example, users can operate the system and perform instruction management on IoT devices. For another example, the client application layer can display information such as network status, historical usage, and big data analysis results to the user.
在图1的实施例中,客户端应用层根据功能进一步细分为界面层、业务层和接口层。界面层用于向用户提供可视化操作界面,并展示分析界面;业务层用于处理用户的业务操作,如添加新的物联网指令操作,即部署新的智能合约,下达针对物联网设备的操作指令,即调用智能合约;接口层为客户端应用层提供与物联网设备和区块链平台的交互,接口层可以从区块链平台中读取链上数据、调用智能合约、部署智能合约,还可以直接从物联网设备中获取环境数据。In the embodiment of FIG. 1 , the client application layer is further subdivided into an interface layer, a business layer and an interface layer according to functions. The interface layer is used to provide users with a visual operation interface and display the analysis interface; the business layer is used to process the user's business operations, such as adding a new IoT command operation, that is, deploying a new smart contract and issuing operation commands for IoT devices , that is, calling smart contracts; the interface layer provides the client application layer with the interaction with IoT devices and blockchain platforms. The interface layer can read data on the chain from the blockchain platform, call smart contracts, deploy smart contracts, and also Environmental data can be obtained directly from IoT devices.
区块链平台提供区块链账本结构、网络结构和安全验证等。区块链网络中的每一位参与者都具有唯一的身份标识,即私钥和公钥对,又称区块链账户。区块链账本中所存储的每一个数据包含有区块链账户的数字签名作为来源标识,且需通过全网共识才可记录上链。The blockchain platform provides blockchain ledger structure, network structure and security verification. Each participant in the blockchain network has a unique identity, that is, a private key and public key pair, also known as a blockchain account. Each data stored in the blockchain ledger contains the digital signature of the blockchain account as the source identifier, and it can only be recorded on the chain through the consensus of the whole network.
例如,区块链中的用户身份可以使用公钥或者根据公钥生成的账户地 址表示(如公钥可通过特定的哈希和编码后生成账户地址),并且公钥和私钥是成对出现的,其中私钥由用户掌握,公钥或者上述的账户地址可随意发布在区块链网络中。For example, the user identity in the blockchain can be represented by the public key or the account address generated from the public key (for example, the public key can be generated by a specific hash and encoding to generate the account address), and the public key and the private key appear in pairs , in which the private key is mastered by the user, and the public key or the above-mentioned account address can be freely published in the blockchain network.
存储于区块链账本中的数据是只增加的,每一个新增的区块都需经由全网共识后才可上链,并且区块链账本由全网节点共同维系。因此,存储于区块链平台中的数据具有防篡改的特性。区块链网络中部署系列操作指令智能合约,当合约预设条件被满足时候,合约脚本将自动运行,向对应的物联网设备下达操作指令。智能合约的部署也需经由网络节点共识。The data stored in the blockchain ledger is only increased, and each new block can only be put on the chain after the consensus of the entire network, and the blockchain ledger is jointly maintained by the nodes of the entire network. Therefore, the data stored in the blockchain platform is tamper-proof. A series of operation instruction smart contracts are deployed in the blockchain network. When the preset conditions of the contract are met, the contract script will automatically run and issue operation instructions to the corresponding IoT devices. The deployment of smart contracts also needs to go through network node consensus.
在图1的实施例中,区块链平台共有四层结构,分别是合约层、网络层、安全层和存储层。In the embodiment of FIG. 1 , the blockchain platform has a total of four layers, namely the contract layer, the network layer, the security layer and the storage layer.
合约层负责管理、运行智能合约。例如,将智能合约部署、运行在区块链网络中,这些智能合约负责对物联网设备进行指令管理。The contract layer is responsible for managing and running smart contracts. For example, smart contracts are deployed and run in the blockchain network, and these smart contracts are responsible for the instruction management of IoT devices.
网络层负责网络节点通讯,区块链网络是一个点对点的分布式网络,网络中的节点可以依据系统通信协议相互通信,不同节点间可以进行数据交换,相互配合、协同工作。The network layer is responsible for the communication of network nodes. The blockchain network is a point-to-point distributed network. The nodes in the network can communicate with each other according to the system communication protocol. Different nodes can exchange data, cooperate with each other and work together.
安全层用于实现共识算法和非对称加密算法等安全机制,负责保障区块链账本的安全性和一致性。The security layer is used to implement security mechanisms such as consensus algorithms and asymmetric encryption algorithms, and is responsible for ensuring the security and consistency of the blockchain ledger.
存储层负责链上数据存储,区块链账本数据是一个链式数据结构。例如,区块链的每个区块包括区块头和区块主体,区块头包含用于连接前面的区块、索引自父区块哈希值的数据;时间戳;Nonce(随机数)等。区块主体所记录的交易信息是区块所承载的任务数据,如包括交易双方的私钥、交易的数量、交易对应的数字签名等信息。对于区块的具体数据结构在此不再赘述。The storage layer is responsible for data storage on the chain, and the blockchain ledger data is a chain data structure. For example, each block of the blockchain includes a block header and a block body. The block header contains data used to connect previous blocks, indexed from the hash value of the parent block; timestamp; Nonce (random number), etc. The transaction information recorded by the block body is the task data carried by the block, such as the private keys of both parties to the transaction, the number of transactions, and the digital signatures corresponding to the transaction. The specific data structure of the block is not repeated here.
物联网设备用于采集环境数据并签名发送至区块链网络,本发明中的每一个物联网设备都具有一个独一无二的身份标识,即区块链账户,经过账户签名的数据将具有一个身份标识符,以确保区块链上的数据来源可查可信。The IoT device is used to collect environmental data and sign and send it to the blockchain network. Each IoT device in the present invention has a unique identity, that is, a blockchain account, and the data signed by the account will have an identity. to ensure that the data source on the blockchain can be checked and trusted.
在图1的实施例中,物联网设备包含四个部分,分别是微处理器、数据采集模块、加密算法模块和通讯模块。微处理器负责整个物联网设备的 驱动,执行程序、处理数据;数据采集模块负责采集环境数据;加密算法模块负责数据的加密处理和数据包签名处理;通讯模块负责物联网设备通讯以及与区块链网络的交互。In the embodiment of FIG. 1 , the IoT device includes four parts, which are a microprocessor, a data acquisition module, an encryption algorithm module and a communication module. The microprocessor is responsible for driving the entire IoT device, executing programs, and processing data; the data acquisition module is responsible for collecting environmental data; the encryption algorithm module is responsible for data encryption processing and data packet signature processing; the communication module is responsible for IoT device communication and block. Chain network interaction.
需要说明的是,图1示出的物联网设备包括但不限于智能家居、智能穿戴设备等设备。例如,智能手表、智能空气净化器、扫地机器人、传感器等。It should be noted that the IoT devices shown in FIG. 1 include but are not limited to devices such as smart home and smart wearable devices. For example, smart watches, smart air purifiers, sweeping robots, sensors, etc.
为便于理解,下文将以基于区块链的分布式物联网指令管理方法的整体流程为例进行介绍。For ease of understanding, the following will take the overall process of the blockchain-based distributed IoT instruction management method as an example to introduce.
参见图2所示,该整体流程包含五个主要部分,分别是:新设备入网,用于将物联网设备挂接到区块链网络,并对每一物联网设备配置区块链账户作为身份标识;新增指令,用于将针对物联网设备的操作指令以智能合约形式部署于区块链网络中;物联网设备采集环境数据;数据签名并记录上链,用于将采集的环境数据存储至区块链网络;对物联网设备下达指令,用于响应于针对物联网络设备下达的操作指令,判断是否执行相应的智能合约。As shown in Figure 2, the overall process consists of five main parts, namely: new device access to the network, which is used to connect IoT devices to the blockchain network, and configure a blockchain account as an identity for each IoT device Identification; new instructions are used to deploy operation instructions for IoT devices in the blockchain network in the form of smart contracts; IoT devices collect environmental data; data signatures and records are uploaded to the chain to store the collected environmental data To the blockchain network; issue an instruction to the IoT device, which is used to determine whether to execute the corresponding smart contract in response to the operation instruction issued to the IoT network device.
在一个实施例中,新设备入网的过程参见图3所示,包括:对物联网设备进行初始化;生成公私钥对;对物联网设备进行身份配置;加入区块网络。通过这种方式可将新的物联网设备加入区块链网络。In one embodiment, the process of adding a new device to the network is shown in FIG. 3 , including: initializing the IoT device; generating a public-private key pair; configuring the identity of the IoT device; and joining the block network. In this way, new IoT devices can be added to the blockchain network.
在一个实施例中,新增指令的过程参见图4所示,包括:客户端添加新指令请求;生成部署合约交易;区块链网络执行共识验证;如验证通过,则部署新的智能合约,否则丢弃。通过这种方式,用于执行新增的物联网操作指令的智能合约将被部署于区块链网络。In one embodiment, the process of adding an instruction is shown in FIG. 4, including: adding a new instruction request by the client; generating a deployment contract transaction; performing consensus verification on the blockchain network; if the verification is passed, deploying a new smart contract, Otherwise discard. In this way, smart contracts for executing the newly added IoT operation instructions will be deployed on the blockchain network.
例如,新增操作指令请求具体包含:客户端账户、控制物联网设备列表、指令触发条件(如环境亮度低于5lux、温度高于35摄氏度等)、执行指令内容(如打开设备的LED灯、蜂鸣器报警等)。For example, the newly added operation command request specifically includes: client account, list of controlled IoT devices, command trigger conditions (such as ambient brightness lower than 5lux, temperature higher than 35 degrees Celsius, etc.), execution command content (such as turning on the LED lights of the device, buzzer alarm, etc.).
在一个实施例中,物联网设备采集环境数据的过程参见图5所示,包括:物联网设备采集环境数据;对于采集的环境数据,进行私钥加密和数据包签名;将签名后的数据包发送至区块链网络。通过这种方式,物联网设备采集环境数据并将其打包成交易发送至区块链网络进行存储。In one embodiment, the process of collecting environmental data by the IoT device is shown in FIG. 5 , including: collecting the environmental data by the IoT device; encrypting the collected environmental data with the private key and signing the data package; sent to the blockchain network. In this way, IoT devices collect environmental data and package it into transactions that are sent to the blockchain network for storage.
在一个实施例中,数据上链的过程参见图6所示,包括:对于产生的交易,区块链网络执行共识验证,如验证通过,则打包上链,如验证不通过,则丢弃。例如,具体地,基于物联网设备采集的环境数据生成交易数据包,利用私钥对该交易数据包进行数字签名;经数字签名的交易数据包被区块链网络中的“矿工”记录入区块链中产生的新区块,并将该交易数据包发布到区块链网络;区块链网络的其他节点从生成的交易数据包中获取公钥,并根据该区块链节点的公钥对交易数据包的数字签名进行验证并验证交易数据包的数据结构合规性,将经共识验证通过的交易数据包写入区块链。通过这种方式,该记录有环境信息和节点签名的数据包将被记录上链。In one embodiment, the process of uploading data to the chain is shown in FIG. 6 , including: for the generated transaction, the blockchain network performs consensus verification. For example, specifically, a transaction data package is generated based on the environmental data collected by the Internet of Things device, and the transaction data package is digitally signed with a private key; the digitally signed transaction data package is recorded by the "miners" in the blockchain network. A new block is generated in the blockchain, and the transaction data package is published to the blockchain network; other nodes in the blockchain network obtain the public key from the generated transaction data package, and based on the public key pair of the blockchain node The digital signature of the transaction data packet is verified and the data structure compliance of the transaction data packet is verified, and the transaction data packet that has passed the consensus verification is written into the blockchain. In this way, the data packet recorded with the environment information and node signature will be recorded on the chain.
在一个实施例中,对物联网设备下达指令的过程如图7所示,包括:对物联网设备下达指令(即新交易产生);判断是否满足预设条件,即智能合约中的预设条件或规则,如上述的环境亮度低于5lux、温度高于35摄氏度;在满足合约预设条件的情况下,合约自动执行,进而对物联网设备下达指令。通过这种方式,指令所指示的目标物联网设备将被下达操作指令并执行相应操作。In one embodiment, the process of issuing an instruction to an IoT device is shown in FIG. 7 , including: issuing an instruction to the IoT device (ie, a new transaction is generated); judging whether a preset condition is met, that is, a preset condition in a smart contract Or rules, such as the above-mentioned ambient brightness is lower than 5lux and the temperature is higher than 35 degrees Celsius; when the preset conditions of the contract are met, the contract is automatically executed, and then orders are issued to the IoT device. In this way, the target IoT device indicated by the instruction will be given the operation instruction and execute the corresponding operation.
需说明的是,本发明实施例中涉及的共识验证可采用现有的多种机制实现,例如共识机制包括但不限于工作量证明(POW)机制、拜占庭容错(PBFT)机制、权益机制证明等。It should be noted that the consensus verification involved in the embodiments of the present invention can be implemented by using various existing mechanisms. For example, consensus mechanisms include but are not limited to a Proof of Work (POW) mechanism, a Byzantine Fault Tolerance (PBFT) mechanism, and an equity mechanism proof, etc. .
综上所述,本发明基于区块链技术实现分布式物联网指令管理,利用物联网设备的分布式特点,赋予每个物联网设备独一无二的身份标识将其接入区块链网络,并且构建分布式的物联网指令管理系统,该系统具有分布式系统的优势,网络中的各个节点可通过共识算法和智能合约实现数据交换与协同工作,避免了传统物联网系统所存在的单点故障问题。此外,凭借区块链的溯源优势,提高了系统中数据来源的可靠性,提高了安全性。经过多次软、硬件测试证明,本发明能够满足预期设计指标,解决了物联网面临的安全性、单点故障等难题。To sum up, the present invention realizes distributed Internet of Things instruction management based on blockchain technology, uses the distributed characteristics of Internet of Things devices, gives each Internet of Things device a unique identity to connect it to the blockchain network, and builds Distributed Internet of Things command management system, which has the advantages of a distributed system. Each node in the network can realize data exchange and collaborative work through consensus algorithms and smart contracts, avoiding the single point of failure problem existing in traditional Internet of Things systems. . In addition, with the traceability advantage of the blockchain, the reliability of the data source in the system is improved, and the security is improved. After several software and hardware tests, it has been proved that the present invention can meet the expected design indicators, and solve the problems of security, single point of failure and the like faced by the Internet of Things.
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面 的计算机可读程序指令。The present invention may be a system, method and/or computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of the present invention.
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。A computer-readable storage medium may be a tangible device that can hold and store instructions for use by the instruction execution device. The computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM) or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically coded devices, such as printers with instructions stored thereon Hole cards or raised structures in grooves, and any suitable combination of the above. Computer-readable storage media, as used herein, are not to be construed as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (eg, light pulses through fiber optic cables), or through electrical wires transmitted electrical signals.
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。The computer readable program instructions described herein may be downloaded to various computing/processing devices from a computer readable storage medium, or to an external computer or external storage device over a network such as the Internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer-readable program instructions from a network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing/processing device .
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)— 连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。The computer program instructions for carrying out the operations of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or instructions in one or more programming languages. Source or object code, written in any combination, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as the "C" language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server implement. Where a remote computer is involved, the remote computer may be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (eg, using an Internet service provider to connect). In some embodiments, custom electronic circuits, such as programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can be personalized by utilizing state information of computer readable program instructions. Computer readable program instructions are executed to implement various aspects of the present invention.
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer or other programmable data processing apparatus to produce a machine that causes the instructions when executed by the processor of the computer or other programmable data processing apparatus , resulting in means for implementing the functions/acts specified in one or more blocks of the flowchart and/or block diagrams. These computer readable program instructions can also be stored in a computer readable storage medium, these instructions cause a computer, programmable data processing apparatus and/or other equipment to operate in a specific manner, so that the computer readable medium on which the instructions are stored includes An article of manufacture comprising instructions for implementing various aspects of the functions/acts specified in one or more blocks of the flowchart and/or block diagrams.
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。Computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other equipment to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other equipment to produce a computer-implemented process , thereby causing instructions executing on a computer, other programmable data processing apparatus, or other device to implement the functions/acts specified in one or more blocks of the flowcharts and/or block diagrams.
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。 也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more functions for implementing the specified logical function(s) executable instructions. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented in dedicated hardware-based systems that perform the specified functions or actions , or can be implemented in a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation in hardware, implementation in software, and implementation in a combination of software and hardware are all equivalent.
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。Various embodiments of the present invention have been described above, and the foregoing descriptions are exemplary, not exhaustive, and not limiting of the disclosed embodiments. Numerous modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.
Claims (10)
- 一种基于区块链的分布式物联网指令管理方法,包括以下步骤:A distributed Internet of Things instruction management method based on blockchain, comprising the following steps:将物联网设备连接到区块链网络,并对每一物联网设备配置区块链账户作为身份标识;Connect IoT devices to the blockchain network, and configure a blockchain account as an identity for each IoT device;将针对物联网设备的操作指令,通过设计智能合约部署于区块链网络;Deploy the operation instructions for IoT devices on the blockchain network by designing smart contracts;将物联网设备采集的数据生成交易数据包,并利用私钥对交易数据包进行加密和数字签名,经区块链网络共识验证后存储至区块链网络。Generate transaction data packets from the data collected by IoT devices, encrypt and digitally sign the transaction data packets with private keys, and store them in the blockchain network after being verified by the blockchain network consensus.
- 根据权利要求1所述的方法,其中,将针对物联网设备的操作指令,通过设计智能合约部署于区块链网络包括:The method according to claim 1, wherein deploying the operation instructions for the IoT device on the blockchain network by designing a smart contract comprises:响应于增加针对物联网设备的操作指令请求,生成部署合约交易;In response to adding an operation instruction request for the IoT device, generate a deployment contract transaction;区块链网络对所生成的部署合约交易执行共识验证,并根据验证结果决定部署对应的智能合约或放弃部署。The blockchain network performs consensus verification on the generated deployment contract transaction, and decides to deploy the corresponding smart contract or abandon the deployment according to the verification result.
- 根据权利要求2所述的方法,其中,所述针对物联网设备的操作指令请求包括:物联网设备列表、指令触发条件、执行指令内容,所述物联网设备列表用于指示指令针对的目标设备,所述执行指令内容用于指示控制该目标设备的操作命令,所述指令触发条件用于指示执行指令的预设条件。The method according to claim 2, wherein the operation instruction request for the Internet of Things device comprises: a list of Internet of Things devices, an instruction trigger condition, and execution instruction content, and the Internet of Things device list is used to indicate the target device for which the instruction is directed. , the content of the execution instruction is used to indicate an operation command for controlling the target device, and the instruction trigger condition is used to indicate a preset condition for executing the instruction.
- 根据权利要求3所述的方法,其中,所述针对物联网设备的操作指令请求来自于客户端的用户输入,且所述针对物联网设备的操作指令请求还包括客户端账户信息。The method according to claim 3, wherein the operation instruction request for the Internet of Things device is input from a user of a client, and the operation instruction request for the Internet of Things device further includes client account information.
- 根据权利要求3所述的方法,还包括:响应于针对物联网络设备下达的操作指令,判断相应智能合约的指令触发条件是否满足,如判断为是,则通过运行合约脚本控制目标物联网设备执行操作指令。The method according to claim 3, further comprising: in response to the operation instruction issued to the IoT network device, judging whether the instruction trigger condition of the corresponding smart contract is satisfied, if the determination is yes, then controlling the target IoT device by running the contract script Execute operating instructions.
- 根据权利要求1所述的方法,其中,将物联网设备采集的数据生成交易数据包,并利用私钥对该交易数据包进行加密和数字签名,经区块链网络共识验证后存储至区块链网络包括:The method according to claim 1, wherein a transaction data package is generated from the data collected by the Internet of Things device, and the transaction data package is encrypted and digitally signed by using a private key, and is stored in the block chain after being verified by a blockchain network consensus. The chain network includes:基于物联网设备采集的环境数据生成交易数据包,利用私钥对该交易数据包进行数字签名;Generate a transaction data package based on the environmental data collected by the IoT device, and use the private key to digitally sign the transaction data package;经数字签名的交易数据包被区块链网络中的“矿工”记录入区块链中产生的新区块,并将该交易数据包发布到区块链网络;The digitally signed transaction data package is recorded by the "miners" in the blockchain network into the new block generated in the blockchain, and the transaction data package is released to the blockchain network;区块链网络的其他节点从生成的交易数据包中获取公钥,并根据该区块链节点的公钥对交易数据包的数字签名进行验证并验证交易数据包的数据结构合规性,将经共识验证通过的交易数据包写入区块链。Other nodes of the blockchain network obtain the public key from the generated transaction data package, and verify the digital signature of the transaction data package according to the public key of the blockchain node and verify the compliance of the data structure of the transaction data package. The transaction data packets that have been verified by consensus are written into the blockchain.
- 根据权利要求1所述的方法,其中,共识验证方式包括工作量证明机制、拜占庭容错机制、权益机制证明。The method according to claim 1, wherein the consensus verification method includes a workload proof mechanism, a Byzantine fault tolerance mechanism, and an equity mechanism proof.
- 一种基于区块链的分布式物联网指令管理系统,包括客户端应用层、物联网设备、区块链平台,其中,客户端应用层、物联网设备和区块链平台之间通过信息交互实现针对物联网设备的指令管理,并将针对物联网设备的操作指令,设计智能合约部署于区块链网络,将物联网设备采集的数据生成交易数据包,并利用私钥对该交易数据包进行加密和数字签名,经区块链网络共识验证后存储至区块链网络。A distributed Internet of Things instruction management system based on blockchain, including a client application layer, an Internet of Things device, and a blockchain platform, wherein the client application layer, the Internet of Things device, and the blockchain platform interact with each other through information. Realize instruction management for IoT devices, design smart contracts for the operation instructions of IoT devices and deploy them on the blockchain network, generate transaction data packets from the data collected by IoT devices, and use private keys for the transaction data packets. Perform encryption and digital signatures, and store them in the blockchain network after being verified by the blockchain network consensus.
- 根据权利要求8所述的系统,其中,所述客户端应用层用于添加新的物联网指令操作、下达针对物联网设备的操作指令;从区块链平台中读取链上数据、调用智能合约、部署智能合约;获取物联网设备采集的环境数据。The system according to claim 8, wherein the client application layer is used to add a new IoT command operation and issue an operation command for IoT devices; read on-chain data from the blockchain platform, and invoke intelligent Contracts, deploy smart contracts; obtain environmental data collected by IoT devices.
- 一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现根据权利要求1至7中任一项所述方法的步骤。A computer-readable storage medium having stored thereon a computer program, wherein the program, when executed by a processor, implements the steps of the method according to any one of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/117183 WO2022061599A1 (en) | 2020-09-23 | 2020-09-23 | Blockchain-based distributed internet of things instruction management method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/117183 WO2022061599A1 (en) | 2020-09-23 | 2020-09-23 | Blockchain-based distributed internet of things instruction management method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022061599A1 true WO2022061599A1 (en) | 2022-03-31 |
Family
ID=80844686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/117183 WO2022061599A1 (en) | 2020-09-23 | 2020-09-23 | Blockchain-based distributed internet of things instruction management method and system |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022061599A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915640A (en) * | 2022-05-06 | 2022-08-16 | 中国科学技术大学先进技术研究院 | Data security interaction method, system, device, equipment and readable storage medium |
CN114938293A (en) * | 2022-04-28 | 2022-08-23 | 深圳云创数安科技有限公司 | NGINX data tracing method, device, equipment and storage medium based on block chain |
CN115348263A (en) * | 2022-06-29 | 2022-11-15 | 中国工商银行股份有限公司 | Multi-layer block chain system, and hybrid networking method and device of multi-layer block chain |
CN115802305A (en) * | 2022-12-08 | 2023-03-14 | 广州市数网科技有限公司 | Intelligent street lamp management system based on block chain technology |
CN115955318A (en) * | 2023-03-13 | 2023-04-11 | 移动广播与信息服务产业创新研究院(武汉)有限公司 | Trusted instruction early warning device, method, equipment and storage medium of Internet of things system |
CN117240621A (en) * | 2023-11-13 | 2023-12-15 | 腾讯科技(深圳)有限公司 | Processing method and device of network request, computer readable medium and electronic equipment |
WO2024113183A1 (en) * | 2022-11-29 | 2024-06-06 | 上下左右有限公司 | Internet of things system and internet of things data processing method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942718A (en) * | 2018-01-15 | 2018-04-20 | 天津大学 | Intelligent home furnishing control method and system based on block chain |
CN109167822A (en) * | 2018-08-14 | 2019-01-08 | 众安信息技术服务有限公司 | A kind of internet of things equipment control method and system based on block chain |
CN110086804A (en) * | 2019-04-25 | 2019-08-02 | 广州大学 | A kind of internet of things data method for secret protection based on block chain and reliable hardware |
CN110099055A (en) * | 2019-04-29 | 2019-08-06 | 北京工业大学 | Internet of Things service architecture based on lightweight block chain node |
CN111224962A (en) * | 2019-12-30 | 2020-06-02 | 杭州羿贝科技有限公司 | Internet of things equipment networking control method and control system based on block chain |
-
2020
- 2020-09-23 WO PCT/CN2020/117183 patent/WO2022061599A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942718A (en) * | 2018-01-15 | 2018-04-20 | 天津大学 | Intelligent home furnishing control method and system based on block chain |
CN109167822A (en) * | 2018-08-14 | 2019-01-08 | 众安信息技术服务有限公司 | A kind of internet of things equipment control method and system based on block chain |
CN110086804A (en) * | 2019-04-25 | 2019-08-02 | 广州大学 | A kind of internet of things data method for secret protection based on block chain and reliable hardware |
CN110099055A (en) * | 2019-04-29 | 2019-08-06 | 北京工业大学 | Internet of Things service architecture based on lightweight block chain node |
CN111224962A (en) * | 2019-12-30 | 2020-06-02 | 杭州羿贝科技有限公司 | Internet of things equipment networking control method and control system based on block chain |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114938293A (en) * | 2022-04-28 | 2022-08-23 | 深圳云创数安科技有限公司 | NGINX data tracing method, device, equipment and storage medium based on block chain |
CN114938293B (en) * | 2022-04-28 | 2024-03-12 | 深圳云创数安科技有限公司 | NGINX data tracing method, device, equipment and storage medium based on block chain |
CN114915640A (en) * | 2022-05-06 | 2022-08-16 | 中国科学技术大学先进技术研究院 | Data security interaction method, system, device, equipment and readable storage medium |
CN114915640B (en) * | 2022-05-06 | 2023-12-26 | 中国科学技术大学先进技术研究院 | Data security interaction method, system, device, equipment and readable storage medium |
CN115348263A (en) * | 2022-06-29 | 2022-11-15 | 中国工商银行股份有限公司 | Multi-layer block chain system, and hybrid networking method and device of multi-layer block chain |
WO2024113183A1 (en) * | 2022-11-29 | 2024-06-06 | 上下左右有限公司 | Internet of things system and internet of things data processing method |
CN115802305A (en) * | 2022-12-08 | 2023-03-14 | 广州市数网科技有限公司 | Intelligent street lamp management system based on block chain technology |
CN115955318A (en) * | 2023-03-13 | 2023-04-11 | 移动广播与信息服务产业创新研究院(武汉)有限公司 | Trusted instruction early warning device, method, equipment and storage medium of Internet of things system |
CN115955318B (en) * | 2023-03-13 | 2023-05-23 | 移动广播与信息服务产业创新研究院(武汉)有限公司 | Trusted instruction early warning device, method, equipment and storage medium of Internet of things system |
CN117240621A (en) * | 2023-11-13 | 2023-12-15 | 腾讯科技(深圳)有限公司 | Processing method and device of network request, computer readable medium and electronic equipment |
CN117240621B (en) * | 2023-11-13 | 2024-02-02 | 腾讯科技(深圳)有限公司 | Processing method and device of network request, computer readable medium and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022061599A1 (en) | Blockchain-based distributed internet of things instruction management method and system | |
KR102586278B1 (en) | Computer-implemented systems and methods for connecting blockchains to digital twins | |
Zhao et al. | Blockchain enabled industrial Internet of Things technology | |
Da Xu et al. | Embedding blockchain technology into IoT for security: A survey | |
CN109643285B (en) | Encrypted user data transmission and storage | |
KR102467596B1 (en) | Blockchain implementation method and system | |
CN111801927B (en) | Method associated with industrial data verification and system that facilitates industrial data verification | |
CN112134956A (en) | Distributed Internet of things instruction management method and system based on block chain | |
US11652610B2 (en) | Multi-layer ledgers for multi-party secure data governance | |
Yan et al. | A homomorphic encryption and privacy protection method based on blockchain and edge computing | |
US11038847B1 (en) | Facilitation of secure communications between a client and computing instance | |
US20140325066A1 (en) | Monitoring Remote Access to an Enterprise Network | |
Qiang et al. | Mine consortium blockchain: the application research of coal mine safety production based on blockchain | |
Meng et al. | Data sharing mechanism of sensors and actuators of industrial IoT based on blockchain-assisted identity-based cryptography | |
Tuan et al. | A blockchain-based authentication and access control for smart devices in sdn-enabled networks for metaverse | |
CN116319387A (en) | Simulation test platform based on block chain | |
Dorsemaine et al. | A new threat assessment method for integrating an IoT infrastructure in an information system | |
Li et al. | Internet web trust system based on smart contract | |
Rein et al. | Trust establishment in cooperating cyber-physical systems | |
US20200382555A1 (en) | Security incident blockchain | |
Albettar | Evaluation and assessment of cyber security based on Niagara framework: a review | |
Pavlov | Security aspects of digital twins in IoT platform | |
Foltz et al. | Enterprise level security 2: Advanced techniques for information technology in an uncertain world | |
Narendra Kumar et al. | Analyzing protocol security through information-flow control | |
Zaid et al. | Blockchain based integrity assurance framework for COVID‐19 information management & decision making at National Command Operation Center, Pakistan |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20954453 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC |