Since it looks like there’s about to be an uptick in development on the host, I wanted to discuss a couple of things that we’ve tried to leave room for as we’ve built the host. As you know, Sia is and always has been a super long term project, and I would attribute a majority of our ability to ship a working decentralized storage network to our forward thinking and perpetual habit of building room for ourselves to do fancier things in the future.
That said, I wanted to highlight a couple of features that have been on our minds for a while, and request that future host development leave space to add these features in at some point:
Probabilistic Chaumian Ephemeral Accounts
Skynet research has come up with a way to make the ephemeral accounts on the host anonymous. This is effectively a chaumian bank with a probabilistic component to it. If Sia is ever going to support strong privacy, anonymous ways to pay hosts is an absolute requirement.
This is something we’ve been thinking about since 2015. For a large number of reasons, it would be really great if hosts could form contracts with each other and route requests to each other. Ideally, these requests would be fully generic, giving routed requests access to the entire range of RPCs on a host.
One immediately obvious benefit to this is the ability to download content from hosts without needing to have file contracts with them. You could use the host network itself as a method of bootstrapping a bunch of EAs for a webclient, rather than needing a more complicated and less common setup like a full Skynet portal.
Another large benefit to this is privacy and anonymity. If you can bounce requests around to a few hosts before making a full download, you can hide your IP address from the entity that knows which content you are accessing. Combining this with PCEAs allows you to not only hide your IP address, but also hide your source of payment.
Open Web Requests
Another feature that I would really like to add to the host is the ability for the host to take a request and forward that request to the open Internet. More than just routing through other hosts on the Sia network, users could leverage the Sia host network as a full VPN. If you combine this with inter-host-routing, you would be able to access every major exit point on the Sia network for your normal web browsing even if none of your primary storage providers supported VPN functionality.
Aggregated File Contracts
This is something that we haven’t figured out how to do yet. But I’ve been looking for ways to aggregate file contracts (for scalability) and anonymize things like which data is connected to which file contract (for privacy). While there are a couple of good leads for achieving each, so far a proper solution hasn’t been discovered.