[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

a simple explanation of DC-Net


The DC-Net is not very easy to understand.  I'll try to explain the most
important parts of the concept as simply as I can.

Let's say there are a number of participants in a DC-Net.  Each
participant shares a different one-time pad with each of several other

At most one participant can send one bit through the DC-Net per "round".
How does this work?  For each round i, a participant takes the i-th bit
of all the one-time pads that he has and XORs them together.  If he
doesn't want to send a bit, he just broadcasts the resulting bit to
every other participant.  If he DOES want to send a bit, then he
broadcasts the XOR of that resulting bit and the bit he wants to send.
When everyone has done this, each participant takes all of the bits that
has been broadcasted, and XORs them together.  This last action produces
the output of the DC-Net for the i-th round.

Suppose for the first round nobody wants to send a bit.  Since each one-
time pad is known by 2 participants, the first bit of each pad has been
XORed into the final output twice.  Since anything XORed by anything
twice equals itself, these two XORs cancel each other out.  And since
nothing else has been XORed into the output, the output must equal 0.

If one participant wanted to send a bit, however, then something else
HAS been XORed into the output.  Since all the bits from the one-time
pads cancel out, the output equals the bit he wanted to send.

Wei Dai

P.S.  I realize someone has probably written something like this
already, but I hope this explanation helps someone who is still
puzzled.  If nothing else, it serves as a sanity check on my own

Version: 2.6.2


E-mail: Wei Dai <[email protected]>   URL: "http://www.eskimo.com/~weidai"
=================== Exponential Increase of Complexity ===================
--> singularity --> atoms --> macromolecules --> biological evolution
--> central nervous systems --> symbolic communication --> homo sapiens
--> digital computers --> internetworking --> close-coupled automation
--> broadband brain-to-net connections --> artificial intelligence
--> distributed consciousness --> group minds --> ? ? ?