• No results found

Synchronous network extractor protocol

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.