Build your own Proof Of Stake Blockchain
- Descrição
- Currículo
- FAQ
- Revisões
Did you ever wonder what’s behind the hype around Blockchain? In this practical development guide you will learn why this emerging technology could be a real game changer across industries. With a strong emphasis on learning by doing, we will cover all the necessary modules required for the Blockchain to work. If you prefer practice and deeper understanding to theory and books, this course is just right for you.
About your instructor
Hi, my name is Lukas, I am currently 25 years old and I am studying Mobile Computing and Computer Science in Austria and Sweden. I started my personal journey as developer way back when I was 15 years old and my main main goal since then is to steadily improve my skillset.
After several years in the sector of machine learning, data science and self driving vehicles, I decided to dive deeper in the topic of Blockchains. That’s also the reason why I decided to do my Master’s Thesis in the field of Consensus Algorithms.
The reason why I decided to share this course here on Udemy is because I really want Blockchain to succeed in the end and I strongly belief that a broader understanding on the topic itself is a major milestone in pushing the technology further, especially in it’s acceptance. I would be very happy if I can contribute to this with my course.
What you will learn and implement
-
Cryptographic Signatures
-
RSA Public Key Cryptography
-
SHA-256 Hashes
-
Transactions – The purpose of Transactions in a Blockchain Systems.
-
Blocks – The most essential building block.
-
Blockchains – Whats going on behind the scenes.
-
P2P Network – How to find and communicate with other Nodes.
-
REST API – How to make use of your Blockchain System.
-
Python
-
P2P Peer Discovery
-
Socket Communication
-
REST Endpoints
-
Threading & Parallelization
-
1IntroductionVídeo Aula
Hi guys!
Welcome to my course here on Udemy. First of all, thank you very that you chose this course, it will be a fun journey from this blank piece of paper, or more like blank Python project, to a fully functioning Proof of Stake based Blockchain.
After 10 years of coding I found out that I learn and understand new topics best if I get my hands dirty and practically try things out. That not only helps me with understanding the topic, it is also way more fun.
Therefore I also chose this type of format in this course, brief theory and lots of practice! Nevertheless, there is some theory to cover in this first section to get an understanding on whats going on in the world of cryptography, at least for that small part we are using in order to build our Blockchain.
So, let's not waste any more time and start learning!
-
2Python EnvironmentTexto
Hi guys!
In order to be able to follow the coding videos easily, I suggest to first of all make sure that the Python Environment is correctly set up. Throughout this course, I was using Python 3.7 which I also would recommend you to use.
For the installation on your machine, I suggest downloading and following the installation description provided on: https://www.python.org/downloads/.
After installing Python, the only thing missing before you are ready to start coding is installing the dependencies used throught the course. Therefore use the requirements.txt file I provided, open a terminal window and enter pip install -r requirements.txt. Notice that the requirements.txt file has to be within your terminals current directory.
-
3Headstart into CryptographyVídeo Aula
In this Lecture:
You will learn the difference between single-key and public-key crypto
You will learn the very basic concepts of public-key cryptography with RSA
You will learn what a digital signature is
You will learn what encryption is
You will learn what the SHA-256 algorithm is
-
4Blockchains in the wildTexto
Hi guys!
In this section I will provide you with some references to projects which are actively making use of Blockchain technology. The majority of people think Blockchains are always related to financial activities and so did I. In reality though, the potential of Blockchains is far beyond that. If you are interested in some current use cases, take a look at these references.
Have fun!
-
5RSA KeysTexto
Here you can find the serialized RSA keys which are used throughout this course.
-
6Related PapersTexto
This Lecture provides you with additional papers and information to the topic of consensus algorithms.
-
7Introduction to TransactionsVídeo Aula
In this theoretical introduction to Transactions we will unveil that Transactions are the most fundamental building block within Blockchain systems.
Furthermore, you will learn about the types of Transactions we will implement and use throughout this course which are the following three types:
Transfer Transaction
Exchange Transaction
Stake Transaction
-
8Implementing Transaction ClassVídeo Aula
In this very first coding video we will start with the implementation of the Transaction class.
What we will cover:
Transaction initializer
toJson method for human readable representation
Test Application
-
9Signing Transactions using a WalletVídeo Aula
-
10Detecting invalid TransactionsVídeo Aula
-
11Consistent Transaction RepresentationVídeo Aula
-
12Transaction PoolVídeo Aula
-
19Introduction to the Account ModelVídeo Aula
In the Paper from Chakravarty et al. 'The Extended UTXO Model', the different approaches on keeping track of the accounts balances are discussed. It compares the solution of UTXO's used in Bitcoin to the Account Model used in Ethereum.
-
20Account Model ImplementationVídeo Aula
-
21Integration into BlockchainVídeo Aula
-
22Introducing Exchange TransactionsVídeo Aula
-
23Executing Block TransactionsVídeo Aula
-
24Removing Transactions from TransactionPoolVídeo Aula
-
40Introduction to Proof of StakeVídeo Aula
-
41Proof of Stake ClassVídeo Aula
-
42Lot ClassVídeo Aula
-
43Selecting ForgerVídeo Aula
-
44Integrating Proof of StakeVídeo Aula
-
45Adding StakersVídeo Aula
-
46Forgers creating BlocksVídeo Aula
-
47Handling broadcasted BlocksVídeo Aula
-
48Stability and State RequestsVídeo Aula