Еще к карточке и ее защите добавлю пару слов. СУБД должна использоваться такая, чтоб в ней отсутствовала команда удаления записи и исправления. Только добавление новой с кодом (исправление, сторнирование - т.е. то же, только с минусом, и т.п.). Возможно, что для этого нужно написать или модифицировать какую-либо СУБД. Но тогда будет невозможно, а в случае посягательств хакеров, легко исправимо любое несанкционированное вмешательство. Получится некоторая избыточность, но с современными ПО и серверами хранить данные 150 миллионов человек - не проблема!