A system for executing distributed Internet-of-Things applications, the system comprising:
- one or more field devices configured to provide device data including sensor data;
- one or more gateways, the one or more gateways configured to perform one or more of the following:
- gather or aggregate the device data from at least one of the one or more field devices or any combination thereof, compute new data based on the gathered or the aggregated device data or any combination thereof, wherein the one or more gateways are further configured to provide gateway data based on the gathered or the aggregated device data, or based on the computed new data, or on any combination thereof;
- and
- a distributed ledger system, the distributed ledger system configured to request and to receive the device data, or the gateway data, or the device data and the gateway data, wherein the distributed ledger system is further configured to process, or store, or transfer, or provide the received gateway data, or implement any combination thereof, the distributed ledger system comprising:
- at least one access point configured to form an interface of the distributed ledger system for communicating with the one or more gateways and for communicating with at least one consumer via a monitoring application, the at least one access point further configured to provide input access point data to the distributed ledger system based on the gateway data, or based on consumer requests via the monitoring application, or any combination thereof;
- and
- a plurality of computers, each computer of the plurality of computers configured to execute at least one peer process configured to process input access point data and to provide peer processed data;
- wherein the at least one access point is further configured to provide output access point data from the distributed ledger system based on the peer processed data and to output the output access point data to the consumer via the monitoring application;
- and
- wherein the one or more field devices, the one or more gateways, the at least one access point of the distributed ledger system and the plurality of computers of the distributed ledger system executing the peer processes are programmable with a smart contract encoding an application for the system, the smart contract encoding a distributed Internet-of-Things application defining how data should be processed, or stored, or accessed in and between the one or more field devices, the one or more gateways and the distributed ledger system, or how any combination thereof should be implemented;
- wherein the device data, or the gateway data, or the input access point data, or the peer processed data, or the output access point data, or any combination thereof is signed and encrypted;
- or
- wherein the system is configured to store, or access, or transfer data in the distributed ledger system in a signed and encrypted form, or to implement any combination thereof;
- and
- wherein the encrypted data is based at least in part on a threshold cryptosystem sharing a private key among the peer processes within the distributed ledger system;
- and
- wherein encrypting, or signing, or encrypting and signing the exchanged data is based at least in part on a threshold cryptosystem configured to disseminate private key shares, relative to the executable smart contract, among the peer processes within the distributed ledger system.