SlideShare a Scribd company logo
1 of 40
Download to read offline
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

More Related Content

More from 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 computacionalMiguel 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 redMiguel 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 transmediaMiguel 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 ConsensusMiguel 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 socialesMiguel 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 socialesMiguel Rebollo
 
The multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURFThe multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURFMiguel Rebollo
 
Narrativa transmedia en el aula
Narrativa transmedia en el aulaNarrativa transmedia en el aula
Narrativa transmedia en el aulaMiguel 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 interactionsMiguel 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 FleetsMiguel 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 HMMMiguel 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 fondoMiguel 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’ activityMiguel 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 ConsensusMiguel Rebollo
 
Meilleur travail du monde
Meilleur travail du mondeMeilleur travail du monde
Meilleur travail du mondeMiguel 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ámicasMiguel Rebollo
 
Supportive consensus for smart grid management
Supportive consensus for smart grid managementSupportive consensus for smart grid management
Supportive consensus for smart grid managementMiguel Rebollo
 
Analysis of the Evolution of Events on Online Social Networks
Analysis of the Evolution of Events on Online Social NetworksAnalysis of the Evolution of Events on Online Social Networks
Analysis of the Evolution of Events on Online Social NetworksMiguel Rebollo
 

More from Miguel Rebollo (20)

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
 
Supportive consensus for smart grid management
Supportive consensus for smart grid managementSupportive consensus for smart grid management
Supportive consensus for smart grid management
 
Analysis of the Evolution of Events on Online Social Networks
Analysis of the Evolution of Events on Online Social NetworksAnalysis of the Evolution of Events on Online Social Networks
Analysis of the Evolution of Events on Online Social Networks
 

Recently uploaded

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 

Recently uploaded (20)

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 

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