Internet Computer Protocol (ICP): An Overview and Comparison with Ethereum
Building a new Internet infrastructure: Photo by Hiba Ghouich on Unsplash (https://unsplash.com/photos/a-construction-site-with-cranes-mOA2DAtcd1w)

Internet Computer Protocol (ICP): An Overview and Comparison with Ethereum

The Internet Computer Protocol (ICP) is a groundbreaking blockchain project developed by the DFINITY Foundation, aiming to extend the public internet's capabilities by enabling decentralised applications (dApps) and services to run directly on the blockchain. Unlike many other Layer 1 blockchains, ICP's vision is to create a decentralised cloud platform that can host websites, enterprise systems, and even large-scale internet services, all without relying on centralised servers.

Ethereum was initially marketed and described as a?"world computer"?rather than specifically as a "new internet computer" or "new internet." The concept of Ethereum as a "world computer" was central to its vision of being a decentralised platform that could run any application in a trustless manner, enabling smart contracts and decentralised applications (dApps) to operate on a global, decentralised network of nodes.

Ethereum's early marketing highlighted its capability to execute code in a decentralised way, ensuring that these applications would run exactly as programmed without the possibility of downtime, censorship, fraud, or third-party interference. This vision was encapsulated by the term "world computer," indicating that Ethereum aimed to be a global, decentralised computing platform that could power a wide range of applications across industries.

While Ethereum was certainly seen as part of the broader movement toward decentralising the internet, it wasn't specifically branded as "the new internet" in the way that the Internet Computer Protocol (ICP) have later positioned themselves. Ethereum's focus was more on creating a decentralised computing infrastructure rather than reimagining the internet as a whole.

In this article, we will explore ICP, provide a basic comparison with Ethereum, and explain how ICP handles data storage (with a nod to Sui, also recently discussed), including its innovative canister model.

What is ICP?

The Internet Computer Protocol (ICP) is a decentralised computing platform that seeks to redefine the internet by turning it into a global, decentralised computing system. Unlike traditional blockchains that focus primarily on transactions and enabling decentralised finance (DeFi) and other financial applications, ICP aims to replace centralised cloud services with a decentralised alternative.

ICP uses a unique consensus mechanism called Threshold Relay and Chain Key Technology, which allows for fast transaction finality and scalable performance. This consensus model supports the platform’s ambitious goal of enabling decentralised internet services at scale, beyond the limitations of current blockchain architectures.

Key Features of ICP

Decentralised Web Infrastructure:

ICP allows developers to build and host websites, software, and services directly on the blockchain, eliminating the need for traditional centralised cloud providers like Amazon Web Services (AWS). This makes ICP much more than a smart contract platform—it's a full-stack decentralised cloud infrastructure.

Scalability:

ICP is designed to be infinitely scalable. As demand grows, the network can expand by adding more computational resources (called subnets) to handle increased workloads, without requiring Layer 2 solutions or sacrificing decentralisation.

Smart Contracts and Canisters:

ICP uses "canisters" as its smart contracts. Canisters are self-contained units that include both code (computation) and state (data), allowing them to run complex decentralised applications. Canisters can scale automatically and interact with each other, enabling developers to create large, scalable dApps.

Low Costs:

ICP aims to offer significantly lower costs for computation and storage compared to traditional cloud services. By running applications directly on the blockchain, developers can avoid high cloud hosting fees and ensure that their services remain decentralised. Their "reverse gas" model also ensures that one main barrier to usage is removed for users, being a unique approach to transaction costs that differs significantly from the traditional gas model used on Ethereum.

Reverse Gas Model:

In the reverse gas model, the cost of computation and storage is covered by the canister that runs the code, rather than by the users who interact with it. This means that users can interact with dApps on ICP without needing to hold or spend any tokens, making the user experience more seamless and accessible. In contrast, on Ethereum, users must pay gas fees in ETH to execute transactions or interact with smart contracts (which, in itself, is a transaction). These fees fluctuate based on network demand, often leading to high costs during periods of congestion. The reverse gas model on ICP simplifies user interactions by removing the need for users to manage and pay for gas, instead placing the responsibility for covering computational costs on the dApp developers or the canister’s funders. This approach can make dApps on ICP more user-friendly, especially for those unfamiliar with blockchain technology.

Internet Identity:

Internet Identity is a secure, decentralised authentication system used within the ICP ecosystem. It allows users to access dApps and services on the Internet Computer without needing traditional usernames, passwords, or the need to manage private keys. Internet Identity leverages cryptographic keys generated and stored securely on the user’s device, such as a smartphone or hardware security module. These keys are linked to the user’s biometric data or hardware authentication methods, like Face ID or fingerprint recognition, ensuring that only the authorised user can access their identity, whilst no personal identifiable information is passed through to Internet Computer.

This system not only enhances security and privacy by eliminating the risks associated with password-based systems but also streamlines the user experience by allowing seamless, passwordless access to services across the Internet Computer. Internet Identity is designed to be user-friendly and widely accessible, making secure, decentralised authentication practical for everyday users. Several devices can be associated with one Internet Identity and a recovery phrase can be generated to enable access if all associated devices are lost/damaged in much the same way more traditional crypto wallets support these phrases.

The wallet associated with an Internet Identity supports the holding and transacting of tokens (ICP and other ecosystem tokens), staking of tokens, and voting on proposals within the ICP platform – an extension of the usual functionality of a crypto wallet.

ICP vs. Ethereum: A Basic Comparison

While both ICP and Ethereum are Layer 1 blockchains, they differ significantly in their design and focus.

Ethereum: Initially focused on decentralised finance (DeFi) and general-purpose smart contracts, Ethereum has become the go-to platform for dApps, DeFi, and NFTs. It uses the Solidity programming language and relies on a Proof of Stake (PoS) consensus mechanism following "The Merge". Ethereum's scalability challenges are being addressed through Layer 2 rollups and the upcoming sharding upgrade.

ICP: ICP’s focus extends beyond financial applications to encompass the entire web infrastructure. It aims to decentralise the internet itself by hosting websites, software, and services directly on the blockchain. ICP uses Threshold Relay and Chain Key Technology for fast finality and scalability without the need for Layer 2 solutions.

How Data is Stored on ICP

On ICP, data storage is handled by?canisters, which are the core units of both computation and data. A canister can be thought of as a smart contract, but it goes beyond traditional smart contracts found on other blockchains by encapsulating both code and state (data). Here’s how data storage works on ICP:

Canisters as the Core Data Structure:

Canisters serve as containers that hold data and the logic to process that data. Each canister manages its own state, meaning it can store various data structures, from simple variables to more complex ones like lists, maps, or even entire application states.

Decentralised Storage:

Data stored in canisters is distributed across the nodes of the Internet Computer network. This decentralised storage ensures high availability and resilience, as data is replicated across multiple nodes to prevent loss or downtime.

State Management:

Canisters maintain a persistent state on the blockchain, which means that once data is stored, it remains available and can be updated as needed. This differs from traditional blockchains, where the focus is on immutable transactions rather than dynamic data management.

Inter-Canister Communication:

Canisters can communicate with each other, allowing for the development of modular and scalable applications. For example, one canister might handle user authentication, while another manages transaction processing, all interacting seamlessly within the ICP ecosystem.

Scalability:

As demand increases, the ICP network can add more computational resources (subnets) to scale horizontally. This ensures that canisters can handle large workloads without bottlenecks, making ICP ideal for complex, resource-intensive applications.

Is ICP Object-Centric?

ICP’s canister model shares some similarities with object-oriented programming (OOP), particularly in how it encapsulates both data and logic within a single unit. However, ICP does not explicitly use an object-centric data model in the way that platforms like Sui do. Instead, ICP leverages canisters as containers that manage both state and computation, allowing developers to build complex decentralised applications that can persist and manage data efficiently.

The key difference is that ICP focuses on the dynamic management of data and computation within canisters, while object-centric models like Sui’s are designed to structure blockchain data in a way that resembles object-oriented programming more directly. Nonetheless, ICP’s approach offers a powerful and scalable way to store and manage data on the blockchain.

If you missed my previous article on Sui I suggest you go back to read that for more background on the object-centric data model it employs and a brief overview of OOP.

Conclusion

The Internet Computer Protocol (ICP) is an ambitious project that seeks to transform the internet into a decentralised global computing platform. By providing scalable and low-cost infrastructure for decentralised applications and services, ICP aims to replace centralised cloud providers with a fully decentralised alternative. While it shares some similarities with Ethereum in its use of smart contracts, ICP's vision extends far beyond financial applications, aiming to decentralise the very infrastructure of the web itself.

ICP's unique data storage model, centered around canisters, allows for persistent, decentralised data management and scalable computation. Although it is not explicitly object-centric, ICP’s architecture provides developers with a powerful framework for building the next generation of decentralised applications.

The reverse gas model completely removes the issue of cost for the user. This in itself makes ICP a compelling platform for building customer-facing dApps.

A layer of "crypto" user experience is added by Internet Identity (II), meaning that a user has to create an II to be able to access dApps on the Internet Computer. Once created, however, they then have access to ALL dApps on the platform. Setup and use of Internet Identity is improving and the user experience is becoming smoother. In comparison to the need to set up a regular crypto wallet and use that to connect to dApps on other platforms, the setup and use of Internet Identity is relatively straight-forward. Some projects have incorporated other means to log in to their dApps, although this does limit one of the benefits of II – namely universal usage across all ICP dApps.

I was privileged to have served as Head of Product for distrikt, a social media network that was built completely on-chain on ICP, leading the team that designed and built the product up to the sad decision to pause development (although distrikt itself is still up and running, effectively looking after itself). Due to the innovative nature of ICP we were able to build what could be described as a "true" Web3 product: 100% on-chain and avoiding the need for any centralised servers or cloud providers.

While building on this technology has it’s unique challenges, it can be confirmed that it IS possible to build Web3 products in a truly decentralised manner. As I have covered in a previous article "The Illusion of Web3: How Many Platforms Fall Short of True Decentralisation", many "Web3" projects and products take shortcuts and build on technology mixes that involve centralised platforms and cloud storage (more on this soon). Technologies such as ICP are making it easier to stay true to the Web3 ethos and build dApps that also perform like their Web2 counterparts.

Challenges in user onboarding and removing the complexity of interacting with blockchain/crypto technology are still evident, though improved through Internet Identity, but in time solutions to make the underlying technology less visible promise to help in increasing adoption of Web3 products and platforms.

If you'd like to know more about building on ICP (from a product standpoint - remember I'm no longer a developer ;-) ), building Web3 dApps that don't "cheat", or other aspects of building Web3/blockchain products, book a free initial discovery call with me: https://calendly.com/robertturrall/discovery-call

Greg Chew

CEO of QPQ AG, QPQ IaaS AG (T/A GajuMining.com). The QPQ AG team created the Gajumaru, an actual blockchain that actually works, minting real money that really works. Tu ne cede malis, sed contra audentior ito.

6 个月

The LinkedIn algorithm means I don’t see every post you make, but nice work on the series as a whole, Robert.

要查看或添加评论,请登录

Robert Turrall的更多文章

社区洞察

其他会员也浏览了