Skip to main content

An Empirical Analysis of Running a Bitcoin Minimal Wallet on an IoT Device

  • Conference paper
  • First Online:
Data Privacy Management, Cryptocurrencies and Blockchain Technology (DPM 2022, CBT 2022)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 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. 3.

    Although there is some code overlap between operations, our experimental data does not show significant differences.

References

  1. 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

  2. Bullock, J.: Introducing wireshark. In: Wireshark® for Security Professionals, pp. 1–18. Wiley (2017). https://doi.org/10.1002/9781119183457.ch1

  3. Cryptocurrency market capitalizations. https://coinmarketcap.com/. Accessed 17 June 2022

  4. 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

    Chapter  Google Scholar 

  5. 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)

    Google Scholar 

  6. Eastlake, D., Hansen, T.: US secure hash algorithms (SHA and HMAC-SHA). Technical report (2006). https://doi.org/10.17487/rfc4634

  7. Gnu toolchain. https://developer.arm.com/downloads/-/gnu-rm. Accessed 17 June 2022

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Josefsson, S.: RFC3548: the base16, base32, and base64 data encodings. Technical report (2006). https://doi.org/10.17487/rfc4648

  11. Krawczyk, H., Bellare, M., Canetti, R.: HMAC: keyed-hashing for message authentication. Technical report (1997). https://doi.org/10.17487/RFC2104

  12. 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)

    Google Scholar 

  13. Menezes, A.J.: Elliptic Curve Public Key Cryptosystems, vol. 234. Springer, Heidelberg (1993). https://doi.org/10.1007/978-1-4615-3198-2

    Book  MATH  Google Scholar 

  14. 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)

    Google Scholar 

  15. Mike, H., Corallo, M.: BIP37: connection bloom filtering (2012). https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki. Accessed 17 June 2022

  16. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system. Decent. Bus. Rev. (2008)

    Google Scholar 

  17. 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

  18. Silvano, W.F., Marcelino, R.: Iota tangle: a cryptocurrency to communicate internet-of-things data. Futur. Gener. Comput. Syst. 112, 307–319 (2020)

    Article  Google Scholar 

  19. Singh, D., Sandhu, A., Sharma Thakur, A., Priyank, N.: An overview of IoT hardware development platforms. Int. J. Emerg. Technol. 11, 155–163 (2020)

    Google Scholar 

  20. Snigirev, S.: Micro-bitcoin. https://github.com/micro-bitcoin/uBitcoin. Accessed 17 June 2022

  21. Sporny, M.: The base58 encoding scheme. https://tools.ietf.org/id/draft-msporny-base58-01.html. Accessed 17 June 2022

  22. Stm32cubeide. https://www.st.com/en/development-tools/stm32cubeide.html. Accessed 17 June 2022

  23. Cryptocurrency wallet. https://github.com/trezor/trezor-wallet. Accessed 17 June 2022

  24. 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)

    Article  Google Scholar 

  25. UTXO set repartition by output. https://txstats.com/dashboard/db/utxo-set-repartition-by-output-type. Accessed 06 June 2022

  26. 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

  27. Wuille, P.: BIP32: hierarchical deterministic wallets (2012). https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki. Accessed 17 June 2022

Download references

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

Authors

Corresponding author

Correspondence to Mohsen Rahmanikivi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics