votes would have to be modeled with at least - ip address - timestamp - timestamp, rounded to nearest granular increment (probably, hourly) - vote type - associated account we would probably certify the votes after some time, to avoid accumulating piles of ballots.