1. A method of distributed averaging on a network having a plurality of nodes, each node having an initial state value, comprising: generating a message at a sending node including the sending node state value and sending it to a receiving node; generating a modified value at the receiving node using the sending node state value and a receiving node step-wise value; updating the receiving node state value using the modified value; returning the modified value to the sending node.