The blockchain data structure is best known as a component of the Bitcoin network. Blockchain is an ordered, back-linked list of blocks of transactions. The appeal of blockchain is that it can be stored in several persistent formats from flat files to data base tables. In context to Bitcoin, the Bitcoin Core client stores the blockchain metadata using Google’s LevelDB database. In terms of visualization, the blockchain may be viewed as a vertical stack of blocks in which each block refers back to the previous block in the stack.
This course will present a technical introduction to the blockchain data structure independent of implementation such as how it is used in the Bitcoin network. As the student progresses through the course, the student will be able to deduce if the blockchain data structure can augment the access and storage challenges for the student’s specific use case.
Development experience with Python or C++ and experience using the command line of a Unix-like operating system like Linux or macOS is required. Experience with data structures and their manipulation (as in the above mentioned languages) is necessary.
Software developers who have been introduced to the need of Backchain via writing applications that work with, for example, cryptographic currencies. Individuals with a data flow or data topology background, with exposure to an imperative, scripting or functional language, may also find this introduction of interest.
50% Lecture 50% Hands-on Lab
Mastering Bitcoin: Programming the open Blockchain, Andreas M. Antonopoulos