EURASIP Journal on Information Security (Mar 2019)

Implementing a blockchain from scratch: why, how, and what we learned

  • Fabian Knirsch,
  • Andreas Unterweger,
  • Dominik Engel

DOI
https://doi.org/10.1186/s13635-019-0085-3
Journal volume & issue
Vol. 2019, no. 1
pp. 1 – 14

Abstract

Read online

Abstract Blockchains are proposed for many application domains apart from financial transactions. While there are generic blockchains that can be molded for specific use cases, they often lack a lightweight and easy-to-customize implementation. In this paper, we introduce the core concepts of blockchain technology and investigate a real-world use case from the energy domain, where customers trade portions of their photovoltaic power plant via a blockchain. This does not only involve blockchain technology, but also requires user interaction. Therefore, a fully custom, private, and permissioned blockchain is implemented from scratch. We evaluate and motivate the need for blockchain technology within this use case, as well as the desired properties of the system. We then describe the implementation and the insights from our implementation in detail, serving as a guide for others and to show potential opportunities and pitfalls when implementing a blockchain from scratch.

Keywords