Giter Site home page Giter Site logo

dappnet-features's Introduction

image

dappnet feature tracker

Hey welcome!

This is an open feature tracker for Dappnet.

Here you'll find the features we're currently working on, and research and development we want to do!

- liam

FAQ's.

Why a separate feature tracking repo?

I want to cultivate a particular type of space which is quiet, thoughtful, and dedicated to maintaining an energy of experimentation. Crypto projects suffer from intolerable levels of noise, which detracts from focus. This has even moved into issue trackers on Github - and so for the peace of mind, this is a separate repo, focused on discussing features only (not bug requests, not "why have I lost my tokens", etc).

Why are you not publishing code yet?

There are some legal and commercial reasons why we can't share just yet. Fear not, we will make the core available soon.

dappnet-features's People

Contributors

liamzebedee avatar

Stargazers

zoz avatar freezer avatar Minho Ryang avatar Nazih Kalo avatar Loaf avatar Marcello Bardus avatar  avatar Jack McPherson avatar Javed Khan avatar

dappnet-features's Issues

Simple drop-in sharing

It's stupidly simple. But just drop a file in a folder, and then boom, it's being shared P2P across the network. Bonus points for the P2P file distribution cryptonetwork, where you stake to distribute files.

Hyperstructure Text Markup Language

this is a hackathon idea stemming from a zora tweet https://twitter.com/ZORAEngineering/status/1600968806645780480

imagine if NFT's were part of HTML? permalinks with IPFS were part of HTML?

ie.

  • <a href="https://cobie.substack.com/p/trading-the-metagame" className='dappnet'>essay</a>
  • <a href="https://cobie.substack.com/p/trading-the-metagame" ipfs-href='123132123123123123123123213'>essay</a>
  • <a href="https://archives.eth/IPNS key/20201232322/cobie.substack.com/p/trading-the-metagame" ipfs-href='123132123123123123123123213'>essay</a>
  • <a href="https://liamz.eth/archives/www.com/12312312">
  • <nft id="ethereum://0x1231312312312312/12"/>
  • and maybe even token-gating could be built-into HTML - ie. <gate conditions="ownerof nft"><nft id="ethereum://0x1231312312312312/12"/></gate>

Trustless updates

Right now updates are signed and delivered through a update centralized server / CDN.

mathew mcconoughhay voice couldn't you distribute em via dappnet itself?

ie. releases.dappnet.eth/v1.0.0.zip, which downloads via IPFS, and self-authenticates using the hash and ENS

image

Cached IPFS sites with gateway

idea:

  • dappnet hosts a custom IPFS gateway
  • the dappnet client automatically downloads from there, but checks hash of website against IPFS to ensure nothing is tampered with
  • gateway should cache frequently used IPFS sites and update on change
  • if gateway is down, connect to IPFS network as fallback

ordinals as websites

What if we embedded important datasets on bitcoin?

7128238283.bitcoin -> any bittorrent/ipfs hash

I think it'd be fun.

.eth domains are a bit annoying. Unlike normal websites, you can't really make dynamic paths like mywebsite.eth/model.zip. I like the idea of "hyperobjects" - that is, objects with permanent names. The problem with hashes is that they aren't exactly friendly - they are quite large. But maybe we could have a more interesting domain that is human readable, but not quite as subject to "land grabs" as ENS domains.

CLI tools

  • replacement for dig
  • replacement for curl
  • socks5 local proxy for .dapp domains?

Pre-launch checklist

  • replace SOCKS5 proxy with something prod-ready (Rust, based)
  • automatic updates for dappnet software
  • uncensorable/robust ENS lookups (#9)
  • publish the extension to chrome webstore. get screenshots to match their format.
  • publish extension to firefox webstore. get screenshots to match their format.
  • legal advice from Paradigm
  • Configure the launch apps - Uniswap needs to be fixed (https://twitter.com/liamzebedee/status/1620585011077578752)
  • Announcement
  • Download page + some sort of analytics

Simple utility for configuring a dynamic IP-based frontend

For example, say you want to get onto youtube at school (why I got into programming), dappnet is not going to allow you to do that. But if someone hosts a mirror of youtube on 4.5.6.7, and then sets up a domain youtube-mirror.eth, then maybe dappnet could route to it. For a user, they'd see a stable domain - youtube-mirror.eth. And for the proxy operator, they could easily update the IP if it changes or it gets censored.

This is something currently impractical with the current design, but would be really beneficial to support.

ENS but on L2's

Simple design - a resolver which points to an L2 deployment of ENS.

Why?

  • Cheaper.
  • 100x better than using IPNS - global consistency in 1s vs. 1-24h with inconsistency issues.

How?

  • A simple entry which points a resolver to L2.
  • Deploy ENS there.

ZK ENS domains

IPNS is not a great solution for dynamic content on .eth domains. It is an eventually consistent model, which suffers from all the same problems as DNS - stale caches. We live in 2022, and can design a better system. It's interesting because you can see people looking for the alternative - ie. DNSLink. DNSLink is where you put the IPNS key pointing to the new content, inside the DNS system, thus defeating the whole decentralization property. had a good chat with noah from uniswap about this.

Here's an idea:

  • an uncensorable domain (.eth)
  • with uncensorable content attached to it (ipfs/bittorrent)
  • that can be updated cheaply ($0.01c) - on an L2.
  • that is more reliable than IPNS - in that the domain content is consistently, rather than eventually consistent (up to 24h on the IPFS DHT to update an IPNS domain properly)
  • that is privately and anonymously owned - only data you can see is what the domain points to.

We can build this using ZK tools today. Here's a small proposal:

  • deploy a fork of ENS on an L2 like Optimism/Arbitrum
  • write a ZK circuit in Circom that allows people to anonymously buy domains.
  • write a ZK circuit in Circom that allows people to anonymously update domain content (contenthash).
  • see what happens

Marketplace for RPC providers with privacy

How much would you pay for an Ethereum RPC node that isn't susceptible to logging your IP and censoring your transactions? Zero setup, no config. All part of Dappnet, seamless UX.

It's not even that we would run the nodes. It could be an open marketplace of RPC node providers, and Dappnet governance curates providers that are reputable - after all, it'd be brittle to just trust one company to run nodes!

discussion - https://twitter.com/liamzebedee/status/1600291762320596993

Problems this solves:

Build browser based on Chromium Embedded Framework

CEF is a framework developed by Google engineers which exports an interface to the Chromium browser engine in C++. It's the basis of Electron, the new Arc browser, as well as the foundation for all the other "webview-based apps" like Spotify and Steam and so on.

Dappnet's client is significantly complicated by the fact that we need to make websites HTTPS-compatible, in order for the apps to function due to a myriad of complex undocumented web application security policies enforced by the browser (such as apps using websockets requiring only HTTPS connections, and other things). For Dappnet v1, the extension used a custom root CA installed on the user's machine - obviously not ideal.

An alternative is to build a browser akin to the Tor Browser, a fork of firefox, where .onion websites inherit similar permissions to HTTPS websites. I built a prototype of this using Electron but it had no browser address bar. It's also written in javascript, which just feels like the wrong tool to build a browser in.

So I am wondering - could we create a crypto web browser, like Brave but using CEF? Where apps are distributed in web packages, where any web page is saveable to a "webpackage" format and natively "pinnable" to a personal instance. Where the wallet is built-in at a browser level, but much more performant than an extension, which suffers from cold boot every single time.

Originally this idea seemed a bit too far fetched, in terms of my intuition whether it would be a good long-term technological bet. But after seeing this tweet, there is actually a mountain of evidence that the web platform is ossifying (much like the world has converged on Unix paradigms) and Chrome is the Linux of the web application OS:

https://twitter.com/fkasummer/status/1826890244873953466

Screenshot 2024-08-25 at 4 00 25 pm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.