Итого: нужен второй пароль в самом локальном клиенте.
Первый для входа в кошелёк в режиме форжинга (эдакий предбанник), второй - для совершения действий (символьный, ответ на вопрос или требующий какой-то файл для сравнения с изначально скормленным клиенту).
Прекратите называть приватный ключ паролем - и всё станет немного понятней

Ну, точнее, из пароля однозначным алгоритмом генерится публичный и приватный ключ, из публичного потом однозначным алгоритмом вытягивается номер аккаунта.
Несколько недель назад предлагался такой более-менее конструктивный и реализуемый вариант:
- по умолчанию всё работает как есть
- аккаунт может отправить в сеть специальную транзакцию с ещё одним публичным ключом (ака "юзер ввёл ещё один пароль")
- после этого первый ключ используется только для форжинга, а второй ключ - для подписывания транзакций на отправку.
Второй пункт обязателен, сеть должна знать публичный ключ.
Второй пункт не отменит перебор паролей злоумышленниками, но позволит разделить форжинг и отправку денег.