It follows from the definition of silent self-stabilization, and from the definition of proof-labeling scheme, that if there exists a silent self-stabilizing algorithm using l-bit registers for solving a task T, then there exists a proof-labeling scheme for T using registers of at most l bits. The first result in this paper is the converse to this statement. We show that if there exists a proof-labeling scheme for a task T, using l-bit registers, then there exists a silent self-stabilizing algorithm using registers of at most O(l + log n) bits for solving T, where n is the number of processes in the system. Therefore, as far as memory space is concerned, the design of silent self-stabilizing algorithms essentially boils down to the design of compact proof-labeling schemes. The second result in this paper addresses time complexity. We show that, for every task T with k-bits output size in n-node networks, there exists a silent self-stabilizing algorithm solving T in O(n) rounds, using registers of O(n2 + kn) bits. Therefore, as far as running time is concerned, every task has a silent self-stabilizing algorithm converging in a linear number of rounds.