I would like to study the differences between Keyhotee and BitMessage, especially about following parts, as I cannot understand how Keyhotee design them:
1. Message Transfer:Quote from BM:
If the time in a message is too old, peers will not relay it. If the sender of a message did not
receive an acknowledgement and wishes to rebroadcast his message, he must update the time and
recompute the proof‐of‐work.
My question is that do Keyhotee have the same mechanism of old message? And do Keyhote hava ACK?
2. ScalabilityBM:
If all nodes receive all messages, it is natural to be concerned about the system’s scalability. To address
this, we propose that after the number of messages being sent through the Bitmessage network reaches a
certain threshold, nodes begin to self‐segregate into large clusters or streams. Users would start out using
only stream 1. The stream number is encoded into each address. Streams are arranged in a hierarchy.
For Keyhotee, is it the same with BM that "all nodes receive all messages", how are those messages are stored on the network/nodes? or just not stored?
3. Behavior when the receiver is offlineWe propose that nodes store all objects for two days and then delete them. Nodes joining the network request a list of objects from their peer and
download the objects that they do not have. Thus they willreceive all messages bound forthem that were
broadcast during the last two days. If a node is offline for more than two days, the sending node will
notice that it never received an acknowledgement and rebroadcasts the message after an additional two
days. It will continue to rebroadcast the message, with exponential backoff, forever.
Any difference for Keyhotee?
References:
https://bitmessage.org/bitmessage.pdf