Без серверная авторизация возможна, это когда вы генерируете приватный ключ ассиметричного шифрования (когда на клиенте 'создаете аккаунт') а публичный отправляете 'всем кто будет хотеть читать ваши сообщения', т.е. шифруя сообщения и вообще всю коммуникацию своим приватным ключом, прочитать его смогут только те кто будет расшифровывать их вашим публичным ключом (и кстати наоборот, чтобы вам послали сообщение - отправитель шифрует его публичным ключом, а вы расшифровываете его приватным).
т.е. формально тут нет авторизации, как процесс, но на клиентской стороне возможно приложение будет как то блокировать доступ к приватному ключу, дополнительно его шифруя паролем (для хранения на диске) и запрашивая его у пользователя.
Главная проблема, которую решают например децентрализованные сети по типу dht или как это сделано в криптовалютах, это в принципе организация передачи сообщений и первичная синхронизация, - нужно к кому то самому главному подключиться... т.е. сервер вам хоть какой то нужен, но не для авторизации а просто для коммуникации.
И конечно же главное неудобство для пользователя - его аккаунт не хранится где то на сервере, а размещен на диске пользователя, и для 'подключения' с другого усстройства необходимо эти приватные и публичные ключи как то синхронизировать между ними.
p.p.s. не майтесь дурью, сделайте все правильно на сервере.