Chapter 4. Distributed Computing with General Weak Random Sources
4.3 The Constructions
4.3.1 Synchronous Network Extractors
4.3.1.7 Synchronous network extractor protocol
Now we describe our protocol for synchronous extractor. First we need a sub protocol, Protocol 4.3.22, a generalization of Protocol 4.3.10, for one round in the whole protocol.
Protocol 4.3.22. For a synchronous one round network
Player Inputs: There are two sets of players, A and B. Every player ui ∈ A has
a weak random string xi ∈ {0, 1}nand an optional r1× k somewhere random string
yi ∈ {0, 1}r1k
Player Outputs: For every player uj ∈ B, uj ends up with a supposed r2 × k
somewhere random string yj ∈ {0, 1}r2k
Sub-Routines and Parameters:
• Let IExt be a C source extractor as in Assumption 4.3.16. Let SRIExt be the Somewhere Random source vs. independent source extractor as in The- orem 3.5.10.
• |A| = (1 + α)t for some given constant α > 0.
• If this is the first round of the whole protocol, let D = C be the number of (n, k) sources IExt needs. Otherwise let D = O(log r1
log k) be the number of
independent sources SRIExt needs, when the somewhere random source has r1 rows. Construct an (N, M = |A|, D, α1 = 0.9α1+α, β1) AND-disperser G with
N ≤ M dD1, β1 ≥ µD1 as in Lemma 4.3.19.
• If D is a constant, let m = min{µD
1 N, 0.1αt} and construct the bipar-
tite expander H on 2N vertices promised by Theorem 4.3.8 with degree d2 = O((N/m)2). Otherwise let m = min{µD1 N,
|A|
2D} and construct an m-
expanding graph H on N vertices promised by Theorem 4.3.21 with degree d2 = O(NmpolylogN ). View H as a bipartite graph with N vertices on each
side. Identify each player in A with a vertex in [M ] and identify each player in B with a vertex in the left vertex set of H. Identify [N ] with the right vertex set of H.
Round 1 :
1. Every player ui ∈ A sends his random string xi and his somewhere
random string yi(if ui has such a string) to all the players in B.
2. For every player vj ∈ B, his corresponding vertex in H has d2 neighbors
in the right vertex set of H: wj1, ..., wjd2. Each of these neighbors wjq
in turn has D neighbors in [M ]. Let the D neighbors be uq1, ..., uqD and
without loss of generality assume q1 < q2 < ... < qD.
• If this is the first round of the whole protocol, compute sjq = IExt(xq1, xq2, ..., xqD). Otherwise compute sjq =
SRIExt(xq1, xq2, ..., xqD, yq1).
• Compute sjq for every neighbor wjq and form a d2 × k somewhere
We also need the following sub protocol, Protocol 4.3.23, which guarantees that if at least 3t honest players already get private random bits, then in the next round all the other honest players who haven’t announced their strings will get private random bits.
Protocol 4.3.23. For a synchronous one round network
Player Inputs: There are two sets of players, A and B. Every player ui ∈ A has
private random bits zi ∈ {0, 1}k
Player Outputs: For every honest player uj ∈ B, uj ends up with private random
bits zj ∈ {0, 1}m, while every honest player ui ∈ A still has 0.9k private random
bits left.
Sub-Routines and Parameters:
• Let Raz be the strong 2-sources extractor in Theorem 3.5.7. • |A| > 3t.
Round 1 :
1. Every player ui ∈ A takes 0.1 fraction of his private random bits zi, let
the fraction be yi and sends yi to all the players in B.
2. For every player uj ∈ B, let sj be the concatenation of all the yi received
from the players in A. Compute zj = Raz(sj, xj).
Protocol 4.3.24. For a synchronous network
Player Inputs: Every player ui has a weak random string xi ∈ {0, 1}n
Player Outputs: For some players uj, uj ends up with private random bits
zj ∈ {0, 1}m
Sub-Routines and Parameters:
• Protocol 4.3.22 and Protocol 4.3.23.
• Let BasicExt be the extractor in Theorem 3.5.11. • α > 0 is a given constant.
• R is given as the number of rounds of the protocol.
Divide p players into R + 1 disjoint sets A1, ..., AR+1, where |A1| = |A2| = ... =
|AR−1| = (1 + α)t and |AR| = min{p − (1 + α)(R − 1)t, 3(1 + α)t}. AR+1 is the set
of remaining players. It’s possible that AR+1 = Φ.
Round l, l = 1, ..., R − 1 : Run Protocol 4.3.22 with A = Al, B = Al+1 and
parameter α. In round 1, players in A don’t have the optional somewhere random strings yi. In subsequent rounds, players in A have the somewhere
random strings yi obtained by the end of the previous round.
Round R − 1 : At the end of round R − 1, player uj in AR computes zj =
BasicExt(xj, yj). Here xj is uj’s weak random string, yj is the somewhere
random string obtained by the end of this round.
Round R(Last Round) : If AR+1 6= Φ, run Protocol 4.3.23 with A = AR, B =
AR+1.