I get asked a lot what attracted me to work full time in web3. I'm not an investor, I'm not a NFT flipper, and I certainly don't own a million dollar monkey.
So what is it? What's web3 good for?
Web3 is an overloaded term, but in essence, it refers to interacting with decentralized networks, blockchains in particular.
The main innovation of blockchains, is that for the first time in history, we have self sustainable, shared, public cloud infrastructure.
Im talking compute and storage infrastructure, a digital space where you can store, retrieve data and run programs.
The key is that this cloud infrastructure is not owned or operated by a company. It's run by a network of hundreds of thousands of independent operators around the world. These operators accept to spend their resources to help run the network (hardware, electricity, maintenance). And anyone using the network needs to pay a small usage tax to pay these operators for their service.
The network is designed so that it keeps running as long as a single operator stays online, but the more operators, the more distributed, secure and reliable the network becomes. Anyone can become an operator by just running a program on their computer. And anyone can use the network to store data and run programs. It's public. It's shared. And no single entity can control it or bypass its rules.
In my view, Ethereum and its ecosystem is the best example of a true public cloud infrastructure, one that is also eco friendly, allowing anyone to run a node on a raspberry pi.
So now the question is, what are public clouds useful for? What applications need this?
Let me lay out 4 concrete use cases that i think can only work with public, shared cloud infrastructures.
This story still stings. Back in the day I built a Twitter client for Android called Falcon Pro. It was doing really well, so well that I was about to quit my day job and create a company around it.
One morning I woke up to hundreds of complaints from new users unable to sign up. Twitter had shut down my API access overnight without warning. After furious inquiries I found out that my app had reached the maximum amount of 100k users, and would not be allowed to grow any larger. The Falcon Pro Twitter account, which I worked hard to get to 25k+ followers, got banned. To this day, years later, I still cannot obtain a Twitter API key for ANYTHING. They reject me every time I ask for one. The funniest part is that I actually worked for Twitter for 2 years, didn’t make a difference. Their API, their servers, their rules.
I learned the hard way to never build a business on top of a proprietary platform. It always ends up badly. Facebook killed many businesses that way, and I'm sure we'll see OpenAI apps get shut down as well. Apps built that way might get some early days benefits, but are at the mercy of the owners of the platform. Very risky to bet your business on their good intentions.
I would love to build another social client, but I need guarantees that the underlying social graph will stay accessible. Mastodon is a decent attempt at that, but IMO very cumbersome to use and too fragmented. What we need is a shared, public cloud where we can safely read and write our own social graphs. A digital space not owned by one company with their own agenda, but shared by everyone who uses it.
Web3 social is booming and I believe that emerging social open protocols like Lens and Farcaster are a much more future proof model for social media. One where any developer can safely build businesses on top of, and where my social graph can follow me across apps and platforms.
Imagine having the same username, same profile, same followers on Twitter, Youtube, Instagram, TikTok, Medium and any new social app that comes out, instead of having to rebuild your social graph from scratch on every platform. Gaining a follower on Twitter also grows your Youtube channel. That’s what public cloud combined with open standards can unlock.
This is already happening today. I can login to Lenstube, watch a video, follow that creator and automatically start seeing their posts on Orb, Lenster or Lensta. Same login, same profile, same social graph on every Lens app. As a user I get a large choice of apps to choose from, which all leverage my social graph differently, compete on UI/UX and bring special features. Other devs are creating search engines, analytics platforms, ranking algorithms on top of this open data. There’s a vibrant community of users AND builders around an open protocol running on public infrastructure. That’s the right model for social media in my opinion.
When you buy a video game, you have the choice of buying a physical copy, or a digital copy. They're usually the same price. With the physical copy, I can lend it to a friend once I'm done playing it, I can sell it on eBay, my local garage sale or to the closest GameStop in exchange for credits or cash. I can store it in my personal collection, next to other games bought from other stores. That Blu-ray or cartridge is truly is mine.
Why can't I do any of this with the digital copy I bought for the same price? The digital copy is not really mine. What I bought is access to the game, and that access is controlled by the platform i bought it on. They decide the rules.
Want to lend your copy to a friend? Nope, the platform won’t allow it. Same for selling, exchanging or even displaying your purchased games on another program.
Yet they charge the same price for that restricted digital copy as the physical copy. We’ve somehow accepted this, sacrificing ownership for convenience.
Would it be possible to have the best of both worlds? The convenience of digital with the ownership of physical?
As long as the ownership data (who owns what) is hosted by a private platform, they will always enforce the rules. Nintendo would probably never let you sell your digital copy of Mario kart on eBay, but they can't prevent you from doing so with a physical copy. The digital one lives in their servers, you can't take it home. Shouldn't we be able to "take home" our digital purchases too?
But where's "home" in the digital world? Certainly not on someone else's servers. Whoever runs those servers ultimately owns your "home".
This is why we need a shared, public cloud that can stay neutral, and let anyone store and retrieve ownership data. A trustable digital “home” where each individual can decide what to do with their purchases. That is the only way to have digital ownership that go beyond a single platform or company.
Built the right way, it could give us that sense of ownership and freedom of buying physical goods with the convenience and programmability of the digital world.
You might ask, what’s in it for the game studio? Lots actually. If I was a game studio, I would take advantage of this to free myself from the need of publishing platforms to distribute my games, taking a big cut on my profits. I could sell my games directly to the end users, and let them pass it on to a friend, resell it or rent it, taking royalties fees each time the game changes hands. I would program novel game mechanics depending on whether you're an original owner or second hand one. Third party apps could easily check if you own the game with a free public API and display it in your personal collection or do other kinds of personalization. Public data opens up the door for innovation beyond the games themselves, creating an entire ecosystem around it.
This applies for every type of digital media, not just games. Books, comics, movies, tv series, music… anything that you can purchase online.
There's no denying we're entering the AI age. The tools we have at our disposal to create content are mind blowing. But on the other hand, it means anyone can generate fake content and impersonate anyone. That's scary. AI equipped scammers and fake news spreaders scare me.
We're going to need a standard for proving that a piece of media comes from a real camera. We're going to need a trustable way to tell if an image has been generated or modified, and by which software. This can be achieved using cryptographic signatures. Each hardware and software that creates or modifies a piece of media can sign it with a private key, leaving a digital trace behind. There is ongoing work in that field, a promising one being the Coalition for Content Provenance and Authenticity (C2PA).
The problem is, where would we store these digital proofs of provenance? Can we trust a company to host that data? What if they start using it for their own benefits? The trust would be broken.
Once again, we need a shared, public cloud that can stay neutral. We can host the proof of provenances on this public infrastructure, making it immutable, trustable and accessible to everyone through an open API.
This would be a great solution to combat misinformation and scams. Social media apps and media outlets could read this data and display it back to their users, showing this digital trace that proves where each image and video comes from.
It’s a pain today to do international payments. Our money is silo’d to the country we live in for legacy reasons. If I want to share a bill with my friend visiting from overseas, my best option is to do a wire transfer which takes forever, has terrible UX and costs a lot in fees. This is one of the most direct usage of blockchains which people already use today - true peer to peer payments no matter where you are in the world.
What about in the future? What does payments look like 100 years from now?
You know how in Sci-Fi movies, you often see a character land their spaceship on a random space station or planet, then just walks to a bar and pay for a fresh galactic ale by just tapping his terminal on the bar tender’s terminal? Same when they're trying to buy a spaceship part from a dodgy repair shop. Just a terminal tap, the seller checks they got the credits, and that payment system somehow works across the galaxy. How do we get there?
Do we just need an intergalactic VISA network? What if the local space station bar doesn't take VISA cause they charge too much, or just doesn't reach there? And what if someone from another planet bought me a beer and I want to pay them back? Do I really need to find a space ATM to get some local paper credits? There has to be a better way.
Things would be so much simpler if could all agree on a digital money standard, something that works across borders, and eventually across planets. But we can't trust a single company or government to "run" money. We need a shared, public cloud that is and stays neutral forever. A digital space where we know our accounts and balances can't get erased or restricted, and where we have full control on our funds. A shared infrastructure where anyone can join and help run the network but no single entity can control. That’s how we get to global, and then intergalactic, peer to peer payments.
The public nature of blockchains also come with a few interesting technical properties for developers:
Identity, ownership and payments are primitives of the network - authentication is built-in, making a payment is one line of code
Open data - anyone can read anything, all programs have an open API by default
Open source - everything is open source, the programs and the platform that runs it. If you’re not open source, you’re not trusted
As a developer, these properties make it really nice to work with this tech. A real breeze of fresh air compared to traditional software, where most code is closed source and most APIs are restricted. That said, it certainly comes with new constraints. To me, that’s part of the fun!
Could we program a government system? Voting, taxes, treasury, roles, laws… we totally build a system like that with code. How should this system to be built? We’re talking about a democratic system of course, so It has to be open source. It has to be transparent. It has to be run on public cloud infrastructure.
Imagine a bunch of nerds starting a Github repo - New Release!
World Government (Alpha) v0.2.1 - they just implemented a clever tax redistribution system and deployed it onchain. It’s written in Rust, so the repo goes viral (they claim it’s a blazing fast). Smart, engaged engineers all over the world start contributing to it. Since it’s open source, anyone can add their small or large contribution to the future of government. Lots of excitement, and very heated discussions in the pull requests. Changes to the system have to be voted on. Every single deployment, program call, money transfer is publicly readable.
The system evolves to a fully featured democracy. A small country notices it, and decide to give it a run. The system works quite well, but they realize there’s still possibility of human corruption in the mix, so they put a specially trained GPT-9 agent in charge. The country votes every month on changes proposed by the AI governor from their phones -
Important Notification: Vote on the new proposal change of distribution of taxes, +2% education budget, -2% military budget [yes] [no] [learn more]. If the majority of the population accepts, changes are effective immediately. They can also suggest changes from their phones, and the country can upvote these changes to prioritize national voting on it. Taxes are automated, and tax spending is public and trackable in real time.
I could keep going on this thought experiment for hours… what’s crazy is that the technology is pretty much here, that scenario could actually happen (not saying it should, lots of wholes in that utopia). But I can only imagine this techno government actually working now that I know blockchains are true public digital spaces, without that, the whole idea of a techno government falls flat.
If you’ve read this far, I hope I was able to give you a different perspective on web3. To me it’s all about building applications on top of this self sustainable public cloud infrastructure, run by an open community rather than a single company.
Humanity is going digital, there’s no stopping that. But we can decide where and how to build our digital society.
I believe it should happen on a true public cloud, a digital space where we can all build our own internet homes, instead of renting closed-off digital rooms from internet landlords who can evict us at any time.
That’s why I work in web3.