Liam Profile picture
Oct 6 29 tweets 9 min read
Has OFAC violated your rights?
You may be entitled to decentralization

..............

Introducing Dappnet 🍸
Dappnet resists capture
It's a permissionless application network
built on @ipfs and @ensdomains
The problem - we access dapps right now through DNS and servers, but they can be taken down, censored, captured, and seized from us at any time
The solution to this so far has been using the ENS decentralized name system, and hosting the content of dapps on IPFS - a BitTorrent-like P2P network
ENS names can't be seized, and IPFS cannot be censored. When one node is censored on IPFS, others can take its place, permissionlessly.
Currently the best way to use dapps deployed on ENS/IPFS is by using an ENS gateway like eth.limo

Gateways make the UX simple for users - simply visit tornadocash.eth.limo, and the gateway will handle resolving the ENS domain to its content on IPFS
However these gateways always fail, because they are centralized.

tornadocash.eth.limo

Go on, click it. You can't access Tornado, because eth.limo is US based, and they had to censor it.
Another big gateway, eth.link, went down earlier this year because the DNS owner, Virgil Griffith, was put in prison and he couldn't renew it.

(my heart goes out to that legend, btw)
This will happen, time and time again, because centralized servers don't work for decentralized apps.

They either get censored, start enforcing restrictions because of political pressure, or run out of money.
The only solution is true decentralization - putting IPFS/ENS tech into the browser.

and you know the big brain illuminati is thinking about this too-
So, a couple weeks ago, as I was being helped by the incredible @GuthL & @gregoireljda on figuring out a GTM for my decentralized database network, Goliath, I got thinking - fuck, this wouldn't be too hard to build?? I know exactly what it should look like.
So I straight hyperfocused and built it

Here's a demo of Dappnet in action-
This is the demo of the Dappnet client. One install and the user’s browser is upgraded to connect to dappnet.

Now anyone can access .eth domains like any other website, and they never have to configure ANYTHING.

https://uniswap.eth

It’s just seamless, just beautifully simple
In the background, everything is downloaded P2P via the capture-resistant IPFS network.

The Dappnet client runs a local IPFS node in the background. The node is preconfigured to be fast - it automatically peers with big IPFS providers like Cloudflare and Fleek.
The client runs a local ENS gateway - equivalent to eth.limo or eth.link - but rewritten to run completely locally on the user’s machine.
And there are lots of other details that make this experience beautiful.

HTTPS everywhere for .eth, useful 404 error pages for .eth names (including linking out to ENS), linkouts to IPFS, etc.
All of this put together, means that for the first time ever we can own a place on the Internet that can’t be taken away from us, and doesn’t rely on a single host who dictates what is allowed.

I think that will have a profound impact for the web
For users, that means frontends can’t be censored. For the first time, .eth becomes a signal for public infrastructure - a website that won’t disappear, a tool that is accessible forever.
For protocols, that means greater operational freedom, security and workflows. An ENS frontend can be owned by a DAO, deployed and hosted permissionlessly.
More broadly tho, this makes the web a hyperstructure.

Imagine writing a blog, citing some links, and that can be read and built on by someone 1000yrs later.

Your content doesn't die with you, it can always be found on IPFS, and so on for the things you link out to.
There's lots to do before we get there though:

- We gotta improve IPFS: lighter nodes, imprv observability into dloads (nothing like # seeders/leechers atm), dissemination (how mirrored/pinned is this content), and better tooling
cc @juanbenet @ipfs
- We need to build decentralized Vercel for protocols. Right now it's extremely complicated to deploy to IPFS (chat to @dappbeast, he just did it for lyra) in a way which is truly decentralized (unlike Fleek).
It should be one-click - visit dapploy.eth, connect ENS, connect github, pay some $$ to the decentralized IPFS accelerator, and boom - your dapp is now available worldwide
To do that, we'd need an IPFS content accelerator - basically a pinning service that is fast and decentralized (like a protocol). So you could pay via smart contracts to seed IPFS content, decentralized unlike Pinata/Fleek, and provably fast
got some ideas brewing on this: potentially a chainlink-style trusted consortium which monitors the QoS (speed) of the decentralized seeder/pinning network. v2 could be true p2p, closer to eigentrust rep than anything else, collaboratively generated/shared using MPC/ZK tech
and finally, aside from the fun stuff - we need to make dappnet universally available - currently it works for macOS, on Chrome/FF.
So yeah! If this interests you, reach out :) My DM's are open, let's build something that changes the game
Last of all - to commemorate the death of dapp centralization, I'm launching an NFT.

When decentralized frontends are ubiquitous, you will have proof that you were there when it started.

Mint lasts 1 week. $ goes towards dev. Utility TBA

create.zora.co/collections/0x…
cheers to @litocoen for helping review this thread, @GuthL & @gregoireljda for their ongoing help, @shunkakinoki for believing in me, and @dappbeast for giving me feedback on launching too

this thread was sponsored by - fuck around and find out

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Liam

Liam Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @liamzebedee

Jun 7
The Ethereum database is such a beautiful monolithic bundling of so many things.

Indexes (logs), execution (EVM), sequencing (mempool), consensus (PoW + GHOST), data availability (coinbase)

Literally every aspect of this stack is being torn out and spun into its own protocol.
This may be my bias, but out of all the ecosystems I've played around in (eth, sol, cosmos, polka), Eth has the easiest model for composability - e.g. ERC20(0x123).transferFrom

It's like the Go of smart contracts. Really easy to understand and learn.
In terms of the UX of writing smart contracts, Cairo *currently* falls a bit short bc of some low-level frictions imo.

e.g. more complex mental model of variables (alloc_locals, let, tempvar), lack of string type

This should get better in the next 6mo though.
Read 29 tweets
May 5
Bizarre question. Is bitcoin a horizontally or vertically scaled database?
Here's my take - it's vertically scaled.

When you look at distributed systems, the replicated state machine method is one way of achieving a fault-tolerant design.

Bitcoin fits that definition of a BFT replicated state machine.
The inputs are transactions, the state is the ledger, and the ordering method is a distributed clock mechanism called proof-of-work.

en.wikipedia.org/wiki/State_mac…
Read 6 tweets
Apr 18
Deployed my first starknet contract tonight goerli.voyager.online/contract/0x064…
cairo doesn't have strings jfc it's early
I've recently gotten a grant from @StarkWareLtd to do some R&D into building a system on Cairo. Going to be using this thread to document my learnings :)
Read 91 tweets
Feb 15
problem I have - there's so many smart people writing amazing longform content on blogs. but the modern internet makes it nigh-impossible to find it
a lot of this content is from the pre-social media era.

e.g. I learnt so much from @gafferongames series on building a game networking protocol:
- UDP, TCP, packets, reliability, sequencing

which later led me to read about how source engine (cs;go, tf2) syncs world state
this content doesn't fit perfectly on wikipedia. The 1st person voice of bloggers/random stackoverflow answers has some massive educational role that wikis don't fill, for one reason or another
Read 13 tweets
Jul 13, 2020
This is my artificial pancreas. Changed the cron job last night so it would only run between 9pm and 7am (~ while I'm asleep).
Built a tool 🙆‍♂️ this weekend to annotate the glucose data from @NightscoutProj, so I could build a better view of different things like exercise, alcohol, etc.
Now the graphs have a date attached to them, and the visual design has a bit more breathing space.
Read 62 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(