Using Redundancy to Improve Robustness of Distributed Mechanism Implementations