I've recently learned about the P language (https://github.com/p-org/P/wiki/Introduction-to-P-language) which seems like a good attempt to make reasoning about multi-party asynchronous protocols easier.
Are there other innovations in this space that make reasoning about systems easier? I'm thinking specifically about peer-to-peer protocols where there can be several parties (as opposed to client-server architectures).
Ask HN: What are the best ways to reason about async protocols? | Heykuki News