Closed
Description
What is the best way to allow clients to communicate with consensus?
The story so far
Right now clients communicate with the core by sending transactions and certificates (forgetting non-safety critical sync messages).
What has to change
Clients still send transactions to the core. But to support shared objects, clients now have two options when sending their certificates: (i) either they send it to the core for normal processing, or (ii) they first send it to consensus and then send it to the core for normal processing. Option (i) is selected when there are no shared-objects involved in the transaction, and option (ii) is required when the transaction contains a shared object.