• Nenhum resultado encontrado

F 2 corpo finito com dois elementos

7.3 Construção Escada no Modelo f cr híbrido

apenas c têm como objetivo atualizar os participantes sobre a criação ou reivindicação de algum depósito.

Por fim, ressaltamos que, ao fazer um depósito, o participante transfere o controle das moedas para fcr. Elas permanecem congeladas até que o depósito seja creditado ou reembolsado.

7.3 Construção Escada no Modelo fcr-híbrido

A Figura 7.1 esquematiza como o protocolo que chamamos de construção escada utiliza a funcionalidade fcr como uma “caixa preta”. Nessa seção vamos formalizar esse esquema,

definindo a construção escada no modelo modelo fcr-híbrido, isto é, com acesso oracular à fcr.

Definição 7.101 (Construção escada no modelo fcr-híbrido - BENTOV e KUMARESAN (2014)).

Seja {P1,··· ,Pm} um conjunto de participantes, (Divide,Reconstr´oi,Verifica) um EVCSm,m

como implementado na Definição 6.97 e (Etiquetas, Pedaços) o resultado da aplicação do algoritmo Divide a algum segredo z a ser reconstruído. Para todo i∈ {1,··· ,m}, assumimos que o participante Pipossui a lista Etiquetas e o valor Pedaçosi. Também assumimos que q é um

valor predefinido, utilizado como multa por aborto. As rodadas τ1,··· ,τmsão tais que τi< τi+1

para todo i∈ {1,··· ,m − 1} (ou seja, a rodada τicomeça antes da rodada τi+1).

Definições auxiliares: Definimos ϕ(et,·) como o circuito que é satisfeito por uma entrada p se e somente se Verifica(et, p) = 1. Isto é, ϕ(et,·) é satisfeito pelo pedaço p cor- respondente à etiqueta et. Definimos, para todo i∈ {1,··· ,m}, ϕiesc def= ϕ(Etiquetas1,·) ∧ ϕ(Etiquetas2,·) ∧ ··· ∧ ϕ(Etiquetasi,·) e ϕcob def= ϕesc

m .

Definimos a construção escada como a seguir.

E1. (Depósitos-cobertura.) Nesta etapa os depósitos-cobertura são feitos. Isto é, para todo i∈ {1,··· ,m − 1}, Pi faz o depósito  Pi ϕ cob −−→q,τ m Pm 

. O protocolo só continua se todos os m− 1 depósitos-cobertura forem feitos.

Mais precisamente, para todo i∈ {1,··· ,m − 1}, o participante Pifaz o seguinte:  Envia(dep´osito, i, m, ϕcob, τm, valor(q)) para fcr.

 Se a mensagem(dep´osito, e, m, ϕcob, τm, q) não foi recebida de fcr para algum

e∈ {1,··· ,m − 1}, então Pi suspende a execução e espera até a rodada τm+

1 pela mensagem (reembolso, i, m, ϕcob, τ

m, valor(q)) de fcr. Nesse caso, Pi

define sua saída como⊥.

E2. (Depósitos-escada.) Nesta etapa os depósitos-escada são realizados. O participante Pi+1

só faz seu depósito-escada  Pi+1 ϕ esc i −−−→ i·q,τi Pi 

se todos os depósitos “acima”, isto é, aqueles dos participantes Pi+2,··· ,Pm, tiverem sido feitos.

Para isso, cada participante Pi+1, para i= m−1 até 1, envia (dep´osito,i+1,i,ϕiesc, τi, valor(i·

q)) para fcrsomente se a mensagem(dep´osito, e + 1, e, ϕeesc, τe, e· q) foi recebida de fcr

E3. (Crédito dos depósitos-escada.) Nesta etapa os depósitos-escada são reivindicados na ordem inversa da que são feitos. Dividimos as ações em dois casos:

Ação de P1: Na rodada τ1o participante P1envia a mensagem(cr´edito, 2, 1, ϕ1esc, τ1, q,W1=

{Pedaços1}) para fcr. Ele então espera receber a mensagem(cr´edito, 2, 1, ϕ1esc, τ1, valor(q))

de fcr.

Ação de Pi+1, para todo i∈ {1,··· ,m−1}: Pi+1espera a rodada τipara que seu depósito-

escada  Pi+1 ϕ esc i −−−→ i·q,τi Pi 

seja reivindicado. Ou seja, espera receber a mensagem(cr´edito, i + 1, i, ϕiesc, τi, i· q,Wi) de fcr.

 Se essa mensagem for recebida e i + 1 6= m, Pi+1 reivindica o depósito

Pi+2 ϕ esc i+1 −−−−−−−→ (i+1)·q,τi+1 Pi+1  . Para isso,

- Pi+1cria o conjunto Wi+1= Wi∪ {Pedaçosi+1},

- Pi+1envia a mensagem(cr´edito, i+2, i+1, ϕi+1esc, τi+1, (i+1)·q,Wi+1)

para fcr,

- Pi+1 espera receber de fcr a mensagem

(cr´edito, i + 2, i + 1, ϕesc

i+1, τi+1, valor((i + 1)· q),Wi+1).

 Se essa mensagem não for recebida, Pi+1 suspende a execução e espera a

rodada τi+ 1 para ter seu depósito-escada reembolsado. Ou seja, Pi+1 espera

a mensagem (reembolso, i + 1, i, ϕesc

i , τi, valor(i· q)) de fcr. Além disso, se

i+ 16= m, Pi+1deve também ter seu depósito-cobertura reembolsado. Para isso,

Pi+1 espera a rodada τm+ 1 para receber de fcr a mensagem(reembolso, i +

1, m, ϕcob, τ

m, valor(q)). Finalmente, Pi+1 define sua saída como⊥.

E4. (Crédito dos depósitos-cobertura.) Nesta etapa o participante Pmreivindica os depósitos-

cobertura.

Para isso, na rodada τm, para todo i∈ {1,··· ,m − 1}, o participante Pmreivindica o depó-

sito  Pi ϕ cob −−→q,τ m Pm 

enviando(cr´edito, i, m, ϕcob, τ

m, q,Wm= Pedaços) para fcr e recebendo

de volta a mensagem(cr´edito, i, m, ϕcob, τ

m, valor(q),Wm). Então Pmutiliza o algoritmo

Reconstr´oisobre Wm= Pedaços e reconstrói o valor z.

E5. (Coleta dos pedaços.) Nesta etapa os participantes utilizam as informações da etapa anterior para reconstruir o valor z.

Para todo i∈ {1,··· ,m − 1}, o participante Piespera a rodada τm para receber de fcr a

mensagem(cr´edito, s, m, ϕcob, τ

m, q,Wm) para algum s∈ {1,··· ,m − 1}. Então Piutiliza

Wm= Pedaços para reconstruir z. Caso nenhuma dessas mensagens seja recebida, Pi

aguarda até a rodada τm+ 1 para ter seu depósito-cobertura reembolsado através da

mensagem(reembolso, i, m, ϕcob, τ

7.3. CONSTRUÇÃO ESCADA NO MODELO FCR-HÍBRIDO 124

Nós demos uma visão geral, na Figura 7.1, de como os depósitos escada e cobertura são feitos. Prosseguimos com uma descrição mais detalhada baseada na Definição 7.101.

Podemos ver o crédito dos depósitos-cobertura como o objetivo final da construção escada. De fato, é a reivindicação desses depósitos que permite a reconstrução do segredo z. Por essa razão, os depósitos-cobertura devem ser os primeiros a serem feitos, já na etapa E1. Se algum participante não realizar seu depósito-cobertura, a execução deve ser interrompida e os depósitos já feitos, reembolsados.

Os depósitos-escada são feitos na etapa E2. Com exceção de P1 e Pm, todo parti-

cipante Pi está envolvido em dois depósitos-escada consecutivos, isto é,

 Pi+1 ϕiesc −−−→ i·q,τi Pi  e  Pi ϕ esc i−1 −−−−−−−→ (i−1)·q,τi−1 Pi−1 

. Como veremos a seguir, é fundamental para a justiça da construção escada que o participante Pi faça seu depósito escada somente se o depósito logo acima, do

qual ele é o destinatário, tiver sido feito. Isso se justifica pelo fato de que é esse depósito que torna seu saldo temporariamente positivo (+q). Devido a isso, os depósitos-escada são feitos de “cima” para “baixo”, começando com



Pm−−−−−−−−−−−−−→Pedaços1,···,Pedaçosm−1

(m−1)·q,τm−1 Pm−1



realizado por Pm. Isso

permite a cada participante verificar se o depósito do qual ele é destinatário já foi realizado. Essa verificação só é possível porque a funcionalidade fcrfaz o broadcast dos eventos que atualizam

seu estado.

Na etapa E3, os depósitos-escada são creditados de “baixo” para “cima”. Cada partici- pante Pi+1, com i∈ {1,··· ,m − 1} espera seu depósito-escada

 Pi+1 Pedaços1,···,Pedaçosi −−−−−−−−−−−−→ i·q,τi Pi  ser creditado. Somente assim ele conseguirá reunir os elementos de Pedaços necessários para reivin- dicar o depósito-escada logo acima, do qual ele é o destinatário. Ressaltamos que apenas através da reivindicação do depósito  Pi+1 Pedaços1,···,Pedaçosi −−−−−−−−−−−−→ i·q,τi Pi 

o valor Pedaçosise torna conhecido. O valor Pedaçosm, por sua vez, só se torna conhecido nos depósitos-cobertura.

Ainda na etapa E3, se algum participante abortar, não reivindicando um depósito-escada e, portanto, impedindo os depósitos acima de serem creditados, a execução é interrompida. Nesse caso, os depósitos acima do ponto de aborto, i.e., os depósitos ainda não creditados, são reembolsados. Além disso, os depósitos-cobertura também são reembolsados, na rodada τm+ 1.

No entanto, nem todo aborto impossibilita a continuação da etapa E3. Considere o exemplo em que os participantes Pi+1 e Pifazem parte de um conluio. Nesse caso, podemos

admitir que ambos conhecem os valores Pedaçosi+1 e Pedaçosi. Dessa forma, mesmo que Pi

aborte e não reivindique o depósito  Pi+1 ϕ esc i −−−→ i·q,τi Pi 

, os depósitos acima dele, em particular o  Pi+2 ϕi+1esc −−−−→ i·q,τi+1 Pi+1 

, ainda podem ser creditados. De fato, o depósito  Pi+1 ϕiesc −−−→ i·q,τi Pi  nem precisa ser feito.

Após o crédito dos depósitos-escada e se não houve aborto, o participante Pm possui

todos os elementos da lista Pedaços. Com isso, ele é o primeiro participante capaz de usar o algoritmo Reconstr´oi para obter a saída do protocolo. Além disso, com a lista Pedaços completa,

Pmé também capaz de reivindicar os depósitos-cobertura, na etapa E4. Como fcrfaz o broadcast

das operações de crédito, Pm só precisa reivindicar um depósito cobertura para que todos os

demais participantes recebam a lista Pedaços. Isso está registrado na etapa E5. No entanto, a estratégia de reivindicar apenas alguns depósitos-cobertura resulta em um prejuízo financeiro para Pm.

Finalmente, o caso em que Pm faz parte de um conluio desonesto é o único em que

a justiça (tradicional) do protocolo pode ser quebrada. Ou seja, Pm pode abortar logo após

reconstruir a saída. Nesse caso, todos os depósitos-cobertura são reembolsados e os demais participantes acabam com um saldo positivo de q moedas2.

Ao final do protocolo, se todos os participantes agirem honestamente, nenhuma penali- dade é paga. Ou seja, todo investimento feito nos depósitos escada e cobertura são recuperados. Além disso, todos conseguem obter a saída a partir do algoritmo Reconstr´oi. No entanto, caso ocorra um aborto, todo participante que reivindicou depósitos-escada, revelando seu pedaço do segredo, recebe q moedas como compensação. Isso implica que, quando o aborto ocorre após a saída ter sido descoberta por algum conluio, todos os participantes honestos recebem essa compensação. Essas características fazem a construção escada ser monetariamente justa.

Analisamos formalmente a justiça da construção escada no lema a seguir e no corolário subsequente.

Lema 7.102 (Estado final da construção escada). Para todo i∈ {1,··· ,m}, se Pié honesto, então,

no final da construção escada (i.e., após a rodada τm) temos que:

(i) O depósito-escada 

Pi+1−−−−−−−−−−−−→Pedaços1,···,Pedaçosi

i·q,τi

Pi 

foi reivindicado, assim como o depósito logo abaixo  Pi−−−−−−−−−−−−−→Pedaços1,···,Pedaçosi−1 (i−1)·q,τi−1 Pi−1  , se i6= 1, ou

(ii) Nenhum depósito-cobertura foi creditado e, para todo j∈ {i + 1,··· ,m − 1}, o depósito- escada  Pj+1−−−−−−−−−−−−→Pedaços1,···,Pedaçosj j·q,τj Pj 

também não foi creditado (ou seja, os depósitos- escada acima de



Pi+1−−−−−−−−−−−−→Pedaços1,···,Pedaçosi

i·q,τi

Pi 

).

Demonstração. Para i = 1, como P1 é honesto por hipótese, ele reivindica o depósito

depositP2P1qτ1Pedaços1e a propriedade (i) se verifica no final da execução. Para i6= 1, vamos

considerar os casos em que o depósito-escada 

Pi−−−−−−−−−−−−−→Pedaços1,···,Pedaçosi−1

(i−1)·q,τi−1

Pi−1 

, que nesse caso existe, foi ou não reivindicado.

 Se Pi−1reivindicou esse depósito, então o conjunto{Pedaços1,··· ,Pedaçosi−1} foi publi-

cado e, em particular, é conhecido por Pi. Portanto, tudo o que Piprecisa para montar o

conjunto{Pedaços1,··· ,Pedaçosi} e reivindicar o depósito



Pi+1−−−−−−−−−−−−→Pedaços1,···,Pedaçosi

i·q,τi

Pi 

é

7.3. CONSTRUÇÃO ESCADA NO MODELO FCR-HÍBRIDO 126

o valor Pedaçosi, o qual ele possui. Como Pié honesto, ele segue o protocolo e reivindica

esse depósito. Com isso, no fim da execução, temos que a propriedade (i) se verifica.

 Se Pi−1nãoreivindicou esse depósito, Pinão pode reivindicar



Pi+1−−−−−−−−−−−−→Pedaços1,···,Pedaçosi

i·q,τi

Pi  porque não conhece todo o conjunto{Pedaços1,··· ,Pedaçosi−1}. Nesse caso, nenhum

participante aprende o valor Pedaçosi. Sem o conhecimento de Pedaçosi, nenhum depósito- cobertura pode ser reivindicado. Além disso, nem o depósito



Pi+1−−−−−−−−−−−−→Pedaços1,···,Pedaçosi

i·q,τi

Pi 

, nem qualquer outro acima dele pode ser reivindicado. Nesse caso, ao fim da execução, temos que a propriedade (ii) se verifica.

Com o lema anterior, podemos estabelecer também o seguinte corolário.

Corolário 7.103 (Justiça da construção escada). Ao final da execução da construção escada: (i) Todos os participantes honestos recebem todos os elementos de Pedaços sem pagar

nenhuma penalidade, ou

(ii) Os participantes honestos que não revelaram seus pedaços têm seus investimentos reem- bolsados. Além disso, cada participante honesto que revelou seu pedaço é compensado com q moedas,

concluindo que a construção escada é monetariamente justa . Demonstração. Vamos analisar os dois casos:

(i) Um participante honesto Pisó pode receber todos os elementos de Pedaços se os depósitos-

cobertura e, consequentemente, os escada, forem creditados. Nesse caso, se i6= m, seu saldo final será valor(i· q) (valor recebido no depósito-escada reivindicado) - valor((i − 1)· q) (valor pago no seu depósito-escada) - q (valor pago no depósito-cobertura) = 0. Se i= m, seu saldo final será valor((m− 1) · q) (valor recebido nos (m − 1) depósitos- cobertura) - valor((m− 1) · q) (valor pago no seu depósito-escada) = 0.

(ii) Se o participante honesto Pi, não revelou seu pedaço (Pedaçosi), então, pelo Lema 7.102,

nem os depósitos-escada envolvendo Pinem os depósitos-cobertura foram creditados. Por

isso todo o investimento feito por Pi é reembolsado. Por outro lado, se Pi, com i6= m,

revelou seu pedaço3, então seu saldo final será valor(i· q) (valor recebido no depósito- escada reivindicado) - valor((i− 1) · q) (valor pago no seu depósito-escada) + (q-q) (valor investido e reembolsado no seu depósito-cobertura4) = q.

3Se i= m, teríamos que propriedade (i) se verificaria, pois se P

mrevela seu pedaço então todos os pedaços são

revelados.

4O depósito-cobertura precisar ser reembolsado, pois se não o fosse, a lista Pedaços seria revelada e a propriedade

O Corolário 7.103 estabelece que a construção escada é monetariamente justa. Uma das exigências da Definição 5.95 é que uma compensação seja paga aos participantes honestos caso a justiça tradicional seja quebrada, ou seja, caso um conluio desonesto obtenha a saída do protocolo e aborte. A construção escada vai um pouco além. Participantes honestos podem ser compensados na ocorrência de qualquer aborto, mesmo que ninguém reconstrua a saída e, portanto, a justiça (tradicional) não seja quebrada. No entanto, a construção escada só garante que todos os participantes honestos sejam compensados se a justiça (tradicional) for, de fato, quebrada.

Abordaremos a segurança dessa construção mais adiante.