SlideShare una empresa de Scribd logo
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Detecci´on de nodos tramposos en procesos de
consenso en redes
M. Rebollo1, R.M. Benito2, J.C. Losada2, J. Galeano2
1Grupo de Tec. Inform´atica – Inteligencia Artificial
Universitat Polit`ecnica de Val`encia
2Grupo de Sistemas Complejos
Universidad Polit´ecnica de Madrid
CIDRES, CAEPIA - Granada 2018
c b a
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Contenidos
1 Introducci´on: proceso de consenso
2 Detecci´on de nodos tramposos
3 Escenarios
Votaci´on distribuida
Ataques adversarios
Problema de los generales bizantinos
4 Conclusiones
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
¿qu´e es el consenso?
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
¿para qu´e sirve?
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Algoritmo de consenso (Olfati, 2007)
Dados
grafo no dirigido
G = (V , E)
conjunto de valores
iniciales x = (x1, . . . , xn)T
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Algoritmo de consenso (Olfati, 2007)
1 cada nodo tiene un valor
inicial
1 2
3 4
x1 = 0.4 x2 = 0.2
x3 = 0.3 x4 = 0.9
x1 = 0.4
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Algoritmo de consenso (Olfati, 2007)
1 cada nodo tiene un valor
inicial
2 pasa su valor a sus vecinos
1 2
3 4
x1 = 0.4 x2 = 0.2
x3 = 0.3 x4 = 0.9
x1 = 0.4
x1 = 0.4
x1 = 0.4
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Algoritmo de consenso (Olfati, 2007)
1 cada nodo tiene un valor
inicial
2 pasa su valor a sus vecinos
3 recibe los valores de los
vecinos
1 2
3 4
x1 = 0.4 x2 = 0.2
x3 = 0.3 x4 = 0.9
x2 = 0.2
x4 = 0.9
x3 = 0.3
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Algoritmo de consenso (Olfati, 2007)
1 cada nodo tiene un valor
inicial
2 pasa su valor a sus vecinos
3 recibe los valores de los
vecinos
4 calcula el nuevo valor con
1 2
3 4
x1 = 0.45 x2 = 0.425
x3 = 0.325 x4 = 0.6
x1 = 0.4
x(t + 1) = x(t) + ε
j∈Ni
[xj(t) − xi (t)]
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Algoritmo de consenso (Olfati, 2007)
La red converge al valor medio
lim
t→∞
xi (t) =
1
n i
xi (0)
0 5 10 15 20 25 30
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
x = 0.45
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Problema
Detecci´on de fallos en procesos de consenso
Si al menos uno de los agentes no sigue el algoritmo, la red
converge a un valor distinto
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Alteraci´on del consenso
xi (t + 1) = xi (t) + ε
j∈Ni
[xj(t) − xi (t)] + ui (t)
1
23
4
5
6
7 8
9
10
0 10 20 30 40 50
time
0
2
4
6
8
10
xi
Consensus with Malicious Agent
10 agentes, x = (1, 2, . . . , 10)T , ∆x5 = 4
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Alteraci´on del consenso
xi (t + 1) = xi (t) + ε
j∈Ni
[xj(t) − xi (t)] + ui (t)
1
23
4
5
6
7 8
9
10
0 10 20 30 40 50
time
0
2
4
6
8
10
xi
Consensus with Malicious Agent
10 agentes, x = (1, 2, . . . , 10)T , ∆x5 = 4
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Detecci´on de trampas
De
xi (t + 1) = xi (t) + ε
j∈Ni
[xj(t) − xi (t)]
despejando
0 = xi (t + 1) + (εdeg(i) − 1)xi (t) − ε
j∈Ni
xj(t)
dvi (t)
y el proceso debe cumplir
dvi (t) = 0 ∀t > 0
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Correcci´on de desviaciones
xi (t + 1) = xi (t) + ε
j∈Ni
[xj(t) − xi (t)] + ui (t), with ui (t) > 0
ui (t) se reparte entre los vecinos
el nodo ”se guarda” (1 − εdeg(i))ui (t)
cada vecino recibe εui (t)
luego, dvi (t) = εui (t) → ui (t) = dvi (t)
ε
en general dvi (t)
ε = j∈Ni
uj(t)
desviaci´on total Di (t) = t
s=0 dvi (s)
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Correcci´on de desviaciones
Consenso sobre (Di |wi )
Di desviaci´on acumulada
wi n´umero de desviaciones detectadas
Valor corregido
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Voto distribuido
1
23
4
5
6
7 8
9
10
red aleatoria con 10 nodos
x(0) =
{3, 3, 1, 3, 2, 1, 1, 2, 3, 3}
resultado: {3, 2, 5}
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Votaci´on por consenso
m opciones para votar
(xi |yi ) = (x1
i , . . . , xm
i | yi )
xk
i = 1 y xj
i = 0 ∀j = k
yi = 0 variable de conteo
nodo extra
(x0|y0) = (0, . . . , 0
m
| 1)
resultado xi (t)
yi (t)
Ejemplo
x1
i x2
i x3
i yi
x0 0 0 0 1
x1 0 0 1 0
x2 0 0 1 0
x3 1 0 0 0
x4 0 0 1 0
x5 0 1 0 0
x6 1 0 0 0
x7 1 0 0 0
x8 0 1 0 0
x9 0 0 1 0
x10 0 0 1 0
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Votaci´on por consenso
m opciones para votar
(xi |yi ) = (x1
i , . . . , xm
i | yi )
xk
i = 1 y xj
i = 0 ∀j = k
yi = 0 variable de conteo
nodo extra
(x0|y0) = (0, . . . , 0
m
| 1)
resultado xi (t)
yi (t)
0 20 40 60 80 100
time
0
2
4
6
8
10
xi
Voting by Consensus
xi (t) = (0.3, 0.2, 0.5 | 0.1)
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Votaci´on por consenso
m opciones para votar
(xi |yi ) = (x1
i , . . . , xm
i | yi )
xk
i = 1 y xj
i = 0 ∀j = k
yi = 0 variable de conteo
nodo extra
(x0|y0) = (0, . . . , 0
m
| 1)
resultado xi (t)
yi (t)
0 20 40 60 80 100
time
0
2
4
6
8
10
xi
Cheating in the Voting Process
∆x7(t) = (−2, 0, 1)
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Votaci´on por consenso
m opciones para votar
(xi |yi ) = (x1
i , . . . , xm
i | yi )
xk
i = 1 y xj
i = 0 ∀j = k
yi = 0 variable de conteo
nodo extra
(x0|y0) = (0, . . . , 0
m
| 1)
resultado xi (t)
yi (t)
0 20 40 60 80 100
time
-0.2
-0.1
0
0.1
0.2
0.3
0.4
dv
i
Evolution of the values for correction
dv(t) = (0.1320, 0, −0.0660)
c(t) = (2, 0, −1)
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Ataques adversarios
Manipulaci´on de im´agenes a˜nadiendo ruido para enga˜nar a los
algoritmos de visi´on artificial
+ 0.007 × =
La imagen, despu´es de a˜nadirle el ruido se clasifica como un mono
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Transmisi´on de im´agenes por consenso
imagen formada por p
pixeles
(x1|y1) = (x1
i , . . . , xp
i | 1)
(xi |yi ) = (0, . . . , 0 | 0) el
resto
resultado xi (t)
yi (t) 0 20 40 60 80 100
time
0
0.5
1
1.5
2
2.5
x
i
10
6Consensus value of the sum of the pixels
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Resultado
Original Alterada Corregida
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Comparaci´on de algoritmos
Google Net Res–Net 50 Alex Net VGG-16
original 0.9873 0.9844 0.7479 0.5715 (panda)
alterada 0.9313 0.9429 0.6887 0.4439 (gib´on)
corregida 0.9986 0.9863 0.9220 0.8302 (panda)
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Causas de los fallos en redes distribuidas
parada: el nodo deja de mandar informaci´on
fallos bizantinos: comportamiento err´atico inesperado o
errores deliberados
comportamiento injusto, pero admitido por racionalidad,
autointer´es o pol´ıticas de incentivos.
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Problema de los Generales Bizantinos
General
Teniente 1
Teniente 2
Teniente 3
(traidor)
atacar
atacar
atacar
atacar
atacar
atacar
atacar
retirarse
retirarse
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
PGB por consenso
red aleatoria de 50
agentes
general (x1|y1) = (8 | 1)
resto (xi |yi ) = (0 | 0)
hora del ataque xi (t)
yi (t)
0 50 100 150 200
iter
0
5
10
15
20
x
i
/y
i
BGP with one Traitor
agente i = 48 traidor - suma +1 a la hora
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
PGB por consenso
red aleatoria de 50
agentes
general (x1|y1) = (8 | 1)
resto (xi |yi ) = (0 | 0)
hora del ataque xi (t)
yi (t)
0 50 100 150 200
iter
0
0.01
0.02
0.03
0.04
0.05
dv
i
Correction for BGP with One Traitor
la desviaci´on converge a dvi (t) = 0.0074 con
wi (t) = 0.06 → ci (t) = −1 .
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Diferencias con el resultado correcto
Test sobre redes
aleatorias
si m hacen
trampas
n ≥ 3 + 1
la mitad de
los vecinos
confiables
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Correcciones con ´exito
1,000
repeticiones
correcciones
del 100%
siguen una
ley de
potencias con
γ = −0.44
0 20 40 60 80 100
#cheating nodes
200
400
600
800
1000
freq.
Successful corrections
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes
Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion
Conclusiones
Extensi´on del algoritmo de consenso:
algoritmo de consenso en redes robusto
detecci´on de desviaciones de los valores esperados
correcci´on de la desviaci´on sobre el resultado final
Aplicado a escenarios de inter´es
Limitaciones
el primer intercambio debe ser correcto
correcci´on posible si m < n
3 y m < |Ni |
2
los nodos tramposos no pueden ser detectados si solo hacen
trampas una vez
@mrebollo UPV-UPM
Detecci´on de nodos tramposos en procesos de consenso en redes

Más contenido relacionado

Más de Miguel Rebollo

Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing AppsUsing Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
Miguel Rebollo
 
Distributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for AgreementsDistributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for Agreements
Miguel Rebollo
 
La hora del código: ApS para fomentar el pensamiento computacional
La hora del código: ApS para fomentar el pensamiento computacionalLa hora del código: ApS para fomentar el pensamiento computacional
La hora del código: ApS para fomentar el pensamiento computacional
Miguel Rebollo
 
Procesos de enseñanza-aprendizaje en red
Procesos de enseñanza-aprendizaje en redProcesos de enseñanza-aprendizaje en red
Procesos de enseñanza-aprendizaje en red
Miguel Rebollo
 
desarrollo de competencias a través de narrativas transmedia
desarrollo de competencias a través de narrativas transmediadesarrollo de competencias a través de narrativas transmedia
desarrollo de competencias a través de narrativas transmedia
Miguel Rebollo
 
Distributed Group Analytical Hierarchical Process by Consensus
 Distributed Group Analytical Hierarchical Process by Consensus Distributed Group Analytical Hierarchical Process by Consensus
Distributed Group Analytical Hierarchical Process by Consensus
Miguel Rebollo
 
Análisis de ciudades a través de su actividad en redes sociales
Análisis de ciudades a través de su actividad en redes socialesAnálisis de ciudades a través de su actividad en redes sociales
Análisis de ciudades a través de su actividad en redes sociales
Miguel Rebollo
 
Análisis de datos en redes sociales
Análisis de datos en redes socialesAnálisis de datos en redes sociales
Análisis de datos en redes sociales
Miguel Rebollo
 
The multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURFThe multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURF
Miguel Rebollo
 
Narrativa transmedia en el aula
Narrativa transmedia en el aulaNarrativa transmedia en el aula
Narrativa transmedia en el aula
Miguel Rebollo
 
Using geo-tagged sentiment to better understand social interactions
 Using geo-tagged sentiment to better understand social interactions Using geo-tagged sentiment to better understand social interactions
Using geo-tagged sentiment to better understand social interactions
Miguel Rebollo
 
Transport Network Analysis for Smart Open Fleets
Transport Network Analysis for Smart Open FleetsTransport Network Analysis for Smart Open Fleets
Transport Network Analysis for Smart Open Fleets
Miguel Rebollo
 
Análisis de sentimientos en Twitter mediante HMM
Análisis de sentimientos en Twitter mediante HMMAnálisis de sentimientos en Twitter mediante HMM
Análisis de sentimientos en Twitter mediante HMM
Miguel Rebollo
 
La (poca) soledad del corredor de fondo
La (poca) soledad del corredor de fondoLa (poca) soledad del corredor de fondo
La (poca) soledad del corredor de fondo
Miguel Rebollo
 
U-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activity
U-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activityU-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activity
U-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activity
Miguel Rebollo
 
Comunica 2016
Comunica 2016Comunica 2016
Comunica 2016
Miguel Rebollo
 
Decentralized Group AHP in Multilayer Networks by Consensus
Decentralized Group AHP in Multilayer Networks by ConsensusDecentralized Group AHP in Multilayer Networks by Consensus
Decentralized Group AHP in Multilayer Networks by Consensus
Miguel Rebollo
 
Meilleur travail du monde
Meilleur travail du mondeMeilleur travail du monde
Meilleur travail du monde
Miguel Rebollo
 
Procesos de consenso en redes dinámicas
Procesos de consenso en redes dinámicasProcesos de consenso en redes dinámicas
Procesos de consenso en redes dinámicas
Miguel Rebollo
 
El poder de las redes
El poder de las redesEl poder de las redes
El poder de las redes
Miguel Rebollo
 

Más de Miguel Rebollo (20)

Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing AppsUsing Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
 
Distributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for AgreementsDistributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for Agreements
 
La hora del código: ApS para fomentar el pensamiento computacional
La hora del código: ApS para fomentar el pensamiento computacionalLa hora del código: ApS para fomentar el pensamiento computacional
La hora del código: ApS para fomentar el pensamiento computacional
 
Procesos de enseñanza-aprendizaje en red
Procesos de enseñanza-aprendizaje en redProcesos de enseñanza-aprendizaje en red
Procesos de enseñanza-aprendizaje en red
 
desarrollo de competencias a través de narrativas transmedia
desarrollo de competencias a través de narrativas transmediadesarrollo de competencias a través de narrativas transmedia
desarrollo de competencias a través de narrativas transmedia
 
Distributed Group Analytical Hierarchical Process by Consensus
 Distributed Group Analytical Hierarchical Process by Consensus Distributed Group Analytical Hierarchical Process by Consensus
Distributed Group Analytical Hierarchical Process by Consensus
 
Análisis de ciudades a través de su actividad en redes sociales
Análisis de ciudades a través de su actividad en redes socialesAnálisis de ciudades a través de su actividad en redes sociales
Análisis de ciudades a través de su actividad en redes sociales
 
Análisis de datos en redes sociales
Análisis de datos en redes socialesAnálisis de datos en redes sociales
Análisis de datos en redes sociales
 
The multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURFThe multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURF
 
Narrativa transmedia en el aula
Narrativa transmedia en el aulaNarrativa transmedia en el aula
Narrativa transmedia en el aula
 
Using geo-tagged sentiment to better understand social interactions
 Using geo-tagged sentiment to better understand social interactions Using geo-tagged sentiment to better understand social interactions
Using geo-tagged sentiment to better understand social interactions
 
Transport Network Analysis for Smart Open Fleets
Transport Network Analysis for Smart Open FleetsTransport Network Analysis for Smart Open Fleets
Transport Network Analysis for Smart Open Fleets
 
Análisis de sentimientos en Twitter mediante HMM
Análisis de sentimientos en Twitter mediante HMMAnálisis de sentimientos en Twitter mediante HMM
Análisis de sentimientos en Twitter mediante HMM
 
La (poca) soledad del corredor de fondo
La (poca) soledad del corredor de fondoLa (poca) soledad del corredor de fondo
La (poca) soledad del corredor de fondo
 
U-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activity
U-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activityU-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activity
U-Tool: A Urban-Toolkit for enhancing city maps through citizens’ activity
 
Comunica 2016
Comunica 2016Comunica 2016
Comunica 2016
 
Decentralized Group AHP in Multilayer Networks by Consensus
Decentralized Group AHP in Multilayer Networks by ConsensusDecentralized Group AHP in Multilayer Networks by Consensus
Decentralized Group AHP in Multilayer Networks by Consensus
 
Meilleur travail du monde
Meilleur travail du mondeMeilleur travail du monde
Meilleur travail du monde
 
Procesos de consenso en redes dinámicas
Procesos de consenso en redes dinámicasProcesos de consenso en redes dinámicas
Procesos de consenso en redes dinámicas
 
El poder de las redes
El poder de las redesEl poder de las redes
El poder de las redes
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 

Detección de nodos tramposos en procesos de consenso en redes

  • 1. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Detecci´on de nodos tramposos en procesos de consenso en redes M. Rebollo1, R.M. Benito2, J.C. Losada2, J. Galeano2 1Grupo de Tec. Inform´atica – Inteligencia Artificial Universitat Polit`ecnica de Val`encia 2Grupo de Sistemas Complejos Universidad Polit´ecnica de Madrid CIDRES, CAEPIA - Granada 2018 c b a @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 2. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Contenidos 1 Introducci´on: proceso de consenso 2 Detecci´on de nodos tramposos 3 Escenarios Votaci´on distribuida Ataques adversarios Problema de los generales bizantinos 4 Conclusiones @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 3. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion ¿qu´e es el consenso? @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 4. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 5. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 6. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 7. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 8. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion ¿para qu´e sirve? @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 9. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 10. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 11. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 12. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 13. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Algoritmo de consenso (Olfati, 2007) Dados grafo no dirigido G = (V , E) conjunto de valores iniciales x = (x1, . . . , xn)T @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 14. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Algoritmo de consenso (Olfati, 2007) 1 cada nodo tiene un valor inicial 1 2 3 4 x1 = 0.4 x2 = 0.2 x3 = 0.3 x4 = 0.9 x1 = 0.4 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 15. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Algoritmo de consenso (Olfati, 2007) 1 cada nodo tiene un valor inicial 2 pasa su valor a sus vecinos 1 2 3 4 x1 = 0.4 x2 = 0.2 x3 = 0.3 x4 = 0.9 x1 = 0.4 x1 = 0.4 x1 = 0.4 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 16. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Algoritmo de consenso (Olfati, 2007) 1 cada nodo tiene un valor inicial 2 pasa su valor a sus vecinos 3 recibe los valores de los vecinos 1 2 3 4 x1 = 0.4 x2 = 0.2 x3 = 0.3 x4 = 0.9 x2 = 0.2 x4 = 0.9 x3 = 0.3 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 17. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Algoritmo de consenso (Olfati, 2007) 1 cada nodo tiene un valor inicial 2 pasa su valor a sus vecinos 3 recibe los valores de los vecinos 4 calcula el nuevo valor con 1 2 3 4 x1 = 0.45 x2 = 0.425 x3 = 0.325 x4 = 0.6 x1 = 0.4 x(t + 1) = x(t) + ε j∈Ni [xj(t) − xi (t)] @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 18. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Algoritmo de consenso (Olfati, 2007) La red converge al valor medio lim t→∞ xi (t) = 1 n i xi (0) 0 5 10 15 20 25 30 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 x = 0.45 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 19. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Problema Detecci´on de fallos en procesos de consenso Si al menos uno de los agentes no sigue el algoritmo, la red converge a un valor distinto @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 20. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Alteraci´on del consenso xi (t + 1) = xi (t) + ε j∈Ni [xj(t) − xi (t)] + ui (t) 1 23 4 5 6 7 8 9 10 0 10 20 30 40 50 time 0 2 4 6 8 10 xi Consensus with Malicious Agent 10 agentes, x = (1, 2, . . . , 10)T , ∆x5 = 4 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 21. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Alteraci´on del consenso xi (t + 1) = xi (t) + ε j∈Ni [xj(t) − xi (t)] + ui (t) 1 23 4 5 6 7 8 9 10 0 10 20 30 40 50 time 0 2 4 6 8 10 xi Consensus with Malicious Agent 10 agentes, x = (1, 2, . . . , 10)T , ∆x5 = 4 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 22. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Detecci´on de trampas De xi (t + 1) = xi (t) + ε j∈Ni [xj(t) − xi (t)] despejando 0 = xi (t + 1) + (εdeg(i) − 1)xi (t) − ε j∈Ni xj(t) dvi (t) y el proceso debe cumplir dvi (t) = 0 ∀t > 0 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 23. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Correcci´on de desviaciones xi (t + 1) = xi (t) + ε j∈Ni [xj(t) − xi (t)] + ui (t), with ui (t) > 0 ui (t) se reparte entre los vecinos el nodo ”se guarda” (1 − εdeg(i))ui (t) cada vecino recibe εui (t) luego, dvi (t) = εui (t) → ui (t) = dvi (t) ε en general dvi (t) ε = j∈Ni uj(t) desviaci´on total Di (t) = t s=0 dvi (s) @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 24. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Correcci´on de desviaciones Consenso sobre (Di |wi ) Di desviaci´on acumulada wi n´umero de desviaciones detectadas Valor corregido @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 25. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Voto distribuido 1 23 4 5 6 7 8 9 10 red aleatoria con 10 nodos x(0) = {3, 3, 1, 3, 2, 1, 1, 2, 3, 3} resultado: {3, 2, 5} @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 26. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Votaci´on por consenso m opciones para votar (xi |yi ) = (x1 i , . . . , xm i | yi ) xk i = 1 y xj i = 0 ∀j = k yi = 0 variable de conteo nodo extra (x0|y0) = (0, . . . , 0 m | 1) resultado xi (t) yi (t) Ejemplo x1 i x2 i x3 i yi x0 0 0 0 1 x1 0 0 1 0 x2 0 0 1 0 x3 1 0 0 0 x4 0 0 1 0 x5 0 1 0 0 x6 1 0 0 0 x7 1 0 0 0 x8 0 1 0 0 x9 0 0 1 0 x10 0 0 1 0 @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 27. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Votaci´on por consenso m opciones para votar (xi |yi ) = (x1 i , . . . , xm i | yi ) xk i = 1 y xj i = 0 ∀j = k yi = 0 variable de conteo nodo extra (x0|y0) = (0, . . . , 0 m | 1) resultado xi (t) yi (t) 0 20 40 60 80 100 time 0 2 4 6 8 10 xi Voting by Consensus xi (t) = (0.3, 0.2, 0.5 | 0.1) @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 28. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Votaci´on por consenso m opciones para votar (xi |yi ) = (x1 i , . . . , xm i | yi ) xk i = 1 y xj i = 0 ∀j = k yi = 0 variable de conteo nodo extra (x0|y0) = (0, . . . , 0 m | 1) resultado xi (t) yi (t) 0 20 40 60 80 100 time 0 2 4 6 8 10 xi Cheating in the Voting Process ∆x7(t) = (−2, 0, 1) @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 29. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Votaci´on por consenso m opciones para votar (xi |yi ) = (x1 i , . . . , xm i | yi ) xk i = 1 y xj i = 0 ∀j = k yi = 0 variable de conteo nodo extra (x0|y0) = (0, . . . , 0 m | 1) resultado xi (t) yi (t) 0 20 40 60 80 100 time -0.2 -0.1 0 0.1 0.2 0.3 0.4 dv i Evolution of the values for correction dv(t) = (0.1320, 0, −0.0660) c(t) = (2, 0, −1) @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 30. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Ataques adversarios Manipulaci´on de im´agenes a˜nadiendo ruido para enga˜nar a los algoritmos de visi´on artificial + 0.007 × = La imagen, despu´es de a˜nadirle el ruido se clasifica como un mono @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 31. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Transmisi´on de im´agenes por consenso imagen formada por p pixeles (x1|y1) = (x1 i , . . . , xp i | 1) (xi |yi ) = (0, . . . , 0 | 0) el resto resultado xi (t) yi (t) 0 20 40 60 80 100 time 0 0.5 1 1.5 2 2.5 x i 10 6Consensus value of the sum of the pixels @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 32. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Resultado Original Alterada Corregida @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 33. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Comparaci´on de algoritmos Google Net Res–Net 50 Alex Net VGG-16 original 0.9873 0.9844 0.7479 0.5715 (panda) alterada 0.9313 0.9429 0.6887 0.4439 (gib´on) corregida 0.9986 0.9863 0.9220 0.8302 (panda) @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 34. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Causas de los fallos en redes distribuidas parada: el nodo deja de mandar informaci´on fallos bizantinos: comportamiento err´atico inesperado o errores deliberados comportamiento injusto, pero admitido por racionalidad, autointer´es o pol´ıticas de incentivos. @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 35. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Problema de los Generales Bizantinos General Teniente 1 Teniente 2 Teniente 3 (traidor) atacar atacar atacar atacar atacar atacar atacar retirarse retirarse @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 36. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion PGB por consenso red aleatoria de 50 agentes general (x1|y1) = (8 | 1) resto (xi |yi ) = (0 | 0) hora del ataque xi (t) yi (t) 0 50 100 150 200 iter 0 5 10 15 20 x i /y i BGP with one Traitor agente i = 48 traidor - suma +1 a la hora @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 37. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion PGB por consenso red aleatoria de 50 agentes general (x1|y1) = (8 | 1) resto (xi |yi ) = (0 | 0) hora del ataque xi (t) yi (t) 0 50 100 150 200 iter 0 0.01 0.02 0.03 0.04 0.05 dv i Correction for BGP with One Traitor la desviaci´on converge a dvi (t) = 0.0074 con wi (t) = 0.06 → ci (t) = −1 . @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 38. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Diferencias con el resultado correcto Test sobre redes aleatorias si m hacen trampas n ≥ 3 + 1 la mitad de los vecinos confiables @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 39. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Correcciones con ´exito 1,000 repeticiones correcciones del 100% siguen una ley de potencias con γ = −0.44 0 20 40 60 80 100 #cheating nodes 200 400 600 800 1000 freq. Successful corrections @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes
  • 40. Introduction Detecci´on de trampas Voto distribuido Adversarial Example Generales Bizantinos Error en correcciones Conclusion Conclusiones Extensi´on del algoritmo de consenso: algoritmo de consenso en redes robusto detecci´on de desviaciones de los valores esperados correcci´on de la desviaci´on sobre el resultado final Aplicado a escenarios de inter´es Limitaciones el primer intercambio debe ser correcto correcci´on posible si m < n 3 y m < |Ni | 2 los nodos tramposos no pueden ser detectados si solo hacen trampas una vez @mrebollo UPV-UPM Detecci´on de nodos tramposos en procesos de consenso en redes