"Хранение закрытых ключей. Ключи на сервер не передаются, они шифруются фразой пользователя на стороне пользователя и шифрованными отправляются на сервер" - а где гарантия, что это действительно так? отдав закрытые ключи можно в один прекрасный момент всех денег лишиться.
Естественно это все на нашей совести, но тех специалист может отследить трафик и проверить.
Самое узкое место. Возможно, стоит предусмотреть другой механизм без передачи закрытых ключей, пусть даже и зашифрованных?