What is Cellular Automata?

Cellular Automata is a concept we have been very interested in for a while now. In layman’s terms, it is a powerful tool to model complex systems by using simple rules. It has been applied in artificial intelligence such as neural network, network routing, and cryptography.

Cellular Automata has a few unique characteristics that are extremely attractive for network routing as well as scalable consensus algorithm:

  • Truly equal peers
  • Simple rules
  • Native parallel processing
  • Dynamic
  • Decentralized: local decision, global impact
  • Open and expandable

By finding the right rules and initial state, you can classify the system into 4 kinds of states. Class 1 “Homogeneous and Stable”, is very useful for consensus. Class 4 “Edge of Chaos”, can be explored for dynamic routing with some randomness.

We have witnessed failures of many over-complex software systems. Cellular Automata inspires us to solve complex network routing and consensus problem not by modelling the entire system, but rather focusing on the simple rules that define how individual nodes interact with each other. This is the essence of decentralized system, and Cellular Automata concept fits right in.