0 sats \ 0 replies \ @l0k1 OP 16 Oct 2022 \ on: Indra Progress Megathread bitcoin
I promised I would make intermittent updates to this thread, and here I am with a new tidbit.
This post is about cipher modes. There is a number of strategies used with encryption of which AES is a most famous standard.
There is too many to mention but the essence of what I wanted to get at was that conventional AEAD, the most complex version that provides authentication with the encryption.
This, in combination with Galois Counter Mode produces the most common type of cipher used for arbitrary encryption streams.
After a bit of reading I decided that if I am using schnorr signatures to authenticate data, which combines a hash of a message in such a way that by taking that hash and combining it with the signature you get back the public key of the signer, then I don't need to use an authentication method, and for the sake of future acceleration, since Indra is a bulk throughput system, parallelisation of the decryption process would be desirable.
AEAD with GCM achieves this but wastes processing on authentication.
If one assumes that the messages are either small or the chains of messages that link into longer messages, contain error correction redundancy, or that message bursts are deliberately small so as to minimise packet loss errors, one does not need to worry about the "authentication" part of the process, as the complete assembled packet contains this, sooo, long story short, I decided that the best mode for Indra message encryption is CTR, which enables a message to be encrypted such that with the message key and any number of the fragments of the message each segment can be reliably decrypted if it is not corrupted, similar to GCM.
But the advantage is that if the message is already assembled using Reed Solomon forward error correction, a fixed ratio of the packets can be corrupted (and will be erased) and because of the use of a counter mode, only the first packet is critical, and as many of the rest as the error correction mode dictates, which is essentially a series of codes that duplicate segmetns of the data such that N of M segments yields the correct message without retransmission.
I have previously done a little work on, and started to build out a dynamic RS FEC system that has a retransmit request for failed transmits and an adjustment that is based on the failure rate of packets received that automatically increases redundancy as interference increases, and then as it decreases, dials back the redundancy
TCP is a protocol that was invented in the early days of the first DARPAnet and is still the primary transmission protocol. However, it is being steadily replaced by Google's QUIC protocol, which operates over UDP and has a more dynamic tolerance of failures in the routing path.
Because packets in Indra are travelling over potentially worst case transmission failure and transmission corruption, Indra will be using a segmenting Reed Solomon Forward Error Correction redundancy protocol with dynamic feedback adjustment, it will use CTR, which is an unauthenticated encryption mode, with secp256k1 schnorr signatures to authenticate the error correction protected packets.
Initial implementation will not include RS FEC redundancy, this will be added once the basic system is implemented and proven.
The point of all this is in eliminating signal latency. Because Indra inherently increases latency of signals by a base value of 3x due to its erratic 3 step pathways, it is worth consuming a little more bandwidth to eliminate the need for retransmission of failed packets. For optical connections, the packet drop rate is very low. But for radio based connections this can be intermittently high depending on all kinds of issues, including solar flares, jamming, and so on.
Part of the reason why Elon Musk is making a big titter about Starlink and Ukraine is because the transmission protocol used by Starlink uses Reed Solomon redundancy and has a higher failure tolerance than many of the more specialised and special frequency bands used by military radio systems.
Of course, the internet is better than all the things. And so, also, Indra must be better than all the internet.