Есть желание реализовать некий сервис на основе приложения для Android
Теоретически возможно, практически - нереально.
Поясню - децентрализованная БД предполагает хранение и обработку на стороне клиента. Т.е у клиента должны быть ресурсы для хранения, обработки и передачи данных.
Android это фактически синоним мобильных устройств, а на мобильных устройствах с ресурсами то, как раз и проблема.
Емкости хранения небольшие.
Производительность процессора довольно низкая, любые процессорные операции быстро садят батарейку.
Трафик зачастую дорогой, канал в интернет не особо широкий и стабильный, пинг ужасный.
В итоге реализовать вы предположим реализуете.
Но это приложение в процессе работы будет потреблять кучу трафика, и быстро садить батарейку.
Поэтому использовать его будет проблематично.
Как устройства могут находить друг друга в Интернете? Интересно именно в архитектурном плане.
Абсолютной децентралиции до сих пор не придумали. Есть частичная. Например DHT в торрентах, и подобные.
Принцип обычно такой - есть список заранее определенных серверов, зашитый в клиент, там берется список других нод, а дальше уже запрашиваем по определенному алгоритму у известных нод, требуемую нам информацию. Поиск идет довольно медленно, но вполне эффективно. Начните читать отсюда -
https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D...