one month of blockchain: here's what I learned
Introduction
By now there’s no question you’ve heard of the buzz words “Bitcoin”, “Crypto” and “Blockchain. I’ve heard of these things as well, and I do hold some crypto’s. Over the past month, I dove head first into the blockchain development space, and I’m here to tell you what I've learnt in the hopes of giving you a better understanding of blockchain, and what it takes to develop something like Bitcoin, Ethereum, Solana and so on!
What's a 'blockchain'
A blockchain is a 'secure distributed ledger', a fancy word for data structure or database. They can hold data like text, pictures, purchase transactions, and records. It's a ever growing list of ordered data that we call 'blocks'. Each block can be thought of as a page in a book, or a transaction on your bank statement. The important thing to remember is that it is ordered, and each block can be verified it's in the correct position. Blocks fundamental to blockchain, and are intended to make it extremely difficult for attackers to manipulate the blockchain.
What's a 'smart contract'
Nick Szabo, a computer scientist shcolar from the United States is accredited with coming up with the term 'smart contract'. Szabo designed a predecessor centralized cryptocurrency before bitcoin called 'bit gold'. Unfortunately, it was never implemented. A smart contract is simply a program that gets stored on the blockchain, when this program is ran it executes
The past month
Over the last few weeks, I have developed numerous smart contract applications to do numerous things such as: spread messages, send payments from one party to another, an auction smart contract web application and a GoFundMe - like donation web app. These are all within test environments of course, since in order do make any sort of transaction on a blockchain you need to pay a 'gas fee', essentially a task for using the blockchain. When developing in a test environment, developers can use a test blockchain, with fake currency.
What I'm planning for the future
I'd like to continue learning about blockchain technologies. There are open source libraries such as OpenZeppelin which is a library for writing secure smart contracts. That is definitely something I'd like to continue learning about as security is always a major talking point around blockchain. I'd like to continue using creativity to create decentralized web apps (DAPPS).