The road to light clients

A little story to celebrate the removal of LES from geth :slight_smile:

Our journey towards light clients starts a long time ago with ultra-light LES - the light ethereum protocol on which we hoped to build native Ethereum support in the Status application - a sovereign node in every pocket was the motto - the road there has been long and winding, and initially an uphill battle because our priorities turned out to be different than that of upstream maintainers of critical components we needed and the technical capabilities of the protocol at the time.

The idea gained traction that we need to get a seat at the table and approach the problem more rigorously by participating in the development of the new consensus protocol - Nimbus (and later others…).

Where we are now

From there to here, it’s been a long road, but we now have light clients in the ethereum consensus protocol, light wallets and Nimbus-based mobile OS:s, proxies for existing web3 communication protocols and third parties building on top of it.

We develop light client protocols and everything around them. The run in browsers and we continue to write protocol specs to improve them for each hard fork.

Change is possible.

Putting it together

The one thing we don’t have is what we set out to do: a sovereign node in every pocket.

So, without further ado, here’s a brief overview of how to put one together in short time so we again can get used to the idea that the fruit of fundamental change is ripe for picking.

Pragmatic prehistory

From a principled perspective, where we are today is not much different from where we were: on our journey from there to here we have given up on decentralisation in the Status app and start using Infura en masse, later to be supplanted with other trusted solutions, L2-du-jour bridges and similar compromises.

geth is still in the status-go codebase, but it’s there for decorative purposes mainly rather than for running a node and serves as a source of of technical debt and architectural complexity, significantly slowing down radical progress and keeping us firmly within the confines of small incremental updates approached with great fear, uncertainty and doubt.

The chat protocol, a legacy of the pre-historic Whisper protocol, continues to struggle with message delivery for the same reason as when we started (a lack of end-to-end reliability).

There is much to do, or, in other words, much potential.

Fortunately, there are some problems we can solve here and now.

Stage 1: drop trust

The light proxy is there, waiting to be used - in fact, it was there in 2022:

  • we no longer needing to trust infura or any other third-party provider - even L2:s can be brought into this fold if done well - this is a huge leap forwards: data sources stay data sources and are no longer part of the trust surface area for the user - the light client protocol is the only thing we need to trust - like SSL for your bank connection.

Stage 2: fluffy

  • fluffy replaces dumb data sources with a DHT / distributed system - because trust has been solved, operators of the DHT know they’re storing valuable data and users can validate the data operators give - it’s nice not to have to trust the provider - this opens up options, including reaching the initial goal of replacing LES in the status mobile app.

Stage 3: nimbus-eth1

  • users can use the incremental Nimbus EVM and incremental storage from fluffy to manage their balances, wallets - to create transactions client-side and to access the security that most L2:s depend on: a way to exit to the main chain when shit hits the L2 fan - even so, startup time is almost 0 because only small parts of the Ethereum state need to be loaded - this is like a steam game that downloads the executable and the first level and you can start playing while the rest happens in the background.

Stage 4: research seeds grow

There is no lack of ongoing research efforts: codex working on durable storage, waku working on privacy and protocols, logos rethinking the core architecture and the reasoning behind it.

These efforts however are of no practical use however until they leave their private github repos, their closed notion-notes-driven fear of attention to join with up actual people, few, at first, in a node, in a pocket, but then… in a node, in every pocket.

So why bother?

Dinner is on the table, getting cold - there is risk in change but when upheaval is in the air, even more risk in standing still and forgetting why we move in the first place - we’re now at a point where we’ve been standing around for a while, but risk forgetting what it was like when we started:

  • the hunger for hunting our principles and remembering why the app is important, and not just another messenger
  • the joy of not staying in the comfortable lane of incremental changes - the world is moving fast and not waiting for us
  • our care for people, not figma fidelity - rounded or square corners are important - they signal attention to detail - but they cannot replace a solid foundation and deeply entrenched desire to enable access to technology that otherwise risks ending up in the hands of a select few
  • a feedback loop that guides the research which informs the application direction which guides the research - else the research happens in a vacuum and the application grows stale before it gets released
  • focus and understanding of what the possibilities are - it’s not just another app being built - it’s an operating system that re-organises the way humans and computers interact

The currently launching IFT is the vehicle that collects all of the above and more… it is an opportunity for those that remember this feeling.

5 Likes

Thanks for putting a clear path towards disintermediated access to crypto networks, specifically within Status. I still dream of when this day will come.

For me there’s little risk in forgetting why the app or why we do any of these technologies. The state of things continues to get worse.

What started (to the public) as whistleblowing and reform against the departure of states from their constitutions through surveillance and the social contract writ-large, and a means to diffuse accusations against the 1% and neuter the Left has flowered into a fully fledged global program to erode the integrity of western liberal democracies through ‘stakeholder capitalism’ and ESG scores.

Anarcho-Tyranny, where different sets of laws and lawlessness applies to different identity groups within multicultural societies - runs rampant in our societies.

The atomisation of the individual and their subsequent control through not just the digital panopticon, but increasingly sophisticated PsyOps on the public goes beyond mere Divide and Conquer and 4chan-style trolling. Surveillance Capitalism is now PsyOp Capitalism.

The noose around our necks in the pursuit of truth and understand our reality through state censorship runs unabated, last year Russia arrested 400 people for expressing their views on social media, in the UK that number was 3300.

These trends will continue.

The risk is in the youths, the generations who did not have an ‘analog’ pre-internet existence, who are born into the layers of mind prisons and controlled opposition - where knowing what to believe, what is true is so opaque and convoluted - we are the most propagandised people in known human history. Like a ratchet beyond the defences and capacities of the individual the programme runs inter-generationally - ratcheting one generation after the next, the overton window does not just slide but radically transforms.

As Adam Curtis has shown us, Bernay’s Public Relations and Corporate adoption of Psychoanalytics has rendered Democracy an illusion, nevermind the inherent issues with it. Generative AI will tear to shreds whatever remains. A complete social upheaval is coming. A new world will be born, and return to nature strategies will not be viable, McLuhan’s notion of the return to the bicameral collective tribes is already observable with NFT-based Cults, what defense does one have in the hyperreality of the future? The excess of consumption of digital drugs and devices of weakening and pacifying the people (social media, porn, junk food).

New social spaces, non algorithmically predatory, the shield of cryptography, independently verifiable information, crypto-economic policy networks are not just a nice to have - they are a necessary foundation to the getting as close as we can to ‘objective truth’ in the post-modern world. They are a survival tool against entropy and chaos of the singularity we’ll live through.

Our communications, our propaganda, are being worked on to remind people both within the org and without. To re-legitimize Crypto in the face of degenerate behaviour, scammers and state-sponsored slander.

The understanding and responsibility however lies with the leads of our projects, they are the true guardians of what and when things get built.

The problem is the passage of time and resourcing, ensuring that we can continue the work and to document it so next generations can continue where we are left off.

3 Likes

Thank you @jarradh and @arnetheduck for the post and bringing up many valid points.
It’s important as you mention that we don’t forget Status original mission and that we build our software according to the original vision and we provide it to those who need it the most.

Just a couple of things to give more context as the status app was mentioned:

geth is still in the status-go codebase, but it’s there for decorative purposes mainly rather than for running a node and serves as a source of of technical debt and architectural complexity, significantly slowing down radical progress and keeping us firmly within the confines of small incremental updates approached with great fear, uncertainty and doubt.

I think this is partially true, we use go-ethereum mostly for their libraries & data struct (crypto, blocks, rpc client etc), and although there’s some technical debt, I can’t say that is slowing down development, we just recently had a discussion about it and no one identified it as a critical issue, and we decided not to act on it precisely because our time and effort is best put otherwise, upgrades are annoying as we run a fork of ethereum-go because we use their RPC/services system (and wallet also requires some changes to support multiple chains), but they don’t take much time overall, although I agree that we’ll be better off without such a tight integration when it comes to RPC.

The chat protocol, a legacy of the pre-historic Whisper protocol, continues to struggle with message delivery for the same reason as when we started (a lack of end-to-end reliability).

That’s probably an oversimplification, currently the main source of message loss is lack of connectivity (i.e the device is not able to publish any message to the network because of lack of peers, e2e will be able to eventually recover and we have retransmission mechanism already in place for 1-to-1, private group chats, but you need to be able to connect eventually for those to take place). We are also expanding on the work vac did on e2e delivery by making it secure, and support syncing in a broadcast/multicast scenario, which is not something mvds was built for, being effectively the same as briar’s protocol BSP.

It’s really exciting to see that the light client has been now integrated in status and we are looking forward to build on top of that. Fluffy would be a real game changer once integrated.

Also, I strongly agree with:

  • a feedback loop that guides the research which informs the application direction which guides the research - else the research happens in a vacuum and the application grows stale before it gets released

Thank you for that, and that’s also applies to the status app and market fit, putting our technology in front of our users is and should be our top most priority.

2 Likes

This is a great article from the Ethereum Foundation’s Portal team that provides a very comprehensive overview of the light client technologies available today and the ones that are likely to be increasingly relevant in the future:

Besides the fully in-house solutions described by @arnetheduck above, I think Status should be paying attention to the DendrETH project that I have developed with external contributors in the last 18 months. It offers the ability to sync the head of the blockchain through a single zero-knowledge proof (an approach originally made popular by the Mina Protocol), which I think in the long-term may prove to be the best possible user experience, especially on mobile devices where any start-up delay while the chain is syncing may be perceived as inferior to alternative wallet apps that exploit a more centralized architecture.

I’ll be happy to engage with the DendrETH team and provide the necessary support if Status is interested in adopting its fully open-source solution, now or at any time in the future.

1 Like