Design and Implementation of an Integrated IoT Blockchain Platform for Sensing Data Integrity
Abstract
:1. Introduction
- Scalability: Our solution meets the requirements of the practical IoT network, which is comprised of numerous IoT devices connected, through different constrained networks, to a single blockchain.
- High throughput: A high throughput network is needed so as to deal with simultaneous communications among a large variety of devices. This work proposes the use of a permissioned blockchain, in which interactions occur among a set of network entities that fully trust each other. As a consequence, traditional voting-based protocols, like byzantine fault tolerant (BFT) or crash fault tolerant (CFT) consensus protocols, can be used to improve the network throughput.
- Lightweight: In our solution, the IoT devices are not included in the blockchain, and alternatively, a RESTful interface which handle requests from devices is defined to enable cross platform communication between devices and the blockchain network.
- Transparency: This system hides the details of the IoT devices and the transaction history that records how a resource is manipulated, except for to the authorized user.
2. Related Work
3. Designed Architecture of the Proposed IoT Blockchain Platform
3.1. Conceptual Scenario of the IoT Blockchain Platform
3.2. Proposed IoT Blockchain Platform System Architecture
3.3. Interaction Model for the Proposed IoT Blockchain Platform
3.4. Smart Contract in the Proposed IoT Blockchain Platform
3.5. Proposed IoT Blockchain Platform Execution Procedure
4. Implementation of the Proposed IoT Blockchain Platform
4.1. Development Environment
4.2. Use Case Implementation and Deployment
4.3. Smart Contract Modeling for the Case Study
4.4. Execution Process and Results of the Smart Space Case Study
5. Performance Evaluation and Analysis
6. Comparison and Significance
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Ahmad, S.; Hang, L.; Kim, D.H. Design and Implementation of Cloud-Centric Configuration Repository for DIY IoT Applications. Sensors 2018, 18, 474. [Google Scholar] [CrossRef] [PubMed]
- Bhattacharjee, S.; Salimitari, M.; Chatterjee, M.; Kwiat, K.; Kamhoua, C. Preserving Data Integrity in IoT Networks Under Opportunistic Data Manipulation. In Proceedings of the 15th IEEE Intl Conf on Dependable, Autonomic and Secure Computing, 15th Intl Conf on Pervasive Intelligence & Computing, 3rd Intl Conf on Big Data Intelligence and Computing and Cyber Science and Technology Congress (DASC/PiCom/DataCom/CyberSciTech), Orlando, FL, USA, 6–10 November 2017; pp. 446–453. [Google Scholar]
- Sicari, S.; Rizzardi, A.; Grieco, L.A.; Coen-Porisini, A. Security privacy and trust in internet of things: The road ahead. Comput. Netw. 2015, 76, 146–164. [Google Scholar] [CrossRef]
- Khan, M.A.; Salah, K. IoT security: Review, blockchain solutions, and open challenges. Future Gener. Comput. Syst. 2018, 82, 395–411. [Google Scholar] [CrossRef]
- Fernandez-Carames, T.M.; Fraga-Lamas, P. A Review on the Use of Blockchain for the Internet of Things. IEEE Access 2018, 6, 32979–33001. [Google Scholar] [CrossRef]
- Zheng, Z.; Xie, S.; Dai, H.N.; Wang, H. Blockchain Challenges and Opportunities: A Survey. Available online: http: //inpluslab.sysu.edu.cn/files/blockchain/blockchain.pdf (accessed on 10 February 2019).
- Yuan, Y.; Wang, F.Y. Towards blockchain-based intelligent transportation systems. In Proceedings of the 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), Rio de Janeiro, Brazil, 1–4 November 2016; pp. 2663–2668. [Google Scholar]
- Gordon, W.J.; Catalini, C. Blockchain Technology for Healthcare: Facilitating the Transition to Patient-Driven Interoperability. Comput. Struct. Biotechnol. J. 2018, 16, 224–230. [Google Scholar] [CrossRef] [PubMed]
- Dubovitskaya, A.; Xu, Z.; Ryu, S.; Schumacher, M.; Wang, F. Secure and trustable electronic medical records sharing using blockchain. In Proceedings of the AMIA 2017, American Medical Informatics Association Annual Symposium, Washington, DC, USA, 4–8 November 2017. [Google Scholar]
- Hang, L.; Choi, E.; Kim, D.-H. A Novel EMR Integrity Management Based on a Medical Blockchain Platform in Hospital. Electronics 2019, 8, 467. [Google Scholar] [CrossRef]
- Paralkar, K.; Yadav, S.; Kumari, S.; Kulkarni, A.; Pingat, S.P. Photogroup: Decentralized Web Application Using Ethereum Blockchain. Int. Res. J. Eng. Technol. 2018, 5, 489–492. [Google Scholar]
- Raval, S. Decentralized Applications: Harnessing Bitcoin’s Blockchain Technology; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2016. [Google Scholar]
- Brito, J.; Shadab, H.B.; Castillo O’Sullivan, A. Bitcoin financial regulation: Securities, derivatives, prediction markets, and gambling. Columbia Sci. Technol. Law Rev. 2014. [Google Scholar] [CrossRef]
- MacDonald, T.J.; Allen, D.W.E.; Potts, J. Blockchains and the Boundaries of Self-Organized Economies: Predictions for the Future of Banking. In Banking Beyond Banks and Money; Tasca, P., Aste, T., Pelizzon, L., Perony, N., Eds.; Springer: Cham, Switzerland, 2016; pp. 279–296. [Google Scholar]
- Swan, M. Blockchain: Blueprint for a New Economy; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2015. [Google Scholar]
- Panarello, A.; Tapas, N.; Merlino, G.; Longo, F.; Puliafito, A. Blockchain and IoT Integration: A Systematic Survey. Sensors 2018, 18, 2575. [Google Scholar] [CrossRef]
- Kshetri, N. Can Blockchain Strengthen the Internet of Things? IT Prof. 2017, 19, 68–72. [Google Scholar] [CrossRef]
- Joshi, A.D.; Gupta, S.M. Evaluation of design alternatives of End-Of-Life products using internet of things. Int. J. Prod. Econ. 2019, 208, 281–293. [Google Scholar] [CrossRef]
- Queiroz, M.M.; Samuel, F.W. Blockchain adoption challenges in supply chain: An empirical investigation of the main drivers in India and the USA. Int. J. Inf. Manag. 2019, 46, 70–82. [Google Scholar] [CrossRef]
- Wang, Y.; Singgih, M.; Wang, J.; Rit, M. Making sense of blockchain technology: How will it transform supply chains? Int. J. Prod. Econ. 2019, 211, 221–236. [Google Scholar] [CrossRef]
- Samaniego, Mayra, and Ralph Deters. Blockchain as a Service for IoT. In Proceedings of the IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Chengdu, China, 15–18 December 2016. [Google Scholar]
- Gervais, A.; Karame, G.O.; Wüst, K.; Glykantzis, V.; Ritzdorf, H.; Capkun, S. On the security and performance of proof of work blockchains. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 24–28 October 2016. [Google Scholar]
- Sun, X.; Ansari, N. Dynamic Resource Caching in the IoT Application Layer for Smart Cities. IEEE Internet Things 2018, 5, 606–613. [Google Scholar] [CrossRef]
- Ethembedded. 2017. Available online: http://ethembedded.com/. (accessed on 1 February 2018).
- Raspnode. 2017. Available online: http://raspnode.com/. (accessed on 1 February 2018).
- Reyna, A.; Martín, C.; Chen, J.; Soler, E.; Díaz, M. On blockchain and its integration with IoT. Challenges and opportunities. Future Gener. Comput. Syst. 2018, 88, 173–190. [Google Scholar] [CrossRef]
- Hang, L.; Jin, W.; Yoon, H.; Hong, Y.G.; Kim, D.H. Design and Implementation of a Sensor-Cloud Platform for Physical Sensor Management on CoT Environments. Electronics 2018, 7, 140. [Google Scholar] [CrossRef]
- Androulaki, E.; Barger, A.; Bortnikov, V.; Cachin, C.; Christidis, K.; De Caro, A.; Enyeart, D.; Ferris, C.; Laventman, G.; Manevich, Y.; et al. Hyperledger fabric: a distributed operating system for permissioned blockchains. In Proceedings of the Thirteenth EuroSys Conference, Porto, Portugal, 23–26 April 2018. [Google Scholar]
- Xu, L.D.; Xu, E.L.; Li, L. Industry 4.0: state of the art and future trends. Int. J. Prod. Res. 2018, 56, 2941–2962. [Google Scholar] [CrossRef]
- Conoscenti, M.; Vetro, A.; Martin, J.C.D. Blockchain for the Internet of Things: A systematic literature Review. In Proceedings of the 3rd International Symposium on Internet of Things: Systems, Management, and Security, IOTSMS-2016, Agadir, Morocco, 29 November–2 December 2016. [Google Scholar]
- Zyskind, G.; Nathan, O.; Pentland, A. Enigma: Decentralized computation platform with guaranteed privacy. arXiv Preprint 2015, arXiv:1506.03471. [Google Scholar]
- Huang, Z.; Su, X.; Zhang, Y.; Shi, C.; Zhang, H.; Xie, L. A decentralized solution for IoT data trusted exchange based-on blockchain. In Proceedings of the 3rd IEEE International Conference on Computer and Communications (ICCC), Chengdu, China, 13–16 December 2017. [Google Scholar]
- Zhang, Y.; Wen, J. An IoT electric business model based on the protocol of bitcoin. In Proceedings of the 18th International Conference on Intelligence in Next Generation Networks (2015), Paris, France, 17–19 February 2015; pp. 184–191. [Google Scholar] [CrossRef]
- Axon, L. Privacy-Awareness in Blockchain-Based PKI. Available online: https://ora.ox.ac.uk/objects/uuid:f8377b69-599b-4cae-8df0-f0cded53e63b/datastreams/ATTACHMENT01 (accessed on 5 January 2019).
- Atlam, H.F.; Alenezi, A.; Alassafi, M.O.; Wills, G.B. Blockchain with Internet of Things: Benefits, Challenges, and Future Directions. Int. J. Intell. Syst. Appl. 2018, 10, 40–48. [Google Scholar] [CrossRef]
- Lin, J.; Shen, Z.Q.; Miao, C.Y. Using Blockchain Technology to Build Trust in Sharing LoRaWAN IoT. In Proceedings of the 2nd International Conference on Crowd Science and Engineering (ICCSE’17), Beijing, China, 6–9 July 2017; pp. 38–43. [Google Scholar] [CrossRef]
- Özyılma, K.R.; Yurdakul, A. Integrating low-power IoT devices to a blockchain-based infrastructure. In Proceedings of the Thirteenth ACM International Conference on Embedded Software 2017 (EMSOFT ’17), Seoul, Korea, 15–20 October 2017. [Google Scholar] [CrossRef]
- Christidis, K.; Devetsikiotis, M. Blockchains and smart contracts for the Internet of Things. IEEE Access 2016, 4, 2292–2303. [Google Scholar] [CrossRef]
- Pureswaran, V.; Brody, P. Device Democracy-Saving the Future of the Internet of Things. Available online: http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=GBE03620USEN (accessed on 10 January 2019).
- Tian, F. An agri-food supply chain traceability system for China based on RFID & blockchain technology. In Proceedings of the 13th International Conference on Service Systems and Service Management (ICSSSM), Kunming, China, 24–26 June 2016; pp. 1–6. [Google Scholar]
- Huh, S.; Cho, S.; Kim, S. Managing IoT devices using blockchain platform. In Proceedings of the 19th International Conference on Advanced Communication Technology (ICACT), Bongpyeong, Korea, 19–22 February 2017; pp. 464–467. [Google Scholar]
- Biswas, K.; Muthukkumarasamy, V. Securing smart cities using blockchain technology. In Proceedings of the IEEE 14th International Conference on Smart City, Sydney, Australia, 12–14 December 2016; pp. 1392–1393. [Google Scholar]
- Dorri, A.; Kanhere, S.S.; Jurdak, R. Towards an Optimized BlockChain for IoT. In Proceedings of the Second International Conference on Internet-of-Things Design and Implementation (IoTDI), Pittsburgh, PA, USA, 18–21 April 2017. [Google Scholar] [CrossRef]
- Daza, V.; Di Pietro, R.; Klimek, I.; Signorini, M. CONNECT: CONtextual NamE disCovery for blockchain-based services in the IoT. In Proceedings of the 2017 IEEE International Conference on Communications (ICC), Paris, France, 21–25 May 2017; pp. 1–6. [Google Scholar]
- Ouaddah, A.; Elkalam, A.A.; Ouahman, A.A. FairAccess: a new Blockchain-based access control framework for the Internet of Things. Secur. Commun. Netw. 2016, 9, 5943–5964. [Google Scholar] [CrossRef]
- Bahga, A.; Madisetti, V.K. Blockchain Platform for Industrial Internet of Things. J. Softw. Eng. Appl. 2016, 9, 533–546. [Google Scholar] [CrossRef]
- Wörner, D.; von Bomhard, T. When your sensor earns money: Exchanging data for cash with Bitcoin. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp 2014), Seattle, WA, USA, 13–17 September 2014; pp. 295–298. [Google Scholar]
- Shafagh, H.; Hithnawi, A.; Duquennoy, S. Towards blockchain-based auditable storage and sharing of IoT data. In Proceedings of the 9th ACM Cloud Computing Security Workshop (CCSW 2017), Dallas, TX, USA, 3 November 2017; pp. 45–50. [Google Scholar]
- Xu, Q.; Aung, K.M.M.; Zhu, Y.; Yong, K.L. A blockchain-based storage system for data analytics in the internet of things. In New Advances in the Internet of Things; Yager, R.R., Espada, J.P., Eds.; Springer: Cham, Switzerland, 2018; pp. 119–138. [Google Scholar]
- Cha, S.C.; Chen, J.F.; Su, C.; Yeh, K.H. A blockchain connected gateway for BLE-based devices in the internet of things. IEEE Access 2018, 6, 24639–24649. [Google Scholar] [CrossRef]
- Yu, C.X.; Zhang, L.P.; Zhao, W.F.; Zhang, S.C. A blockchain-based service composition architecture in cloud manufacturing. Int. J. Comput. Integr. Manuf. 2019, 1–11. [Google Scholar] [CrossRef]
- Szabo, N. Smart Contracts. 1994. Available online: http://szabo.best.vwh.net/smart.contracts.html (accessed on 12 January 2019).
- Gaur, N.; Desrosiers, L.; Ramakrishna, V.; Novotny, P.; Baset, S.; O’Dowd, A. Hands-On Blockchain with Hyperledger: Building decentralized applications with Hyperledger Fabric and Composer; Packt Publishing Ltd.: Birmingham, UK, 2018. [Google Scholar]
- Hyperledger Caliper. Available online: https://www.hyperledger.org/projects/caliper (accessed on 15 January 2019).
Component | Description |
---|---|
CPU | Intel Core i5-8500 @ 3.00 GHz |
Memory | 12 GB |
Operating Systems | Ubuntu Linux 18.04.1 LTS |
Docker Engine | Version 18.06.1-ce |
Docker-Compose | Version 1.13.0 |
Node | v8.11.4 |
Hyperledger Fabric | v1.2 |
IDE | composer-playground |
CLI Tool | composer-cli, composer-rest-server |
DBMS | Couch DB |
Programming Language | Node.js |
Component | Description |
---|---|
Hardware | Raspberry Pi3 Model B |
Memory | 1 GB |
Operating Systems | Android Things v0.8 |
Server | CoAP Server |
Resources | Temperature, Humidity, Green LED, Red LED |
IDE | Android Studio 3.1.4 |
Library and Framework | Californium CoAP, HttpURLConnection |
Programming Language | Java |
Component | Description |
---|---|
Operating System | Windows 10 Pro 64 bit |
Server | Apache Tomcat |
IDE | Eclipse Photon (4.8.0), WebStorm (2018.2.3) |
Browser | Chrome, Firefox, IE |
Library and Framework | Californium CoAP, Notify.js, Bootstrap, jQuery |
Programming Language | Java, HTML, CSS, JavaScript |
Category | Component | Type |
---|---|---|
Sensor | sensor_ID | String |
name | String | |
device_owner | String | |
unit | String | |
event_threshold | Integer | |
timestamp | DateTime | |
value | String | |
Actuator | actuator_ID | String |
name | String | |
device_owner | String | |
state | Boolean |
Component | Type | Participant | Condition |
---|---|---|---|
Sensor reading | Transaction | Sensor | Asset = Sensor |
Actuator writing | Transaction | Actuator | Asset = Actuator |
Device creating | Transaction | Device owner | Participant = Device owner |
Device updating | Transaction | Device owner | Participant ID = Device owner ID in device asset |
Device deleting | Transaction | Device owner | Participant ID = Device owner ID in device asset |
Component | Type | Role |
---|---|---|
Sensor event | Event | Give notice when sensing value exceeds the threshold |
Actuator event | Event | Give notice whenever the actuator state is changed |
Device creating event | Event | Give notice when new device is added |
Device updating event | Event | Give notice when specific device is updated |
Device delete event | Event | Give notice when specific device is deleted |
URI | Verb | Media Type | Action |
---|---|---|---|
/api/DeviceOwner | ALL | Application/json | Device Owner Management |
/api/Sensor | ALL | Application/json | Sensor Management |
/api/Actuator | ALL | Application/json | Actuator Management |
/api/Task | ALL | Application/json | Task Management |
/api/SensorReading | GET, POST | Application/json | Add Sensing Data, Retrieve Sensing Data Log |
/api/ActuatorWriting | GET, POST | Application/json | Update Actuator State, Retrieve Actuator State Log |
/api/system/historian | GET | Application/json | Retrieve All Historian Records |
/api/system/identities | GET | Application/json | Get All Identities |
/api/systemidentities/issue | POST | Application/json | Issue an Identity to the Specific Participant |
/api/system/ping | GET | Application/json | Test the Connection to the Blockchain Network |
Name | Native Cryptocurrency | Consensus Determination | Mining Required | Smart Contract | Device as Node | Access Policy | Support Client |
---|---|---|---|---|---|---|---|
[36] | Yes | All Nodes | Yes | No | Yes | Permissionless | Yes |
[37] | Yes | All Nodes | Yes | Yes | No | Permissionless | No |
[41] | Yes | All Nodes | Yes | Yes | Yes | Permissionless | Yes |
[43] | No | Arbitrary Nodes | No | Yes | No | Permissionless/Permissioned | Yes |
[45] | Yes | All Nodes | Yes | Yes | Yes | Permissionless | Yes |
[46] | Yes | All Nodes | Yes | Yes | Yes | Permissionless | Yes |
[47] | Yes | All Nodes | Yes | No | No | Permissionless | Yes |
[48] | Yes | All Nodes | Yes | No | Yes | Permissionless | Yes |
[49] | No | All Nodes | Yes | Yes | Yes | Permissionless | Yes |
[50] | Yes | All Nodes | Yes | Yes | No | Permissionless | Yes |
[51] | Yes | All Nodes | Yes | Yes | No | Permissionless | Yes |
Proposed Platform | No | Arbitrary Nodes | No | Yes | No | Permissioned | Yes |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Hang, L.; Kim, D.-H. Design and Implementation of an Integrated IoT Blockchain Platform for Sensing Data Integrity. Sensors 2019, 19, 2228. https://doi.org/10.3390/s19102228
Hang L, Kim D-H. Design and Implementation of an Integrated IoT Blockchain Platform for Sensing Data Integrity. Sensors. 2019; 19(10):2228. https://doi.org/10.3390/s19102228
Chicago/Turabian StyleHang, Lei, and Do-Hyeun Kim. 2019. "Design and Implementation of an Integrated IoT Blockchain Platform for Sensing Data Integrity" Sensors 19, no. 10: 2228. https://doi.org/10.3390/s19102228