As we all know, Ethereum is facing new difficulties in its development. Ethereum supports a large amount of economic activities every day, settles billions of dollars in transactions, and runs thousands of DApps in the booming DeFi and NFT fields. However, Ethereum's limited space resources can no longer withstand too many applications, nor can it accept the influx of large-scale users. When the network is congested, transactions become more expensive and delayed, bringing greater economic burdens to users.

In view of this, the relevant team has proposed many technical solutions to solve the Ethereum expansion problem, including sharding. Sharding divides the network into multiple tracks, processes transactions in parallel in a horizontal expansion manner, and distributes computing and storage capacity among multiple servers, thereby increasing the overall throughput. The technical concept of sharding, "not everyone has to run every shard", has become the key to the birth of light clients.

Light clients play an important role in Ethereum sharding, enabling validators to quickly verify and synchronize different shards, successfully resolving many blocking problems that occur during the operation of DApps. Public chains such as Polkadot and NEO, which are also facing difficulties such as limited expansion and large user load brought about by rapid development, have also started the practice of light clients, providing a more smooth and comfortable environment for better layout of the application ecosystem.

Marty McFly once said, "In the future, light clients will be everywhere." There are already many successful examples of this lightweight, user-friendly application. So what exactly is a light client? What technical optimizations and improvements are there compared to traditional application ports? Looking to the future, what challenges will need to be overcome for the large-scale deployment of light clients? This article will focus on the above questions and give you insight into the development and future of light clients.

What is a light client? Easy verification, fast response

Before we understand light clients, we first need to start with the concept of clients. A client in computer science is a piece of hardware or software that connects to a server, such as an Internet browser that connects to a website to request its content. In the blockchain world, a client is software that connects to other clients in a peer-to-peer manner. All clients communicate with each other and form a network, and each client is a node.

Take Ethereum as an example. In the past, there was only one type of node (also known as full node) responsible for verifying and broadcasting transactions and blocks on the network. Due to the operating characteristics of the Internet and blockchain, each full node needs to download and verify each block, and each transaction also needs to go through the entire process of verification and control. As the number of users increases and the number of service-oriented applications increases, this full node control will bring about the problems mentioned above, such as high costs and slow verification, which hinders the long-term development of Ethereum.

In this context, the concept of light clients has gradually emerged. Light clients are a key element in the blockchain ecosystem, helping users access and interact with the blockchain in a secure and decentralized manner without having to read and write large amounts of information on the blockchain. Light clients are allowed to interact with full nodes in a minimally trusted manner, and can prove the authenticity of information without prior knowledge. The basic function of a light client is to download blocks whenever they appear on the network, and send Merkle proofs requests for specific states to the client. It uses a distributed hash table to track prefix nodes instead of using local storage, and directly obtains individual user information verification materials in a "cloud storage, cloud verification" manner, which facilitates faster transactions, entertainment and other activities.

Overall, light clients solve the main barriers to usability and adoption of technology. As a Web3 infrastructure component, light clients allow interaction with the blockchain in a less resource-intensive way than running a full node, and can be embedded in desktop, web, and mobile applications. Most importantly, they remain trustless and sync block headers directly from peer nodes. Light clients work by making requests to a single full node, syncing the blockchain's block headers to verify a specific response provided by the full node, truly achieving "run at most once".

 

Success stories using light clients

At present, whether it is Ethereum or Polkadot, major public chains have begun to actively introduce the technical concept of light clients, and continue to make attempts to design light client applications on the chain, striving to cover various types of DApps and infrastructure, and provide developers and users with a new operating experience.

Fluffy

Fluffy is an Ethereum light client, an operating mode developed for the Ethereum 2.0 client Nimbus. A light client-friendly network must be designed with nodes that only require a small amount of storage space and a small amount of work to participate in the network and contribute, rather than requiring each node to bear a high load. Fluffy is a technical client that adheres to this operating concept. It will enable the nimbus-eth1 client to run as a light client node in the network. By developing the Portal Wire protocol, it successfully achieves handshakes with other clients, uses the "bridge node" to input status data for the portal network, and easily realizes fast transmission of cloud data. In addition, Fluffy will support a subset of the Ethereum JSON-PRC API, so facilities such as wallets can directly integrate this type of client.

NEO

In the NEO technology community ecosystem, there is a light client called Neo-Swift that can interact with the NEO blockchain. It is mainly written and operated in Swift-4 language. The creation of the Neo-Swift project is mainly based on the following reasons: 1. Developers want to develop distributed iOS applications with a wide coverage; 2. An important way to build a developer-friendly community is to create an SDK that is easy for non-blockchain developers to use; 3. Many developers like Swift and the development and deployment of mobile devices are becoming increasingly important. It is reported that Neo-Swift can efficiently verify the user's transaction history and account status on the chain, and provide a simulated dynamic framework for application interaction, providing a new idea for the upgrade and forging of the NEO ecological technology community.

Substrate Connect

Substrate Connect is a browser-based Substrate chain light client and has become the latest member of the Substrate technology stack. This highly anticipated infrastructure component provides developers and end users with a simpler and faster way to connect to the Substrate chain in a completely decentralized and trustless way, giving more DApp services and DApp developers a good application experience. Substrate Connect is a Javascript library that provides a full-featured light client with an extension path, replacing the traditional process of connecting to the Substrate chain through an RPC node. DApp developers no longer need to go through the tedious steps of running a local full node, and can easily access light client integration directly in their DApp.

Helios

Helios is an Ethereum light client launched by a16z Crypto, a well-known venture capital firm. Helios consists of an execution layer and a consensus layer. Unlike most clients, it tightly couples the two layers, so users only need to install and run one software to use Helios. In addition, Helios is written in Rust, synchronizes within two seconds, does not use storage, and provides trustless access to Ethereum. Its usage is basically the same as that of a full node. It is worth mentioning that Helios converts data from an untrusted centralized RPC provider to a verifiably secure local RPC, and connects and works using previously known beacon chain block hashes and untrusted RPCs to verify its authenticity without running a full node. Because Helios is very lightweight, users can access secure chain data from any device, including mobile phones and browser extensions, truly meeting the convenience of light client usage needs.

Looking to the future: The solution to the problem of light clients

The application of light clients has been gradually spread, but the operational drawbacks involved cannot be ignored. For example, light clients do not directly link to network services, cannot verify other required information other than the client, and cannot directly transmit data to other peer nodes. In the current public chain ecosystem, "cross-chain" technology is constantly emphasized for data transmission and efficient processing. Developers can learn from the experience of cross-chain technology to try to bridge the data of light clients, which is a crucial direction for the technical upgrade and function optimization of light clients.

In addition, light clients lack a better way to incentivize users. As we all know, incentives are the key to the stability of the ecosystem. How can we allow users to access the blockchain in a decentralized and secure way, encourage users and institutions to run full nodes, serve light nodes, and punish malicious full nodes that serve bad data? Perhaps we can adopt a concept system similar to "DAO" governance to operate and manage the light client ecosystem, forming a virtuous cycle system between "developers-light clients-users".

In fact, there may be many technical solutions such as optimizing the light client operating environment and innovating the light client usage functions. In the future, developers will need to continue to innovate and create excellent light clients for Web3.

References:

What is a light client? And why you need to know about it

Introduction | Getting started with light clients on the Ethereum blockchain

NEXT Community Mini Classroom | Lesson 26: How to create a NEO light client

Introduction | Fluffy Client: An Extremely Light Client for Ethereum