[ad_1]
If you asked me what is the best thing a developer can learn in 2022?
My answer would be the Blockchain and WEB3, and if you ask me what would be the best thing anyone could learn right now, developer or not, well, the answer would be the same.
But why is that ? and why is the interest skyrocketing in these technologies? From hearing about it basically everywhere, “mint this, NFT that,” bitcoin to meme coins, making headlines, and job opportunities, with starting salaries of around 120k/year $, and how can you get started creating your own WEB3 projects from scratch?
Stick with me, and I will answer all of that in this part one guide of a series on understanding web3 and blockchain along with developing your own project using these technologies.
WEB3 is basically the new internet, and it is built with the help of Blockchain technology, and there is a massive amount of investment going into web3, similar to what happened way back in the 1990s when what we call web 1.0 appeared.
WEB3 describes the third iteration or stage of the web, so web 1.0 was back in the 90s with read-only websites that looked terrible, to say the least.
Web 1.0 was read-only, meaning that on most of the websites you visited you could only read some information that someone else put up, and that’s it.
It was not until web 2.0 came that we had interactive websites from Facebook to Youtube, you became the person creating the content, and you know what they say, if you are not paying for a product, you are the product, this is the era we are in right now, where we have a web we can read and write to.
So now we have an idea of what is the WEB3, we must understand what is blockchain and how it works.
Blockchain is just a public ledger, it’s just a record of who owes who and what amount.
But there are two problems with any public ledger: first, all parties involves must agree on which transactions can go on the ledger or the record. Second, we have to trust the person who is holding on the ledger that they aren’t going to modify the recorded transactions, so if we are able to manipulate this ledger, then it’s useless. We need to make it immutable, lock it so it can never be changed ever again. How can we do that, you ask? the answer is encryption.
But if the ledger is encrypted and a way is found to decrypt the ledger, we can still manipulate it ultimately, so instead of using encryption, the blockchain uses hashing, which is similar to encryption.
Hashing is a math formula that allows you to turn a message into a hash code, by inputting a message into a hash function. If you use the same hash function, no matter what message you put in, you will always get an output with the same number of characters. For example, using the same hash function and hashing “123” and “abc” will result into different hashes but with the same number of characters.
So going forward is easy, but unlike encryption going back in a hash, is almost impossible using the current computation power most people have access to.
We can see transaction data and create a hash, we can include a bunch of things and hash them together, for example, the body of the message and the date when it was written… a block in the blockchain is formed in this way.
We take the data that we have on our ledger, and we put it into a block by hashing the data using a nonce, which is a random or semi-random number that is generated for a specific use, it means “number used only once.” It is a four-bit number added to a hash — or encrypted — block in a blockchain, in order to meet the difficulty level restrictions.
A block in the blockchain is formed like this: say we have a piece of data we want to encode to the block, we generate a hash for that data, in order for a block to be added to the Blockchain, it has to satisfy a certain requirement, for example, it has to start with 000, for that, you have to find a Nonce that satisfies this condition, so this is the explanation of a block in the Blockchain.
As for the chain part, the Blockchain has the information about the previous block, also along with the piece of data that will be hashed, and the Nonce.
Because the blocks are dependent on each other, if one block is modified, all the blocks are too. We can’t change anything that goes in the blockchain otherwise, it will make everything invalid, and as you see highlighted on the screen above, each block contains now one extra information than the hash which the previous hash and changing any block will make the next one invalid.
P.S.: Both the screen above are taken from this really cool tool to demonstrate the concept of blockchain. you can use it and play with it until you get the concept, many thanks to the creator of the tool: https://gugger.guru/blockchain-demo
Well if that is not enough, Blockchain goes a step further in the distributed part. Every time a new miner joins the blockchain, they are going to get a full copy of the blockchain. For example, if a new miner joins and changes some data in his copy of the blockchain, it will make the other blocks invalid, but if he manages to mine again (even though this will take an impossible amount of time), if they manage to do it, it will create new hashes different from everyone else’s copy of the blockchain (the network says that person x is a bad player), the blockchain is distributed on everyone’s computer.
So unlike the banks, the users don’t have to trust any single entity to hold the ledger and control it. The users distribute the ledger, what we have is a distributed trustless ledger. This technology allows us to have cryptocurrency like bitcoin, but the real breakthrough happened when Ethereum was conceptualized, and the idea shifted from only storing data on the blockchain blocks to creating what’s called smart contracts by storing code on these blocks. This is the real revolution which led to what we know now as WEB3.
In order to explain just how great this is, let’s take, for example, a go-fund me website, which helps people raise money for any particular reason. Back on WEB2.0 we would have to trust the people behind the website to transfer the money once the goal is reached. In WEB3.0 however, the code responsible for transferring the money can be stored inside a block as well and when the goal is reached, it can be activate,mso we cut the middleman, and the users would basically take back ownership of the web.
So, to sum up and redefine what is exactly WEB3.0, we can say it’s the web with decentralized applications.
Dapps or Decentralized applications are, as you guessed, apps built on the blockchain. They bring a massive change in the way companies are formed, and new tech startups are created, for example, in the old way, if you have an idea for a tech startup, you would first build it, build your app and deploy it, then raise VC funding and then at some point down the line you would be able to IPO and cash out.
The new WEB3 way flips this model upside down. In this case, you build your startup, you build the technology, then you can start releasing tokens to the public or to funds like VCs and you can start selling tokens that enable people to use and interact with your technology, and you are able to start raising money for your Dapp from day one, and the way you run your company is also transformed by Blockchain because you can form what is called decentralized autonomous organizations, which replace the board of directors as well as the entire organizational chart of the company, so you can have people who hold special tokens and can vote on what the company can or should do in the future.
The DAO controls how the company functions, and you allow users to contribute to the roadmap of your decentralized application. Everybody’s incentive is aligned, and if the company does well, the token price will go up and become more valuable.
Anything that revolves around a trustless system, that is decentralized that allows the users and the creators to benefit can be achieved.
So now that we understand all the concepts, we are ready to start building our WEB3, which I will show you exactly how to do in the second part of this tutorial, hopefully coming soon, so stay tuned ✌️.
[ad_2]
Source link