Steven Jewel
unread,Mar 8, 2014, 4:25:06 PM3/8/14Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to clearsk...@googlegroups.com
Hello,
As I've been thinking about ITCs this week, I think it's possible
that they won't work for an edge case of our protocol.
The edge case is something that might be important in practice. In
the "protocol_cleanup" branch, the read-only peers are able to spread
manifest updates to other peers. Since the updates are signed with the
read-write RSA key, this is a safe operation. However, in order for the
ITC mechanism to work properly, a fork() is needed each time the change
is sent to another peer, so that two peers don't end up with the same ID
component for a file. Since the message is signed, the read-only peers
can't make changes to the ITC without breaking the signature.
Since Vector Clocks and Version Vectors use the peer_id, they don't
share this problem, so I think we probably should switch to one of those
for now, even though ITCs would have been more efficient for us.
I will update the protocol in the protocol_cleanup branch
accordingly. Actually, I might defer this action for a few weeks so
that I can help with the C++ implementation instead, leaving a TODO in
the spec for now.
Steven