Hierarchical Distributed Ledger for IoT using Ethereum
Blockchain
Dr. Irfan Siddavatam
Ms. Ashwini Dalvi Mr. Shivam Pathak Mr. Kshitiz Shrivastava
Department of Information Technology
K.J. Somaiya College of Engineering Outline Introduction Motivation Contribution Related Work Implementation Conclusion References Introduction This data gathered by IOT sensors is of critical value to many companies as they use this data for analysis to drive their business needs. The data generated by sensors is ubiquitous, keeping track of its origination and trusting the data obtained from third party data generators is merely impossible without a system in place to handle this issue. Motivation When the sensors are preconfigured by the data collectors, they can easily verify the data coming from those sensors for its authenticity using cryptography. But if a third party wants to buy that data, how can they trust the data collector for the authenticity of that data i.e whether the data they are buying is real data or some randomly generated stream of numbers. Motivation The only option left is to trust the claim made by the collectors that the data they are providing is authentic. This project resolves the trust issue by creating a distributed application using blockchains by distributing the trust factor to the entire network instead of trusting a single entity [ Contribution The project provides a platform for buying and selling of sensor data which also ensures that the data in the given scenario is authentic and the ownership of that data is established from the moment it is created. We will accomplish this need by keeping track of each instance of data along with maintaining a distributed public ledger of all the transactions happening in the network regarding data generated by sensor nodes. Contribution Listed are some terminologies used for in- depth explanation of project implementation: Farm: It is a network of Iot nodes which generally includes a number of Raspberry pis (or some data collecting and computing device) as sensor nodes and full-fledged computer nodes as user nodes. Farm Manager: This is the machine in the network which essentially acts as a data collector and and is the farm head who maintains and holds responsibility for the farm. Contribution Listed are some terminologies used for in-depth explanation of project implementation: Bidders: A user who does not manage any farm but is interested in buying the data. Tokens: It is a representation of real world data chunk inside the blockchain and the process creating such instance of data is called tokenization. Implementation Implementation The network architecture of our implemented system is hierarchical which has two levels of blockchain network viz local and global. The purpose of having two levels of blockchain network is to make it more scalable in an organised manner. All the networks implemented are private by design. There are multiple local farms each having their own unique blockchain and a farm manager in it who manages the Implementation The local farm blockchain maintains a distributed ledger of data interaction between sensor nodes and farm manager within their own local network.
And the global blockchain maintains a
distributed ledger of data trading among the farm managers and bidders. Implementation In each farm, there are 2 to 3 Raspberry Pis which collect and publish sensor data to their respective farm managers and this is registered as a transaction in the blockchain. So the local blockchain contains information about who generated what data and the essential attributes of the data. All the trading takes place by tokenizing the data captured by sensor nodes for a particular period of time. Implementation In local blockchain the raspberry pis themselves perform the mining work and hence the sensor nodes themselves compete to add a block in the blockchain. While, farm managers only queries the local blockchain for sensor data and links that data to the external global blockchain, they perform mining in the external global blockchain where data bidding takes place. Implementation For the functioning of the system we have written two smart contracts one for local data interaction where the origination of the data and their attributes are tokenized and registered in the local blockchain and another for global data bidding where farm managers and bidders sell and buy that tokenized data. Once the data is bought by the bidder, the actual data is transferred to the buyer. Implementation All the interaction code is written using solidity language and compiled and deployed on the blockchain. The code once deployed cannot be altered by anyone and hence the actions performed on the tokenized data is registered in this immutable ledger. Implementation The local smart contract is to record the data source. This is where the data production node is registered along with its unique data identification attributes. Once the data instance is tokenized and registered in the blockchain using smart contract which is deployed on the same blockchain i.e local blockchain, it is then sent to the farm manager and the same transaction is registered in the local blockchain. Implementation Once the farm manager receives the tokenized data, it registers the new tokenized data on the global blockchain which is done by interacting with the smart contract deployed on it. Once that data token is registered it is then enlisted in the available for bidding section, where other farm managers and bidders can bid and hence buy that data. Implementation Further there is a limited time frame for which the bidding is open, after that the bidding is closed by the owner farm manager and the ownership of that data is transferred to the highest bidder for the exchange of money. After that buyer gets the actual data. If no one bids on the data, the data is kept with the owner farm manager itself. Implementation Implementation Implementation This solution provided in the application can deal with any type of mass produced data set trading on a large scale where the data could be anything from general environment data to body sensor data, in our case it is pollution data. Conclusion By building a hierarchical blockchain we have created an easy to scale solution for data trading with trust being decentralised to the entire network. The design complies with the intuitive nature of large scale data production environments and caters to the need of data trading from the ones who capture it from remote location and sell it for research and other purposes to the ones who need it for data processing irrespective of the geographical location. References [1] S. Huh, S. Cho and S. Kim, "Managing IoT devices using blockchain platform," 2017 19th International Conference on Advanced Communication Technology (ICACT), Bongpyeong, 2017, pp. 464-467. [2] M. Conoscenti, A. Vetrò and J. C. De Martin, "Blockchain for the Internet of Things: A systematic literature review," 2016 IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA), Agadir, 2016, pp. 1-6. [3] A. Dorri, S. S. Kanhere and R. Jurdak, "Towards an Optimized BlockChain for IoT," 2017 IEEE/ACM Second International Conference on Internet-of-Things Design and Implementation (IoTDI), Pittsburgh, PA, 2017, pp. 173-178. References [4] A. Dorri, S. S. Kanhere, R. Jurdak and P. Gauravaram, "Blockchain for IoT security and privacy: The case study of a smart home," 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Kona, HI, 2017, pp. 618- 623. [5] Blockchain based trust & authentication for decentralized sensor networks. Axel Moinet, Benoit Darties, and Jean-Luc Baril https://arxiv.org/pdf/1706.01730.pdf THANK YOU !!!