After the connection handshake the human handshake needs to happen we mark the old and new keys when they are used for messages
Async Distributed Key Verification including conditional overtime mutation Archives the goal of Ultra High Security applyed async out of band does not effect core throughput of data Is able to verify and discard or quarantäne data.
const Peer1 = {
answerKeysArchive: [""],
answerKeys: [""], // we store his hist publicKeys that we can use to send messages
currentKeys: [""], // partial set of answerKeys that indicate if we should take more actions like gen new offeredKeys after manual verification or use the old once.
offeredKeysArchive: [""],
offeredKeys: [""], // All keys we issued to him for use to send us messages.
}
// We verify how many of the publicKeys he can verify with his private keys that he knows
// then we decide by human interaction via a external connection if we accept the new key or not.
// when we accept that key we give him a new individual public key from us so that he can verify that he
// has talked to us already
sendNewPublicKeyForPeer(Peer1)