Project Board: https://github.com/orgs/status-im/projects/35
The idea here is to provide a way to make Mail Server nodes discoverable and trusted. This should work seamlessly for the end user.
Currently, Mail Servers (and other planned server nodes like Push Notification servers) need to be hardcoded in the app code. It’s possible to provide your own Mail Server in the app settings but that’s not a scalable solution and it does not solve all issues.
The outcome of this swarm are decentralized and discoverable Mail Servers which will initially be managed and trusted by Status. The client will still accept user’s custom Mail Servers.
In the next iterations, we may work on a solution to allow external providers to submit their own Mail Servers into the cluster and allow end users to accept these resources as trusted. The list of providers and their resource could be managed by Token-Curated Registries, for instance.
The work in this swarm can be divided into three areas:
The smart contract should implement the complete interface that will allow managing providers and their resources. The client will have an option to decide which providers it trusts. Status will be a default provider and by default the app will trust it.
Due to the fact that all Mail Servers are supposed to be equal and independent (in other words, they should store the same messages, possibly in different order though), we will be able to remove all hardcoded Mail Server addresses from the client and rely only on discovered Mail Servers. This will allow Status to dynamically scale number of resources depending on the usage.
Note Important thing is that this solution should be flexible for other server nodes. It should be easy to introduce new resources, as long as a particular group of servers is discoverable, the client verifies them using a smart contract and can choose arbitrary one to continue.
Goal Date: 2018-07-22
Goal Date: TBD
Copyright and related rights waived via CC0.