We’ve had some amazing work in the recent months on our P2P layer, made our messaging much more reliable and less traffic-hungry, optimized it for mobile devices usage patterns and made messaging latency lower and more predictable.
At the same time, we slowly started pivoting from a promise of being a truly decentralized system (by “truly decentralized” I mean the level of decentralization in Ethereum network; let’s assume it’s decentralized enough for our case) to the system that relies on a fleet of servers owned by Status, with a hope of developing incentivization strategy that will allow scale the cluster by other users running status server.
In other words, there are clearly some notable and real mismatches between Ethereum P2P implementation and our needs/limitations as a mobile (I hope some more specific details will be described in this thread). We have two options:
- Continue to focus on Ethereum Network as our P2P layer and be an Ethereum citizen. This implies heavy investment into Ethereum ecosystem, developing Whisper, Swarm or whatever it’ll be in the future the bases of Ethereum.
- Build our own solution, run and rely on own cluster, incompatible with Ethereum and come up with the solution for incentivizing people to run our software.
The first option, in my opinion, puts notable limitations on what we can do and somehow on the speed of development too. We constrained by the Ethereum network properties and design decisions that might be suboptimal for our case. It’s our responsibility to choose the right trade-offs and find the best solutions under this constraints and do our best to contribute into ethereum official implementation and/or specifications to continue to be a part of the Ethereum network and meet our needs.
The second option gives us much more flexibility, control and guarantees over performance and reliability of an app. We’re free to implement our own protocols and solutions and optimize them for mobile networks as much as we want. Considering the unclear future of Whisper protocol (some people suggested its development can be discontinued at some point), we’ll be unaffected by whatever is happening on that side of Ethereum development. However, this option is clearly a pivot to our initial strategy of being a part of the Ethereum ecosystem.
Let’s use this thread to synchronize on what’s future we want for Status because this pivot is already happening and I don’t sync everyone on the same page as for the Status and Ethereum future. I’ll put my personal take on it in the first comment.