Understanding blockchains from scratch
KOUSHIK BHARGAV M M Srinivas (~koushik_bhargav_m) |
Note: This talk is co-presented by Koushik (me) and Shubham Rao
Bitcoin has become so mainstream these days. It unveiled the importance of decentralization. But how does Bitcoin work? It’s because of its core technology called Blockchain. After the Internet, Blockchain technology is regarded as the next big revolution. This talk gives a hands-on demonstration of how Blockchain technology works by building a toy version from scratch.
After this talk the audience should be able to understand the basic working principles of bitcoin. They will be able to leverage their knowledge as a starting point of open-source contributions to projects like Ethereum.
This demonstration will consider three important features of Blockchain Technology. All these features are essential to blockchain technology and we will be building a minimal version in Python.
0 - 5 mins: Blockchains are secure because they use SHA256 or SHA512 algorithm for cryptography. I will describe the logic behind these hashing algorithms and give some computational facts about them.
5 - 10 mins: I will use the Python library called ‘hashlib’ to implement the SHA256 algorithm in Python. This makes us to convert data into SHA256 hashes.
10 - 15 mins: The SHA256 algorithm is used to convert all the transactions and their details into a single hash. Once the everything is converted into a hash, this hash must be stored for future usage. After a new transaction is approved, this new transaction and its details are again converted into a new hash along with the previous hash. I will demonstrate the process of storing the hash and using it again for a new transaction.
15 - 20 mins: Here I will explain a basic working principle of blockchains and how linking the previous transactions with the new one helps in the their security. The hashes stored are called blocks and the process of liking the previous hash the new hash makes a chain like connection thus forming a Hyperledger.
20 - 25 mins: Later in the process of mining will be explained using the variable quantity called Nonce. This explains why bitcoin miners need high computation power to do Proof-of-Work. I will also cover a variety of essential terms and concepts through the course of the talk which haven’t been detailed in the agenda. Also, I will use python module called 'TkInter' to build a basic GUI for our blockchain.
Last 5 mins: Questions and further reading + code sharing
Love for Python and acquaintance with its libraries.
Will be updated soon.
Hi, we are Koushik and Shubham, two Computer Science sophomores with research interests in Decentralisation and Blockchains, also occasionally working in Artificial Intelligence and Machine Learning. As members of Next Tech Lab, QS Reimagine Award-winning, student-run lab from our University, we work in Satoshi Lab, which focuses on Blockchains. We regularly participate and give talks in paper-reading groups and meetups like PyData.