On 6/09/13 10:33 AM, realcr wrote:
Hi,
I was reading recently some information about asynchronous protocols
(For example byzantine agreement, reliable broadcast and some more). I
noticed that there are many articles about these subjects, some date
back to year 2000, though I haven't found any examples of making such
code work.
I refer you to
http://www.shoup.net/papers/abba.ps
for an example of such article.
In this article it seems like the author has the ability to call one
asynchronous protocol from the execution of another asynchronous
protocol, Though I could not find any specific explanation to the design
of such a system.
I will try to be more specific:
If protocol A calls protocol B twice during its execution, and during
the second execution of protocol B it sends some message, how does the
node on the other side of the line know whether the message sent refers
to the first execution of the B protocol, or to the second one?
I assume some of you had the opportunity to think about these kind of
challenges. Do you have an idea for a simple solution to resolve this,
or maybe do you know about an existing implementation?
Typically, I would not suggest that one ever rely on a lower protocol to
carry higher protocol-specific data. That way lies madness.
E.g., retries in payments will need to be eliminated at the payment
level with unique payment numbers embedded in every payment, and never
rely on a lower layer to sort out duplicates.
This even goes so far as to duplicate integrity checks. A lower layer
encryption protocol would like to have HMAC in there to ensure no nasty
stuff is being inserted in. But the higher layer would not then rely on
the HMAC as source of the packets, rather it would use digsigs to
identify key-based endpoints.
iang
_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers