  This paper explores the problem of reaching approximate consensus in
synchronous point-to-point networks, where each pair of nodes is able to
communicate with each other directly and reliably. We consider the mobile
Byzantine fault model proposed by Garay '94 -- in the model, an omniscient
adversary can corrupt up to $f$ nodes in each round, and at the beginning of
each round, faults may "move" in the system (i.e., different sets of nodes may
become faulty in different rounds). Recent work by Bonomi et al. '16 proposed a
simple iterative approximate consensus algorithm which requires at least $4f+1$
nodes. This paper proposes a novel technique of using "confession" (a mechanism
to allow others to ignore past behavior) and a variant of reliable broadcast to
improve the fault-tolerance level. In particular, we present an approximate
consensus algorithm that requires only $\lceil 7f/2\rceil + 1$ nodes, an
$\lfloor f/2 \rfloor$ improvement over the state-of-the-art algorithms.
Moreover, we also show that the proposed algorithm is optimal within a family
of round-based algorithms.
