Common use of Protocol Overview Clause in Contracts

Protocol Overview. The basic protocol operates in two phases, after which a possible decision is taken. Each pro- cess maintains an estimate. In the first phase, each process broadcasts its estimate using a reliable broadcast service, bv-broadcast (discussed below), as introduced previously [1]. The protocol uses a rotating coordinator; whoever is the as- signed coordinator for a round broadcasts its estimate with a special designation. All processes then wait until they receive at least one mes- sage, and until a timer expires. (The timeout is increased with each iteration, so that eventually once the network stabilizes it is long enough.) If a process receives a message from the coordinator, then it chooses the coordinator’s value to “echo”, i.e., to rebroadcast to everyone in the second phase. Other- wise, it simply echoes all the messages received in the first phase. − − At this point, each process pi waits until it receives enough compatible ECHO messages. Specifically, it waits to receive at least (n t0) messages sent by distinct processes where every value in those messages was also received by pi in the first phase. In this case, it adopts the collection of values in those (n t0) messages as its candidate set. In fact, if a − process pi receives a set of (n t0) messages that all contain exactly the coordinator’s value, then it chooses only that value as the candidate value. Finally, the processes try to come to a decision. If process pi has only one candidate value v, then pi adopts that value v as its estimate. In that case, it can decide v if it matches the parity of the round, i.e., if v = ri mod 2. Otherwise, if pi has more than one candidate value, then it adopts as its estimate ri mod 2, the parity of the round. − − To see that this ensures agreement (when t < n/3), consider a round in which some process pi decides value v = ri mod 2. Since pi receives (n t0) echo messages containing only the value v, we know that every honest process must have value v in every possible set of (n t0) echo messages, and hence every honest process included v in its candidate set. Every honest process that only had v as a candidate also decided

Appears in 1 contract

Samples: gramoli.redbellyblockchain.io

AutoNDA by SimpleDocs

Protocol Overview. The basic protocol operates in two phases, after which a possible pos- sible decision is taken. Each pro- cess process maintains an estimate. In the first phase, each process broadcasts its estimate using a reliable broadcast service, bv-broadcast (discussed below), as introduced previously [1]. The protocol uses a rotating coordinator; whoever is the as- signed assigned coordinator for a round broadcasts its estimate with a special designation. All processes then wait until they receive at least one mes- sagemessage, and until a timer expires. (The timeout is increased with each iteration, so that eventually once the network stabilizes it is long enough.) If a process receives a message from the coordinator, then it chooses the coordinator’s value to “echo”, i.e., to rebroadcast to everyone in the second phase. Other- wiseOtherwise, it simply echoes all the messages received in the first phase. − − At this point, each process pi 𝑝𝑖 waits until it receives enough − − − compatible ECHO messages. Specifically, it waits to receive at least (n t0𝑛 𝑡0) messages sent by distinct processes where every value in those messages was also received by pi 𝑝𝑖 in the first phase. In this case, it adopts the collection of values in those (n t0𝑛 𝑡0) messages as its candidate set. In fact, if a process pi 𝑝𝑖 receives a set of (n t0𝑛 𝑡0) messages that all contain exactly the coordinator’s value, then it chooses only that value as the candidate value. Finally, the processes try to come to a decision. If process pi 𝑝𝑖 has only one candidate value v𝑣, then pi 𝑝𝑖 adopts that value v 𝑣 as its estimate. In that case, it can decide v 𝑣 if it matches the parity of the round, i.e., if v 𝑣 = ri 𝑟𝑖 mod 2. Otherwise, if pi 𝑝𝑖 has more than one candidate value, then it adopts as its estimate ri 𝑟𝑖 mod 2, the parity of the round. / − − + To see that this ensures agreement (when t 𝑡 < n/3𝑛 3), consider con- sider a round in which some process pi 𝑝𝑖 decides value v 𝑣 = ri 𝑟𝑖 mod 2. Since pi 𝑝𝑖 receives (n t0𝑛 𝑡0) echo messages containing only the value v𝑣, we know that every honest process must have value v 𝑣 in every possible set of (n t0𝑛 𝑡0) echo messages, and hence every honest process included v 𝑣 in its candidate set. Every honest process that only had v 𝑣 as a candidate also decideddecided 𝑣. The remaining honest processes must have adopted 𝑣 = 𝑟𝑖 mod 2 as their estimate when they adopted the parity bit of the round. And if all the honest processes begin a round 𝑟 with estimate 𝑣, then that is the only possible decision due to the reliable broadcast bv-broadcast in Phase 1 (see below) and all honest processes decide at round 𝑟 2 or earlier (regardless of whether 𝜏𝐺𝑆𝑇 is reached). / Processes always continue to make progress, if 𝑡 < 𝑛 3. Termination is a consequence of the coordinator: eventually, after GST when the network stabilizes, there is a round where Polygraph Algorithm 1 The Polygraph Protocol 1: bin-propose(𝑣𝑖 ): 2: est𝑖 = 𝑣𝑖 3: r𝑖 = 0 4: timeout𝑖 = 0 [ ] ∅ 5: ledgeri 0 = 6: repeat: d ← + 7: 𝑟𝑖 𝑟𝑖 1; increment the round number and the timeout ← + 8: timeout𝑖 timeout𝑖 1 ← − + d 9: coord𝑖 ((𝑟𝑖 1) mod 𝑛) 1 rotate the coordinator ⊲ Phase 1: [ ] [ − ] [ ] 10: bv-broadcast(EST 𝑟𝑖 , est𝑖 , ledger𝑖 𝑟𝑖 1 , 𝑖, bin_values𝑖 𝑟𝑖 ) binary value broadcast the current estimate

Appears in 1 contract

Samples: redbellyrw.cluster021.hosting.ovh.net

Protocol Overview. The basic protocol operates in two phases, after which a possible pos- sible decision is taken. Each pro- cess process maintains an estimate. In the first phase, each process broadcasts its estimate using a reliable broadcast service, bv-broadcast (discussed below), as introduced previously [1]. The protocol uses a rotating coordinator; whoever is the as- signed assigned coordinator for a round broadcasts its estimate with a special designation. All processes then wait until they receive at least one mes- sagemessage, and until a timer expires. (The timeout is increased with each iteration, so that eventually once the network stabilizes it is long enough.) If a process receives a message from the coordinator, then it chooses the coordinator’s value to “echo”łechož, i.e., to rebroadcast to everyone in the second phase. Other- wiseOtherwise, it simply echoes all the messages received in the first phase. − − At this point, each process pi 𝑝𝑖 waits until it receives enough compatible ECHO messages. Specifically, it waits to receive at least (n t0𝑛 − 𝑡0) messages sent by distinct processes where every value in those messages was also received by pi 𝑝𝑖 in the first phase. In this case, it adopts the collection of values in those (n t0𝑛 − 𝑡0) messages as its candidate set. In fact, if a process pi 𝑝𝑖 receives a set of (n t0𝑛 − 𝑡0) messages that all contain exactly the coordinator’s value, then it chooses only that value as the candidate value. Finally, the processes try to come to a decision. If process pi 𝑝𝑖 has only one candidate value v𝑣, then pi 𝑝𝑖 adopts that value v 𝑣 as its estimate. In that case, it can decide v 𝑣 if it matches the parity of the round, i.e., if v 𝑣 = ri 𝑟𝑖 mod 2. Otherwise, if pi 𝑝𝑖 has more than one candidate value, then it adopts as its estimate ri 𝑟𝑖 mod 2, the parity of the round. − − To see that this ensures agreement (when t 𝑡 < n/3𝑛/3), consider con- sider a round in which some process pi 𝑝𝑖 decides value v 𝑣 = ri 𝑟𝑖 mod 2. Since pi 𝑝𝑖 receives (n t0𝑛 − 𝑡0) echo messages containing only the value v𝑣, we know that every honest process must have value v 𝑣 in every possible set of (n t0𝑛 − 𝑡0) echo messages, and hence every honest process included v 𝑣 in its candidate set. Every honest process that only had v 𝑣 as a candidate also decideddecided 𝑣. The remaining honest processes must have adopted 𝑣 = 𝑟𝑖 mod 2 as their estimate when they adopted the parity bit of the round. And if all the honest processes begin a round 𝑟 with estimate 𝑣, then that is the only possible decision due to the reliable broadcast bv-broadcast in Phase 1 (see below) and all honest processes decide at round 𝑟 + 2 or earlier (regardless of whether 𝜏𝐺𝑆𝑇 is reached). Processes always continue to make progress, if 𝑡 < 𝑛/3. Termination is a consequence of the coordinator: eventually, after GST when the network stabilizes, there is a round where the coordinator is honest and the timeout is larger than the message delay. At this point, every honest process receives Polygraph Algorithm 1 The Polygraph Protocol 1: bin-propose(𝑣𝑖 ): 2: est𝑖 = 𝑣𝑖 3: r𝑖 = 0 4: timeout𝑖 = 0 5: ledgeri [0 ] = ∅

Appears in 1 contract

Samples: Accountable Byzantine Agreement

AutoNDA by SimpleDocs

Protocol Overview. The basic protocol operates in two phases, after which a possible pos- sible decision is taken. Each pro- cess process maintains an estimate. In the first phase, each process broadcasts its estimate using a reliable broadcast service, bv-broadcast (discussed below), as introduced previously [1]. The protocol uses a rotating coordinator; whoever is the as- signed assigned coordinator for a round broadcasts its estimate with a special designation. All processes then wait until they receive at least one mes- sagemessage, and until a timer expires. (The timeout is increased with each iteration, so that eventually once the network stabilizes it is long enough.) If a process receives a message from the coordinator, then it chooses the coordinator’s value to “echo”, i.e., to rebroadcast to everyone in the second phase. Other- wiseOtherwise, it simply echoes all the messages received in the first phase. − − At this point, each process pi 𝑝𝑖 waits until it receives enough − − − compatible ECHO messages. Specifically, it waits to receive at least (n t0𝑛 𝑡0) messages sent by distinct processes where every value in those messages was also received by pi 𝑝𝑖 in the first phase. In this case, it adopts the collection of values in those (n t0𝑛 𝑡0) messages as its candidate set. In fact, if a process pi 𝑝𝑖 receives a set of (n t0𝑛 𝑡0) messages that all contain exactly the coordinator’s value, then it chooses only that value as the candidate value. Finally, the processes try to come to a decision. If process pi 𝑝𝑖 has only one candidate value v𝑣, then pi 𝑝𝑖 adopts that value v 𝑣 as its estimate. In that case, it can decide v 𝑣 if it matches the parity of the round, i.e., if v 𝑣 = ri 𝑟𝑖 mod 2. Otherwise, if pi 𝑝𝑖 has more than one candidate value, then it adopts as its estimate ri 𝑟𝑖 mod 2, the parity of the round. / − − + To see that this ensures agreement (when t 𝑡 < n/3𝑛 3), consider con- sider a round in which some process pi 𝑝𝑖 decides value v 𝑣 = ri 𝑟𝑖 mod 2. Since pi 𝑝𝑖 receives (n t0𝑛 𝑡0) echo messages containing only the value v𝑣, we know that every honest process must have value v 𝑣 in every possible set of (n t0𝑛 𝑡0) echo messages, and hence every honest process included v 𝑣 in its candidate set. Every honest process that only had v 𝑣 as a candidate also decideddecided 𝑣. The remaining honest processes must have adopted 𝑣 = 𝑟𝑖 mod 2 as their estimate when they adopted the parity bit of the round. And if all the honest processes begin a round 𝑟 with estimate 𝑣, then that is the only possible decision due to the reliable broadcast bv-broadcast in Phase 1 (see below) and all honest processes decide at round 𝑟 2 or earlier (regardless of whether 𝜏𝐺𝑆𝑇 is reached). / Processes always continue to make progress, if 𝑡 < 𝑛 3. Termination is a consequence of the coordinator: eventually, after GST when the network stabilizes, there is a round where the coordinator is honest and the timeout is larger than the message delay. At this point, every honest process receives Polygraph Algorithm 1 The Polygraph Protocol 1: bin-propose(𝑣𝑖 ): 2: est𝑖 = 𝑣𝑖 3: r𝑖 = 0 4: timeout𝑖 = 0 [ ] ∅ 5: ledgeri 0 = 6: repeat: d ← + 7: 𝑟𝑖 𝑟𝑖 1; increment the round number and the timeout ← + 8: timeout𝑖 timeout𝑖 1 ← − + d 9: coord𝑖 ((𝑟𝑖 1) mod 𝑛) 1 rotate the coordinator ⊲ Phase 1: [ ] [ − ] 10: bv-broadcast(EST 𝑟𝑖 , est𝑖 , ledger𝑖 𝑟𝑖 1 , 𝑖, bin_values𝑖 ) binary value broadcast the current estimate

Appears in 1 contract

Samples: Accountable Byzantine Agreement

Time is Money Join Law Insider Premium to draft better contracts faster.