/BlockchainCourse

Implementation of methods presented in the Blockchain course lectured at the University of Szeged.

Primary LanguagePython

This is a repository where main methods discussed in the Blockchain-related courses given by Dr. Baniata, Hamza and Dr. Kertesz, Attila at the University of Szeged are implemented.

  • "IB0125E: Introduction to Blockchain Technology (BSc level)"
  • "IMN0100E: Blockchain Fundamentals and Applications (PhD and MSc levels)"

Main Bitcoin methods implemented in this code:

  • Full node and light node simulation
  • Asymmetric encryption (exemplified by RSA cryptography)
  • Bitcoin block generalized structure
  • Block verification and chaining
  • Proof-of-Work (PoW) mining
  • Simplified Payment Verification (SPV) using Merkle Tree/Root
  • Simulated TX with extensible UTXO TX model

Future additions:

  • Implementing the full UTXO model, including its verification
  • Implementing ECC instead of RSA
  • Utilization of Bitcoin addresses
  • Demonstrating the BFT of PoW while solving BGP using the networkx library to demonstrate the network.
  • etc.

Steps to run the code (on linux):