Blockchain Technology in 1000 words and what I've learnt...

# Web3.0, Blockchain Technology, the evolution of the decentralized internet

I'd been hearing a lot about Web3.0 and eagerly did a deep dive on it over the days. The idea of decentralizing control and ownership, which is currently held by only a few firms piqued my interest.

I signed up for a Blockchain Developer Bootcamp with Solidity and Ethereum Smart Contracts and here are some of my mind-boggling questions I found answers to along the line:

  • What the heck is Web3.0?

  • What are decentralized apps?

  • What is Blockchain and how does it work?

  • What are smart contracts?

How far we've come.

The web has truly evolved a lot over the years from the first "iteration" of Web 1.0 where websites served static data and content from a server’s file-system to Web 2.0, an interactive and social web of today that emphasizes on user-generated content, ease of use, participatory culture, and interoperability for end users where developers build and deploy applications that run on a single server or that store their data in a single database (usually hosted on and managed by a single cloud provider).

These are the days of mainframe-driven computing, a single authority retains total control over all aspects of the network. This authority is typically exerted through the central server that manages all data and permissions.

Where the future of web lies.

The Decentralized future of the web

Now comes the emergence of web3.0. This evolution does not refer to any specific technical upgrades to the internet. It simply refers to a shift in how the Internet is used.

Web3.0 Apps, also called decentralized apps (dapps) however are not blockchains, but blockchains are applications that run or whose architecture is built on web3.0 and are organized in a much more distributed fashion. Each node(server) within an interconnected network functions as a separate authority with independent decision-making power regarding how it interacts with other systems and processing power and workload functions are distributed among the the connected servers.

Most apps we still use today are web2.0. The majority of decentralized apps (dapps) out there are finance-oriented, like trading crypto or buying and selling NFTs. Web3.0 keeps expanding as different industries or organization like corporate Tech Firms(IBM, Microsoft etc), Banks, Government etc all seek decentralized networks.

A dapp can have front-end code written in any language and makes calls to its back-end. The dApp backend is the decentralized network and the front end interacts with the smart contract on the network to execute specific functions of desired functionality.

The dapp has three main components - the smart contract, scripts to test the smart contract functionality, and the front-end client to create an interface for users to interact with the smart contract.

Blockchain

A blockchain is a growing list of records, called blocks, that are linked together using cryptography. A blockchain is a type of database. To be able to understand blockchain, it helps to first understand what a database actually is. One key difference between a typical database and a blockchain is the way the data is structured. A blockchain collects data together among many different computers in a network, known as "nodes" in groups, also known as blocks, that hold sets of information. Blocks have increased storage capacities and, when filled, are chained onto the previously filled block, forming a chain of data known as the “blockchain.” All new information that follows that freshly added block is compiled into a newly formed block that will then also be added to the chain once filled.

You can read William Mougayar's Post where he explained the google docs analogy of blockchains.

There are hundreds or thousands of Blockchains today, common examples are the bitcoin and Ethereum blockchains. All types of blockchains can be characterized as Public or Private. Public blockchains for example bitcoin allow any user to pseudo-anonymously join the blockchain network (that is, to become "nodes" of the network) and do not restrict the rights of the nodes on the blockchain network. We can recognize that one of the benefits of a public blockchain can't go down because its servers are down. Even if several computers in the blockchain go down, the network as a whole would be unaffected. Conversely, Private blockchains restrict access to the network to certain nodes and may also restrict the rights of those nodes on that network. The identities of the users of a permissioned blockchain are known to the other users of that permissioned blockchain.

Smart Contracts

Smart contracts are simply programs with executable codes that live at specific addresses on the blockchain once they are deployed. Smart contracts are re-usable piece of codes whose functionality can be implemented or integrated into your app as a developer on the network. Ethereum smart contracts are written in Solidity which can be compared to Java/C++ with Javascript thrown into it.

Why Blockchains????

  1. Decentralized Network: One of the very first feature and importance of blockchain is that there is no single point of authority, no centralized source controls the blockchain, blockchains are controlled by network of independent user called nodes. Through the Use of smart contracts along with having no single point of failure, it’ll be possible to transfer properties and so much more securely and help prevent scams currently operating.
  2. No sort of middleman in the process (as core of the technology is peer to peer system which is secured by cryptography).
  3. Blocks have Increased capacity compared to database.
  4. Transparency and flexibility.
  5. Speed and efficiency.
  6. Security and Immutablility.
  7. Removal of Counterparty risk/conflict of interest.

It's quite simple to get started with web3.0, and you can do so right now by downloading Metamask, a browser extension which makes your browser compatible with blockchain apps and here you go into the future of web.🚀🚀🚀

Thanks for reading. This is my first blog post on Hashnode, and first of many about web3.0. I'll be posting more about the web3.0, so if you're interested in content like this, make sure you follow me here.