The Controller is the heart and brains of the entire framework. It consists of multiple daemon threads which handle all of the critical functions. Amoung these daemons threads functions are: Discovering Nodes, Maintaining Node heartbeats, Discovering new Jobs, Scheduling Jobs, and receiving incoming connections from Nodes.
BlindEyes is not designed to work with multiple Controllers. The design is 1 Controller to n Nodes. However, if each controller connected to a separate database, then yes, multiple Controllers could be used.
All communication between the Nodes and the Controller is encrypted through SSL. An identical keystore is required for each Node that is going to be used with the Controller. You can generate the keystore (see Getting Started - BlindEyes) on any Node or the Controller and securely transport that keystore to each of the computers that require it. Make sure to update the blindeyes.properties file accordingly.