ICP Developer Guide -Chapter 2

The Building Block of ICP-Canister

Canister is a fundamental computational unit that combines both code and state. It is essentially a smart contract or a container that runs on the Internet Computer blockchain. Canisters are designed to be autonomous, scalable, and interoperable, enabling developers to build decentralized applications (dApps) and services.

Key Features of a Canister:

Code and State:

  1. Autonomous:
    • Canisters operate independently and can interact with other canisters or external systems via messages.
  2. Scalable:
    • The Internet Computer allows canisters to scale horizontally by distributing their workload across multiple nodes in the network.
  3. Interoperable:
    • Canisters can communicate with each other through message passing, enabling complex decentralized applications to be built by composing multiple canisters.
  4. Upgradable:
    • Developers can update the code of a canister without losing its state, making it easier to maintain and improve applications over time.

Cycle

n the Internet Computer (ICP), a Cycle is a computational unit used to pay for the execution of smart contracts (called canisters). It functions similarly to “gas” in Ethereum but is designed to be more predictable and cost-efficient.

Key Features of Cycles in ICP:

  1. Resource-Based Pricing – The cost of computation, storage, and network usage is measured in cycles.
  2. Stable Pricing Model – Unlike Ethereum’s gas, the cost of cycles is tied to real-world resources (compute and storage) rather than being market-driven.
  3. Conversion from ICP Tokens – ICP tokens can be converted into cycles to fund canister execution. The conversion rate is adjusted to maintain price stability. XDR (Special Drawing Rights) is used as a reference unit to determine the cost of converting ICP tokens to cycles in a stable manner.(1T Cycle = 1 XDR ~ USD1.321)
  4. Canister Management – Cycles are stored within canisters and consumed as operations are performed. When a canister runs out of cycles, it stops executing until refueled.

Cycle Usage in ICP:

  • Computation – Each instruction executed by a canister consumes cycles.
  • Storage – Data stored in the canister costs cycles over time.
  • Inter-canister Calls – Messaging between canisters also consumes cycles.
  • Network Operations – Data transmission to and from the Internet Computer incurs cycle costs.

Creation of a Cycle Wallet in Local Network

To create a cycle wallet in the local network, you start the local network in a clean mode using the following command:

dfx start –background –clean

Running the following command first time to create a cycle wallet automatically with 100T cycles in local network, otherwise it will return the cycle wallet id only.

dfx identity get-wallet

The following command will return the balance in the wallet:

dfx wallet balance

Motoko-The native programming language of ICP

Motoko is a programming language specifically designed for the Internet Computer (ICP) blockchain. It is optimized for writing smart contracts (called canisters) that run directly on the ICP network.

Key Features of Motoko

  1. Actor-Based Model – Uses the actor model to handle concurrency and asynchronous execution efficiently.
  2. Type-Safe & Memory-Safe – Strongly typed language that prevents common programming errors.
  3. Designed for Web3 – Integrates directly with the Internet Computer, supporting scalability, persistence, and seamless upgrades.
  4. Automatic Garbage Collection – Handles memory management internally.
  5. WebAssembly Compilation – Runs as WebAssembly (Wasm) for efficient execution on the ICP blockchain.
  6. Interoperability – Can interact with Rust, JavaScript, and other WebAssembly languages.

Create and Deploy Canisters

Creating a canister on the Internet Computer (ICP) involves a few simple steps. Below is a basic guide:

Start local network in background

dfx start –background

Create hello world project

dfx new hello

Select a backend language, you may choose Motoko, Rust, Python or Typescript, as shown below. We choose Motoko for our illustration.

Then select a Frontend language as follows. We choose React for illustration.

Then add extra features as follows, we choose Intenet Identity:

Pressing enter to confirm will create all necessary files and install dependencies, and arrive at the start up screen as shown below. A project with the folder name hello will be created.

The project architecture is as shown below:

Deploying Canister on Local Network

To deploy the hello project you have just created on a local network, use the following command:

dfx deploy

The following screen shows successful deployment, otherwise there will be errors:

You may access the frontend URL via the link generated.

The frontend UI is as illustrated below:

Deploying Canister on the IC Mainnet

The command to deploy the canister on the IC mainnet is

dfx deploy –network ic

If the deployment on the IC blockchain is successful, the output will display the URLs of both the frontend and backend, as shown below:

The frontend URL can be accessed on the desktop browser and the browser of the mobile devices. It does not need to register a domain nor a central server to host the web app, it is fully on chain.

In this example, accessing the frontend URL with the link will display a certificate generator app, as shown below:

Obtaining Cycles

You need cycles to deploy your ICP app on the mainnet. There are two ways to obtain the cycles, one way is to redeem the coupon codes if you are given some free coupons, the other way is to buy icp tokens and convert them to cycles.

Method 1: Redeeming cycles from coupon codes

The command to redeem the cycles with coupon code is as follows:

dfx cycles redeem-faucet-coupon –network ic <COUPON_CODE>

Example: dfx cycles redeem-faucet-coupon –network ic CE3A9-BA578-CD44B

To check cycles balance in the wallet, use the following command:

dfx cycles –network ic balance

Method 2: Converting ICP tokens to cycles

First of all you must create an empty canister using ICP token using the following command:

dfx ledger –ic create-canister <principal-identifier> –amount <ICP tokens>

You may use the following command to obtain the principal identifier:

dfx identity get-principal

Example to get the principal identifier:

Then use the following command to convert ICP tokens to cycles:

dfx ledger –ic create-canister zxyfn-yljyi-bn6dy-ixi7n-jez74-nk723-pvj3m-jykes-dhqon-3ktql-uae –amount 0.3

To check canister status on the mainnet, use the following command:

dfx canister –network ic status <canister_id>

The status is as shown below:

*You can obtain canister id on the ic mainnet using the command: dfx canister id <canister name>–network ic

Appendix: List of dfx commands

List all accounts in the device

dfx identity list

Show current identity

dfx identity whoami

Use a particular identity

dfx identity use <Identity Name>

Get ICP Tokens balance

dfx ledger balance

Top up cycles into cycle wallet or canister by converting ICP Tokens

dfx ledger –network ic top-up <wallet id or canister id> –amount <icp tokens>

Example: Add 4T cycles to your backend canister

dfx ledger top-up –network ic <canister_backend >–amount 4.0

Top up cycles directly

dfx canister –network ic deposit-cycles amount <canister_backend>

Example: Deposit 4T cycles to your backend canister

dfx canister –network ic deposit-cycles 4000000000000 weather_app_backend

To remove your identity in the device

dfx identity remove <identity name>

To get canister basic info

dfx canister –network ic info

To stop local network

dfx stop

To list the controllers of the canister:

dfx canister info ic_minter_backend

ICP Developer Guide -Chapter 1

In the previous post, you learned about the fundamental concepts of the Internet Computer Protocol (ICP), a third-generation blockchain designed to power the next evolution of the internet. At its core, ICP functions as a decentralized cloud, enabling developers to build and deploy applications entirely on-chain without relying on traditional centralized servers like AWS or Google Cloud.

You might be wondering—how is this even possible? To clear up any doubts, I will walk you through the process of creating and deploying an application on the Internet Computer. Unlike conventional web hosting, ICP allows you to launch apps without registering a domain name or provisioning a cloud server, leveraging blockchain-native web hosting for a truly decentralized experience.

Prerequisite

To start coding in IC(Internet Computer) , there are some prerequisites you need to set up or install before you can jump into developing your first app. Following are the prerequisites:

  • Ensure you have the supporting operating system-
    • Windows 10 or 11 with WSL2 installed with Ubuntu Linux v20.04
    • Mac OSX 12 or above
    • Ubuntu Linux v20.04
  • NodeJs v20
  • GitHub Account
  • IC SDK
  • Visual Studio Code IDE
  • Basic programming knowledge- JavaScript, CSS, HTML

Here are the references to install the or set up the prerequisites:

You must install IC SDK before you can start coding. Use the following command in the WSL ubuntu terminal to install the SDK:

·sh -ci “$(curl -fsSL https://internetcomputer.org/install.sh)”

After installation, check its version using the command dfx –version, you should see something like dfx 0.24.3

*·If you are using a machine running Apple silicon, you will need to have Rosetta installed. You can install Rosetta by running softwareupdate –install-rosetta in your terminal.

The next step is to create an account in IC. In ICP, authentication requires a key pair consisting of a private and a public key, while the account itself is identified by a unique principal ID. Additionally, a ledger is needed to store accounts and transactions. This ledger is a smart contract known as a system canister. Each user will have a ledger account identifier, also called an account ID, which is used to hold ICP tokens. Furthermore, a wallet must be created to store cycles and facilitate sending cycles to and from canisters.

Creating ICP Account

To create an account in IC, using the following command:

dfx identity new <identity_name>

·💡Identity names must use alphanumeric characters comprising uppercase and lower letters, numbers and special characters. Example: My_chatb@t

·ℹ️Most importantly, REMEMBER to back up the 24-word account/identity seed phrase. This is essential for restoring your account if you forget your password or need to access it from another device. Additionally, you can create multiple accounts on your device.

Principal ID

Having created your account, you can obtain your principal id using the following commands:

dfx identity use <identity_name>

dfx identity get-principal

Your account’s principal ID will resemble this:

zxyfn-yljyi-bn6dy-ixi7n-jez74-nk723-pvj3m-jykes-dhqon-3ktql-uae

Ledger Account ID

You can also obtain your ledger account id using the following commands:

dfx identity use <identity_name>

dfx ledger account-id

Your Ledger account ID will resemble this :

1370f0ea74b35f33d2a2fee64a7a8c53cd52d6dd82c1cdfe08712dcd863692ab

Importing Account

In case you have changed your device and need to use the same account to develop ICP apps, you may import the 24-word seed phrase you have saved as a plaintext into your new development environment using the following command:

dfx identity import –seed-file <seedfile.txt> <Identity Name>

ICP Token Balance

To check the ICP token balance in ledger account on ICP Main Network, use the following commend:

dfx ledger –network ic balance

·💡–network ic or –ic: Connect to ICP Main Network, without this parameter, it will connect to the local network

Internet Identity

Internet Identity is a decentralized authentication system for the ICP. If you haven’t already, set up an Internet Identity:

  • Go to the Internet Identity portal: https://identity.ic0.app/.
  • Click “Create New” to create a new identity.
  • Follow the prompts to register your device . For Windows 10 user, require to use your mobile phone to scan the QR Code to store the credential information in the mobile phone. For Android device, recommend to use Google Lens to perform Passkey QR code scanning.
  • Note down your Internet Identity number (e.g., 12345).

 ICP Account Address

To receive ICP tokens, you need an ICP account address associated with your Internet Identity. Here’s how to get it:

  • Go to the Network Nervous System (NNS) Dapphttps://nns.ic0.app/.
  • Authenticate using your Internet Identity.
  • Once logged in, navigate to the “Accounts” section.

Plug Wallet

You may also use the Plug Wallet to store your ICP tokens. Plug wallet can be installed as a browser extension on a laptop or can be installed as a mobile app on your phone. You can download Plug Wallet using the link below.

https://plugwallet.ooo/

Network Nervous System

The Network Nervous System (NNS) is the decentralized governance system aka DAO that controls and manages the Internet Computer (ICP), a blockchain-based computing platform developed by the DFINITY Foundation. The NNS is one of the most critical components of the Internet Computer, as it enables the network to operate autonomously and evolve over time through community participation.


Key Functions of the NNS

  1. Governance:
    • The NNS allows ICP token holders to participate in the governance of the Internet Computer by submitting and voting on proposals.
    • Proposals can cover a wide range of topics, such as upgrading the protocol, adjusting network parameters, or funding ecosystem projects.
  2. Token Economics:
    • The NNS manages the ICP utility token, including its minting, burning, and distribution.
    • It also handles the creation of cycles, which are used to pay for computation and storage on the Internet Computer.
  3. Node Management:
    • The NNS oversees the addition, removal, and configuration of node machines that power the Internet Computer.
    • It ensures the network remains secure, scalable, and efficient.
  4. Canister Management:
    • The NNS manages the lifecycle of canisters (smart contracts) on the Internet Computer, including their creation, upgrading, and deletion.
  5. Network Upgrades:
    • The NNS facilitates seamless upgrades to the Internet Computer protocol without requiring hard forks or downtime.
    • This is achieved through a decentralized voting process.

What is ICP Blockchain? A Brief Introduction

ICP, short for Internet Computer Protocol, represents the third generation of blockchain technology, poised to revolutionize the Internet and accelerate the adoption of Web 3. Developed by the DFINITY Foundation , the Internet Computer blockchain aims to extend the public internet’s capabilities, allowing it to natively host software and services. In addition, it seeks to enable decentralized versions of popular applications—such as social media, enterprise software, and financial services—while fostering a new, decentralized internet that operates independently of traditional IT infrastructure.

The DFINITY Foundation, a non-profit organization founded by Dominic Williams in 2016 and headquartered in Zurich, Switzerland, achieved a major milestone with the launch of the Internet Computer in 2021. Dominic Williams, a serial entrepreneur, cryptographer, and DFINITY’s chief scientist, leads the foundation. With a team of over 250 scientists, researchers, and professionals, DFINITY is dedicated to building a public network that offers a secure, scalable, and efficient alternative to the current internet.

Dominic Williams

ICP boasts a unique architecture featuring independent subnet networks that run smart contracts known as canisters. Canisters are more powerful than traditional smart contracts, enabling more complex computations. Unlike conventional blockchains, ICP combines the security of blockchain technology with the scalability of cloud computing. Its core components include the Network Nervous System (NNS), which governs the entire network, and canisters—autonomous code units that operate on the Internet Computer.

In the Internet Computer, nodes are connected to form subnets, which are the fundamental building blocks of the IC. Each subnet operates its own consensus algorithm and runs canister smart contracts. Subnets replicate computation and storage while running concurrently with one another. The Internet Computer consists of numerous subnets and scales linearly by adding more, allowing for continuous expansion.

Subnets

Canisters are the building blocks of decentralized applications (DApps) on ICP, they contain both the code and state, making them more versatile than traditional smart contracts. Canisters run directly on the Internet Computer, without intermediaries. and enable developers to build complex DApps with ease. Benefits of using canisters are higher performance and scalability, and ability to handle complex logic and data storage.

ICP’s consensus protocol, known as Threshold Relay, introduces a novel mechanism that randomly selects nodes to produce blocks, ensuring both fairness and security. This protocol leverages chain key technology, enabling the Internet Computer to finalize transactions within milliseconds, a speed unmatched by most traditional blockchains. Additionally, the consensus algorithm ensures decentralization and security by eliminating the need for a centralized authority, promoting a more equitable and transparent internet. Compared to other consensus mechanisms like Proof of Work (PoW) and Proof of Stake (PoS), Threshold Relay offers significantly faster consensus, greater scalability, and lower energy consumption, making it a more sustainable and efficient solution for blockchain technology.

Canisters communicate via asynchronous messaging, allowing them to exchange data and execute functions without waiting for immediate responses. This enables canisters to continue other tasks while awaiting a reply, improving efficiency and scalability. Asynchronous messaging supports parallel processing, allowing distributed applications to run smoothly across the network. It also enhances fault tolerance, as messages can be retried without disrupting operations. This model ensures high responsiveness and performance, making the Internet Computer more scalable and reliable than traditional synchronous systems.

Canisters are precharged with “cycles,” which serve as the fuel for computation and storage, allowing them to run smoothly. These cycles are analogous to gas fees in other blockchains but are designed to be more efficient and cost-effective. Developers must ensure that their canisters are sufficiently stocked with cycles, which are consumed as the canister processes computations, stores data, or handles messages. One key advantage of this system is that users interacting with decentralized applications (dApps) on the Internet Computer are not burdened with transaction fees, unlike on traditional blockchains. Instead, the cost of running the canister is handled by the developers or organizations maintaining it. This user-friendly approach removes the friction of micro-transactions, offering a seamless and more accessible experience for users, thereby encouraging greater adoption of decentralized applications. Additionally, cycles are pegged to the cost of real-world computing resources, ensuring stability in pricing over time. This helps developers predict and manage operational costs more effectively while providing users with a fee-free experience.

Canister smart contracts have the unique capability to interact with Web2 systems, bridging the gap between traditional web services and decentralized blockchain applications. This means that canisters can communicate with existing Web2 APIs, databases, and services, enabling seamless integration with conventional web technologies. For example, a canister could fetch data from an external Web2 source, such as a financial API, or interact with cloud services like AWS, allowing decentralized applications (dApps) to utilize real-world data and functionality without needing to rely solely on blockchain-native data. This interoperability makes the Internet Computer highly versatile, as it allows developers to build dApps that can easily interact with both decentralized and centralized infrastructures. By enabling communication with Web2, canisters help ensure that blockchain-based applications can be integrated into the broader digital ecosystem, promoting smoother transitions from centralized systems to decentralized ones and broadening the use cases for blockchain technology in real-world applications.

Canister smart contracts have the capability to own and transact any cryptocurrency, allowing them to operate across multiple blockchain ecosystems. Unlike traditional smart contracts that are limited to a single token, canisters can manage and transfer various cryptocurrencies like Bitcoin, Ethereum, and more. This flexibility enables the creation of decentralized applications (dApps) that support multi-currency transactions, such as decentralized exchanges (DEXs) and cross-chain DeFi protocols. By facilitating seamless interaction between different cryptocurrencies, canisters enhance interoperability, security, and functionality, making the Internet Computer a versatile platform for innovative blockchain solutions.

Chain fusion in the Internet Computer (ICP) is a process where independent subnet blockchains can merge to increase scalability and efficiency. Subnets, which run smart contracts called canisters, operate autonomously but can be seamlessly combined when more computational resources are needed. This allows the Internet Computer to dynamically scale as demand grows, ensuring that decentralized applications (dApps) can handle increased traffic without performance bottlenecks. Chain fusion ensures interoperability, enhances resource allocation, and maintains the network’s security and decentralization, making ICP a flexible and scalable blockchain platform.

ICP tokens serve multiple essential functions within the Internet Computer (ICP) ecosystem. One of the primary roles is governance, where ICP token holders participate in decision-making through the Network Nervous System (NNS). By locking up ICP tokens to create neurons, users can vote on proposals related to network upgrades, policies, and development directions. The more tokens a user locks and the longer they are staked, the greater their voting power and potential rewards. This decentralized governance model ensures that the community actively shapes the future of the network.

In addition to governance, ICP tokens are used to fuel computation on the network by being converted into cycles, which act as the computational currency for running applications (canisters). Developers use these cycles to pay for processing power and storage, ensuring predictable and stable costs. ICP tokens also incentivize participation in the network by rewarding node operators and developers who contribute to the network’s security and functionality. While users are not directly charged transaction fees, ICP tokens are essential for the network’s operations, ensuring smooth and efficient interactions within decentralized applications.

The Network Nervous System (NNS) in the Internet Computer (ICP) is a decentralized, autonomous system responsible for governing the entire network. It acts as the control center, managing everything from the configuration of nodes to protocol upgrades, economic policies, and security measures. The NNS is crucial for maintaining the decentralized nature of the Internet Computer, as it allows decisions to be made transparently and collectively by the community of ICP token holders.

Here are the key functions of the NNS:

  1. Governance: The NNS enables ICP token holders to participate in governance by creating “neurons.” Token holders can lock up their ICP tokens to form these neurons, which gives them the ability to vote on proposals related to network upgrades, protocol changes, and other decisions that affect the Internet Computer. Neurons can also submit proposals for consideration, and the NNS automatically executes approved proposals. The more tokens a neuron locks up and the longer the staking duration, the greater the neuron’s voting power.
  2. Network Management: The NNS manages the configuration of the network by onboarding new node operators, setting up new subnets, and merging or upgrading existing subnets. It ensures that the network remains secure, scalable, and efficient by automating many aspects of its maintenance and operation. This includes distributing rewards to node operators and ensuring that resources are allocated efficiently.
  3. Security and Economic Control: The NNS controls the economic system of the Internet Computer by regulating the creation and burning of ICP tokens, especially when they are converted into cycles (the fuel for computation). It also plays a role in ensuring network security by monitoring and addressing potential threats, such as malicious nodes, and coordinating responses to safeguard the integrity of the blockchain.

Motoko is a programming language designed specifically for building smart contracts and decentralized applications (dApps) on the Internet Computer (ICP) blockchain. Developed by the DFINITY Foundation, it is compiled to WebAssembly (Wasm) to ensure compatibility and efficient execution on the Internet Computer’s infrastructure. Motoko is a statically typed language, providing strong type safety and minimizing runtime errors, which is crucial for secure blockchain development. It follows an actor-based model, aligning with the Internet Computer’s asynchronous messaging system, enabling efficient, concurrent operations within decentralized applications.

Motoko also includes features tailored for blockchain development, such as automatic memory management (garbage collection), cryptographic functions, and built-in tools for managing cycles (the computation resource on ICP). Its syntax is accessible to developers familiar with languages like JavaScript or TypeScript, making it easier to adopt. With these features, Motoko simplifies the process of building secure, scalable, and efficient dApps on the Internet Computer, making it an ideal choice for developers in the blockchain space.

ICP (Internet Computer Protocol) plays a significant role in accelerating the adoption of Web3 by providing a scalable, efficient, and decentralized platform that extends the capabilities of the public internet. Unlike traditional blockchains, which often struggle with scalability and high transaction fees, ICP enables decentralized applications (dApps) to run at web speed, with low costs, and without relying on centralized infrastructure. This makes it easier for developers to build and deploy dApps that offer the same level of performance and user experience as traditional web applications, removing a major barrier to Web3 adoption.

Moreover, ICP’s architecture allows it to host not only smart contracts but also entire web services, making it possible to run decentralized versions of popular applications like social media, enterprise software, and financial services directly on the blockchain. Its governance system, powered by the Network Nervous System (NNS), ensures that the platform evolves through decentralized decision-making, creating a more equitable and transparent internet. By addressing key issues like scalability, decentralization, and user experience, ICP provides the infrastructure necessary to drive the widespread adoption of Web3, making decentralized applications more accessible to both developers and users.

Refer to ICP Overview for further reading.


Driving Financial Inclusion with Blockchain

According to the World Bank, financial inclusion refers to the provision of accessible and affordable financial products and services that cater to the needs of individuals and businesses. This encompasses various aspects such as transactions, payments, savings, credit, and insurance, all delivered responsibly and in a sustainable manner .

The World Bank Group acknowledges the significant role of financial inclusion in combating extreme poverty and fostering shared prosperity . The initial stride towards achieving broader financial inclusion is facilitated by access to a transaction account, enabling individuals to securely hold and conduct various monetary transactions such as sending and receiving payments. In addition, individuals will have the opportunity to establish financial security through various means, including saving money, investing in financial products to meet their children’s education and retirement needs, and adequately preparing for potential financial challenges.

Since their inception, blockchain technologies have demonstrated tremendous potential in promoting financial inclusion and streamlining the formalization of remittances (Rella, 2019). Blockchain technology presents an array of possibilities, encompassing faster, cost-effective, and highly secure payment processing. Furthermore, its distributed ledger capability instills enhanced trust among participants. Originally conceived as a foundation for virtual currencies, blockchain has now found extensive utilization across various industries, notably in the realm of payments .

Furthermore, blockchain technology facilitates global payment processing and various other transactions through encrypted distributed ledgers, ensuring dependable real-time transaction verification. Consequently, intermediaries such as clearing houses and correspondent banks are rendered unnecessary. In addition, blockchain applications have gained significant appeal for remittances, particularly for transferring small amounts of money, thanks to their instantaneous, affordable, and traceable transactions that support multiple currencies across domestic and international mobile networks. Moreover, these applications can effectively store a variety of currencies within diverse mobile networks, highlighting the potential of blockchain-based systems.

After conducting comprehensive analysis of relevant prior research, it is evident that blockchain technology possesses the potential to facilitate digital financial inclusion across various domains. This technology finds application in diverse areas such as financial transactions, savings optimization, credit extension, and insurance provision . In conclusion, sustainable development can be achieved through various avenues, and one promising approach is leveraging blockchain technology to enhance financial inclusion. Governments, particularly those in developing economies, must prioritize serious consideration of blockchain investments to foster greater financial inclusion.

What is Web3?

Web3 and metaverse have been two buzzwords for the year 2022, but according to the World Economic Forum, Web 3 is essentially a synonym for the metaverse. Therefore, I wish to discuss the two concepts together instead of writing two articles.

What is Web3.0? It can simply be understood from the following aspects:

  • Web1.0 is “read-only”;
  • Web2.0 is “readable + writable” (read + write);
  • Web3 is “read+write+own” (read+write+own).

Firstly, web1.0 is represented by websites Yahoo and Sina, which solely provide information to users . During this era, most users can only read information on the web while very few website developers could create content, I was one of them. I created my first website in 1995 titled ‘Visual Basic Tutorial” which still ranks top in Google search for the keyword ‘Visual Basic’. Web2.0 is an interactive web comprising blogs, social media like Facebook, Instagram, Twitter, Whatsapp, WeChat, Tiktok and more, which users can interact and generate content. On the other hand, web3.0 not only allows users to generate content but the content data is owned by the user, not controlled by the platform.

Secondly, we can define the web revolution by the degree of decentralization. Simply put, web1.0 is semi-centralized, Web2.0 is centralized and web3 is fully decentralized.

Comparison between Web 1.0, Web 2.0 and Web 3.0

In the Web1.0 era, decentralized personal websites formed half of the Web while the other half were centralized, both sides formed a semi-decentralized ecosystem. In the Web2.0 era, information islands are formed, and large companies such as FAANG monopolize the web and control users’ data and while numerous individual and SME websites formed a small portion of the web. On the other hand, web3.0 will be purely decentralized where data is owned and controlled by users. Web 3 is a concept for the next generation of the internet. It is the evolution of how users are able to control and own their creations and online content, digital assets and online identities. In Web 3, however, users can create content while owning, controlling and monetizing them through the implementation of blockchain and cryptocurrencies.

Data privacy is another issue of the current Web 2.0 internet. While the centralized entities have full control over the access to the service, they have full control over the users’ data. Users register to access a service and give up their precious private data and content in exchange for the convenience of the service, by agreeing to the terms of services. However, in Web3, not a single entity has control over the access to the service as it’s open to everyone. No registration is needed, users then have complete control over their private data, but at the same time, users have to take the responsibility to protect their own data and assets as they will become the only custodians.

The third aspect:

Web1.0 and Web2.0 are information Internet while Web3 is the Internet of Value. Web1.0 and Web2.0 are essentially transmitting information and focusing on consumption; while Web3 is transmitting value and creating wealth. Therefore, Web3 can be simply understood as the Internet powered by blockchain technology. It will solve the current Internet “central monopoly” problem, help users regain their data sovereignty, and recreate a better ecosystem in the digital world. Internet world. If you really understand the above changes, then you will understand that Web3 is revolutionary.

Key features of Web3 are:

Decentralized

Web3 data are typically stored in decentralized ledger like blockchain, so no single system has access to it all. It is dispersed across multiple platforms. This facilitates decentralized access and eliminate single point of failure .

Permissionless

The decentralized web can be accessed by users without requiring special permissions and KYC. Users will not need to disclose their personal information to access specific services. There will be no need to compromise privacy or share any other information.

Secure

Web 3 is more secure since decentralization makes it more difficult for hackers to target specific databases. Besides that, all data are encrypted based on cryptographic hash which add a security layer to the distributed database system.

Why we don’t call web3 as web3.0? Because they are fundamentally different.

Differences between web3 and web3.0

Web 3.0 aka semantic web focuses on efficiency and intelligence by reusing and linking data across websites. Web3 aka the decentralized web, however, puts a strong emphasis on security and empowerment by returning control of data and identity to users.

Semantic web uses a central place called the solid pod to store all user data, enabling users to handle third-party access to their data. Solid pods also issue a unique WebID for users that act as an identity within the ecosystem. In the blockchain-based web3, users can store their data in a cryptocurrency wallet, which they can access using their private keys.

Additionally, they both use different technologies to implement their purpose of data security. Web3 uses blockchain technology, while in web 3.0, certain data interchange technologies like RDF, SPARQL, OWL, and SKOS are used.

Data in web3 is difficult to modify or delete since it is scattered across multiple nodes; however, data in web3.0 can be changed effortlessly. Furthermore, the data stored in the solid pod is centralized, while the keys stored in crypto wallets provide access to the data of assets that reside on a blockchain

The differences are summarised in the following table:

ParameterWeb3Web3.0
Distribution ModelDecentralized peer-to-peerClient/Server
ProtocolBlockchain/ipfshttp/https
Relationship to World Wide WebAn Alternative to the World Wide WebThe continuation of the World Wide Web
VisionEliminates intermediaries and emphasis on security and empowerment by returning control of data and identity to users.  Evolving to a semantic web to make web content machine readable.


To learn more about Web3, please check out my book:

Reference