1. Если север предназначен только для роли openvpn, то виртуалки дадут только оверхед. 2. Количество пользователей совсем не показатель, их может быть сколь угодно. Вы упретесь либо в ширину канала (медного или оптического порта), либо в CPU при шифровании. Если же не упретесь, то пользователей хоть миллион.
Допустим комиссия 10%. На счете 1000 рублей. Нужно перевести 100 руб. адресату. Соответственно перед созданием платежа считаем сумму перевода.
$amount = 100 - (100 * 0.1) // 90
Теперь вы переводите 90 руб. и 10 руб. комиссии остается в системе. Я правильно понял?