Thanks a lot for clarifying the main intent of this request was removal of unicast communications from Cyphal.
I am really glad that we are close to the deal breaking point. At Amazon, we account data, industrial proof, research/docs as a main source of technical decisions.
Some emotions are actually fine as we are humans and not robots (yet,
Can you please defend those really bold statements with data, proof links, opinions from a few industry experts, any other similar industrial systems? You stated:
- Unicast/p2p are not important, irrelevant and anti-pattern for Cyphal
- Possibility to implement Cyphal network without service traffic (i.e. p2p) at all
- Unicast/p2p is 1% of use cases
The exact data points against those statements (but proofs and exact usecases requiring unicast p2p communications) are as follows:
Security
Authentication and authorization require p2p communication. Otherwise it is an immediate security threat welcoming man-in-the-middle attack.
Moreover, multicast groups do not even allow to determine the COUNT of participants in the group. So, it is like allowing a group of random people staying around your at the ATM without knowledge the size of that group and detecting if it is present at all!
Can you please get feedback from industry experts regarding a multicast scenario for authentication/authorization in a highly secure and sensitive system?
My feedback - it makes no sense by definition: the exact single authority approves a specific device via direct and non-altered communications.
Encryption
Maintaining keys and security certificates requires p2p communication. We do not want keys leakage or even worse (replacement!) by a man-in-the-middle on a pub/sub group.
Firmware update
This is a sensitive part of the system and has to be directly delivered to the specific device. Moreover, the host needs to control the process of updating each node - it implies p2p communication.
Security is paramount here as well and we do not want firmware update process being intercepted or altered.
Configuration Management
Also highly sensitive and very device specific. This is p2p communication. There is nothing about pub/sub here, but direct communication between a single authority and a specific device being configured.
Device Calibration
This is specific 1-to-1 communication following a special procedure (i.e. a state machine) to calibrate an individual device. I.e. a bunch of service messages (commands, responses). It also needs to be highly secure, protected and not altered.
Retrieving logs
A simple use case of collecting/persisting all the network communications within the embedded system and then uploading for offline analysis, auditing, some other online analytics, etc.
Thats essentionally the entire 100% of production traffic to be delivered via unicast p2p logs retrieval process. I really don’t see any ground in your statement of 1% number of unicast communications…
And that process can be done all the times - either constantly in realtime, or at some specific moments (Like after completing some major parts of operations)
File transfers
It is close to the logs use cases above, but more generic. This is exact p2p communication of sensitive information.
"Safety device"
Most of aerospace (and some others) have a concept of a redundant safety device to be used for post mortem analysis after crashes of the main system. It is p2p highly secure communication here on recovering data from this device and we also do not want communication being altered or intercepted.
External Systems integration: cloud, other networks
Connecting to some bridge, cloud, or other external network requires unicast p2p access in general. I’ve provided some specific integration examples above and they can be extrapolated to any external cloud, network, orchestration, etc. system.