What are light clients and why do they matter?

As many know, when I setup Skyinclude channel, it was meant to be a tool for me to push myself to learn - and share the journey as I learned.

Two years in, and I am still learning!

Background Story of How I Learned The Importance of Light Clients

Today we are talking about light clients in a blockchain, more specifically for Handshake, and opening websites. This came up when comparing Handshake to ethereum based naming solutions such as Decentraweb (we did a HNS vs Decentraweb video here and many in the community are coming up and correcting me on the video to highlight a KEY advantage of Handshake.

Built FIRST around light clients.

So I had to privately ask Matt Zipkin,

“sorry but I will just admit I’m dumb - what is the advantage of using a light client”?
He directed me to his talk in NamesCon Austin this September 2022, highly recommend you watch the full video here:

Matt Zipkin’s talk at Namescon Austin in Sept 2022


The clip I pulled is from minute 20 of his amazing talk - but I want to make a dedicated video to highlight the importance of a light client in Handshake and why the ethereum based domain naming systems cannot do it.

But I want to HIGHLIGHT today - specifically the light client (which is at the 20 minute mark in his talk above). And use this video and this page to send to people who are comparing HNS to Ethereum based or any other naming protocol out there - as this seems pretty special to Handshake.

So What is a Light Client?

Please refer to Matt’s talk in the video, but I will write it up in my “non technical” terms here:

Before you learn about light client, understand if you are not using a light client, you are going to use a full node.

Full node = downloading the full blockchain on your “server / laptop / hard drive / phone”. This is where you download all the “blocks” in the “chain” of the specific block-chain you are going to “use” to look up TX (transactions).

So a light client, doesn’t need to download a “full node” (every piece of data in the blockchain) to your local device. Its job is to download JUST WHAT you need (in Handshake’s case - headers and a few bits) to VERIFY it is what it says it is on the blockchain.

So what is the ONE job of Handshake’s blockchain? TLDs (top level domains), right! To store all TLDs registered on the HNS chain, and to let users verifying what NS (name server) and IP address that TLD is pointing to.

The handshake blockchain is clean and simple, and focused on one thing (not like Ethereum that is a super computer for the world’s computer transactions - which is massive). So the full node isn’t even that big - but that light client is so small that it can:

Run on a Raspberry Pi ZERO

Check out how SMALL that is here:
Raspberry Pi ZERO
Then this means mobile phones by people in third world countries can be 100% sure the websites they are visiting is verified by the Handshake blockchain.

Key Point: Light Clients are Trustless + Lightweight

And the idea here is - you DO NOT need

1) a full node on you device (Handshake blockchain is now growing in size I believe about 15 gigabytes)

2) a centralized party that “Verifies” what is true by having the full node on their server and you are checking against that.

You have the power of a full node, but on a light client that only takes what you need.

Why Doesn’t Ethereum Have a Light Client?

In Matt’s talk, he says Ethereum doesn’t have a light client. I’d love to be corrected here, but he says there is a possibility if changes were made (sorry I’m not technical enough to get into this), but basically

You trust INFURA

Infura

Which has an API connection to Ethereum blockchain

Why?
Because Metamask on your chrome browser doesn’t download the entire Ethereum blockchain (full node) on your laptop compute or mobile phone. It would be SOO MASSIVE

Researching a bit, found this Crypto APIs article with the highlight:

According to Etherscan, as of May 2022, archival nodes on Ethereum occupy more than 10.5 TB of data
Then - in their article - THEY ARE SELLING YOU their centralized API (similar to Infura)
Infura article
Syncing such a huge volume of data will take weeks and should the sync be interrupted or crash for any reason, it can take considerably longer. A costly inconvenience that can be avoided by using a node service provider such as Crypto APIs.

Basically - NO ONE wants to , or can - store a full node of Ethereum - and then starts to use these centralized API services

That can CENSOR, or be ASKED by organizations to CENSOR.

Point - APIs are Companies Storing Blockchain Data = Centralization

So what is the point of all of this?

It means - Ethereum blockchain is AMAZING - and great - and is the world’s leading super computer of so many transactions.

BUT - you need to really run your own full node to trust it. Otherwise, you’re using Metamask, and then the default RPC API  that is Infura - to be able to censor your transactions, or be asked by others to censor you.

Ethereum Provider API
Yes, you can change your RPC API in the Meta Mask settings - and many have when censorship has happened.

It is about SCALING Decentralization - Handshake, Bitcoin, NameCoin - Use Light Clients

Bitcoin whitepaper also talks about the importance of light clients. And he knew as the blockchain grew, it would be more and more data to store for a full node.

Why isn’t this treated as a big deal in Ethereum? does make one wonder….

I spoke to Matt Zipkin while writing this article and he added this insight on the reasons why Ethereum doesn’t use light clients

One minor correction technically ethereum does have a light client but no one uses it and it doesn't work well because full node operators are not as generous with their resources. It's definitely a culture thing as much as a technology thing
Not going to be a conspiracy theory person, but the more I go down the rabbit hole of blockchain, the more I do appreciate bitcoin, handshake, and proof of work in general.

Update: Saw this tweet

Think it is relevant to this discussion - but who are the majority owners of Ethereum?
HodlDee Tweet
Maybe they don’t want light clients? Just food for thought…

MAtt Zipkin Getting the Light CLient Working on an Old Phone!

Again, Matt is showing us the way. Showing us why light clients matter.
matt-tweeet
Running Palm Reader #Handshake wallet in SPV mode on my @Puri_sm Librem5.
Image
Image
Image
Image

Point: You don’t need “Infura API” to validate HNS blockchain records as it has a light client - and you can access data on Handshake with something as basic as this phone.