BigBang Core Meets AWS – The Explanation of The Massive Devices’ Data of IOT On Chain


China, Xianggang, Guiqing – 01-28-2020 ( — The internet of things (IOT) means that making any object connect with the network based on an agreed protocol by using information sensing device. Those objects can spread or exchange information through information transmission medium when it is necessary. This measurement can achieve intelligent identification, positioning, tracking, supervision and other functions. To be concluded, the IOT will make all objects are connected and can communicated to reach the goal of intelligent identification and management.

Blockchain is a new application mode that combines several computer technologies such as distributed data storage, point-to-point data transmission, consensus mechanisms, and encryption algorithms. The characteristics of Blockchain are decentralization, immutable information, highly transparency, information security, traceability and anonymity, which enables the blockchain technology to play a significant role in the field of IoT.When using the IOT, the objects will be assumed as transaction and transaction initiator which could generate massive basic data and transactions because the use and status of objects will change in every node and product. In addition, consider to the natural distrust relationship among people and the decentralized and end-to-end communication process in IOT, the privacy of those data is also an issue. The blockchain can just solve these core difficulties of the Internet of Things (IOT), and it can become a key technology for building a new generation of Internet of Everything. 

AWS IoT Core and AWS IoT Greengrass

AWS IoT Core is a hosted cloud platform which enables connected devices to easily and securely interact with cloud applications and other devices.AWS IoT Core can support billions of devices and trillions of messages, and these messages can be processed and routed securely and reliably to AWS endpoints and other devices. With AWS IoT Core, your application can track and communicate with all devices at any time, even if those devices are not connected.AWS Greengrass is a software that extends AWS cloud capabilities to on-premises devices. It enables on-premises to gather and analyze data closer to the source of information, while to have securely and mutually communicating with each on the local network.Be more specific, developers, who using AWS Greengrass, can write serverless code (AWS Lambda functions) in the cloud. Then, it can easily deploy those code to devices and execute applications locally. In AWS Greengrass, devices can securely communicate and exchange messages with each other on the local network without having to connect to the cloud. 

The method of Data on-chain

1 In this solution, it has three core modules. In those modules, BigBang Core need to develop the LWS and LWS-Client which run in the IOT Device. And IOT is an existing function provided by AWS.2 LWS is a light wallet service, which is used to synchronize the blockchain data to the on-premises and reorganize it in order to provide the gateway interface for the LWS-Client (light wallet service) to access the blockchain data.3 LWS-Client runs in the IOT Device, it integrates IOT SDK which can establish a communication relationship with the AWS IOT Core and submit the data. Meanwhile, it can also call the service provided by LWS, and use the collected hash of encrypted data as a part of UTXD to be chained.4 The work of data encryption is completed in the IOT Device. When the collecting data is encrypted, it will follow hash, data transmission and other operations. So, the hash on-chain is the hash of the encrypted data, and the IOT Device also obtains the encrypted data. The combination of on-chain hash and encrypted data on IoT Core can effectively verify whether the data has been tampered.5 AWS IoT Greengrass is a transit layer that is installed on top of IoT Device to achieve data communication between edge devices. LWS-Client communicates with IoT Core by connecting Greengrass and finally transmits data to LWS to complete operation of verification and on-chain. 

The method of data on-chain 2 (small data packet can be directly packaged and on-chained)

1 The first two operations of LWS-Client run same as mentioned previous. In this method, LWS-Client will encrypt a part of mobile data (such as the temperature of temperature sensor), then establish those into a on-premises TX packet.2 The LWS-Client is transmitted to the LWS through middle layers such as Greengrass and IoT Core. After the LWS has verified the integrity of the TX packet, it directly submits the data to the P2P network for packaging. 

The description of program execution process: The process of Big Data packet on-chain

The entire encrypted data hashing process is as follows:A. After gathering data by IOT Device, it should be encrypted to get the encrypted data.B. When LWS-Client finds a new data is produced, it transfers and uses LWS Gateway to get a UTXO.C. Hash the previously encrypted Data to obtain a Hash value.D. Use this Hash value as a TX vchData to get a new TX.E. LWS-Client calls LWS Gateway again to complete the on-chain operation. 

The process of small data packet on-chain

A. In this process, the way to collecting data and getting UTXO works same as the previous method. The difference is that the LWS-Client packs the entire data packet into TX completely instead of getting the summary of the data packet.B. LWS-Client transmit the packed TX into LWS to finish the on-chain operation. 

The process of big data packet on-cloud

After collecting data by the IoT device, the process of submitting the encrypted data of the big data package to the AWS IoT Core cloud platform is as follows:A. The IoT Device collects the data and encrypts it to obtain encrypted data.B. LWS-Client calls the AWS IoT SDK and establishes a communication link with AWS IoT Core through Greengrass.C. Package and integrate the timestamp and encrypted data together to obtain encrypted data with timestamp.D. LWS-Client calls the IoT SDK again to submit data to the AWS IoT Core cloud platform.E. The side of data store chooses whether to submit the data to the IPFS storage. If this data requires more hot backups, the data storage task will be distributed to the storage miners under the PoST / PoRep consensus through the template. 

Connect devices mutually through AWS IoT Greengrass

A. AWS IoT Greengrass is a middle tier, which can run on a variety of devices, such as Raspberry Pi, AWS EC2 instances, Ubuntu virtual machines, and other specialized devices. We install it in IoT Device, which can realize data communication between IoT Devices.B. AWS IoT Greengrass can execute AWS Lambda code, messaging, data caching, and security policies locally.C. It can manage the device in the cloud. 

How to ensure the reporting of massive devices’ data

To report the massive devices’ data should ensure the reported data cannot be lost in a largest extent. It needs to consider several factors, like device data size, network bandwidth, storage device write speed, storage capacity, and other aspects.In terms of our system, our data reporting includes two aspects. Firstly, write the hash, which is obtained by collecting encrypted data, into the blockchain. The other aspect is storing the collecting encrypted data on AWS IOT platform. Therefore, to think of the data reporting, we still need to consider the data processing capabilities of our blockchain.The BigBang Core team uses the theoretical TPS, which is 5200, to develop the public chain and single chain of IOT. And if IOT device collects data once, it will execute the entire process, which is obviously unreasonable. Firstly, it squeezes the data processing capabilities of our public chain. Then, it will cause waste of resources and low value consumption of tokens (to submit TX to the chain, it will consume tokens).For the submission of encrypted data to AWS IOT Core Cloud platform, the smaller the granularity of the transmitted data, the more unfavorable is the data management. And the larger the granularity of the transmitted data, the higher requirements of the corresponding bandwidth and data writing speed.Therefore, it is a better solution to submit and upload the collected data packet at once, which collected by multiple times. Obviously, the amount of packaged data cannot be too large, such as limiting 2M submission once. It is important to find a moderate size.For the encryption and encryption key generation and management of data collected from the IoT Device that mentioned in our system many times, we also provide an ideal encryption solution here. IoT Device stores a key and uses it for encryption, which is only known by us. When the IoT Device collects data, this key and the timestamp will be hashed to generate another ‘Key 1’ ‘Key 2’… ‘Key**’ that is used to encrypt the original data. we use all these keys to encrypt the original data, then get the encryption result and get encrypted data.In this way, we can manage fewer keys. For an IoT Device, we only need to manage one or a pair of keys. When the users need to obtain the decrypted data, they only need to tell us the specific time point. We can use the ‘Key’ that is grasped by us and combine it with the result of the timestamp to do a Hash operation to get the corresponding Key value to help the users decrypt the data. Obviously, we can also directly distribute a series of decryption keys to the users and let them complete the decryption work by themselves.

Media Contacts:

Company Name: BigBang
Full Name: Vicky Shu
Email Address: Send Email

For the original news story, please visit

Powered by WPeMatico