@Micronix
В InstantSend выбираются 10 мастернод на каждый вход транзакции. Эти мастерноды как бы говорят "да, эта транзакция первая, которая тратит эти монеты" и подписываются под этим. Дальше вся сеть получает эти подписи и проверяет действительно ли эти мастерноды имели право "говорить" про этот вход, правильно ли подписано, нет ли конфликтующих и т.п. Если все ок, каждая нода в отдельности принимает для себя решение, что да, это действительно первая транзакция и начинает игнорировать все остальные попытки потратить эти монеты. Поскольку выбор мастернод детерминирован, то все синхронизированные ноды в идеале приходят к одному и тому же решению. Но поскольку синхронизация не может быть идеальной в силу разных причин, то не всегда список из 10 мастернод совпадает на всех нодах, однако простого большинства (6 мастернод из 10) для принятия такого решения тоже достаточно.
В PrivateSend ищутся пользователи, желающие перемешать те же номиналы, а не ту же сумму, сумма при поиске партнеров не раскрывается. Ждать 100% не нужно, если есть уже какой-то баланс PrivateSend - его можно тратить. "Завершена по таймауту" - да, скорее всего, просто нет достаточного количества пользователей с теми же номиналами либо Вам просто не везет и они перемешиваются между собой чаще. Все пользователи как бы бьются в тройки на каждую сессию, так что если вас там скажем 10 с одинаковаыми номиналами, то 3+3+3+1 и вот этому "1" не повезло и надо пробовать еще раз. Рандом в таймаутах должен сводить вероятность повторения ситуации, что "1" это все время один и тот же участник, почти к нулю, но "шанс все-таки есть" (с).