Abstract
Integrating blockchain with IoT technology is a hot topic in recent years. Some outstanding approaches propose to design new blockchain platforms from scratch to adapt them to the special needs of the resource-constrained devices of the IoT. On the other hand, integrating existing blockchain systems, like Bitcoin or Ethereum, would open the door to extend and use a plethora of already successful applications running on these systems. In this paper, we show the feasibility to interact with the Bitcoin blockchain with an IoT device. To this end, we implement a minimal SPV wallet that we deploy on a microcontroller unit from the STM32F4 family. Then, we empirically study the performance of this minimal wallet analyzing its key functionalities in terms of execution time, memory usage, and network traffic. Beyond demonstrating the feasibility of integrating the most popular blockchain network with the IoT, the results of this experiment show the most demanding operations, which is a necessary first step to construct a wallet optimized for the IoT.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
For privacy reasons, the SPV client does not literally include its addresses on the request: it creates a Bloom filter that matches transactions of its interest, and sends the filter to the full node.
- 2.
BIP32 [27] Hierarchical Deterministic Wallets also allow to derive public child keys from their public parents directly, without first having to compute child private keys.
- 3.
Although there is some code overlap between operations, our experimental data does not show significant differences.
References
Antonopoulos, A.M.: Mastering Bitcoin: Programming the Open Blockchain, 2nd edn. O’Reilly Media, Inc. (2017). https://github.com/bitcoinbook/bitcoinbook. Accessed 17 June 2022
Bullock, J.: Introducing wireshark. In: Wireshark® for Security Professionals, pp. 1–18. Wiley (2017). https://doi.org/10.1002/9781119183457.ch1
Cryptocurrency market capitalizations. https://coinmarketcap.com/. Accessed 17 June 2022
Dobbertin, H., Bosselaers, A., Preneel, B.: RIPEMD-160: a strengthened version of RIPEMD. In: Gollmann, D. (ed.) FSE 1996. LNCS, vol. 1039, pp. 71–82. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-60865-6_44
Dunkels, A., Gronvall, B., Voigt, T.: Contiki-a lightweight and flexible operating system for tiny networked sensors. In: 29th Annual IEEE International Conference on Local Computer Networks, pp. 455–462. IEEE (2004)
Eastlake, D., Hansen, T.: US secure hash algorithms (SHA and HMAC-SHA). Technical report (2006). https://doi.org/10.17487/rfc4634
Gnu toolchain. https://developer.arm.com/downloads/-/gnu-rm. Accessed 17 June 2022
Hannon, C., Jin, D.: Bitcoin payment-channels for resource limited IoT devices. In: Proceedings of the International Conference on Omni-Layer Intelligent Systems, pp. 50–57 (2019)
Huh, S., Cho, S., Kim, S.: Managing IoT devices using blockchain platform. In: 19th International Conference on Advanced Communication Technology (ICACT), pp. 464–467. IEEE (2017)
Josefsson, S.: RFC3548: the base16, base32, and base64 data encodings. Technical report (2006). https://doi.org/10.17487/rfc4648
Krawczyk, H., Bellare, M., Canetti, R.: HMAC: keyed-hashing for message authentication. Technical report (1997). https://doi.org/10.17487/RFC2104
Kurt, A., Mercana, S., Erdin, E., Akkaya, K.: Enabling micro-payments on IoT devices using bitcoin lightning network. In: 2021 IEEE International Conference on Blockchain and Cryptocurrency (ICBC), pp. 1–3. IEEE (2021)
Menezes, A.J.: Elliptic Curve Public Key Cryptosystems, vol. 234. Springer, Heidelberg (1993). https://doi.org/10.1007/978-1-4615-3198-2
Mesquita, J., Guimarães, D., Pereira, C., Santos, F., Almeida, L.: Assessing the ESP8266 WiFi module for the internet of things. In: 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), vol. 1, pp. 784–791. IEEE (2018)
Mike, H., Corallo, M.: BIP37: connection bloom filtering (2012). https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki. Accessed 17 June 2022
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system. Decent. Bus. Rev. (2008)
Palatinus, M., Rusnak, P., Voisine, A., Bowe, S.: BIP39: mnemonic code for generating deterministic keys (2013). https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki. Accessed 17 June 2022
Silvano, W.F., Marcelino, R.: Iota tangle: a cryptocurrency to communicate internet-of-things data. Futur. Gener. Comput. Syst. 112, 307–319 (2020)
Singh, D., Sandhu, A., Sharma Thakur, A., Priyank, N.: An overview of IoT hardware development platforms. Int. J. Emerg. Technol. 11, 155–163 (2020)
Snigirev, S.: Micro-bitcoin. https://github.com/micro-bitcoin/uBitcoin. Accessed 17 June 2022
Sporny, M.: The base58 encoding scheme. https://tools.ietf.org/id/draft-msporny-base58-01.html. Accessed 17 June 2022
Stm32cubeide. https://www.st.com/en/development-tools/stm32cubeide.html. Accessed 17 June 2022
Cryptocurrency wallet. https://github.com/trezor/trezor-wallet. Accessed 17 June 2022
Tseng, L., Yao, X., Otoum, S., Aloqaily, M., Jararweh, Y.: Blockchain-based database in an IoT environment: challenges, opportunities, and analysis. Clust. Comput. 23(3), 2151–2165 (2020)
UTXO set repartition by output. https://txstats.com/dashboard/db/utxo-set-repartition-by-output-type. Accessed 06 June 2022
Walls, C.: RTOS services and facilities. In: Embedded RTOS Design, pp. 23–36. Elsevier (2021). https://doi.org/10.1016/b978-0-12-822851-7.00003-5
Wuille, P.: BIP32: hierarchical deterministic wallets (2012). https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki. Accessed 17 June 2022
Acknowledgements
The authors acknowledge the funding of the Spanish Government through grants RTI2018-095094-B-C22 “CONSENT” and PID2021-125962OB-C31 “SECURING”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Rahmanikivi, M., Pérez-Solà, C., Garcia-Font, V. (2023). An Empirical Analysis of Running a Bitcoin Minimal Wallet on an IoT Device. In: Garcia-Alfaro, J., Navarro-Arribas, G., Dragoni, N. (eds) Data Privacy Management, Cryptocurrencies and Blockchain Technology. DPM CBT 2022 2022. Lecture Notes in Computer Science, vol 13619. Springer, Cham. https://doi.org/10.1007/978-3-031-25734-6_11
Download citation
DOI: https://doi.org/10.1007/978-3-031-25734-6_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-25733-9
Online ISBN: 978-3-031-25734-6
eBook Packages: Computer ScienceComputer Science (R0)