P oyec o Fin de Ca e a
Ingenie ía de Telecomunicación
Fo ma o de Publicación de la Escuela Técnica
Supe io de Ingenie ía
Au o : F. Ja ie Payán Some
Tu o : Juan José Mu illo Fuen es
Dep. Teo ía de la Señal y Comunicaciones
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2013
P oyec o fin de Más e
Más e Uni e si a io en Ingenie ía Indus ial
Tecnología Blockchain y su aplicación en la
Au omá ica
Au o : Ca los Bo dons Ma ínez
Tu o : Luis Fe nando Cas año Cas año
Dp o. de Ingenie ía de Sis emas y Au omá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2019
P oyec o fin de Más e
Más e Uni e si a io en Ingenie ía Indus ial
Tecnología Blockchain y su aplicación en la
Au omá ica
Au o :
Ca los Bo dons Ma ínez
Tu o :
Luis Fe nando Cas año Cas año
D . Ingenie o Indus ial
Dp o. de Ingenie ía de Sis emas y Au omá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2019
P oyec o fin de Más e : Tecnología Blockchain y su aplicación en la Au omá ica
Au o : Ca los Bo dons Ma ínez
Tu o : Luis Fe nando Cas año Cas año
El ibunal nomb ado pa a juzga el abajo a iba indicado, compues o po los siguien es p o eso es:
P esiden e:
Vocal/es:
Sec e a io:
acue dan o o ga le la calificación de:
El Sec e a io del T ibunal
Fecha:
Ag adecimien os
Quisie a ap o echa es as líneas pa a ag adece a odas las pe sonas que han
hecho posible la ealización de es e T abajo Fin de Más e que ma ca el inal
de mi e apa como es udian e de la Uni e sidad de Se illa.
En especial me gus a ía ag adece a mi amilia, mis pad es Ca los y Ana y
a mi he mana Ma a que me han empujado a e mina a iempo el p oyec o,
a mi pa eja Lau a que ha su ido jun o a mi muchas ho as de in es igación y
expe imen os, a mis amigos y compañe os que me han apoyado du an e odos
es os meses y me han empujado a no dis ae me y a mi u o Fe nando, sin
cuya ayuda es e p oyec o no hab ía salido adelan e en iempo y o ma, ambién
quie o ag adece a la comunidad Blockchain de Bos on que me o ecie on la
opo unidad de conoce es e nue o mundo ecnológico.
Ca los Bo dons Ma ínez
Se illa, 2019
i
ÍNDICE
¿Cómo se gene a el pa de lla es pública-p i ada y las di ecciones
públicas co espondien es? 51
Cla es de i adas 53
3.6. Nodos y Mine os 55
3.6.1. Nodos 55
3.6.2. Nodos comple os 55
Ope ación de nodos comple os 55
3.6.3. Supe nodos o nodos de escucha 56
3.6.4. Nodos mine os 56
Pool de mine ía 56
3.6.5. Nodos li ianos/lige os o SPV 56
3.7. T ansacciones, Bloques y Blockchain 57
3.7.1. T ansacciones 57
Componen es 57
¿Qué son las ansacciones en Blockchain? 57
Fi ma T ansacciones 60
3.7.2. Bloques 61
Es uc u a Bloque 61
Á boles Me kle 62
3.7.3. Blockchain 63
4. ¿Cómo unciona el Blockchain? 65
4.1. T ansacciones 65
4.1.1. C eación de la T ansacción y i mado 65
4.1.2. T ansmisión a la ed 66
4.1.3. P opagación y e i icación 66
4.1.4. Validación 69
4.2. Mecanismos de Consenso p incipales 69
4.2.1. P oo o Wo k (PoW) 69
Minado 69
P oblema de las amas 71
4.2.2. P oo o S ake (PoS) 72
¿Cómo se eligen a los alidado es/ o jado es? 73
PoW s PoS 74
4.2.3. Delega ed P oo o S ake (DPoS) 75
Ven ajas y des en ajas de la DPoS 77
4.2.4. S ella Consensus P o ocol (SCP) 78
Acue do Bizan ino Fede ado 78
Ven ajas del S ella Consensus P o ocol 79
4.3. Tecnología Blockchain - Obse aciones 80
5. C ip omonedas, Sma Con ac s, Dapps e Indus ia 4.0 81
5.1. Blockchain 1.0: C ip omoneda 82
5.2. Blockchain 2.0: Con a os In eligen es 82
5.2.1. ¿Qué es un sma con ac ? 83
ix
ÍNDICE
5.2.2. La Blockchain de E he um 84
Es uc u a 84
E he um Vi ual Machine (EVM) 85
5.2.3. Los o áculos 86
5.3. Blockchain 3.0: DApps 86
5.4. Blockchain 4.0: Haciendo blockchain u ilizable en la indus ia 4.0 88
6. Blockchain en la Au omá ica 91
6.1. Con ol Au omá ico 91
6.1.1. In oducción 91
6.1.2. Sis emas de Con ol 91
Lazos de Con ol 92
6.1.3. Es a egias de Con ol P, PI y PID 93
Con ol P opo cional (P) 93
Con ol P opo cional-In eg al (PI) 93
Con ol P opo cional-In eg al-De i a i o (PID) 94
6.1.4. Au oma ización Indus ial 95
In oducción 95
Sis emas de con ol dis ibuido 96
Au óma a P og amable/P og ammable Logic Con olle (PLC) 97
Supe isión, Con ol y Adquisición de Da os (SCADA) 97
6.2. Blockchain y el Con ol Au omá ico 98
6.2.1. In oducción 98
6.2.2. ¿Cómo puede ayuda Blockchain a la Au oma ización Indus ial? 98
Ni el de campo 98
Ni el de con ol 99
Ni el de supe isión 101
6.2.3. Conclusiones 103
7. Con ol PI en Blockchain 105
7.1. Es ado del A e 105
7.2. In oducción 106
7.3. Obje i o, solución adop ada y elemen os u ilizados 110
7.3.1. Obje i o y solución adop ada 110
7.3.2. Elemen os Ha dwa e 110
7.3.3. Elemen os So wa e 111
7.4. Diseño y mon aje 113
7.4.1. Ci cui o de lec u a del senso de empe a u a DHT22 113
7.4.2. Mon aje del ci cui o de con ol de los en ilado es 114
7.4.3. Desa ollo del código en A duino 116
Funciones usadas en A duino 120
7.4.4. Desa ollo del código del Sma Con ac 122
7.4.5. Desa ollo de una in e az web 125
7.5. Despliegue 130
7.5.1. Despliegue del código A duino 130
x
ÍNDICE
Con igu ación del Nodo In u a 130
7.5.2. Despliegue del código Solidi y 132
7.5.3. Despliegue del código HTML 135
7.6. Expe imen ación 140
7.6.1. Diag ama conexiones del p oyec o 140
7.6.2. Implemen ación 140
7.6.3. Resul ados 141
Con ol en o no a pun o de uncionamien o 141
Con ol con se poin de bajada 142
Con ol con se poin de subida 146
7.6.4. Ven ajas e incon enien es 149
8. Conclusiones 151
8.1. Líneas u u as 152
Re e encias 153
xi
Índice de Figu as
2.1. ¿Po qué el Blockchain?(Gill, 2018) 6
2.2. Tipos de edes (Rau opia, s. .) 7
2.3. BC Pública s P i ada s Híb ida (Pé ez, 2019) 9
2.4. Mul i ud de in e media ios(Casals, 2016) 12
2.5. Con a os adicionales s Sma Con ac s(W, 2018) 14
3.1. Di e encia es uc u as de BD y Blockchain (Tabo a, 2018) 19
3.2. P oblema Gene ales Bizan inos (Pease, 1995) 25
3.3. P oblema Doble Gas o(Alon Gal, 2018) 26
3.4. A aque del 51%(Jimi S., 2018) 27
3.5. Di ec ed Acyclic G aphs (Fan om Founda ion, 2018) 30
3.6. Funcionamien o c ip og a ía Simé ica (Dolo es Fuen es, 2016) 38
3.7. Funcionamien o c ip og a ía Asimé ica (I an, 2017) 40
3.8. Cu a Elíp ica (Nick Sulli an, 2013) 41
3.9. Cu a Elíp ica secp256k1 (Shi i , 2014) 43
3.10. P opiedades Cu a Elíp ica (Nick Sulli an, 2013) 44
3.11. Mul iplicación Cu a Elíp ica (RSK educa e, 2015) 45
3.12. Funcionamien o de unción hash (Fe cu e , 2011) 47
3.13. Ca ac e ís icas SHA-256 (RSK educa e, 2015) 49
3.14. Gene a una di ección pública en Bi coin (RSK educa e, 2015) 53
3.15. Monede o De e minis a ipo Cadena (Nick Adams, 2017) 54
3.16. Monede o De e minis a ipo Á bol (Nick Adams, 2017) 54
3.17. Componen es de una T ansacción (RSK educa e, 2015) 57
3.18. Ejemplo de una T ansacción (RSK educa e, 2015) 58
3.19. T ansacción Real de Bi coin (sheinix, 2018) 59
3.20. T ansacción con Re o no (Bi 2Me, s. .[c]) 59
3.21. Fi ma de una T ansacción (Shi i , 2014) 60
3.22. Cabece a de un Bloque (Wande , 2013) 62
3.23. Conexión Bloques (RSK educa e, 2015) 63
4.1. T ansacción (RSK educa e, 2015) 65
4.2. B oadcas ing de una T ansacción (RSK educa e, 2015) 66
4.3. Alice p opaga dos ansacciones dis in as (Cu iousIn en o , 2013) 67
4.4. Tipos de cadenas en Blockchain (Cu iousIn en o , 2013) 68
xiii
ÍNDICE DE FIGURAS
4.5. P opagación de una T ansacción (RSK educa e, 2015) 69
4.6. Mine ía Blockchain, búsqueda del Nonce (RSK educa e, 2015) 70
4.7. Mine ía Blockchain, ama más la ga (Cu iousIn en o , 2013) 72
4.8. Di e encias PoW y PoS (Schumann, 2018) 74
4.9. Economías de Escala (Schumann, 2018) 75
4.10. Algo i mo de Consenso DPoS (Win e ield, 2018) 77
4.11. Acue do Bizan ino Fede ado (FBA) (Rende s, 2018) 79
5.1. E olución de Blockchain (In e Value, 2018) 82
5.2. Con a os en la Blockchain (K is en Sil e be g, 2016) 84
5.3. Es uc u a Bi coin s E he um (He ig, 2017b) 85
5.4. Es uc u a DApp (blockchainhub, 2019) 88
6.1. Con ol Lazo Abie o (Ma eo C uz, 2019) 92
6.2. Con ol Lazo Ce ado (Ma eo C uz, 2019) 92
6.3. Con ol P (Physicsch, 2015) 93
6.4. Con ol PI (Physicsch, 2015) 94
6.5. Con ol PID (Physicsch, 2015) 95
6.6. Sis ema de Con ol Dis ibuido (Recu sos, 2018) 96
6.7. Es uc u a de supe isión con SCADA(En Wikipedia, s. .[u]) 97
6.8. Es uc u a conexión ni el campo y ni el con ol 98
6.9. Conexión ni eles campo y con ol median e ecnología Tangle (Elabo ación p o-
pia, 2019) (io a communi y, 2018) 99
6.10. In eg ación de PLCs con Sma Con ac (Elabo ación p opia, 2019)(Rosic, 2016) 100
6.11. In eg ación de SCADA con Sma Con ac y S o age Blockchain (Elabo ación
p opia, 2019) (Rosic, 2016) 103
6.12. In eg ación To al sin disposi i os in e media ios (Elabo ación p opia, 2019) (Ro-
sic, 2016) 104
7.1. Riesgos sis ema cen alizado bajo a aque (Elabo ación p opia, 2019) 107
7.2. Solución Blockchain p opues a (Elabo ación p opia, 2019) 109
7.3. Solución adop ada (Elabo ación p opia, 2019) 110
7.4. Diag ama y esul ado pa a lec u a senso de empe a u a 114
7.5. Diag ama y esul ado pa a alimen ación y con ol de en ilado es 115
7.6. Diag ama y esul ado mon aje inal 116
7.7. Con igu ación y moni o ización del nodo en In u a 132
7.8. Despliegue del Sma Con ac en Rops en 134
7.9. Despliegue del Sma Con ac en Rops en, ansacción en la Blockchain 135
7.10. Funcionamien o del webse e e in e az web 137
7.11. Funcionamien o de in e az web y Me amask 138
7.12. T ansacciones ecibidas y ecogidas en el Sma Con ac 139
7.13. Diag ama comple o de conexiones (Elabo ación p opia, 2019) 140
7.14. G á ica: Con ol en o no a pun o de uncionamien o 141
7.15. G á ica: Con ol con Se poin de bajada, es 1 143
7.16. G á ica: Con ol con se poin de bajada, es 2 144
7.17. G á ica: Con ol con se poin de bajada, es 3 146
7.18. G á ica: Con ol con Se poin de subida 147
xi
Índice de Tablas
3.1. P incipales di e encias en e BD y Blockchain (Tabo a, 2018) 23
3.6. Compa a i a de Mecanismos de Consenso (RSK educa e, 2015) 36
7.2. Resul ados: Con ol en o no a pun o de uncionamien o 142
7.4. Resul ados: Con ol con se poin de bajada, es 1 143
7.6. Resul ados: Con ol con se poin de bajada, es 2 145
7.8. Resul ados: Con ol con se poin de bajada, es 3 146
7.10. Resul ados: Con ol con se poin de subida, es 1 148
7.12. Resul ados: Con ol con se poin de subida, es 2 148
7.14. Resul ados: Con ol con se poin de subida, es 3 149
x
1 In oducción
1.1 Con ex o
1.1.1 La impo ancia de la con ianza
La sociedad se encuen a ac ualmen e i iendo la Re olución Digi al o Te ce a Re o-
lución Indus ial, que ma có el comienzo de la E a de la In o mación.(B yan , 2011)
La llegada de In e ne pe mi e a cualquie pe sona o máquina es a conec ado con el
es o del mundo, la p i acidad y p o ección de da os se han con e ido en una p io idad, la
posibilidad de maneja in o mación sensible se encuen a ocalizada en pocos indi iduos
y es o ab e la posibilidad de la exis encia de b echas de segu idad o uso audulen o de esa
in o mación, la sociedad i e en la E a de la In o mación pe o sin ene con ol sob e esa
in o mación (Rome o, 2007).
Ac ualmen e exis en una decena de emp esas/en idades que manejan la mayo ía del á ico
del mundo y que ac úan como in e media ios de los da os, son las “T us ed Thi d Pa -
ies” o Te ce os de con ianza, su come ido es ges iona los da os en e dos o más agen es,
y se deposi a en ellos la con ianza de que las ansacciones, acue dos o abajos a a és de
In e ne en e es os agen es se lle a án a cabo (Can o , 2018), algunos ejemplos se ían:
Facebook: Ges iona da os pe sonales de un usua io con el es o de usua ios de la
ed, con la capacidad incluso de censu a los o usa los pa a o o in.
PayPal: Ges iona los pagos en e dos usua ios, con capacidad de bloquea o e i a
el pago en caso de con lic o.
Ai BnB/Ube : Ges ionan alquile es de inmuebles y se icios en e usua ios de su
ed.
Bancos y compañías de a je as de c édi o: Hacen de in e media io en e las cuen-
as banca ias de comp ado y endedo .
Todas es as pla a o mas c ean su alo como ges o es de da os donde los usua ios depo-
si an su con ianza. La ecnología Blockchain apa ece pa a supli la necesidad de acudi a
e ce os de con ianza pa a ealiza ansacciones en In e ne con plena con ianza de que
se lle a án a cabo, al igual que no es necesa io un no a io pa a ealiza la comp a del mes
o pedi un axi.
1
1. INTRODUCCIÓN
1.1.2 His o ia de la ecnología Blockchain
En los años 90 un g upo de pe sonas comenzó a euni se pa a discu i p oblemas de
p og amación y c ip og a ía, esas euniones e oluciona on a a és de una lis a de emails,
a discusiones sob e ma emá icas, in o má ica, p i acidad, libe ad, iloso ía y polí ica,
el g upo c eció y e mina on haciéndose llama “Cyphe punks” (imch is, 2004; Pe iB,
2018).
Un Cyphe punk es cualquie ac i is a que aboga po el uso gene alizado de c ip og a-
ía y ecnologías que mejo en la p i acidad como u a hacia el cambio social y polí ico
(Pe iB, 2018; Manne, 2011).
En 1993 apa eció un mo imien o siguiendo el “Cyphe punk mani es o” cuya cla e p in-
cipal e a la p i acidad. Basado en ese p incipio se desa olla on las p ime as ideas sob e
las di isas digi ales (Pe iB, 2018; Manne, 2011; Na ayanan, 2013).
Exis ie on a ios in en os de aplica ansacciones anónimas y mejo as en la p i acidad
en la ed:
Adam Back (1997): C eado de “Hascash”, un mecanismo an i-spam que añade
iempo compu acional al en ío de emails, lo que con ie e el en ío de spam en un
p oceso cos oso (Back, 2002).
Wei Dai (1997-1998): Publicó la p opues a de “B-Money”, un sis ema anónimo de
dine o e ec i o elec ónico dis ibuido, un mé odo pa a almacena la in o mación de
las ansacciones sin se necesa ia la exis encia de Thi d Pa ies (Dai, 1998).
Hal Finney (2004): C eado del “Reusable P oo o Wo k”, un so wa e que solu-
ciona el p oblema del “doble gas o”, p oblema undamen al de las di isas digi ales
(nakamo oins i u e, 2004).
Nick Szabo (2005): Publicó una p opues a pa a “Bi gold”, un in en o de eplica las
p opiedades económicas del o o mejo ando sus p opiedades de segu idad, los bene-
icios p incipales e an la independencia de ins i uciones inancie as y ansacciones
en e países sin p oblemas (Mosko , 2018).
El p ime Blockchain
El p ime abajo en una cadena de bloques asegu ados c ip og á icamen e ue desc i o
en 1991 po S ua Habe y W. Sco S o ne a (Na ayanan y col., 2016; Habe y S o ne a,
1990). Que ían implemen a un sis ema donde las ma cas de iempo de los documen os
no pudie an se al e adas. En 1992, Baye , Habe y S o ne a inco po a on á boles Me kle
al diseño, lo que mejo ó su e iciencia al pe mi i que a ios ce i icados de documen os se
eunie an en un solo bloque (Na ayanan y col., 2016; Baye , Habe y S o ne a, 1993).
El p ime Blockchain ue concep ualizado po una pe sona (o g upo de pe sonas) conocida
como Sa oshi Nakamo o en 2008. Nakamo o mejo ó el diseño de una mane a impo an e,
u ilizando un mé odo simila al de Hashcash pa a ag ega bloques a la cadena sin eque i
que es én i mados po un “T us ed Pa y” (Na ayanan y col., 2016). El diseño ue imple-
men ado el año siguien e po Nakamo o como un componen e cen al de la c ip omoneda
bi coin, que si e como el egis o público pa a odas las ansacciones en la ed (Econo-
mis , 2015).
2
2.2 La segu idad online, ac ual s Blockchain
Figu a 2.3 BC Pública s P i ada s Híb ida (Pé ez, 2019).
2.2.2 In e acción con la ed:
In e ne y comunicaciones ac uales: pa a in e ac ua con los se ido es de una ed
p ime o debes accede a ella y segundo ene pe miso pa a in e ac ua , no malmen e
ambas acciones se ealizan con la combinación de usua io y con aseña, que suele
se uno de los pun os más ulne ables de la ed.
Las edes p i adas no malmen e es án p o egidas po di e en es mé odos de segu-
idad como VPNs, Fi ewalls y p o ocolos de segu idad y enc ip ación ( Tac ical
Technology Collec i e y F on Line, 2018).
9
2. ¿POR QUÉ EL BLOCKCHAIN?
Blockchain: el pun o cla e de la segu idad en la ecnología Blockchain es que u i-
liza la ecnología de Lla e Pública-Lla e P i ada (Public-P i a e key pai ), es e
mé odo de enc ip ación elimina la necesidad de e i ica el dúo usua io y con ase-
ña con a una base de da os.
La segu idad pa a accede a la ed se ga an iza á siemp e que la Lla e P i ada de
cada usua io se man enga p o egida o sea cambiada egula men e.
Pa a Blockchains p i adas se pueden u iliza los mismos mé odos de segu idad ya
mencionados (VPNs, Fi ewalls, e c) (Joshi, Han e Y. Wang, 2018).
La g an en aja del mé odo de las cla es públicas-p i adas de las Blockchains con a el
dúo de usua io y con aseña, es que en caso de des ela se la cla e p i ada de un usua io,
solo las ansacciones/acciones de ese usua io es a ían comp ome idas y se ía necesa io
conoce odas las cla es p i adas, que NO se almacenan en ninguna base de da os, pa a
pode accede a la in o mación del es o usua ios.
En casos de acceso audulen o a una base de da os de un se ido que con enga odos
los usua ios y con aseñas y demás in o mación sensible (po ejemplo con el usua io y
con aseña del Adminis ado ), si la in o mación no es á co ec amen e ci ada o son con-
aseñas débiles, puede a ec a a oda la ed de usua ios de ese se ido , como ya ha pasado
en ulne abilidades pasadas de algunas emp esas (En Wikipedia, s. .[s]).
En el caso de la ecnología Blockchain, si se des elase la cla e P i ada del Adminis ado ,
el es o de cla es P i adas pe manecen segu as ya que no se encuen an almacenadas en
el Se ido /Base de da os comp ome ido.
2.3 La con ianza online, ac ual s Blockchain
2.3.1 ¿Qué es la con ianza?
Espe anza i me que una pe sona iene en que algo suceda, sea o uncione de una
o ma de e minada, o en que o a pe sona ac úe como ella desea (En Lexico, s. .).
Fue a de la ed es a con ianza es á p opo cionada po igu as como los no a ios, que se
ocupan de egis a las ansacciones como álidas, los cue pos del es ado como el judi-
cial y las ue zas de segu idad que se enca gan de que los con a os y acue dos lleguen
a cumpli se asegu ando la con ianza de los acue dos y en úl ima ins ancia el dine o en
e ec i o que al hace un pago en mano p o ee la segu idad de que la pe sona ecibi á en
ese mismo ins an e el obje o o se icio adqui ido Vigna y Casey (2019).
2.3.2 Con ianza Online
La al a de con ianza ha sido iden i icada epe idamen e como una de las ba e as más
o midables pa a que las pe sonas se in oluc en en el come cio elec ónico, in oluc ando
ansacciones en las cuales la in o mación inancie a y pe sonal se en ía a los come cian es
a a és de In e ne .
10
2.3 La con ianza online, ac ual s Blockchain
El u u o del come cio elec ónico es enue sin un clima gene al de con ianza en línea.
C ea con ianza en los consumido es en In e ne ep esen a un desa ío pa a los come -
cian es en línea y es un ema de in es igación de c ecien e in e és e impo ancia (Y. D.
Wang y Emu ian, 2005).
In e ne y comunicaciones ac uales: como se ha comen ado en el Capí ulo 1, en
la sociedad ac ual la con ianza online la p o een los Thi d T us ed Pa ies. Cuan-
do se ealiza un pago online se u iliza PayPal, que hace de in e media io en e el
come cian e y el usua io, cuando se comp a un a iculo online se usan páginas co-
mo Amazon que p o een la con ianza de que el a iculo se á en egado y en buenas
condiciones y que los da os pe sonales y inancie os es án segu os, pa a busca in-
o mación se accede a Wikipedia que asegu a que la in o mación que p o een es
iable, pa a la comunicación ins an ánea se u iliza Wha sapp o Facebook, in e me-
dia ios que asegu an que el mensaje llega á sin se in e cep ado.
Todos es os in e media ios ienen acceso a es a in o mación sensible, pe o se con-
ía en que es os agen es no ha án uso audulen o y cumpli án con la u ilización
aco dada de esos da os.
Blockchain: la ecnología Blockchain p e ende e oluciona la ges ión de la con-
ianza online, es a ecnología sus i uye los Thi d T us ed Pa ies po los nodos.
Los nodos se án los enca gados de ejecu a el código que e i ica á que la an-
sacción es co ec a, una ez alidada la ansacción es a es añadida a la cadena de
bloques asegu ando que es e dad, y una ez añadida no puede se modi icada.
La g an di e encia es que es os nodos no ienen acceso a los da os, es o signi ica que
los nodos no pueden modi ica o hace un mal uso de los da os de una ansacción
i mada po una cla e P i ada y es as son solo p opiedad del usua io, no pueden
se obadas en un a aque de hacke s a un se ido .
La his o ia ya ha mos ado escándalos como el uso de da os audulen o po Facebook o
g andes webs hackeadas con da os de millones de usua ios il ados, pe o has a aho a los
usua ios no enían o a al e na i a que con ia en es os agen es, es o puede cambia con la
llegada de la ecnología Blockchain (R. Ál a ez, 2018; O e o, 2018).
Un buen ejemplo de como unciona una ansacción de un ac i o en la Blockchain se-
ía el Bi coin (bi coin.i , 2011c):
1. El usua io A quie e en ia 1 BTC al usua io B, pa a ello c ea la ansacción y la
i ma con su lla e P i ada, después en ía esa ansacción i mada a la Blockchain
Bi coin.
2. La Blockchain (nodos) ecibe la ansacción i mada, comp ueba que el usua io A
iene 1 BTC pa a en ia y si es co ec o alida la ansacción.
3. Se disminuye el saldo de A en 1 BTC y se aumen a el saldo de B en 1 BTC.
4. Una ez la ansacción es alidada se añade a la cadena de bloques de es a Block-
chain y ya no puede se modi icada, e i ando que A pueda ol e a en ia ese BTC
(p oblema del doble gas o).
11
2. ¿POR QUÉ EL BLOCKCHAIN?
5. Todo es e p oceso ocu e muy ápido o incluso ins an áneo en o as Blockchains
dis in as al Bi coin, con unos cos es muy bajos po ansacción, del o den de cén i-
mos de eu o o incluso menos sin impo a la can idad in e cambiada.
En compa ación con PayPal, un banco o la comp a de una casa au en icada po un no a-
io, en es e ejemplo los nodos no pueden modi ica el saldo de A sin su lla e p i ada, ni
congela lo ni pe de lo, po es ad que sí ienen los agen es de con ianza ac uales.
Los BTCs del usua io A es án segu os si un hacke accede a la base de da os de la Block-
chain, ya que no puede modi ica las cuen as/saldos ni puede accede a las con aseñas
po que las cla es p i adas no se almacenan en la Blockchain.
Un hacke que accedie a con una cuen a de Adminis ado del sis ema de cualquie
Thi d T us ed Pa y ac ual, sí pod ía llega a modi ica ansacciones de o os usua ios sin
necesi a la cla e de ese usua io, es o es imposible en la Blockchain (hashgains, 2018).
Po an o los agen es de con ianza ac uales pod án se sus i uidos en el u u o po no-
dos ejecu ando código, es os nodos son segu os y con iables debido a la obus ez que
p opo ciona la Blockchain dis ibuida que impide la exis encia de nodos deshones os
que esc iban ansacciones alsas a su a o .
Figu a 2.4 Mul i ud de in e media ios(Casals, 2016).
2.3.3 Sma Con ac s en e a los p o eedo es online
Más adelan e se es udia á en p o undidad qué son los Sma Con ac s, un so wa e
que pe mi e ejecu a cualquie ipo de código en la Blockchain.
Es a ecnología pe mi e ealiza ansacciones/acciones del ipo “si se cumple la condi-
ción A ealiza B”, e incluso pe mi i á ejecu a cualquie código con las p opiedades cla e
de la ecnología Blockchain, e dad,segu idad ycon ianza, los Sma Con ac s in e-
g ados con el In e ne o Things ienen un g an po encial.
Un ejemplo sencillo puede se un Sma Con ac de i iendas de alquile simila a Ai BnB.
Ai BnB:
1. El usua io con ía sus da os de pago a la pla a o ma, es a end á po es ad de ca ga
cualquie can idad al usua io, po se una Thi d T us ed Pa ies es poco p obable
que haga mal uso de esos da os de pago.
12
2.3 La con ianza online, ac ual s Blockchain
2. El usua io debe con ac a con el dueño de la i ienda y con ia en que el dueño
cumpli á lo p ome ido, p o ee el acceso a la i ienda.
3. La pla a o ma ealiza á el pago al dueño de la i ienda as deduci una comisión po
su papel como in e media io, la pla a o ma ha á de á bi o si su ge algún p oblema,
puede incluso e ene el pago o ealiza ca gos ex a.
Un Sma Con ac de i iendas de alquile :
1. El usua io in e ac úa con el Sma Con ac i mando el pago aco dado con su cla e
p i ada.
2. El Sma Con ac comp ueba que se ha ealizado el pago en la Blockchain y libe a
la in o mación de acceso a la i ienda pa a el usua io y libe a el pago pa a el dueño
de la i ienda.
3. Se pod ían añadi más condiciones al Sma Con ac como e i icación de la i ien-
da p e io al pago o inclui un sis ema de ianzas, incluso conec a la Blockchain con
accesos domó icos a la i ienda pa a pe mi i / escindi el acceso solo al usua io
adecuado.
4. Po la ejecución del Sma Con ac suele se necesa ia una pequeña comisión del
o den de cén imos de eu o.
La g an di e encia en es e ejemplo es que en el u u o no se á necesa io una pla a o ma
in e media ia que asegu e el pago del se icio, o que ponga en con ac o a las pa es y que
enga el pode de accede a los da os de pago o de denega el acceso al se icio, además
educiendo las comisiones po ealiza es e se icio.
Es cie o que en es e ejemplo se compa a un Sma Con ac con Ai BnB, un agen e de
con ianza en la sociedad ac ual.
Es a con ianza la ha cons uido es a emp esa a su ez c eando un monopolio, donde
e i a que o as emp esas con el mismo modelo de negocio puedan en a a compe i ya que
no son igual de iables. Es as emp esas pod ían se iables si u ilizan ecnologías como los
Sma Con ac s, donde su negocio no ue a el de la con ianza e in e mediación, sino el de
da un buen se icio al usua io.
En una es uc u a de Sma Con ac , la ealización con ac ual eque ida no depende
de la con ianza de las pa es en e sí, o de un e ce o, sino que dependen de la con ianza de
las pa es en el p opio Sma Con ac , que no se basa en una p omesa de cumplimien o
sino en la p og amación diseñada pa a log a un obje i o especí ico (Go ende , 2019).
13
2. ¿POR QUÉ EL BLOCKCHAIN?
Figu a 2.5 Con a os adicionales s Sma Con ac s(W, 2018).
14
3 ¿Qué es el Blockchain?
En el Capí ulo 2, se ha des acado el po qué la ecnología Blockchain es necesa ia pa a
mejo a la segu idad y con ianza online y aho a cos es de in e mediación, pe mi iendo
ealiza ansacciones e dade as, iables y segu as de o ma ápida y a cos e educido.
En es e capí ulo 3se p ocede a es udia qué es la ecnología Blockchain y en el siguien e
capí ulo 4se es udia cómo unciona es a ecnología pa a log a es os obje i os an ambi-
ciosos.
3.0.1 De inición de Blockchain
Una Blockchain, es una es uc u a de da os en la que la in o mación con enida se
ag upa en conjun os (bloques) a los que se les añade in o mación ela i a al bloque an-
e io de la cadena en una línea empo al, de mane a que g acias a écnicas c ip og á icas,
la in o mación con enida en un bloque solo puede se epudiada o edi ada modi icando o-
dos los bloques pos e io es, es a Base de Da os es á dis ibuida en e odos los nodos
que pa icipan en el sis ema.
En la p ác ica ha pe mi ido, g acias a la c ip og a ía asimé ica y las unciones de e-
sumen o hash, la implemen ación de un egis o con able (ledge ) dis ibuido que pe mi e
sopo a y ga an iza la segu idad del dine o digi al.
Siguiendo un p o ocolo ap opiado pa a odas las ope aciones e ec uadas sob e la Block-
chain, es posible alcanza un consenso sob e la in eg idad de sus da os po pa e de odos
los pa icipan es de la ed, sin necesidad de ecu i a una en idad de con ianza que cen-
alice la in o mación.
Po ello se conside a una ecnología en la que la " e dad" (es ado con iable del sis e-
ma) es cons uida, alcanzada y o alecida po los p opios miemb os; incluso en un en-
o no en el que exis a una mino ía de nodos en la ed con compo amien o malicioso dado
que, en eo ía, pa a comp ome e los da os, un a acan e eque i ía de una mayo po encia
de cómpu o y p esencia en la ed que el esul an e de la suma de odos los es an es nodos
combinados.
Po las azones an e io es, la ecnología Blockchain es especialmen e adecuada pa a
escena ios en los que se equie a almacena de o ma c ecien e da os o denados en el
iempo, sin posibilidad de modi icación ni e isión y cuya con ianza p e enda se dis i-
buida en luga de esidi en una en idad ce i icado a (En Wikipedia, s. .[d]).
Es un egis o único,consensuado ydis ibuido en a ios nodos de una ed (Pas o-
ino, 2018).
15
3. ¿QUÉ ES EL BLOCKCHAIN?
Una cadena de bloques es esencialmen e solo un egis o, un lib o mayo de acon eci-
mien os digi ales que es á “dis ibuido” o es compa ido en e muchas pa es di e en es.
Solo puede se ac ualizado a pa i del consenso de la mayo ía de pa icipan es del sis e-
ma y, una ez in oducida, la in o mación nunca puede se bo ada. La cadena de bloques
de Bi coin con iene un egis o ce e o y e i icable de odas las ansacciones que se han
hecho en su his o ia (Bi 2Me, 2018a).
3.1 Es uc u as de Da os: Bases de Da os y Blockchain
3.1.1 In oducción a las Bases de Da os
Po qué u iliza una base de da os
Una base de da os (BD) p opo ciona a los usua ios el acceso a da os, que pueden i-
sualiza , ing esa o ac ualiza , en conco dancia con los de echos de acceso que se les hayan
o o gado (Villagómez, 2017).
Qué es una base de da os
Una base de da os es una en idad en la cual se pueden almacena da os de mane a
es uc u ada, con la meno edundancia posible.
Una base de da os se en ende á como una colección de da os elacionados en e sí y
que ienen un signi icado implíci o. Po da os se e ie e a hechos conocidos que pueden
egis a se y que ienen un signi icado implíci o(Villagómez, 2017; ead hedocs.io, s. .).
Di e en es p og amas y di e en es usua ios deben pode u iliza es os da os. Po lo an-
o, el concep o de base de da os gene almen e es á elacionado con el de ed, ya que se
debe pode compa i es a in o mación.
Una base de da os puede se local, es deci que puede u iliza la solo un usua io en
un equipo, o puede se dis ibuida, es deci que la in o mación se almacena en equipos
emo os y se puede accede a ella a a és de una ed.
La p incipal en aja de u iliza bases de da os es que múl iples usua ios pueden ac-
cede a ellas al mismo iempo (Villagómez, 2017).
Sis emas de iche os adicionales
En es os sis emas, cada p og ama almacenaba y u ilizaba sus p opios da os de o ma un
an o caó ica. La única en aja que conlle a es o es que los p ocesos son independien es,
po lo que la modi icación de uno no a ec a al es o ( ead hedocs.io, s. .).
Pe o iene g andes incon enien es:
Da os edundan es. Ya que se epi en con inuamen e.
Cos e de almacenamien o ele ado. Al almacena se a ias eces el mismo da o en
dis in as aplicaciones, se equie e más espacio en los discos.
Tiempos de p ocesamien o ele ados. Al no pode op imiza el espacio de almace-
namien o.
P obabilidad al a de inconsis encia en los da os. Es o se debe a que un p oceso
cambia sus da os y no el es o. Po lo que el mismo da o puede ene alo es dis in os
según qué aplicación acceda a él.
16
3.1 Es uc u as de Da os: Bases de Da os y Blockchain
Di ícil modi icación en los da os. Debido a la p obabilidad de inconsis encia, cada
modi icación se debe epe i en odas las copias del da o.
Sis emas de base de da os elacional
En es e ipo de sis emas los da os se cen alizan en una base de da os común a odas
las aplicaciones( ead hedocs.io, s. .).
Sus en ajas son las siguien es:
Meno edundancia. No es necesa ia la epe ición de da os. Aunque, sólo los bue-
nos diseños de da os ienen poca edundancia.
Meno espacio de almacenamien o. Debido a una mejo es uc u ación de los da-
os.
Acceso a los da os más e icien e. La o ganización de los da os p oduce un esul ado
más óp imo en endimien o.
Da os más documen ados. Los me a-da os pe mi en desc ibi la in o mación de la
base de da os.
Independencia de los da os y los p og amas y p ocesos. Es o pe mi e modi ica
los da os sin modi ica el código de las aplicaciones.
In eg idad de los da os. Mayo di icul ad de pe de los da os o de ealiza incohe-
encias con ellos.
Mayo segu idad en los da os. Al limi a el acceso a cie os usua ios.
Como con apa ida encon amos los siguien es incon enien es:
Ins alación cos osa. El con ol y adminis ación de bases de da os equie e de un
so wa e y ha dwa e po en e.
Requie e pe sonal cuali icado. Debido a la di icul ad de manejo de es e ipo de
sis emas.
Implan ación más la ga y di ícil.
La adap ación del pe sonal es más complicada y lle a mayo iempo.
Sis emas de Ges ión de Bases de Da os
Un sis ema ges o de bases de da os (SGBD) es una aplicación que pe mi e a los usua-
ios de ini , c ea y man ene una base de da os, y p opo ciona acceso con olado a la
misma ( ead hedocs.io, s. .).
En gene al, un SGBD p opo ciona los siguien es se icios:
Pe mi e la de inición de la base de da os median e el lenguaje de de inición de
da os (DDL – Da a Desc ip ion Language). Es e lenguaje pe mi e especi ica la
es uc u a y el ipo de los da os, así como las es icciones sob e los da os. Todo es o
se almacena á en la base de da os.
17
3. ¿QUÉ ES EL BLOCKCHAIN?
Pe mi e la inse ción, ac ualización, eliminación y consul a de da os median-
e el lenguaje de manejo o manipulación de da os (DML - Da a Manipula ion
Language).
P opo ciona un acceso con olado a la base de da os median e:
•Un sis ema de segu idad, de modo que los usua ios no au o izados no puedan
accede a la base de da os, median e el lenguaje de con ol de da os (DCL -
Da a Con ol Language);
•Un sis ema de in eg idad que man iene la in eg idad y la consis encia de los
da os;
•Un sis ema de con ol de concu encia que pe mi e el acceso compa ido a la
base de da os;
•Un sis ema de con ol de ecupe ación que es ablece la base de da os después
de que se p oduzca un allo del ha dwa e o del so wa e;
•Un dicciona io de da os o ca álogo accesible po el usua io que con iene la
desc ipción de los da os de la base de da os.
3.1.2 Bases de Da os en la Blockchain
Cen alizadas, descen alizadas y dis ibuidas
Cen alizadas: man ienen odos los da os en una única ubicación y pa a accede a
la in o mación se debe ing esa al se ido p incipal del sis ema.
Su p incipal en aja es que son más sencillas de man ene , pe o son muy poco es-
ables/ esis en es a allos, mayo es iesgos de segu idad al con ene oda la in o -
mación en un solo luga , poco esis en es a mul i ud de pe iciones y p oblemas de
escalabilidad (Rosa, 2018).
Descen alizadas: consis e en una se ie de se ido es que se encuen an en dis in-
os luga es geog á icos, los da os no se almacenan en un solo luga , sino que es án
almacenados en una se ie de se ido es dis in os que p o een de in o mación a los
clien es.
Funcionan como un g upo de bases de da os independien es sin conexiones lógicas
en e ellas y que no es án o almen e in e conec adas median e una ed de comuni-
caciones. Son más es ables que las cen alizadas y poseen mayo segu idad al ene
los da os almacenados epa idos y mayo escalabilidad (Rosa, 2018).
Dis ibuidas: unciona como una única base de da os lógica que es á ins alada en
una se ie de se ido es (nodos) ubicadas en di e en es luga es geog á icos y que
no es án conec adas a una única unidad de p ocesamien o, pe o si es án o almen e
conec adas en e sí a a és de una ed de comunicaciones.
En es e sis ema odos los nodos con ienen in o mación y odos los clien es del sis-
ema es án en condición de igualdad. De es a o ma las bases de da os dis ibuidas
pueden ealiza p ocesamien os au ónomos. Son las más es ables de odas al alma-
cena la o alidad de la in o mación del sis ema en un g an núme o de nodos que
man ienen condiciones de igualdad en e sí, poseen la mayo escalabilidad de los 3
modelos (Rosa, 2018).
18
3.2 P oblemas compu acionales que soluciona una Blockchain
Figu a 3.2 P oblema Gene ales Bizan inos (Pease, 1995).
3.2.2 P oblema del doble gas o
El doble gas o es una debilidad del e ec i o digi al, ya que pe mi i ía gas a una mo-
neda digi al dos eces.
Dado que, a di e encia del dine o ísico como las monedas, los a chi os elec ónicos
pueden se duplicado o alsi icado, y po lo an o el hecho de gas a una moneda digi al
no elimina sus da os de la p opiedad del i ula o iginal, se necesi an o os medios pa a
e i a el doble gas o (RSK educa e, 2015).
Al igual que con el dine o alsi icado, el doble gas o conlle a in lación dado que se c ean
nue as monedas audulen as que an e io men e no exis ían. Es o de alúa la moneda en
elación a o as unidades mone a ias, y disminuye la con ianza de los usua ios, así como
di icul a la ci culación y posesión de la moneda.
En el caso conc e o de las Blockchains, es as se p o egen con a los a aques de doble
gas o ag egando cada ansacción a la Blockchain, haciendo que sea muy di ícil modi-
ica la y e i icándola después. Pa a ello, u iliza un sis ema descen alizado, basado en
una g an ed de nodos que con i man la ansacción.
Es más ulne able a es e ipo de a aques, du an e el inicio de la ansacción en la ed
y po eso, a mayo núme o de con i maciones, menos p obable se á el iesgo de su i un
a aque (En Wikipedia, s. .[l]).
25
3. ¿QUÉ ES EL BLOCKCHAIN?
Figu a 3.3 P oblema Doble Gas o(Alon Gal, 2018).
Tipos de a aques:
A aque de ca e a
Es a a iación del a aque de doble gas o solo se puede p oduci en caso de ansac-
ciones cuyos endedo es acep an pagos sin con i mación ya que se exponen a que
la ansacción pueda se e e ida.
El a aque se basa en que a la ho a de ealiza una ansacción podemos ealiza
al mismo iempo o a u o as ansacciones usando los mismos ondos. El nomb e
del a aque iene po que se p oduce una ca e a pa a e que ansacción se acep a
p ime o.
A aque Finney
Debe su nomb e a Hal Finney que ue el p ime ecep o de una ansacción po
medio de una ed Bi coin. Solo unciona si el come cian e acep a ansacciones no
con i madas. Requie e la pa icipación de un mine o.
El a acan e i á minando bloques, en el bloque que es é minando en ese momen o,
incluye una ansacción que le de uel e algunas de sus monedas, pe o sin ansmi i
la ansacción al es o de nodos. En cada bloque que gene a incluye una ans e encia
de una di ección A a B ambos con oladas po él. Cuando encuen a un bloque hace
una comp a desde A y cuando se acep e el pago el a acan e di unde su bloque, la
ansacción le en ía las c ip omonedas a él y anula á/ e e i á el pago an e io al
come cian e.
A aque po ue za b u a
Es e a aque se puede ealiza incluso siendo necesa io ecibi con i maciones al ea-
liza la ansacción. El éxi o o acaso del a aque depende del Hash a e (pode de
cómpu o) que enga el a acan e, pe o equie e un gas o conside able en elec icidad
y ha dwa e.
El a aque consis e en hace una ansacción en la que se paga al endedo y al mis-
mo iempo se mina un Blockchain al e na i o en el que se incluye un a aque de
doble gas o, una ez se ha espe ado un nume o de con i maciones y el endedo
ende/en ía el p oduc o, si en ese momen o se han encon ado más de n bloques
en onces se libe a la cadena al e na i a y el a acan e ecupe a su dine o.
26
3.3 Consensus
A aque po mayo ía o a aque >50%
Es e a aque solo se puede ealiza si el a acan e con ola más del 50% del Hash a e,
es e se ía un caso especial del a aque po ue za b u a que end ía un 100% de
p obabilidades de éxi o ya que el a acan e a a pode gene a bloques más ápido
que el es o de la ed, como se obse a en la igu a 3.4.
El núme o de con i maciones se ía i ele an e pe o un mayo núme o de con i ma-
ciones puede e asa lo su icien emen e al a acan e pa a que es e mé odo no sea
en able.
Figu a 3.4 A aque del 51%(Jimi S., 2018).
27
3. ¿QUÉ ES EL BLOCKCHAIN?
3.3 Consensus
3.3.1 ¿Qué es el Consensus?
Consenso de inición: Acue do p oducido po consen imien o en e odos los miem-
b os de un g upo o en e a ios g upos (En DRAE, 2018a).
Un blockchain es un sis ema descen alizado de igual a igual (p2p) sin una igu a de
au o idad cen al. Es o c ea un sis ema sin co upción de un único o igen/cen al, pe o
oda ía c ea un p oblema impo an e po que una cadena de bloques no iene "líde ". Pa a
que las cadenas de bloques omen decisiones, deben llega a un consenso u ilizando "me-
canismos de consenso" (Rosic, 2018).
En los úl imos 30 años, los mecanismos de consenso en el mundo in o má ico han pasado
de se una idea abs ac a a la cla e p incipal de la ecnología de bases de da os dis ibuida.
En los ledge s dis ibuidos, un mecanismo de consenso es la o ma en que una ma-
yo ía o odos los miemb os de la ed acue dan el alo de un da o o una p opues a de
ansacción, que luego ac ualiza el ledge .
En o as palab as, un mecanismo de consenso es un conjun o de eglas y p ocedimien-
os que man ienen un conjun o cohe en e de hechos en e los nodos pa icipan es.
Los algo i mos de consenso pe mi en que las máquinas conec adas abajen jun as co-
mo un g upo que incluso sob e i e si alguno de sus miemb os alla. Es a ole ancia al
allo es o a g an en aja de las Blockchains y las bases de da os dis ibuidos, que ienen
edundancia inco po ada.
Los p o ocolos de consenso o las pla a o mas de consenso son el núcleo de las ec-
nologías dis ibuidas. Exis e una g an di e sidad de algo i mos pa a gene a consenso en
unción de equisi os como endimien o, escalabilidad, consis encia, capacidad de da os,
gobie no, segu idad y allas edundancia (RSK educa e, 2015; And eas M. An onopoulos,
aan onop, 2016).
Consenso es que los nodos de la ed es án de acue do con el mismo es ado de una ca-
dena de bloques, en un sen ido que lo con ie e en un ecosis ema de au o-audi o ía(Lisk
Academy, 2019).
Es e es un aspec o absolu amen e c ucial de la ecnología, que lle a a cabo dos uncio-
nes cla e:
1. Los p o ocolos de consenso pe mi en que se ac ualice una cadena de bloques, al
iempo que se ga an iza que odos los bloques de la cadena sean e dade os, además
de man ene a los pa icipan es incen i ados.
2. E i a que cualquie en idad indi idual con ole o desca ile odo el sis ema Block-
chain. El obje i o de las eglas de consenso es ga an iza que se u ilice y siga una
cadena única.
Cuáles son los obje i os de un mecanismo de consenso Rosic (2018):
Búsqueda de acue do: un mecanismo de consenso debe log a el mayo acue do
posible del g upo.
28
3.3 Consensus
Colabo a i o: odos los pa icipan es deben de abaja jun os pa a log a un esul-
ado que ponga el in e és del g upo p ime o.
Coope a i a: odos los pa icipan es deben abaja en equipo en luga de en o ma
indi idualizada y no deben pone sus p opios in e eses p ime o.
Iguali a io: un g upo que a a de log a un consenso debe se lo más iguali a io
posible. Lo que es o signi ica básicamen e es que odos y cada uno de los o os
ienen el mismo peso. El o o de un indi iduo no puede se más impo an e que el
de o o.
Inclusi o: en el p oceso de consenso debe pa icipa el mayo núme o posible de
indi iduos. No debe ía se como la o ación no mal donde no odas las pe sonas
sien en ganas de o a po que c een que su o o no end á ningún peso a la go plazo.
Pa icipa i o: El mecanismo de consenso debe se al que odos deben pa icipa
ac i amen e en el p oceso gene al.
3.3.2 Mecanismos de consenso disponibles y en desa ollo
Los p o ocolos de consenso son uno de los aspec os más impo an es y e oluciona ios
de la ecnología Blockchain.
Es os p o ocolos c ean un sis ema de acue do i e u able en e a ios disposi i os a
a és de una ed dis ibuida, mien as se e i a la explo ación indebida del sis ema (RSK
educa e, 2015; Lisk Academy, 2019; Azis, 2016).
P oo -o -Wo k (PoW), p ueba de abajo
Los mine os compi en pa a ag ega el siguien e bloque (un conjun o de ansacciones)
en la cadena de bloques, es una ca e a pa a esol e un ompecabezas c ip og á ico
ex emadamen e du o. El p ime o en esol e el ompecabezas, gana el p emio. Como
ecompensa po sus es ue zos, el mine o ecibe okens nue os y una pequeña comisión de
ansacción pagada po los usua ios.
En Blockchains g andes como Bi coin o E he um se consume una can idad impo an-
e de ene gía po odos los mine os. En Bi coin, el mine o ecibe 12.5 ejempla es nue os
has a 2020 que ocu i á el siguien e “hal ing”, p oceso que consis e en la educción a la
mi ad de la ecompensa de los mine os po comple a un bloque de ansacción, pe mi e
con ola el suminis o ( Bá ba a Nogales, 2019), y una pequeña comisión de ansacción.
El núme o de ansacciones po segundo de es e mecanismo es al ededo de 7-30 an-
sacciones/segundo.
Sopo a comisiones de ansacción al as.
Pa a a aca una Blockchain (3.2.2) que use PoW se debe ene mayo po encia de cálcu-
lo que el 50% de nodos de la ed jun os, lo que equi ale a g andes cos es y gas os de ene gía
pa a el a acan e, desincen i ando el a aque a las Blockchains que usan es e p o ocolo de
consenso, siendo uno de los p o ocolos más segu os cuando la Blockchain es g ande y
es á su icien emen e dis ibuida en mul i ud de nodos.
Di ec ed Acyclic G aphs (DAG), G a os Acíclicos Di igido
En un g a o (o ed de nodos conec ados) la in o mación se puede pasa de un nodo a o o
a lo la go de di e en es conexiones. La in o mación puede deja un nodo, pasa a a és
29
3. ¿QUÉ ES EL BLOCKCHAIN?
de o os nodos y eg esa al nodo o iginal. Cuando es o ocu e sin que se haya encon ado
ningún nodo más de una ez, el g á ico se puede de ini como cíclico.
Los g a os acíclicos son g a os que no ienen ningún ciclo, no hay una u a pa a que la
in o mación eg ese a los nodos p ima ios de cada diag ama sin duplica o pasa po un
nodo que ya se ha encon ado.
Si se le da una di ección/sen ido a las conexiones pa a que uncionen como una calle
de una sola ía pa a la in o mación, y se asegu a que ningún nodo se conec e a ninguno
de los o os nodo an e io es, nues o g a o es aho a un g a o acíclico di igido, e igu a
3.5.
Figu a 3.5 Di ec ed Acyclic G aphs (Fan om Founda ion, 2018).
Las Blockchain uncionan de mane a que cada bloque nue o incluye una e e en-
cia a la an e io . Sin emba go, se pueden c ea cadenas ami icadas cuando dos mine os
p oducen un bloque al mismo iempo, o se p oduce un a aque del 51%.
Pa a ga an iza que la cadena p incipal siga siendo iable, las cadenas de bloques im-
ponen un pe íodo de iempo a bi a io en e los bloques pa a que la ed enga iempo pa a
consolida y e i ica qué " ami icación" de la cadena es co ec a. Es e pe íodo de espe-
a se conoce como iempo de bloqueo, y las amas más co as o malin encionadas quedan
"hué anas" (descon inuadas).
Los DAG, po o o lado, pe mi en que coexis an e in e conec en múl iples cadenas de
bloques. Los nodos pueden exis i en pa alelo, siemp e que la in o mación se di ija en la
misma di ección.
Es o ab e un nue o ango de opciones de con i mación que eliminan la necesidad de
iempos de bloqueo, además de educi la can idad de p ocesamien o/ene gía despe di-
ciado en "cadenas hué anas" abandonadas.
Las ansacciones indi iduales se alidan en e sí. Los usua ios de la ed son mine os
y alidado es, aunque no pueden alida sus p opias ansacciones. Es o gene almen e
signi ica que en un DAG hay poca oninguna necesidad de paga comisiones.
Al escala de mane a muy e icien e y e i a o educi las a i as de los usua ios, los
DAG son adecuados pa a g andes olúmenes de ansacciones, incluidas las mic o y
nano- ansacciones. Cuan o mayo sea el olumen de ansacciones, más ápido las a-
lida á un DAG.
Los DAG ambién eliminan la necesidad de mine os y, a su ez, equipos de mine ía,
lo que signi ica un meno consumo de ene gía.
30
3.3 Consensus
El esul ado inal: un po encial sin p eceden es pa a un lujo de in o mación ápido y al-
amen e escalable en una ed comple amen e descen alizada. Los DAG pod án compe i
con las edes exis en es en un u u o p óximo en é minos de endimien o ysegu idad
(Fan om Founda ion, 2018; Max Thake, 2018).
P oo -o -S ake (PoS), p ueba de pa icipación/posesión
En es e ipo de algo i mo de consenso, en luga de in e i en equipos in o má icos
po en es y ca os pa a pa icipa en una ca e a pa a mina bloques, un ’ alidado ’ in ie e
en los okens del sis ema.
Es necesa io ene en cuen a el é mino alidado , el uso de es e é mino es debido
a que no exis e c eación de moneda (mine ía) en PoS. En su luga , odas las monedas
exis en desde el p ime día y los alidado es, que ienen su pa icipación “bloqueada”
en el sis ema, solo eciben las comisiones de ansacción como pago.
Como p ueba de la pa icipación, su p obabilidad de se elegido pa a c ea el siguien-
e bloque y ecibi el pago, depende de la acción de monedas en el sis ema que posees.
Un alidado con 300 monedas iene es eces más p obabilidades de se elegido que al-
guien con 100 monedas.
Una ez que un alidado c ea un bloque, ese bloque aún debe añadi se al Blockchain.
Los di e en es sis emas de PoS a ían en la o ma en que egulan es e paso.
En Tende min , po ejemplo, cada nodo en el sis ema iene que i ma en un bloque
has a que se alcance un o o mayo i a io, mien as que en o os sis emas, se elige un g upo
alea o io de i man es.
Es e mecanismo de consenso iene un consumo de ene gía bajo, ya que no equie e
ningún ha dwa e po en e pa a ealiza cálculos.
El núme o de ansacciones po segundo de es e mecanismo es al ededo de 30-170
ansacciones/segundo.
Comisiones de ansacción bajas.
Pa a a aca una Blockchain (3.2.2) que use PoS se debe posee una g an can idad de o-
kens/monedas de es a Blockchain pa a ene más posibilidades de se el alidado , eso
equi ale a un desembolso inicial g ande pa a adqui i esos okens, y as ealiza el a aque
la Blockchain pie de con ianza y alo lo que ha ía baja mucho el alo de la in e sión
inicial, se ía simila a oba en u emp esa siendo dueño de ella.
Delega ed p oo o s ake (DPoS), p ueba de pa icipación/posesión delegada
In en a combina las ca ac e ís icas de la p ueba de pa icipación y la p ueba de a-
bajo. U iliza un p oceso de o ación descen alizada a a és de lo que se conoce como
“ es igos” como una o ma de mi iga la cen alización de la ed en el caso del PoS.
Tiene la lexibilidad de los pa áme os de la cadena de bloques, po ejemplo, a i as,
núme o de es igos, in e alo de bloque, ecompensas de bloque, e c.
Son con igu ables po el “comi é”, que es un g upo de pa es in e esadas/nodos elegi-
dos de en e los es igos, que no eciben ninguna ecompensa, pe o con la capacidad pa a
manipula los pa áme os globales de la cadena de bloques median e o ación aplica los
pos e io men e en un man enimien o de la Blockchain.
Es e mecanismo de consenso iene un consumo de ene gía muy bajo, meno que el
PoS.
31
3. ¿QUÉ ES EL BLOCKCHAIN?
El núme o de ansacciones po segundo de es e mecanismo es al ededo de 25-2500
ansacciones/segundo, a cambio iene una es uc u a más cen alizada.
Comisiones de ansacción bajas.
Leade -Based Consensus (LBC), consenso basado en el líde
Los nodos eligen empo almen e un nodo pa a se un líde . El líde es en onces es-
ponsable de alida ansacciones.
Round Robin (RR), Robin ci cula
Se usa en Blockchains p i adas donde la mine ía es á es ingida a un conjun o de
en idades iden i icables.
Resuel e el dilema en las que un pa icipan e puede monopoliza el p oceso mine o.
La solución se encuen a en una es icción en el núme o de bloques que puede se c eado
po el mismo mine o den o de una en ana de iempo dada. Es o hace que se cumpla un
“ho a io Round Robin”, en el que los mine os au o izados deben c ea bloques en o den
de o ación pa a gene a un blockchain álido.
Fede a ed Consensus (FC) / Fede a ed Byzan ine Ag eemen (FBA), Consenso Fede ado/
Acue do Bizan ino Fede ado
El Consenso Fede ado log a solidez a a és de “segmen os de quó um” (quo um
slice), decisiones de con ianza indi idual hecho po cada nodo que jun os de e minan el
quó um a ni el del sis ema. Los segmen os enlazan el sis ema de la misma o ma en que
las decisiones y el ánsi o de las edes indi iduales uni ican In e ne .
FC iene equisi os in o má icos y inancie os modes os en compa ación con los PoW
y PoS.
Hay a ias di e encias impo an es en e el acue do bizan ino no ede ado adicional y
el acue do bizan ino ede ado (FBA). El acue do bizan ino ga an iza un consenso dis i-
buido a pesa del allo bizan ino de los pa icipan es. Sin emba go, equie e un acue do
unánime sob e la memb esía del sis ema po pa e de odos los pa icipan es. Cada nodo
en la ed debe se conocido y e i icado con an icipación.
El acue do bizan ino ede ado (FBA) o ece memb esía abie a y con ol descen ali-
zado al acue do bizan ino.
La di e encia cla e en e un sis ema de acue do bizan ino y un sis ema de acue do bi-
zan ino ede ado (FBA) es que en FBA cada nodo elige sus p opios segmen os de quó um.
Los quó ums de odo el sis ema esul an de es as decisiones po nodos indi iduales. En
FBA, no hay un con olado de acceso ni una au o idad cen alizada, po lo que los
nodos indi iduales deciden en qué o os pa icipan es con ían pa a ob ene in o mación.
Los nodos pueden ene múl iples segmen os, y es as elecciones de nodo indi iduales
pueden basa se en c i e ios ex ínsecos. Po ejemplo, un banco en pa icula puede e se
como de buena epu ación, lo que hace que o os nodos equie an su alidación de odas
las ansacciones; es posible que una emp esa ya enga una elación inancie a con una
coope a i a de c édi o y quie a asegu a se de que an o el banco como la en idad i men
odas las ansacciones (S ella De elopmen Founda ion, 2015).
Es e mecanismo de consenso iene un consumo de ene gía muy bajo.
32
3.3 Consensus
El núme o de ansacciones po segundo de es e mecanismo es al ededo de 100-2500
ansacciones/segundo, iene una es uc u a descen alizada.
Comisiones de ansacción muy bajas.
P ac ical Byzan ine Faul Tole ance (PBFT), ole ancia p ác ica al allo bizan ino
Cada nodo man iene un es ado in e no (in o mación especí ica o es ado en cu so).
Cuando un nodo ecibe un mensaje, lo u iliza jun o con su es ado in e no pa a ejecu a
un cálculo u ope ación. Es e cálculo, a su ez, le dice a ese nodo indi idual qué pensa
sob e el mensaje en cues ión. Luego, después de llega a su decisión indi idual sob e el
nue o mensaje, ese nodo compa e esa decisión con odos los demás nodos del sis ema.
La decisión de consenso se de e mina con base en las decisiones o ales en iadas po
odos los nodos.
En e o as conside aciones, es e mé odo de es ablece consenso equie e menos es-
ue zo que o os mé odos a cos a de pe de el anonima o en el sis ema.
Hay o as a iaciones de la PBFT:
PBFT De i ada (Hype ledge )
RBFT - Tole ancia a allos bizan inos edundan es - (E e nym)
SBFT - Tole ancia a allos bizan inos simpli icada - (Cadena)
P oo -o -Ac i i y, p ueba de ac i idad
Es un en oque híb ido que combina PoW y PoS.
La mine ía se inicia como la mane a adicional de PoW, con los mine os compi iendo
pa a esol e un enigma c ip og á ico. Los bloques ex aídos no con ienen ninguna an-
sacción (son como plan illas), po lo que el bloque ganado solo con end á un encabezado
y la di ección de ecompensa del mine o. En es e pun o, el sis ema cambia a PoS. Basado
en la in o mación del encabezado, se elige un g upo alea o io de alidado es pa a i ma
el nue o bloque. Cuan os más okens enga el alidado en el sis ema, más p obable es
que sea elegido. La plan illa se con ie e en un bloque de pleno de echo an p on o co-
mo odos los alidado es lo i men. Si algunos de los alidado es seleccionados no es án
disponibles pa a comple a el bloque, en onces se selecciona el siguien e bloque ganado ,
se elige un nue o g upo de alidado es, y así sucesi amen e, has a que un bloque eciba
la can idad co ec a de i mas.
Las comisiones se di iden en e el mine o y los alidado es que i ma on el bloque.
Las c í icas de la p ueba de ac i idad son las mismas que pa a la p ueba de abajo (se
equie e demasiada ene gía pa a ex ae bloques) y p ueba de pa icipación (no hay nada
que impida que un alidado i me doble).
P oo -o -Bu n, p ueba de quema/eliminación
Con la p ueba de quema, en luga de gas a dine o en cos osos equipos in o má icos o
ene gía, se ’queman’ okens en iándolos a una di ección donde sean i ecupe ables. Al
comp ome e las monedas a la nada, el nodo gana un p i ilegio de po ida pa a mina
en el sis ema basado en un p oceso de selección al aza .
Dependiendo de cómo se implemen a la p ueba de quema, los mine os pueden que-
ma la moneda na i a o la moneda de una cadena al e na i a, como bi coin. Cuan as más
monedas quemas, más posibilidades ienes de se seleccionado pa a mina el siguien e
bloque.
33
3. ¿QUÉ ES EL BLOCKCHAIN?
Con el iempo, su pa icipación en el sis ema decae, po lo que e en ualmen e que á
quema más monedas pa a aumen a las posibilidades de se seleccionado en el p oceso.
(Es o imi a el p oceso mine o de bi coin, donde es necesa io in e i con inuamen e en
equipos de compu ación más mode nos pa a man ene el pode de hashing).
Si bien la p ueba de quema es una al e na i a in e esan e a la p ueba de abajo, el p o o-
colo despe dicia ecu sos innecesa ios. O a c í ica es que el pode mine o simplemen e
a a aquellos que es án dispues o a quema más dine o.
La única Blockchain que u iliza la p ueba de quemadu a es slimcoin, una c ip omoneda
basada en pee coin. U iliza un combinación de p ueba de abajo, p ueba de pa icipación
y p ueba de quema.
P oo -o -Capaci y, p ueba de capacidad/espacio
En es e p o ocolo se ’paga’ con espacio en el disco du o. Cuan o más espacio de
disco du o enga, mayo se á su p obabilidad de mina el siguien e bloque y gana la
ecompensa del bloque.
An es de mina en un sis ema de p ueba de capacidad, el algo i mo gene a g andes
conjun os de da os conocidos como ’pa celas/plo s’, que almacena en el disco du o del
mine o. Cuan os más plo s enga, más posibilidades end á de encon a el siguien e blo-
que.
Al in e i en e aby es de espacio en el disco du o, se ’comp a’ una mayo posibilidad
de c ea bloques duplicados y bi u ca el sis ema.
Con la p ueba de capacidad, exis e el p oblema de no habe nada en juego pa a disua-
di a los ac o es maliciosos.
Las a ian es de la p ueba de capacidad incluyen la p ueba de almacenamien o y la
p ueba de espacio.
Bu s coin es el único Blockchain que u iliza una o ma de p ueba de capacidad.
P oo -o -Elapsed ime, p ueba de iempo anscu ido
El ab ican e de chips In el ha desa ollado su p opio p o ocolo de consenso al e na i o
llamado p ueba de iempo anscu ido.
Es e sis ema unciona de mane a simila a la p ueba de abajo, pe o consume mucha
menos elec icidad. Además, en luga de que los pa icipan es esuel an un enigma c ip o-
g á ico, el algo i mo u iliza un en o no de ejecución de con ianza (TEE), como SGX, pa a
ga an iza que los bloques se p oduzcan de o ma alea o ia pe o sin el abajo eque ido.
El en oque de In el se basa en un iempo de espe a ga an izado p opo cionado a a és
del TEE. Según In el, el algo i mo es escalable a miles de nodos y se ejecu a á de mane a
e icien e en cualquie p ocesado In el que sopo e SGX.
El único p oblema con es e p o ocolo es que equie e que se con íe en In el y el obje-
i o es e i a ene que con ia en e ce os de lo que in en ábamos escapa con las block-
chains públicas.
34
3.4 c ip og a ía
Con el conjun o de pun os Gque o man la cu a (i.e., odas las soluciones de la ecua-
ción más un pun o O, llamado pun o en el in ini o) más una ope ación adi i a, se o ma
un g upo abeliano. Si las coo denadas xeyse escogen desde un cue po ini o, en onces
es amos en p esencia de un g upo abeliano ini o.
El p oblema del loga i mo disc e o sob e es e conjun o de pun os (“P oblema del Lo-
ga i mo Disc e o sob e Cu as Elíp icas”, PLDCE) se c ee que es más di ícil de esol e
que el co espondien e a los cue pos ini os.
De es a mane a, las longi udes de cla es en c ip og a ía de cu a elíp ica pueden se
más co as con un ni el de segu idad compa able.
El p incipal bene icio de la c ip og a ía de cu a elíp ica es un amaño de cla e más pe-
queño, lo que educe los equisi os de almacenamien o y ansmisión, es deci , que un
g upo de cu as elíp icas pod ía p opo ciona el mismo ni el de segu idad que o ece un
sis ema basado en RSA con un módulo mayo y una cla e mayo : po ejemplo, pa a una
cla e pública de cu a elíp ica de 256 bi s p opo ciona una segu idad compa able a una
cla e pública RSA de 3072 bi s.
La segu idad de la CCE depende de la capacidad de calcula una mul iplicación de pun os
y de la incapacidad de calcula el mul iplicando dados los pun os o iginales y de p o-
duc o. El amaño de la cu a elíp ica de e mina la di icul ad del p oblema (CSB eakdown,
2015a; En Wikipedia, s. .[i]; En Wikipedia, s. .[m]).
Figu a 3.8 Cu a Elíp ica (Nick Sulli an, 2013).
Pa áme os de la cu a
Pa a u iliza CCE, odas las pa es deben pone se de acue do sob e los pa áme os que
de inen la cu a elíp ica, es deci , los pa áme os de dominio.
El plano es á de inido po pen el caso p incipal y el pa de my en el caso bina io.
La cu a elíp ica se de ine po las cons an es aybu ilizadas en su ecuación de de ini-
ción.
Finalmen e, el subg upo cíclico es á de inido po su gene ado ( ambién conocido co-
mo pun o base) G.
Pa a la aplicación c ip og á ica, el o den de G, que es el núme o posi i o más pequeño
n, al que nG =O(el pun o en el in ini o de la cu a y elemen o iden idad), no malmen e
41
3. ¿QUÉ ES EL BLOCKCHAIN?
es p imo. Dado que nes el amaño de un subg upo de E(Fp)se deduce del eo ema de
Lag ange que el núme o h=1
n|E(Fp)|es un en e o.
En aplicaciones c ip og á icas, es e núme o h, llamado co ac o , debe se pequeño h≤
4y, p e e iblemen e, h=1.
Pa a esumi : en el caso p incipal, los pa áme os del dominio son (p,a,b,G,n,h); en
el caso bina io, son (m, ,a,b,G,n,h).
Va ios o ganismos es ánda publica on pa áme os de dominio de cu as elíp icas pa a
a ios amaños de planos comunes. Dichos pa áme os de dominio se conocen comúnmen-
e como "cu as es ánda " o "cu as con nomb e" (En Wikipedia, s. .[m]; CSB eak-
down, 2015a).
Po ejemplo los pa áme os usados pa a gene a las cla es públicas en la Blockchain de
Bi coin son los co espondien es con la cu a secp256k1de inida en “S anda ds o E i-
cien C yp og aphy (SEC)” (bi coin.i , 2019).
Los pa áme os del dominio de la cu a elíp ica sob e Fpasociados con una cu a de
Kobli z secp256k1, e igu a 3.9, es án especi icados po el sex uplo T= (p,a,b,G,n,h)
donde el plano ini o Fpse de ine po :
p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
=2256 −232 −29−28−27−26−24−1
La cu a E:y2=x3+ax +bsob e Fpse de ine po :
a=0000000000000000000000000000000000000000000000000000000000000000
b=0000000000000000000000000000000000000000000000000000000000000007
El pun o base Gen o ma comp imida es:
G=0279BE667EF9DCBBAC55A06295CE87
0B07029BFCDB2DCE28D959F2815B16F81798
y en o ma no comp imida es:
G=0479BE667EF9DCBBAC55A06295CE870B
07029BFCDB2DCE28D959F2815B16F81798483
ADA7726A3C4655DA4FBFC0E1108A8FD17B448
A68554199C47D08FFB10D4B8
Finalmen e el o den nde Gy el co ac o son:
n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
EBAAEDCE6AF48A03BBFD25E8CD0364141
h=01
42
3.4 c ip og a ía
Figu a 3.9 Cu a Elíp ica secp256k1 (Shi i , 2014).
P opiedades de la cu a
1. Sime ía ho izon al. Cualquie pun o de la cu a se puede e leja sob e el eje xy
pe manece en la misma cu a.
2. Cualquie línea no e ical in e esec a á la cu a en un máximo de es luga es.
3. T azando en la cu a una línea con dos pun os AyBla in e sec a á en o o pun o
más C′cuyo e lejo in e sec a á la cu a en el pun o C. Cualquie a de los dos pun os
en una cu a se pueden uni pa a ob ene un nue o pun o. T azando la ec a del
pun o Cal Ay e lejando el pun o que in e sec a la cu a se ob iene el pun o D, y
así sucesi amen e. Así es como se ealiza la ope ación adi i a en cu as elíp icas,
de mane a que A+B=C, obse e la igu a 3.10.
43
3. ¿QUÉ ES EL BLOCKCHAIN?
Figu a 3.10 P opiedades Cu a Elíp ica (Nick Sulli an, 2013).
Mul iplicación de CCE
44
3.4 c ip og a ía
Si se iene un pun o de la cu a Gy se suma consigo mismo G+G=2G, equi ale
a aza la angen e a G, donde in e sec e con la cu a se á el pun o −2Gy su e lejo
se á 2G, y así sucesi amen e se ob iene la mul iplicación de Gcomo suma de k
eces el pun o G, e igu a 3.11.
Figu a 3.11 Mul iplicación Cu a Elíp ica (RSK educa e, 2015).
4. Si se ienen dos pun os, un pun o inicial Gy ese mismo pun o mul iplicado consigo
mismo k eces pa a llega a un pun o inal P =kG, encon a kcuando solo se
conoce el pun o inicial y el pun o inal es muy di ícil.
Calcula el pun o P conociendo kyGes una ope ación sencilla, pe o conociendo
solo GyP no se puede de e mina la can idad de sal os/mul iplicaciones que ha
su ido Gpa a llega a P , es necesa io ealiza el cálculo de P mul iplicando n eces
el núme o Ghas a consegui llega a P , po an o la p opiedad más in e esan e de las
cu as elíp icas es que no exis e la ope ación de di isión, de mane a que k6=P /G,
ácil de hace , di ícil de deshace (Nick Sulli an, 2013; RSK educa e, 2015).
Uso en C ip og a ía
En c ip og a ía, se elige un pun o base Gespecí ico ypublicado pa a u iliza con la
cu a E(q), comen ado en el apa ado 3.4.3.
Se escoge un núme o en e o alea o io kcomo cla e p i ada, y en onces el alo
P=kG se da a conoce como cla e pública (nó ese que la supues a di icul ad del PLDCE
implica que kes di ícil de deduci a pa i de P).
Si Ma ía y Ped o ienen las cla es p i adas kAykB, y las cla es públicas PAyPB, en on-
ces Ma ía pod ía calcula kA×PB= (kA×kB)×G; y Ped o puede ob ene el mismo alo
dado que kB×PA= (kB×kA)×G.
45
3. ¿QUÉ ES EL BLOCKCHAIN?
Es o pe mi e es ablece un alo «sec e o» que an o Ma ía como Ped o pueden calcu-
la ácilmen e, pe o que es muy complicado de de i a pa a una e ce a pe sona. Además,
Ped o no consigue a e igua nada nue o sob e kAdu an e es a ansacción, de o ma que
la cla e de Ma ía sigue siendo p i ada.
La ealización de las ope aciones necesa ias pa a ejecu a es e sis ema es más len a que pa-
a un sis ema de ac o ización o de loga i mo disc e o módulo en e o del mismo amaño.
De odas mane as, los au o es de sis emas de CCE c een que el PLDCE es signi ica i-
amen e más complicado que los p oblemas de ac o ización o del PLD, y así se puede
ob ene la misma segu idad median e longi udes de cla e mucho más co as u ilizando
CCE, has a el pun o de que puede esul a más ápido que, po ejemplo, RSA.
La CCE ha sido ampliamen e econocida como el algo i mo más ue e pa a una de e mi-
nada longi ud de cla e, po lo que pod ía esul a ú il sob e enlaces que engan equisi os
muy limi ados de ancho de banda.
NIST y ANSI X9 han es ablecido unos equisi os mínimos de amaño de cla e de 1024
bi s pa a RSA y DSA y de 160 bi s pa a CCE, co espondien es a un bloque simé ico de
cla e de 80 bi s. NIST ha publicado una lis a de cu as elíp icas ecomendadas de 5 a-
maños dis in os de cla es (80, 112, 128, 192, 256). En gene al, la CCE sob e un g upo
bina io equie e una cla e asimé ica del doble de amaño que el co espondien e a una
cla e simé ica.
Ce icom es la p incipal emp esa come cial de CCE, es a o ganización posee 130 pa en-
es, y ha o o gado licencias sob e ecnología a la Na ional Secu i y Agency (NSA) po 25
millones de dóla es.
Ce icom ambién ha pa ocinado a ios desa íos al algo i mo CCE. El más complejo
esuel o has a aho a, es una cla e de 109 bi s, que ue o o po un equipo de in es igado es
a p incipios de 2003. El equipo que ompió la cla e u ilizó un a aque masi o en pa alelo
basado en el ’bi hday a ack’, median e más de 10000 PCs de ipo Pen ium uncionando
con inuamen e du an e 540 días. Se es ima que la longi ud de cla e mínima ecomendada
pa a CCE (163 bi s) eque i ía 108 eces los ecu sos u ilizados pa a esol e el p oblema
con 109 bi s (Bill Buchanan OBE, 2018; En Wikipedia, s. .[i]).
3.4.4 Función Hash
A las unciones esumen ambién se les llama unciones hash o unciones diges .
Tiene como en ada un conjun o de elemen os, que suelen se cadenas, y los con ie e
en un ango de salida ini o, no malmen e cadenas de longi ud ija. Es deci , la unción
ac úa como una p oyección del conjun o U sob e el conjun o M.
Hay que ene en cuen a que M puede se un conjun o de inido de en e os. En es e
caso podemos conside a que la longi ud es ija si el conjun o es un ango de núme os de
en e os ya que podemos conside a que la longi ud ija es la del núme o con mayo nú-
me o de ci as. Todos los núme os se pueden con e i al núme o especi icado de ci as
simplemen e an eponiendo ce os.
No malmen e el conjun o U iene un núme o ele ado de elemen os y M es un conjun-
o de cadenas con un núme o más o menos pequeño de símbolos.
46
3.4 c ip og a ía
La idea básica de un alo hash es que si a como una ep esen ación compac a de
la cadena de en ada.
Po es a azón se dice que es as unciones esumen da os del conjun o dominio como
se obse a en el ejemplo de la igu a 3.12.
Zo o
El zo o ojo
co e a a és
del hielo
El zo o ojo
camina a
a ésdel hielo
Función
Hash
Función
Hash
Función
Hash
DFCD3454
52ED879E
46042841
En ada Valo Hash
Figu a 3.12 Funcionamien o de unción hash (Fe cu e , 2011).
Se dice que se p oduce una colisión cuando dos en adas dis in as de la unción esu-
men p oducen la misma salida.
De la de inición de unción esumen podemos deci que U, el dominio de la unción,
puede ene in ini os elemen os. Sin emba go M, el ango de la unción, iene un núme o
ini o de elemen os debido a que el amaño de sus cadenas es ijo.
Po an o la posibilidad de exis encia de colisiones es in ínseca a la de inición de
unción hash. Una buena unción esumen es una que iene pocas colisiones en el conjun o
espe ado de en ada. Es deci , se desea que la p obabilidad de colisión sea muy baja (En
Wikipedia, s. .[o]).
P opiedades
Bajo cos o (compu acional, memo ia,e c)
Comp esión
Uni o me: Se dice que una unción esumen es uni o me cuando pa a una cla e
elegida alea o iamen e es igualmen e p obable ene un alo esumen de e minado,
independien emen e de cualquie o o elemen o.
Inyec i idad y unción hash pe ec a: Se dice que la unción esumen es inyec i a
cuando cada da o de en ada se mapea a un alo esumen di e en e. En es e caso se
dice que la unción esumen es pe ec a.
Fo malización:
k16=k2implica h(k1)6=h(k2)
Cuando no se cumple la p opiedad de inyec i idad se dice que hay colisiones. Hay
una colisión cuando k16=k2implica h(k1) = h(k2).
De e minis a: Una unción hash se dice que es de e minis a cuando dada una ca-
dena de en ada siemp e de uel e el mismo alo hash.
Con inuidad. E ec o a alancha: Se dice que una unción esumen es con inua
cuando una modi icación minúscula (ej un bi ) en la cadena de en ada ocasiona
47
3. ¿QUÉ ES EL BLOCKCHAIN?
pequeños cambios en el alo hash. En unciones esumen usadas pa a búsqueda
no malmen e se buscan unciones an con inuas como sea posible; de o ma que
en adas que di ie an un poco debe ían ene alo es hash simila es o iguales. Sin
emba go la con inuidad no es deseable pa a unciones esumen usadas pa a sumas
de e i icación o unciones c ip og á icas.
Segu idad
La segu idad p opo cionada po un algo i mo hash es sumamen e dependien e de su
capacidad de p oduci un único alo pa a un conjun o de da os dados.
Cuando una unción hash p oduce el mismo alo pa a dos conjun os de da os dis in os,
en onces se dice que se ha p oducido una colisión. Una colisión aumen a la posibilidad de
que un a acan e pueda elabo a compu acionalmen e conjun os de da os que p opo cionen
acceso a in o mación segu a o pa a al e a iche os de da os in o má icos de al o ma que
no cambia a el alo hash esul an e y así eludi la de ección.
Una unción hash ue e es aquella que es esis en e a es e ipo de a aques compu aciona-
les mien as que una unción hash débil es aquella donde exis e una c eencia casi ce e a de
que se pueden p oduci colisiones. Finalmen e, una unción hash queb an ada es aquella
sob e la que se conoce mé odos compu acionales pa a p oduci colisiones (En Wikipedia,
s. .[ ]).
Función SHA-2 y SHA-256
SHA-2 es un conjun o de unciones hash c ip og á icas (SHA-224, SHA-256, SHA-
384, SHA-512) diseñadas po la Agencia de Segu idad Nacional (NSA) y publicada en
2001 po el Ins i u o Nacional de Es ánda es y Tecnología (NIST) como un Es ánda Fe-
de al de P ocesamien o de la In o mación (FIPS). SHA signi ica algo i mo de hash segu o
(En Wikipedia, s. .[o]; Ande s B ownwo h, 2016).
Tamaño máximo del mensaje de en ada en SHA-256: 264-1 bi s.
Tamaño de salida en SHA-256: 256 bi s.
La unción SHA-256 es la unción Hash u ilizada en la Blockchain Bi coin, e igu a
3.13y iene 2 ca ac e ís icas:
Inequí oca: el hash (salida) es la huella digi al de los da os de en ada. A pa i del
hash de una en ada digi al, no se puede c ea la en ada digi al o iginal.
Resis en e a colisiones: no es posible encon a dos alo es de en ada di e en es
que esul en en la misma salida hash. Pa a en adas di e en es, siemp e hab á salidas
di e en es. Es o pe mi e u iliza es a unción pa a e i ica la in eg idad de los da os
compa ando el "hash" (la salida de la ejecución del algo i mo) de esos da os con un
alo hash ya conocido y espe ado de esos da os.
48
3.5 Lla es públicas y p i adas, di ecciones y monede os
Figu a 3.13 Ca ac e ís icas SHA-256 (RSK educa e, 2015).
O as unciones hash u ilizadas en Blockchains son (En Wikipedia, s. .[n]):
SHA-256: Bi coin, Bi coin Cash, Coun e pa y, MazaCoin, Namecoin, NeuCoin,
Nx , Pee coin.
E hash: E he eum, E he eum Classic
Sc yp : Au o acoin, Bi connec , Bi coin Gold, Coinye, Dogecoin, G idcoin, Li e-
coin.
Equihash: Zcash, Zcoin.
C yp oNo e: Mone o.
X11: Dash, Pe o.
Ly a2: Tale .
3.5 Lla es públicas y p i adas, di ecciones y monede os
3.5.1 Lla es públicas y p i adas en Blockchain
Como dice And eas M. An onopoulos: “Son us cla es, son us bi coins. No son us
cla es, no son us bi coins”.
Es o esume algo undamen al: como la ed Bi coin u iliza c ip og a ía pa a asegu a
que cada uno pueda u iliza sus bi coins de o ma segu a, man ene segu a y sec e a la
cla e p i ada es la única o ma de man ene segu os los bi coins.
49
3. ¿QUÉ ES EL BLOCKCHAIN?
Aquel que conozca esa cla e p i ada, puede u iliza esos bi coins ya que el sis ema no
iene o ma de dis ingui en e el dueño y el “ also” dueño. La cla e p i ada es la “p ueba
de iden idad” necesa ia pa a que la ed acep e cualquie mo imien o de esos bi coins.
Si se pe die a la cla e p i ada, esos bi coins queda ían inmo ilizados po el es o de
la e e nidad.
El mo i o es pa e del ípico dilema de la segu idad s. la acilidad de uso. En es e caso,
bien ale el cos o de pe de un poco de usabilidad y no pode ecupe a cla es po que el
bene icio es ene un sis ema de máxima segu idad y p ác icamen e in iolable (Gab iel
Mon es, 2017).
¿Qué son el pa de lla es pública-p i ada?
1. Cla es p i adas
Como se ha comen ado en los apa ados 3.4.2 y3.4.3, la cla e p i ada es un núme o
en e o que debe se conocido solo po el usua io/dueño de esa cla e, que en Bi coin
es un núme o de 256 bi s en un ango en e [0−P(2256 −232 −29−28−27−26−
24−1)] ya que P es el lími e del plano ini o de la cu a secp256k1, po segu i-
dad debe se gene ado de o ma alea o ia (aunque no es obliga o io) y u ilizando la
c ip og a ía de cu as elíp icas pa a gene a la cla e pública.
A pa i de una cla e p i ada es posible gene a miles de cla es públicas, e apa -
ado 3.5.1, y la cla e p i ada pe mi e i ma ansacciones en la Blockchain ( i ma
digi al) demos ando se el p opie a io de esas c ip odi isas sin necesidad de des-
ela la cla e p i ada.
2. Cla es públicas y di ecciones
Como se ha comen ado en los apa ados 3.4.2 y3.4.3, la cla e pública se á un núme-
o gene ado ma emá icamen e a pa i de la cla e p i ada, pe o es imposible calcula
la cla e p i ada a pa i de la pública, que se puede compa i lib emen e pa a ecibi
mensajes, en el caso de las Blockchains ansacciones.
Las cla es públicas, pueden ene 256 o 512 bi s dependiendo si es án o no comp i-
midas, a los cuales se les suma un by e adicional como p e ijo indica i o del ipo de
cla e pública en cues ión. Po lo an o, las cla es públicas son siemp e de 33 o 65
by es.
Pa a aho a espacio en la blockchain y acili a le la ida a los usua ios, exis e una al-
e na i a adicional a u iliza una cla e pública de ese amaño: c ea una “di ección”
al educi esa cla e pública a 160 bi s a pa i de aplica SHA256 y luego RIPEMD-
160 sob e la cla e pública. Es as di ecciones po la o ma de codi ica los 160 bi s
u ilizando Base58Check pueden ene en e 26 y 35 ca ac e es en o al y comienzan
con “1” en Bi coin.
Po an o la di ección pública no es la cla e pública y la cla e pública no se puede
conoce /gene a a pa i de una di ección pública, la cla e pública solo es posible
conoce la al gene a la a pa i de la cla e p i ada o en una ansacción i mada don-
de al en ia bi coins desde esa di ección se e ela la cla e pública, si ienes una
di ección solo pa a ecibi ansacciones, no es posible conoce la lla e pública.
Es impo an e des aca que si bien de la cla e p i ada se de i a la pública, y de
és a la di ección, no es posible ealiza el camino in e so. De ahí la segu idad de
50
3.7 T ansacciones, Bloques y Blockchain
Los clien es lige os abajan como pun os inales de comunicación y son u ilizados po
muchas ca e as de c ip omonedas.
No son an independien es como los nodos comple os. Po es a azón, se les pod ía
engaña empo almen e pa a que acep en una ansacción o un bloque que no es ealmen e
álido.
Ejecu a un nodo comple o es la mejo o ma en que puede usa Blockchain de la
mane a más segu a posible (binance. ision, 2018; bi coinwiki.o g, 2019b; En Wikipedia,
s. .[ ]).
3.7 T ansacciones, Bloques y Blockchain
En es e apa ado 3.7, se es udia el la es uc u a básica de la Blockchain, que es á com-
pues a po Bloques elacionados que con ienen las T ansacciones de los usua ios.
3.7.1 T ansacciones
Componen es
Una ansacción se compone de 5 elemen os cla e, e igu a 3.17:
1. Iden i icado de T ansacción (TX ID): iden i icado único (32 by es) de cada an-
sacción, ob enido de pasa 2 eces la in o mación de la ansacción po la unción
SHA-256 (lea nmeabi coin, s. .).
2. En ada (O igen): di ección o di ecciones públicas de o igen que poseen los To-
kens.
3. Can idad: can idad de Tokens que se en ia án en la ansacción.
4. Salida (Des ino): di ección o di ecciones públicas de des ino.
5. Me ada os (Opcional): los me ada os o mensajes ienen un amaño máximo de 80
by es y se almacenan en“OP_RETURN”, campo u ilizado pa a ansmi i cualquie
ipo de in o mación, de la ansacción.
Figu a 3.17 Componen es de una T ansacción (RSK educa e, 2015).
¿Qué son las ansacciones en Blockchain?
Una ansacción es la ope ación básica en el sis ema Blockchain. Una ansacción
mue e los okens en e una o más en adas ysalidas.
Cada en ada es una ansacción an e io y una di ección que p opo ciona okens. Cada
salida es una di ección que ecibe okens, jun o con la can idad de okens que an a esa
di ección.
Una ansacción es á compues a po en adas y salidas de ansacciones no gas adas o
UTXO (unspen ansac ion ou pu s). Las en adas de ansacciones ambién son UTXOs
57
3. ¿QUÉ ES EL BLOCKCHAIN?
de una ansacción an e io , po lo an o, una UTXO es el componen e undamen al de
una ansacción.
Pa a que un Walle mues e su “saldo”, debe busca en la Blockchain los UTXO que
con ola su cla e p i ada, suma los alo es de los UTXO y mues a el saldo inal.
Cuando desea gas a un oken, el Walle comp oba á si iene su icien es UTXO que
sumen un oken. Si iene su icien e, el Walle c ea á o a ansacción con es os UTXO
como en adas.
El UTXO es una unidad de alo disc e a eindi isible.
El diag ama 3.18, mues a la T ansacción C.
En es a ansacción, se oman 0.005 BTC de una di ección en la T ansacción A, y 0.003
BTC de una di ección en la T ansacción B.
Las lechas son e e encias a las salidas an e io es, po lo que son hacia a ás al lujo
de bi coins, es e ipo de ansacciones o man una es uc u a de Á bol de Me kle, e
apa ado 3.7.2.
Pa a las salidas, 0.003 BTC se en ían a la p ime a di ección y 0.004 BTC se en ían a la
segunda di ección. El sob an e de 0.001 BTC a al mine o del bloque como un comisión.
El 0.015 BTC en la o a salida de la T ansacción A no se en ía en la T ansacción C.
Cada en ada UTXO es indi isible, debe gas a se po comple o en una ansacción. Si
una di ección ecibe 100 BTC en una ansacción y solo desea gas a 1 BTC, la ansacción
debe gas a los 100 BTC.
La solución es usa una segunda salida pa a el cambio, que de uel e los 99 BTC es-
an es a una di ección p opia.
Figu a 3.18 Ejemplo de una T ansacción (RSK educa e, 2015).
58
3.7 T ansacciones, Bloques y Blockchain
Figu a 3.19 T ansacción Real de Bi coin (sheinix, 2018).
En la igu a 3.20, se ealiza la siguien e ansacción, se cogen las UTXO su icien es
pa a alcanza la can idad deseada; pa a alcanza 0.3 BTC ha enido que selecciona 3
UTXO de 0.12 BTC cada una, siendo el esul ado 0.36 BTC, los o os 0.06 BTC es an e
se en ían a una di ección p opia indicándola como salida jun o a la di ección a la que se
le que ía manda 0.3 BTC.
La di ección p opia donde se mandan los 0.06 BTC es an es puede se la misma di-
ección que cualquie a asociada a las en adas o una nue a. A es o se le llama di ección
de cambio o di ección de e o no.
Figu a 3.20 T ansacción con Re o no (Bi 2Me, s. .[c]).
Es impo an e en ende ambién que en una misma ansacción pueden exis i an as
en adas de una misma di ección o de a ias como se desee. Lo mismo ocu e con las sali-
das. Es o pe mi e hace en una misma ansacción múl iples en íos a pe sonas di e en es
con un sólo pago de comisiones a los mine os. Es a uncionalidad la explo an algunos
monede os/walle s pa a aho a cos es.
Las ansacciones ambién pueden inclui asas/comisiones. La o ma que iene in e na-
men e el p o ocolo de ecompensa a los mine os iene de los ondos que no se asignen
a ninguna di ección. Todos los bi coins es an es en una ansacción que no se asignen a
ninguna di ección se los queda el mine o que mine el bloque con la ansacción den o y
son imposibles de ecupe a .
59
3. ¿QUÉ ES EL BLOCKCHAIN?
Si sob an bi coins después de suma las en adas y es a las salidas, el es o es una
comisión pagada al mine o. La comisión no es es ic amen e necesa ia, pe o las ansac-
ciones sin una a i a se án de baja p io idad pa a los mine os y pueden no se p ocesadas
en días o incluso se desca adas po comple o. Las a i as son bajas pe o no i iales
(sheinix, 2018; Bi 2Me, s. .[c]; RSK educa e, 2015).
Fi ma T ansacciones
Una ez c eada la ansacción es necesa io i ma la con la cla e p i ada pa a alida la
y demos a la p opiedad de esos Tokens.
El diag ama 3.21 o ece una is a simpli icada de cómo las ansacciones se i man y
inculan en e sí.
Conside e la ansacción in e media, ansacción de la di ección B a la di ección C.
El con enido de la ansacción (incluido el hash de la ansacción an e io ) es á ma cado
y i mado con la cla e p i ada de B. Además, la cla e pública de B es á incluida en la
ansacción.
Realizando a ias ope aciones, cualquie a puede e i ica que la ansacción es é au-
o izada po B.
P ime o, la cla e pública de B debe co esponde a la di ección de B en la ansacción
an e io , lo que demues a que la cla e pública es álida, la di ección se puede de i a
ácilmen e de la cla e pública, como se explicó an e io men e.
A con inuación, la i ma de B, gene ada con la cla e p i ada, de la ansacción se puede
e i ica u ilizando la cla e pública de B en la ansacción.
Es os pasos ga an izan que la ansacción sea álida y au o izada po B.
Se obse a que la cla e pública de B no se hace pública has a que se usa en una an-
sacción.
Con es e sis ema, los okens pasan de una di ección a o a a a és de una cadena de an-
sacciones. Cada paso en la cadena se puede e i ica pa a asegu a que se es én en iando
de mane a álida. Tenga en cuen a que las ansacciones pueden ene múl iples en adas
y salidas en gene al, po lo que la cadena se ami ica en un á bol.
Figu a 3.21 Fi ma de una T ansacción (Shi i , 2014).
60
3.7 T ansacciones, Bloques y Blockchain
3.7.2 Bloques
Todos los da os son g abados pe manen emen e en la ed Blockchain a a és de blo-
ques, un bloque es un concep o pensado pa a op imiza el p oceso de alidación de las
ansacciones que se ealizan.
En Blockchain hay decenas de ansacciones po segundo, alida de mane a indi i-
dual cada una de es as ope aciones, se ía in iable y se ía un p oceso la go y edioso. Así
que se ideó la c eación de los bloques, que pe mi en aco a la cadena hash y hace la más
manejable y po lo an o, pe mi e se más e icien e (Bi 2Me, s. .[b]).
Cada bloque con iene un conjun o de las úl imas ansacciones, un nonce (núme o alea o-
io), y el hash de la secuencia an e io .
Un bloque se conside a " esuel o" (publicado y conside ado álido po el es o de no-
dos), cuando el hash SHA-256 de odo el bloque cumpla el obje i o de di icul ad ac ual,
se es udia en p o undidad en el apa ado de mine ía, 4.2.1.
Las ansacciones i madas se ansmi en a la ed po el emi en e, y odos los pa i-
cipan es en la gene ación de los okens las ecogen y ag egan al bloque en el que es án
abajando.
La p ime a ansacción en el bloque es especial, la Coinbase, c ea nue os okens pa a
el mine o que lo gene a y ecoge las comisiones, el es o de nodos sólo acep a el bloque
si la ope ación es de la can idad co ec a. En Bi coin, el núme o de bi coins gene ado po
bloque comienza en 50 y se i á di idiendo en e dos (“Hal ing”) cada 210.000 bloques
(unos cua o años).
La ed Bi coin a a de c ea seis bloques po ho a. Cada 2016 bloques (al ededo de
dos semanas), odos los clien es Bi coin compa an el núme o eal c eado con es e obje i o
y modi ican el obje i o po el po cen aje que ha a iado. Es o aumen a (o disminuye) la
di icul ad de gene ación de bloques de la ed (bi coin.i , 2011a).
Es uc u a Bloque
Cada bloque es un g upo de muchas ansacciones y cada uno con iene in o mación
especí ica. El campo p incipal de un bloque es el encabezado/cabece a y el secunda io
es el cue po que con iene las ansacciones. El encabezado con iene es os campos (RSK
educa e, 2015), y es á ep esen ado en la igu a 3.22:
Ve sión: un núme o de e sión pa a comp oba ac ualizaciones de so wa e / p o-
ocolo.
Hash del bloque an e io : una e e encia al hash del bloque an e io (pad e) en la
cadena.
Raíz del á bol Me kle: un hash del Á bol Me kle de las ansacciones del bloque.
Ma ca de iempo: la echa ap oximada de c eación del bloque (segundos Unix
Epoch).
Obje i o de di icul ad: el obje i o de di icul ad del algo i mo PoW pa a es e bloque.
Nonce: un con ado usado pa a el algo i mo de PoW, equi ale al esul ado buscado
del algo i mo.
61
3. ¿QUÉ ES EL BLOCKCHAIN?
Figu a 3.22 Cabece a de un Bloque (Wande , 2013).
Á boles Me kle
Cada bloque en la Blockchain con iene un esumen de odas las ansacciones con-
enidas en el mismo, u ilizando un á bol Me kle. Un á bol Me kle es una es uc u a de
da os que se u iliza pa a esumi y e i ica de mane a e icien e la in eg idad de g andes
conjun os de da os, son á boles bina ios que con ienen hashes c ip og á icos.
Los á boles Me kle p oducen una huella digi al global de odo el conjun o de ansac-
ciones, se c ean median e hash ecu si o de pa es de elemen os o ansacciones has a que
solo queda un hash, llamado aíz de Me kle. El algo i mo hash c ip og á ico u ilizado
en los á boles Me kle de Bi coin es SHA256 aplicado dos eces, ambién conocido como
doble SHA256.
Cuando N elemen os de da os se incluyen y se esumen en un á bol Me kle, se puede
e i ica si un elemen o en pa icula es á incluido en el á bol median e un núme o máxi-
mo de cálculos de 2log2(N), que p opo ciona una mane a muy e icien e de e i ica si
una ansacción es á incluida en un bloque o no.
El á bol Me kle es á cons uido de abajo hacia a iba. En la Figu a 3.22, comenzamos
con cua o ansacciones; deno ados como Tx0,Tx1,Tx2,Tx3. Es as ansacciones no
se almacenan en el á bol Me kle, sino que se copian sus da os y el hash esul an e se
almacena en cada nodo de “hoja” como Hash0,Hash2y Hash3.
El hash aíz de Me kle de 32 by es se almacena en el encabezado del bloque y esume
odos los da os de las cua o ansacciones. Usando es e mé odo, el á bol Me kle puede
esumi o educi cualquie núme o de ansacciones en el bloque a an solo un núme o
de 32 by es.
En los in en os de a e igua si una ansacción especí ica es á incluida en un bloque, se
puede descub i ácilmen e una u a de au en icación o camino de Me kle, que conec a la
ansacción especí ica a la aíz del á bol. Pa a es o solo se necesi a ía p oduci una can idad
de hashes dado po la unción:
2log2(N)
Es a can idad de “ejecuciones” de hash, son la can idad mínima que pe mi i ía encon-
a una conexión en e una ansacción dada y la aíz del á bol de Me kle.
Es o es impo an e ya que el loga i mo en base 2 de un núme o aumen a mucho más len-
amen e que el núme o. En consecuencia, es o signi ica que un nodo simplemen e necesi a
62
3.7 T ansacciones, Bloques y Blockchain
p oduci u as de 10 o 12 hashes (320 by es a 384 by es) pa a p oba una sola ansacción
den o de un á bol que posea más de mil ansacciones en un bloque. La e iciencia de un
á bol de Me kle se hace más no o ia a medida que la escala aumen a.
Mien as el amaño del bloque puede a ia , desde 4kB con 16 ansacciones a 16MB
con 65535 ansacciones. Compa ando es o con el “camino de Me kle” eque ido pa a a-
lida la inclusión de una ansacción en un bloque, és e úl imo c ece desde 128 by es a an
sólo 512 by es.
U ilizando á boles de Me kle, un nodo solo necesi a desca ga los encabezados de los
bloques (es o sólo ocupa 80 by es po bloque) y así puede conoce si una ansacción es á
den o de un de e minado bloque o no.
Es o pe mi e a los nodos lige os/SPV el aho o en el espacio, ya que con solo almacena
unos pocos megaby es e i an ene que desca ga la Blockchain comple a y les pe mi e
e i ica ansacciones (Toledo, 2018).
3.7.3 Blockchain
Blockchain es la es uc u a de da os esul ado de la con igu ación de los Bloques des-
c i a en el apa ado 3.7.2, uno de los campos del encabezado es el "hash del bloque
an e io ". Es a es la o ma en que los bloques es án conec ado como se obse a en la
Figu a 3.23.
Figu a 3.23 Conexión Bloques (RSK educa e, 2015).
1. Se empieza desde el encabezado del bloque n−2.
2. Se aplica un algo i mo de hash SHA256 al encabezado n−2, ob eniendo el hash(encabezadon−
2).
63
3. ¿QUÉ ES EL BLOCKCHAIN?
3. El hash(encabezadon−2)se in oduce en el encabezado n−1(en el campo "Hash
Bloque An e io ”).
4. Se aplica un algo i mo de hash SHA256 al encabezado n−1, ob eniendo el hash(encabezadon−
1)y luego se in oduce en el encabezado n, y así sucesi amen e.
Se ob iene una cadena de bloques, un conjun o de bloques que con ienen in o mación que
es án conec ados en e sí con la écnica c ip og á ica llamada hash (RSK educa e, 2015).
Si un nodo malicioso modi ica una ansacción de un bloque an iguo, modi ica a su ez el
á bol Me kle de ese bloque, y modi ica el Hash del encabezado de ese bloque, el bloque
siguien e end á en su cabece a un Hash di e en e al Hash del Bloque an e io , se hab á o-
o la “cadena” y po an o esa modi icación se á echazada po la ed de nodos comple os.
La única o ma de que es a modi icación ue a acep ada se ía que un nodo mine o, mo-
di ica a ese bloque, al modi ica lo cambia ía su Hash y debe ía mina el siguien e bloque
con el Hash nue o, eso modi ica ía el Hash del siguien e Bloque y así sucesi amen e has a
mina de nue o odos los Bloques desde el modi icado has a llega al Bloque ac ual de la
ed, pa a ealiza es a a ea de o ma exi osa es necesa io con ola un 51% del pode de
cómpu o o al de la ed du an e mucho iempo, en Bi coin es p ác icamen e imposible, en
Blockchains pequeñas con menos nodos y mine os sí se han dado casos de a aques 51%.
Jun o con la ecnología de lla es público-p i adas, en es a es uc u a de bloques unido-
s/ e e enciados y base de da os dis ibuida, adica la segu idad de la Blockchain en e a
e ce os y hacke s.
64
4 ¿Cómo unciona el Blockchain?
En el Capí ulo 3, se han mos ado odos los elemen os que o man una blockchain, en
es e capí ulo 4, se es udia cómo in e ac úan es os elemen os en e sí pa a c ea un sis ema
que cumpla las ca ac e ís icas comen adas en el capí ulo 2.
4.1 T ansacciones
En el apa ado 3.7.1, se ha es udiado que las ansacciones son las ope aciones básicas
en el sis ema Blockchain, en es e apa ado se indica á cómo son c eadas.
4.1.1 C eación de la T ansacción y i mado
Pa a c ea una ansacción en la Blockchain, es necesa io ellena los Inpu s:
1. Iden i icado de T ansacción (TX ID)
2. En ada (O igen): di ección o di ecciones públicas de o igen que poseen los To-
kens.
3. Can idad: can idad de Tokens que se en ia án en la ansacción.
4. Salida (Des ino): di ección o di ecciones públicas de des ino.
Figu a 4.1 T ansacción (RSK educa e, 2015).
Es a a ea se ealiza no malmen e u ilizando un Walle .
El Walle iene conexión con la Blockchain donde comp ueba el saldo disponible (la
suma de las UTXO) en las di ecciones de En ada y, si exis e su icien e, i ma la an-
sacción con la Cla e P i ada del usua io que quie e manda la can idad especi icada de
Tokens a la di ección de Salida, es a es la Di ección Pública del des ina a io.
65
4. ¿CÓMO FUNCIONA EL BLOCKCHAIN?
En de ini i a se c ea una salida de ansacción con el es ánda P2PKH (Pay-To-Public-
Key-Hash) que con iene ins ucciones que pe mi e a cualquie a gas a esa salida si pueden
p oba que con olan la cla e p i ada co espondien e a la cla e pública. Es as ins uccio-
nes se conocen como el sc ip PubKey (bi coin.o g, 2018).
4.1.2 T ansmisión a la ed
Una ez c eada la ansacción debe ansmi i se a la Blockchain pa a que los nodos la
ecojan, aliden e inco po en al Ledge .
El Walle en ía la ansacción al nodo más ce cano de la ed. La ansacción no nece-
si a se en iada inmedia amen e después de su c eación, es posible elegi cuando en ia la
(RSK educa e, 2015).
Figu a 4.2 B oadcas ing de una T ansacción (RSK educa e, 2015).
4.1.3 P opagación y e i icación
Cuando la ansacción llega al nodo más ce cano, es e la e i ica y la p opaga po la
ed y es e i icada po el es o de nodos, e igu a 4.5, algunas e i icaciones básicas
son que exis en su icien es okens en la ca e a de o igen (UTXO p e ios conec ados a esa
di ección), es uc u a co ec a, i ma digi al co ec a, e c.
La i ma digi al se gene a en unción de la Cla e P i ada y la in o mación de la an-
sacción, si algún nodo malicioso modi ica la ansacción y la p opaga, es a queda á in a-
lidada debido a que la i ma no pod á se e i icada, esa ansacción se á echazada po
los nodos.
Doble Gas o:
Puede da se la si uación que un usua io c ee dos ansacciones álidas dis in as, en
una la ansacción en ía okens a o o usua io como pago po un se icio o p oduc o
y en o a la ansacción se los en ía a sí mismo, los UTXO una ez gas ados ya no
pueden ol e a u iliza se.
66
4.2 Mecanismos de Consenso p incipales
En un consenso dis ibuido basado en la p ueba de abajo, los mine os necesi an mu-
cha ene gía. Y es os cos es de ene gía se pagan con monedas iducia ias, lo que lle a a una
p esión descenden e cons an e sob e el alo de la moneda digi al. En una in es igación e-
cien e, los expe os a gumen a on que las ansacciones de Bi coin pueden consumi an a
elec icidad como Dinama ca en 2020.
La comunidad de E he eum quie e explo a el mé odo de PoS pa a log a una o ma de
consenso dis ibuida más ecológica y más ba a a (Rosic, 2017).
En la mayo ía de los casos de p ueba de pa icipación, las unidades de moneda digi al
se c ean en el lanzamien o de la moneda y su núme o es ijo. Po lo an o, en luga de
usa unidades de c ip omoneda como ecompensa, los alidado es eciben comisiones de
ansacción como ecompensas. En algunos casos, se pueden c ea nue as unidades mone-
a ias in lando el suminis o de monedas, y los alidado es pueden se ecompensados con
nue as unidades mone a ias c eadas, en luga de comisiones de ansacción (Ray, 2017).
¿Cómo se eligen a los alidado es/ o jado es?
Cuando se implemen e Caspe (el nue o p o ocolo de PoS de E he um), exis i á un
g upo de alidado es/ o jado es. Los usua ios pueden uni se a es e g upo pa a se selec-
cionados como el o jado . Es e p oceso es a á disponible median e la ejecución del Sma
Con ac de Caspe al en ia E he (la c ip omoneda que alimen a la ed E he eum) (Rosic,
2017).
No hab á un lími e impues o en el núme o de alidado es ac i os, pe o se egula á
económicamen e educiendo la asa de in e és si hay demasiados alidado es y aumen-
ando la ecompensa si no hay su icien es.
Hay muchos ipos de algo i mos de consenso y muchas o mas de asigna ecompensas
a los alidado es que pa icipan en el algo i mo de consenso.
Desde una pe spec i a algo í mica, hay dos ipos p incipales:
1. En la p ueba de la pa icipación basada en la cadena (chain-based PoS), el al-
go i mo seudoalea o iamen e selecciona un alidado du an e cada in e alo de
iempo (po ejemplo, cada pe íodo de 10 segundos), y asigna a ese alidado el de-
echo de c ea un solo bloque, y es e bloque debe apun a a algún bloque an e io
(no malmen e el bloque al inal de la cadena más la ga an e io men e), y así, con
el iempo, la mayo ía de los bloques con e gen en una sola cadena en cons an e
c ecimien o.
2. En la PoS es ilo BFT (Byzan ine Faul Tole ance), a los alidado es se les asigna
alea o iamen e el de echo de p opone bloques, pe o aco da qué bloque es canó-
nico se ealiza median e un p oceso de múl iples ondas donde cada alidado en ía
un " o o" pa a un bloque especí ico du an e cada onda, y al inal del p oceso, o-
dos los alidado es (hones os y en línea) acue dan pe manen emen e si un bloque
dado es pa e de la cadena o no. Los bloques oda ía pueden es a encadenados jun-
os; la di e encia es que el consenso sob e un bloque no depende de la longi ud o el
amaño de la cadena pos e io (Bu e in, 2019).
73
4. ¿CÓMO FUNCIONA EL BLOCKCHAIN?
Figu a 4.8 Di e encias PoW y PoS (Schumann, 2018).
PoW s PoS
Algunos bene icios de PoS en e a PoW:
No es necesa io consumi g andes can idades de elec icidad pa a asegu a una ca-
dena de bloques.
Debido a la al a de al o consumo de elec icidad, no es necesa io emi i an as mo-
nedas nue as pa a mo i a a los pa icipan es a segui pa icipando en la ed. En
eo ía, incluso puede se posible ene una emisión ne a nega i a, donde una pa e
de las a i as de ansacción se quema/elimina y, po lo an o, el suminis o dismi-
nuye con el iempo, gene ando una moneda de laciona ia y aumen ando su alo .
PoS pe mi e una gama más amplia de écnicas que u ilizan mecanismos de eo ía
de juegos pa a desincen i a la o mación de cá eles cen alizados y, si se o man,
impide que u ilicen mé odos pe judiciales pa a la ed.
Reducción de los iesgos de cen alización, ya que las economías de escala son un
p oblema mucho meno . 10 millones de monedas le da án exac amen e 10 eces
mayo es endimien os que 1 millón de monedas, sin ninguna ganancia adicional
desp opo cionada po que en el ni el más al o pueda comp a mejo es equipos de
p oducción en masa, lo que es una en aja pa a la P ueba de abajo.
74
4.2 Mecanismos de Consenso p incipales
La capacidad de aplica sanciones económicas p o oca que los a aques del 51% son
mucho más cos osos de ealiza que en la p ueba de abajo, pa a aseando a Vlad
Zam i , "es como si su g anja de ASIC se quema a si pa icipó en un a aque del
51%".
Una ed más segu a a medida que los a aques se uel en más cos osos: si un hacke
malicioso quisie a comp a el 51% del núme o o al de monedas pa a pode con o-
la la Blockchain, el me cado eacciona con una ápida ap eciación de los p ecios.
Figu a 4.9 Economías de Escala (Schumann, 2018).
Caspe se á un p o ocolo de ianzas que se basa en un sis ema de consenso económi-
co. Los nodos (o los alidado es) deben paga una ianza/depósi o pa a o ma pa e del
consenso a a és de la c eación de nue os bloques. El p o ocolo Caspe de e mina á la
can idad especí ica de ecompensas ecibidas po los alidado es g acias a su con ol so-
b e las ianzas.
Si un alidado c ea un bloque "no álido", pe de á su ianza, así como su p i ilegio
de o ma pa e del consenso de la ed.
Una ez que el o jado pone su pa icipación, puede pa icipa en el p oceso de o ja
y, como ha apos ado su p opio dine o, en eo ía aho a es á incen i ado pa a alida las
ansacciones co ec as.
El sis ema de segu idad de Caspe se basa en algo pa ecido a las apues as. En un sis-
ema basado en PoS, las apues as son las ansacciones que, de acue do con las eglas de
consenso, ecompensa á a su alidado con un p emio po cada bloque álido en la que el
alidado haya apos ado.
Po lo an o, Caspe se basa en la idea de que los alidado es apos a án de acue do con
las apues as de los demás y deja án comen a ios posi i os que puedan acele a el consenso
(Rosic, 2017; Bu e in, 2019; Ray, 2017).
4.2.3 Delega ed P oo o S ake (DPoS)
La P ueba de pa icipación delegada ( ambién conocida como DPoS) es un algo i -
mo de consenso que man iene un acue do i e u able sob e la e dad en oda la ed, alida
75
4. ¿CÓMO FUNCIONA EL BLOCKCHAIN?
las ansacciones y ac úa como una o ma de democ acia digi al.
La p ueba delegada de pa icipación u iliza la o ación en iempo eal combinada con
un sis ema social de epu ación pa a log a el consenso. Es el p o ocolo de consenso me-
nos cen alizado en compa ación con odos los demás, ya que es el más inclusi o. Cada
i ula de oken puede eje ce un g ado de in luencia sob e lo que sucede en la ed.
Los delegados ac i os son seleccionados po los poseedo es de okens po o ación colo-
cando sus okens en nomb e de su candida o (es os okens no se gas an, solo ep esen an
la posición de la pa e in e esada y siguen siendo de su p opiedad). El pode de o o que
iene el i ula del oken, ambién conocido como peso de o o, es á de e minado po la
can idad del oken base que posee la cuen a.
Es impo an e que los delegados sean elegidos po el mejo in e és de la ed, ya que la
man ienen uncionando sin p oblemas y de o ma segu a. En algunas e siones de DPoS,
un delegado debe demos a su comp omiso deposi ando sus ondos en un depósi o con
bloqueo empo al (que se con isca en caso de compo amien o malicioso). Es a e sión de
DPoS a menudo se denomina p ueba de pa icipación basada en depósi os/ ianzas.
Las unciones p incipales de los delegados es án elacionadas con:
Asegu a se de que su nodo es á siemp e en uncionamien o 24/7/365.
Recopilación de las ansacciones a a és de la ed en bloques.
Fi ma y di usión de los bloques, alidando las ansacciones.
Gobe na el sis ema y p opone cambios cen ales.
Si hay p oblemas con espec o al consenso, DPoS pe mi e esol e los de mane a
jus a y democ á ica.
Los delegados no ienen el pode de cambia los de alles de la ansacción, pe o como son
alidado es, eó icamen e pod ían exclui cie as ansacciones en un bloque. Sin emba go,
es o iene muy poco e ec o ya que el siguien e bloque c eado inclui á es as ansacciones,
dando al p óximo delegado las a i as asociadas con la alidación de las mismas. Como
al, las ansacciones sólo se e asa án lige amen e.
Además, es o ine i ablemen e conduci ía a que el delegado deshones o sea expulsado
po el es o de la ed. En esencia, una ed DPoS es au oges ionada y igilada po odos
sus pa icipan es, lo que ga an iza que los in e eses de la ed sigan siendo la p io idad.
Algunos blockchains con DPoS o ecen la opo unidad de eelegi a los delegados si el
esul ado de sus decisiones no es ap obado po sus o an es. La o ación es un p oceso
con inuo, po lo que cada delegado es á bajo la p esión de pe de su luga en e a o o
compe ido más popula .
Las pé didas de epu ación y inancie as son una mo i ación p imo dial pa a desin-
cen i a compo amien os maliciosos.
La mayo ía de las cadenas de bloques basadas en DPoS ienen en cuen a la can idad de
76
4.2 Mecanismos de Consenso p incipales
okens en p opiedad, pe o no exis e una egulación que impida a los usua ios o a debido
a que su pa icipación no es lo su icien emen e g ande. El hecho de que la opo unidad
de o a se o o gue a cada usua io de la ed es lo que hace que DPoS sea el en oque más
democ á ico pa a el algo i mo de consenso de cadena de bloques.
Las cadenas de bloques de PoW no pe mi en que los usua ios con poca po encia de compu-
ación in luyan ealmen e en la ed, esa es la azón p incipal de la exis encia de pools de
mine ía, que ac ualmen e son las únicas en idades que igen Bi coin.
La mayo ía de las cadenas de bloques de PoS excluyen a los usua ios con pequeñas
pa icipaciones de oma decisiones sob e el gobie no de la ed.
Figu a 4.10 Algo i mo de Consenso DPoS (Win e ield, 2018).
Ven ajas y des en ajas de la DPoS
DPoS no solo es un sis ema más democ á ico (da o o a los pequeños usua ios), sino
que ambién es más e icien e ye ec i o. La selección de c eado es de bloques pe mi e
alida las ansacciones en cues ión de segundos, más ápido que PoW y PoS.
Po ejemplo, en el caso de Lisk, ac ualmen e solo a da 10 segundos alida un bloque
de ansacciones.
Los delegados eciben comisiones de ansacción como ecompensa po ejecu a los no-
dos que p ocesan y alidan las ansacciones que se ealizan a a és de la ed, así como
ecompensas mensuales po el man enimien o de la ed que, con el iempo, se educe g a-
dualmen e. Solo puede habe un cie o núme o de delegados a la ez y es os es án de e -
minados po un sis ema elec o al compe i i o, en el que odos y cada uno de los usua ios
pueden emi i o o según su p e e encia.
La supe i encia de la ed equie e la pa icipación y coo dinación, median e la o-
ación pa a elimina e in oduci delegados, de una comunidad in e esada en un gobie no
e ec i o.
77
4. ¿CÓMO FUNCIONA EL BLOCKCHAIN?
Los sis emas DPoS son ulne ables a la cen alización, ya que el núme o de delegados
es á es ic amen e limi ado.
La cadena de bloques DPoS es á expues a a los allos de la o ación en la ida eal
clásica.
Po ejemplo, los usua ios de DPoS con poco pode de o o pueden decidi que su o o
no impo a en compa ación con los o os de las pa es in e esadas más g andes (Academy,
2019; Bi coin.o g, 2019).
4.2.4 S ella Consensus P o ocol (SCP)
El S ella Consensus P o ocol (SCP), es un sis ema de Acue do Bizan ino Fede ado
(FBA) que pe mi e a las edes in o má icas descen alizadas y sin líde alcanza de ma-
ne a e icien e un esul ado de consenso en alguna decisión. La Blockchain S ella u iliza
SCP pa a p opo ciona una isión cohe en e del his o ial de ansacciones de la ed a o-
dos los pa icipan es.
Cualquie sis ema de consenso en una ed de compu ación dis ibuida debe se ole an-
e a e o es: debe p oduci esul ados consis en es a pesa de e o es como p oblemas de
comunicación, nodos que no esponden y mensajes mal o denados.
Un sis ema de Acue do Bizan ino además ole a los allos "bizan inos": nodos que
p opo cionan in o mación alsa, ya sea debido a un e o o en un in en o delibe ado de
sub e i el sis ema u ob ene alguna en aja.
es e sis ema e i a allos bizan inos usando una egla de mayo ía llamada quó um. Un
nodo en dicha ed se niega a comp ome e se con una e sión pa icula de la his o ia has a
que e que una can idad su icien e de sus nodos ecinos ambién es án p epa ados pa a
comp ome e se, un quó um. Una ez que eso sucede, han o mado un bloque de o ación
lo su icien emen e g ande como pa a obliga a los nodos es an es en la ed a es a de
acue do con su decisión.
Pa a o ma un quó um se necesi a al menos una mayo ía y más ípicamen e una ma-
yo ía mayo i a ia pa a comba i e o es y audes, sabe cuándo iene la mayo ía signi ica
sabe cuán os pa icipan es iene en o al. Pe o si su colección de pa icipan es es una ed
poco de inida a la que los miemb os pueden uni se y sali a olun ad, sin necesidad de
coo dina con ninguna au o idad cen al, en onces es necesa io un sis ema de Acue -
do Bizan ino Fede ado: uno que pueda de e mina los quó umes no a pa i de una lis a
p ede e minada de nodos, sino dinámicamen e, a pa i de una lis a siemp e cambian e e
ine i ablemen e incomple a de los nodos en un momen o de e minado (Glicks ein, 2019).
Acue do Bizan ino Fede ado
Pa a llega a Quó um en el p o ocolo SCP:
1. Los nodos lle an a cabo ondas de o ación ede ada en "nominaciones". Una onda
de o ación ede ada signi ica:
Un nodo emi e un o o pa a alguna decla ación, como "Nomino el alo V"
El nodo escucha las espues as de sus ecinos has a que encuen a uno que
comunica "acep a "
El nodo busca un "quó um slice" (una pequeña pa e del quó um o al que
se á necesa io alcanza ) con los nodos que ambién acep an la decla ación.
Es o "con i ma" la decla ación.
78
4.3 Tecnología Blockchain - Obse aciones
2. Tan p on o como un nodo puede con i ma uno o más candida os, comienza a a a
de "p epa a " una "p opues a" a a és de más ondas de o ación ede ada.
3. Tan p on o como un nodo puede e i ica que una p opues a es á p epa ada, co-
mienza a a a de "consolida " la p opues a a a és de aún más ondas de o ación
ede ada.
4. Una ez que un nodo puede con i ma que se ha consolidado una p opues a, puede
"ex e naliza " el alo de esa p opues a, usándola como esul ado del consenso.
Es os pasos implican a ias ondas de o ación ede ada que colec i amen e o man una
sola onda de SCP, éase la igu a 4.11 como ejemplo.
En un sis ema FBA, los nodos se ansmi en en e sí en qué po ciones de quó um
con ían. Los nodos de e minan indi idualmen e en qué quó um con ia y cons uyen su
p opio quó um en unción de la in o mación que ienen a mano. La si uación ideal es ene
in e secciones de quó um o supe posiciones de quó um. Es o asegu a que haya consenso
en oda la ed. Si no hay in e secciones, hab á quó umes inconexos que pueden lle a al
egis o de ansacciones con adic o ias.
Figu a 4.11 Acue do Bizan ino Fede ado (FBA) (Rende s, 2018).
Ven ajas del S ella Consensus P o ocol
Blockchain usa la ole ancia a allos bizan ina (BFT) pa a man ene la con iabilidad
de los egis os y ansacciones. La mayo ía de las cadenas de bloques u ilizan lo que se
conoce como Tole ancia de alla bizan ina p ác ica (PBFT). Una ed de blockchain que usa
PBFT necesi a el 66 po cien o de los alidado es pa a aco da ansacciones pa a log a
quó um o consenso. Pa a man ene la alidez de la ed, el núme o de nodos maliciosos
debe pe manece po debajo del 33 po cien o.
La PBFT no es lo su icien emen e ole an e a allos. Además, la selección de alida-
do es hace que los sis emas PBFT se uel an cen alizados.
En un sis ema FBA, no hay necesidad de alidado es p ede inidos. Los nodos oman
las decisiones indi idualmen e sob e en quién con ia . Se descen aliza el sis ema. En
luga de odo el quó um o un núme o p ees ablecido de nodos, los sis emas FBA u ilizan
el "quó um slice" o un subconjun o del quó um.
79
4. ¿CÓMO FUNCIONA EL BLOCKCHAIN?
4.3 Tecnología Blockchain - Obse aciones
Llegados a es e pun o, ya es posible isualiza las en ajas de la ecnología Blockchain
y el u u o eco ido de es a ecnología.
El po qué es impo an e y dónde eside su alo , debido a sus p opiedades de segu i-
dad, inmu abilidad y con ianza.
En los capí ulos 3y4se ha es udiado qué es la cadena de bloques y cómo unciona pa a
pe mi i c ea un sis ema de consenso con iable y dis ibuido, es o implica que si se desea
en ia y/o ecibi ansacciones con alguien no se necesi a con ia en se icios de e ce os.
En el capí ulo 5se a a es udia cómo se in e ac úa con la Blockchain hoy en día y en
el capí ulo 6cómo pod ía in eg a se es a ecnología con la disciplina del Con ol Au omá-
ico.
80
5 C ip omonedas, Sma Con ac s,
Dapps e Indus ia 4.0
En el p esen e capí ulo se es udia la e olución de la ecnología Blockchain, se pueden
iden i ica 4 e apas/gene aciones (Da ko, 2019):
Blockchain 1.0: Moneda
Las Blockchains de 1ªgene ación son Blockchains de consenso po P ueba de T a-
bajo, donde los nodos con mayo po encia compu acional, ienen el mayo pode de
o o y donde el único p opósi o de la Blockchain es se un p ocesado de pagos.
Blockchain 2.0: Con a os in eligen es
Las Blockchains de 2ªgene ación son cadenas de bloques de P ueba de T abajo
que ienen más unciones que simplemen e se un p ocesado de pagos. Se a a de
Blockchains, como E he eum o Neo, que pe mi en ejecu a con a os in eligen es,
lanza ICOs y ejecu a DApps en su pla a o ma.
Blockchain 3.0: DApps
El p oblema de las cadenas de bloques de 1ªy 2ªgene ación es que no son escalables
en absolu o, a dan mucho iempo en con i ma las ansacciones, es án muy cen a-
lizadas a a és de g upos de mine ía, ienen comisiones de ansacción y consumen
mucha ene gía.
Las Blockchains de 3ªgene ación son Blockchains que ya ni siquie a son Block-
chains en un sen ido p ác ico, lo que les pe mi e i más allá de las es icciones men-
cionadas an e io men e que ae la a qui ec u a común de Blockchain, po ejemplo,
IOTA con su Tangle iene una es uc u a de G a os Acíclicos Di igido (DAG), e
apa ado 3.3.2.
Las Blockchains de 3ªgene ación son a qui ec u as de so wa e descen alizadas que
pe mi en una escalabilidad casi in ini a, ienen ansacciones ins an áneas,des-
cen alización casi in ini a, no cob an comisiones y solo u ilizan una millonésima
pa e de la ene gía de la que u iliza Bi coin.
Blockchain 4.0: In eg ación en la indus ia 4.0
Los p oyec os de Blockchain 3.0 allan en o ece una pla a o ma descen alizada y
abie a que aba que negocios del mundo eal de cualquie ipo, amaño o olumen.
81
5. CRIPTOMONEDAS, SMART CONTRACTS, DAPPS E INDUSTRIA 4.0
La indus ia de la cadena de bloques es á ansiosa po una ed de al o endimien o y
de acceso lib e que b inde in aes uc u a su icien e pa a que los desa ollado es de
DApps eduzcan los cos os de desa ollo y eduzcan el ciclo de desa ollo.
La llegada de Blockchain 4.0 ma ca á un hi o des acado en la his o ia de la e olu-
ción de Blockchain. Blockchain 4.0 se á la cadena de bloques de al o endimien o
y “amigable” pa a los negocios que pueda ejecu a casos de uso y aplicaciones del
mundo eal.
Figu a 5.1 E olución de Blockchain (In e Value, 2018).
5.1 Blockchain 1.0: C ip omoneda
La implemen ación de la ecnología de “lib o de cuen as” dis ibuido condujo a su
p ime a aplicación: las c ip omonedas.
Una c ip omoneda, es un medio digi al de in e cambio que u iliza c ip og a ía pa a
asegu a las ansacciones inancie as, con ola la c eación de unidades adicionales y
e i ica la ans e encia de ac i os.
Las c ip omonedas son un ipo de di isa al e na i a y de moneda digi al, ienen un
con ol descen alizado, en con aposición a las monedas cen alizadas y a los bancos
cen ales. Es o pe mi e que las ansacciones inancie as u ilizando la ecnología Block-
chain se ejecu en sin depende de se icios de e ce os, siendo Bi coin el ejemplo más
des acado en es e segmen o. Se diseñó como "e ec i o pa a In e ne ", un sis ema de pa-
go digi al con obje i o de desa olla el "In e ne del dine o/ alo " (En Wikipedia, s. .[k];
In e Value, 2018; Unib igh .io, 2017).
5.2 Blockchain 2.0: Con a os In eligen es
Los Sma Con ac s o Con a os In eligen es, son pequeños p og amas de so wa e
alojados en la cadena de bloques. Son p og amas in o má icos au ónomos que se ejecu-
an au omá icamen e y las condiciones se de inen de an emano, como la acili ación, la
e i icación o la ejecución del cumplimien o de un con a o.
Una g an en aja que o ece es a ecnología, es la cadena de bloques que hace impo-
sible manipula opi a ea con a os in eligen es. Po lo an o, los con a os in eligen es
educen el cos o de la e i icación, la ejecución, el a bi aje y la p e ención del aude y
82
5.4 Blockchain 4.0: Haciendo blockchain u ilizable en la indus ia 4.0
dia a. El pelig o de pé dida de da os se elimina casi po comple o. Y un egis o inmu able
signi ica que los da os son p ecisos, lo que lle a a una mejo p e isión y plani icación.
Es as en ajas es án in eg adas en oda la ecnología de Blockchain, pe o sin el con-
jun o de ca ac e ís icas "4.0", las emp esas no pueden accede a ellas.
Exis en bene icios emp esa iales adicionales únicos pa a los ecosis emas de Blockchain
4.0. Un Ma co de Desa ollo In eg ado (IDE) o ece a las emp esas la opo unidad de
cons ui sus p opios Dapps, los es ue zos de compa ibilidad en e Blockchains dis in as
signi ican que la mayo ía de los Dapps se ejecu a án en múl iples Blockchains de ni el 4.0
(O icial, 2018).
89
6 Blockchain en la Au omá ica
6.1 Con ol Au omá ico
6.1.1 In oducción
El Con ol Au omá ico es una ama de la ingenie ía que se ocupa del con ol de un
p oceso en un es ado de e minado.
El Con ol Au omá ico es udia el compo amien o de los sis emas dinámicos y la ac ua-
ción necesa ia sob e es e pa a con ola lo.
En gene al, la en ada al sis ema es una señal analógica o digi al y la salida del sis ema
co esponde a la a iable que se p e ende con ola .
Cuando una o más de las a iables de salida de un sis ema ienen que segui el alo
de una e e encia que cambia con el iempo, se necesi a in e pone un con olado que
manipule los alo es de las señales de en ada al sis ema has a ob ene el alo deseado
de salida (En Wikipedia, s. .[ ]).
6.1.2 Sis emas de Con ol
Podemos de ini un sis ema de con ol como la combinación de elemen os que, ac-
uando sob e una plan a o p oceso, a a de ija alguno de sus pa áme os o de hace que
a íe, en el anscu so del iempo, de una o ma de e minada que se p ede ine.
Pa a ep esen a esquemá icamen e un sis ema se u ilizan los diag amas de bloques, en
los que cada elemen o o conjun o de elemen os se simboliza con un bloque. Unas lechas
indican el sen ido de la in o mación, que es único (En Wikipedia, s. .[ ]).
El con ol au omá ico siemp e es á in eg ado po es ope aciones básicas:
Medida: la medida de la a iable a con ola se ealiza median e un senso .
Decisión: basándose en la medida, el con olado debe decidi qué hace , pa a man-
ene la a iable en el alo deseado.
Acción: como esul ado de la decisión del con olado , el sis ema debe emp ende
alguna acción. No malmen e la ealiza el elemen o inal u ó gano de con ol.
91
6. BLOCKCHAIN EN LA AUTOMÁTICA
Lazos de Con ol
Lazo Abie o:
En el con ol de lazo abie o, el con olado ecibe una señal que puede se ex e na
al sis ema y, en unción de ella, en ía una o den al ó gano de con ol, pe o no uel e
a ecibi in o mación sob e lo que ocu e en el p oceso una ez ejecu ada la acción.
Son sis emas de con ol en los que el alo ac ual de la a iable no iene e ec os
sob e la acción de con ol. El con ol debe á, una ez ecibida una en ada de e e-
encia, suminis a a la plan a o p oceso una salida adecuada, pa a que la magni ud
a con ola e olucione de la o ma p e is a.
No se mide la a iable, ni se ealimen a pa a compa a la con la señal de en ada.
Cuando un con ol es á en manual el lazo es abie o.
Figu a 6.1 Con ol Lazo Abie o (Ma eo C uz, 2019).
Lazo Ce ado:
Pa a e i a los p oblemas del con ol en lazo abie o, la eo ía de con ol in oduce
la ealimen ación.
El egulado de lazo ce ado u iliza la ealimen ación pa a con ola los es ados y
las salidas de un sis ema dinámico. El nomb e de "lazo ce ado" hace e e encia al
camino que sigue la in o mación en el sis ema: la en ada al p oceso a ec a a la salida
del mismo . La salida se mide con senso y una ez compa ada con la e e encia o
consigna, se p ocesa median e el con olado o egulado ; el esul ado, una señal de
con ol, se een ía a la en ada del p oceso, ce ando el lazo (En Wikipedia, s. .[ ]).
Figu a 6.2 Con ol Lazo Ce ado (Ma eo C uz, 2019).
El con ol con lazo ce ado p esen a las siguien es en ajas sob e el con ol en lazo
abie o:
co ección de las pe u baciones
buen compo amien o incluso con ince idumb e en el modelo
pe mi e es abiliza p ocesos ines ables
ole ancia a a iaciones en los pa áme os
92
6.1 Con ol Au omá ico
6.1.3 Es a egias de Con ol P, PI y PID
A con inuación se es udian las es a egias de con ol con ealimen ación más comunes
en la indus ia:
Con ol P opo cional (P)
El con olado de acción p opo cional aumen a o disminuye la acción del elemen o
inal de la egulación p opo cionalmen e al e o o di e encia en e el alo de la a iable
con olada y el de consigna.
La señal de con ol o magni ud de ajus e u( )es p opo cional a la señal de e o e( ):
e( ) = e e encia − a iable con olada
u( ) = Kp·e( )
El coe icien e de p opo cionalidad Kp ecibe el nomb e de ganancia. El disposi i o
con olado se posiciona p opo cionalmen e en espues a a pequeños cambios de la a iable
con olada.
En e el alo de consigna y el ealmen e ob enido hay siemp e una di e encia o e o
esidual ca ac e ís ico de es e sis ema de egulación. Se puede mino a es e e o aumen-
ado el coe icien e de p opo cionalidad, pe o se co e el iesgo de que el sis ema se uel a
ines able (En Wikipedia, s. .[ ]).
Figu a 6.3 Con ol P (Physicsch, 2015).
Con ol P opo cional-In eg al (PI)
La acción de con ol, en es e caso, iene de inida po la siguien e ecuación:
u( ) = Kpe( )+KiZ
0
e( )d donde K p es la cons an e p opo cional y Kila cons an e
in eg al.
Si se eemplaza Ki=Kp/Ti, se ob iene:
u( ) = Kp(e( )+ 1
TiZ
0
e( )d )donde Ti ep esen a el iempo de in eg ación, el iempo
que a a a da el é mino in eg al en compensa odo el e o acumulado.
Es a acción de con ol es á compues a po la suma de la acción p opo cional y la ac-
ción in eg al. La acción p opo cional suminis a al disposi i o con olado una señal pa a
93
6. BLOCKCHAIN EN LA AUTOMÁTICA
co egi el e o , siemp e que es e no sea nulo, y la acción in eg al es p opo cional al e o
y a su du ación y iende a elimina el e o esidual o e o acumulado.
Con el aumen o de Kise consigue elimina el e o en menos iempo pe o pa a Ki
g andes la pa e In eg al p o oca sob eoscilaciones indeseadas en la salida del sis ema
(En Wikipedia, s. .[ ]).
Figu a 6.4 Con ol PI (Physicsch, 2015).
Con ol P opo cional-In eg al-De i a i o (PID)
La acción de con ol, en es e caso, iene de inida po la siguien e ecuación:
u( ) = Kpe( )+KiZ
0
e( )d +Kd
de( )
d donde Kp es la cons an e p opo cional y Kila
cons an e in eg al y Kdes la cons an e de i a i a.
Si se eemplaza Ki=Kp/Ti, y Kd=KpTdse ob iene:
u( ) = Kp(e( )+ 1
TiZ
0
e( )d +Td
de( )
d )donde Ti ep esen a el iempo de in eg ación,
yTd ep esen a el iempo de de i ación, in en a p edeci el alo de e o en Tdsegundos
en el u u o, asumiendo que el bucle de con ol pe manece sin cambios.
La acción de i a i a co ige la posición de la a iable ope ada p opo cionalmen e a la
elocidad de a iación del e o pa a que, después de una a iación de la ca ga, la a-
iable con olada eg ese lo más ápido posible a su alo de consigna.
El con ol p opo cional con acción in eg al iene el incon enien e de no ene en cuen a
la endencia del e o , es deci , no es capaz de dis ingui una si uación en la que el e o
94
6.1 Con ol Au omá ico
es á c eciendo, de o a en la que es á disminuyendo.
La acción de i a i a iene en cuen a los alo es u u os del e o y es capaz de dis ingui
los dos casos, p edice el compo amien o del sis ema y, po lo an o, mejo a el iempo de
es ablecimien o y la es abilidad del sis ema (En Wikipedia, s. .[ ]).
Figu a 6.5 Con ol PID (Physicsch, 2015).
6.1.4 Au oma ización Indus ial
In oducción
La au oma ización indus ial es el uso de sis emas o elemen os compu a izados y
elec omecánicos pa a ines indus iales.
Como una disciplina de la ingenie ía más amplia que un sis ema de con ol, aba ca la
ins umen ación indus ial, que incluye los senso es, los ansmiso es de campo, los sis-
emas de con ol y supe isión, los sis emas de ansmisión y ecolección de da os y las
aplicaciones de so wa e en iempo eal pa a supe isa y con ola las ope aciones de
plan as o p ocesos indus iales.
El obje i o, aumen a la p oducción, mejo a la calidad y e i a iesgos pa a las pe so-
nas. Es o puede lle a asociado una pé dida de pues os de abajo poco cuali icados, pe o
a cambio se gene an o as necesidades de pe sonal pa a diseña , ab ica , pone en ma cha
y con ola es os nue os p ocesos.
La ingenie ía, el man enimien o indus ial y las nue as p o esiones elacionadas con la
95
6. BLOCKCHAIN EN LA AUTOMÁTICA
au oma ización cob an en onces una nue a dimensión (En Wikipedia, s. .[b]; Aldakin,
s. .).
Tecnologías que componen la Au oma ización Indus ial:
•Elec icidad y la elec ónica indus ial.
•Neumá ica indus ial.
•Oleohid áulica indus ial.
•Au óma as p og amables.
•Comunicaciones indus iales.
•Robó ica indus ial.
Sis emas de con ol dis ibuido
Un sis ema de con ol dis ibuido es á o mado po a ios ni eles de au oma ización,
éase igu a 6.6. Los mismos se denominan:
ni el de campo: donde se encuen an los senso es y ac uado es
ni el de con ol: donde se encuen an los PLCs o las Es aciones de Au oma ización
ni el de supe isión: donde se encuen an las Es aciones de Ope ación y los Se -
ido es de P oceso
ni el MES: donde se encuen an PCs con so wa e especializado pa a la dis ibución
de oda la in o mación de plan a así como la gene ación de epo es
ni el ERP: donde se encuen an igualmen e PCs con so wa e especializado pa a la
plani icación y adminis ación de la p oducción de oda la indus ia o emp esa (En
Wikipedia, s. .[b]).
Figu a 6.6 Sis ema de Con ol Dis ibuido (Recu sos, 2018).
96
6.2 Blockchain y el Con ol Au omá ico
Au óma a P og amable/P og ammable Logic Con olle (PLC)
Un au óma a p og amable, es una compu ado a u ilizada en au oma ización indus-
ial, pa a au oma iza p ocesos elec omecánicos, ales como el con ol de la maquina ia
de la áb ica en líneas de mon aje.
Los PLC son u ilizados en múl iples indus ias y máquinas. A di e encia de las compu-
ado as de p opósi o gene al, el PLC es á diseñado pa a múl iples señales de en ada y de
salida, angos de empe a u a ampliados, inmunidad al uido eléc ico y esis encia a la
ib ación y al impac o.
Los p og amas pa a el con ol de uncionamien o de la máquina se suelen almacena
en copias de segu idad y/o en memo ias no olá iles.
Un PLC es un ejemplo de un sis ema de iempo eal, donde los esul ados de salida
deben se p oducidos en espues a a las condiciones de en ada den o de un iempo limi-
ado, de lo con a io no p oduci á el esul ado deseado.
los PLC no sólo con olan la lógica de uncionamien o de máquinas, plan as y p ocesos
indus iales, sino que ambién pueden ealiza ope aciones a i mé icas, maneja señales
analógicas pa a ealiza es a egias de con ol, ales como con olado es PID (En Wikipe-
dia, s. .[ ]).
Supe isión, Con ol y Adquisición de Da os (SCADA)
SCADA es un concep o que se emplea pa a ealiza un so wa e pa a o denado es que
pe mi e con ola y supe isa p ocesos indus iales a dis ancia.
Facili a la ealimen ación en iempo eal con los disposi i os de campo (senso es y
ac uado es), y con ola el p oceso au omá icamen e.
P o ee de oda la in o mación que se gene a en el p oceso p oduc i o (supe isión,
con ol calidad, con ol de p oducción, almacenamien o de da os, e c.) y pe mi e su ges ión
e in e ención (En Wikipedia, s. .[u]).
Figu a 6.7 Es uc u a de supe isión con SCADA(En Wikipedia, s. .[u]).
97
6. BLOCKCHAIN EN LA AUTOMÁTICA
6.2 Blockchain y el Con ol Au omá ico
6.2.1 In oducción
En el capí ulo 2, se des acan los bene icios de implemen a la ecnología Blockchain
con o as ecnologías pa a ob ene las en ajas y ca ac e ís icas p incipales de la ecnolo-
gía Blockchain, con ianza/ iabilidad, segu idad y e dad en da os/ ansacciones, odo es o
educiendo los cos es y log ando la independencia de in e media ios/ e ce as pa es.
En la indus ia de la Au oma ización Indus ial se u ilizan sis emas de adquisición de da os
y con ol muy obus os, con al a ole ancia a allos y edundancia. Todos es os sis emas
ac úan no malmen e en ed in e na con sis emas edundan es y pocos pun os de acceso
ex e io es.
Uno de los p incipales iesgo de es e sec o de la indus ia es la cibe segu idad, el pelig o
de que un hacke acceda a la ed de con olado es y ome el con ol, puede deses abiliza
ácilmen e el sis ema de p oducción a acado.
6.2.2 ¿Cómo puede ayuda Blockchain a la Au oma ización Indus ial?
A con inuación se es udian algunas soluciones Blockchain a los 3 ni eles más comunes
de los sis emas de con ol dis ibuido, los ni eles de campo, con ol y supe isión.
Ni el de campo
El ni el de campo es donde se encuen an los senso es y ac uado es, es el ni el más
ulne able/c í ico, allos en los senso es y en los ac uado es puede desemboca en a e ías
en las máquinas, acciden es y/o a ec a a la p oducción.
Es muy impo an e que la adquisición y en ío de da os sea segu a, iable y e dade a.
Como se obse a en el diag ama 6.8, un a aque a las comunicaciones senso -PLC pe -
mi i ía in oduci da os alsos en el PLC, al igual que un a aque a las comunicaciones
PLC-Ac uado , en ambos casos puede desemboca en un mal uncionamien o del ac ua-
do .
Figu a 6.8 Es uc u a conexión ni el campo y ni el con ol.
Una solución Blockchain pa a aumen a la segu idad es u iliza la ecnología de lla es
público-p i adas, donde el PLC conoce la di ección pública de los senso es que con ola,
98
7 Con ol PI en Blockchain
7.1 Es ado del A e
En el a iculo Blockchain-based Technology o Indus ial Con ol Sys em Cype -
Secu i y(Mao y Xiao, 2018) se expone la idea de aplica ecnología Blockchain a los
Sis emas de Con ol Indus ial pa a mejo a la segu idad de la ed, concluyendo que
añadi ecnología Blockchain en es e ámbi o se consigue un sis ema con iable, segu o, de
al a e iciencia y bajo cos e, consiguiendo edes de disposi i os IoT más segu as.
Mingyang Mao y Hong Xiao concluyen que los nodos IoT o man una ed y se comu-
nican Pee o Pee usando cla es públicas y p i adas, log ando una comunicación segu a
en e ellos, y debido a los mecanismos de consenso las ansacciones no álidas son e-
chazadas, g acias a es o e i an la in e acción de a acan es en la ed.
P o undizando más en el ema, se encuen a el abajo Blockchain Technology wi h Ap-
plica ions o Dis ibu ed Con ol and Coope a i e Robo ics: A Su ey (Khan y col.,
2018), donde se indica la impo ancia de las decisiones dis ibuidas (consenso) y el me-
canismo de segu idad en la ecnología Blockchain pa a ealiza Con ol Dis ibuido y apli-
ca lo al campo de la Coope ación Robó ica, inalmen e concluyen que a pesa de lo dis up-
i o, la ecnología de obo s de enjamb e (swa m) y los Sis emas de Con ol Dis ibuido,
oda ía en en an desa íos de p i acidad y segu idad.
Blockchain acili a supe a es os desa íos con su descen alización, y la con igu ación
en ed Pee o Pee . Su descen alización elimina el monopolio del Thi d Pa y y c ea un
espacio segu o en un en o no poco con iable, lo que lo hace ideal. Se es án p oduciendo
cambios ecnológicos e inno ado es en u u o, Blockchain puede e oluciona el campo
de los sis emas DCS y enjamb e de obo s y les p opo ciona á una o ma más segu a y
ambien e in alible.
Aún no exis en muchas publicaciones sob e ecnología Blockchain aplicada al campo de
Con ol Au omá ico y Sis emas de Con ol Dis ibuido, aunque es cada ez más ácil en-
con a casos de uso de Blockchain dis in o al uso como c ip omoneda.
105
7. CONTROL PI EN BLOCKCHAIN
7.2 In oducción
En es e capí ulo se a a aplica la ecnología Blockchain a un sis ema IoT pa a u iliza
las en ajas de Blockchain en mejo a los pun os débiles de es os nue os sis emas.
El caso de uso es la clima ización de una i ienda, donde exis a una ed IoT de senso-
es de empe a u a y un Con olado Cen alizado que ac úa sob e el ai e acondicionado
de la i ienda.
Posibles iesgos si la ed IoT de es a i ienda su e un a aque, como se mues a en la
igu a 7.1:
1. A acan e suplan e la iden idad de los senso es, gene ando in o mación alsa pa a
con undi al Con olado Cen al.
2. A acan e suplan e la iden idad del Con olado Cen al y en ía consignas a los ac-
uado es del sis ema con in ención de causa a e ías y mal uncionamien o.
3. A acan e modi ique los pa áme os o código del Con olado Cen al.
106
7.2 In oducción
Figu a 7.1 Riesgos sis ema cen alizado bajo a aque (Elabo ación p opia, 2019).
107
7. CONTROL PI EN BLOCKCHAIN
Pa a a aca es os iesgos, se p opone las siguien es soluciones ecogidas en la igu a
7.2:
1. U iliza cla es públicas y p i adas pa a i ma los paque es de da os, an o las lec-
u as de los senso es de empe a u a como las ó denes del con olado cen al, con
es o se log a que no se pueda in oduci ansacciones alsas po nodos o disposi i-
os ajenos a la ed, solo aquellos senso es con iables poseen las lla es p i adas pa a
i ma ansacciones.
2. U iliza ecnología Blockchain de consenso pa a alida las ansacciones y desca -
a las alsas, los senso es no en ían da os di ec amen e al Con olado , en su luga
alojan sus da os en la Blockchain donde son alidados, y los ac uado es no apli-
can los comandos ecibidos del Con olado di ec amen e, aplican los comandos
calculados po el Sma Con ac que leen de la Blockchain, si un a acan e in en a
modi ica los da os de los senso es o las consignas del Con olado ya alidados en
la Blockchain, esas modi icaciones se án echazadas.
3. Aloja el código del Con olado en un Sma Con ac en la Blockchain, de es a
mane a el bucle de con ol no pod á se modi icado una ez alidado y sus pa á-
me os solo pod án se modi icados po usua ios au o izados en el Sma Con ac
que i men las ansacciones con su cla e p i ada.
108
7.2 In oducción
Figu a 7.2 Solución Blockchain p opues a (Elabo ación p opia, 2019).
109
7. CONTROL PI EN BLOCKCHAIN
7.3 Obje i o, solución adop ada y elemen os u ilizados
7.3.1 Obje i o y solución adop ada
El obje i o es demos a que se puede mejo a una ed simple de IoT suscep ible a
a aques aplicando Blockchain a su desa ollo, pa a ello se u iliza un A duino como dis-
posi i o IoT, es e ealiza á las a eas de comunicación segu a con la Blockchain y con los
elemen os IoT como senso es y ac uado es, y se u iliza un Sma Con ac en la Blockchain
pa a asegu a que el bucle de con ol es segu o ycon iable.
Pa a simula es e caso de uso se ha cons uido un sis ema de con ol de empe a u a con
en ilado es y un senso de empe a u a, se con olan los en ilado es con un A duino que
aplica las consignas leídas de la Blockchain y calculadas y esc i as po un Sma Con ac
en la Blockchain de E he eum, es e Sma Con ac ecibi á las medidas de empe a u a
esc i as po el A duino en la Blockchain pa a ealiza el cálculo de las consignas como se
obse a en el diag ama 7.3.
Figu a 7.3 Solución adop ada (Elabo ación p opia, 2019).
7.3.2 Elemen os Ha dwa e
A duino con adap ado Wi-Fi ESP32:
ESP32 es un único chip combinado de 2,4 GHz con Wi-Fi y Blue oo h diseñado con
el TSMC de ul a baja po encia de 40 nm.
Es á diseñado pa a log a el mejo endimien o de po encia y RF, mos ando obus-
ez, e sa ilidad y iabilidad en una amplia a iedad de aplicaciones y escena ios.
ESP32 es á diseñado pa a aplicaciones mó iles, wea ables y disposi i os de In e ne
de las cosas (IoT) (En Esp essi Sys ems, s. .).
110
7.3 Obje i o, solución adop ada y elemen os u ilizados
Ven ilado es de 5V DC y 0.2A Pi-Fan
Senso de Tempe a u a A duino (AM2303) DHT22:
El senso AM2302 es la e sión cableada y encapsulada en un cue po plás ico del
DHT22, sencillo de usa con A duino y Raspbe y Pi.
Mos e NPN TIP122G
7.3.3 Elemen os So wa e
A duino IDE:
El so wa e A duino de código abie o (IDE) pe mi e esc ibi código y subi lo a la
placa A duino.
Se ejecu a en Windows, Mac OS X y Linux.
El en o no es á esc i o en Ja a y se basa en so wa e de código abie o.
E he eum Blockchain - Rops en:
La ed de p ueba de Rops en ( es ne ) se usa esencialmen e como un en o no de
p uebas an es de lle a su código a la ed p incipal de E he eum (mainne ).
A di e encia de la ed p incipal, esc ibi en la ed de p ueba es g a is (Dako a Quin ,
s. .).
Lo más des acado de las edes de p ueba de E he eum:
•Pe mi e implemen a código no con iable en la ed de p ueba en luga de ha-
ce lo en la ed p incipal.
•Es p ác icamen e g a ui o (a di e encia de la ed p incipal).
•Es á suje o a cambios.
JSON-RPC:
JSON es un o ma o lige o de in e cambio de da os. Puede ep esen a núme os,
cadenas, secuencias o denadas de alo es y colecciones de pa es de nomb e / alo .
JSON-RPC es un p o ocolo de llamada a p ocedimien o emo o (RPC) sin es ado y
lige o.
P incipalmen e, es a especi icación de ine a ias es uc u as de da os y las eglas
en o no a su p ocesamien o. Es independien e del anspo e, a a és de socke s,
a a és de HTTP o en muchos en o nos de ansmisión de mensajes. U iliza JSON
(RFC 4627) como o ma o de da os (Felix Lange, s. .).
In u a node:
In u a es un clús e alojado de nodos de E he eum que pe mi e a sus usua ios eje-
cu a su aplicación de o ma segu a y iable sin necesi a que con igu en su p opio
nodo comple o o walle de E he eum (Tim Coul e , s. .).
T u le de elopmen en i onmen :
T u le es un en o no de desa ollo (p opo ciona una he amien a de línea de coman-
dos pa a compila , implemen a y p oba Sma Con ac s), de amewo k (p opo -
ciona a ios paque es pa a acili a la esc i u a de p uebas, código de implemen a-
ción, clien es de compilación, e c.) y de canalización de ac i os (pe mi e publica
111
7. CONTROL PI EN BLOCKCHAIN
paque es y usa paque es publicados po o os) pa a cons ui DApps basados en
E he eum (Na ayan P us y, 2017) .
A om ex and sou ce code edi o :
A om es un edi o de ex o y código uen e g a ui o y de código abie o pa a macOS,
Linux y Mic oso Windows con sopo e pa a complemen os esc i os en Node.js, e
in eg ado en Gi Con ol, desa ollado po Gi Hub.
A om es una aplicación de esc i o io c eada con ecnologías web. La mayo ía de los
paque es que ienen licencias de so wa e lib e y son cons uidos y man enidos po
la comunidad.
A om se basa en Elec on (an e io men e conocido como A om Shell), un ma co
que pe mi e aplicaciones de esc i o io mul ipla a o ma que u ilizan Ch omium y
Node.js. Es á esc i o en Co eeSc ip y Less (En Wikipedia, s. .[a]) .
Solidi y:
Solidi y es un lenguaje de p og amación o ien ado a obje os pa a esc ibi Sma
Con ac s y se u iliza pa a implemen a los en a ias pla a o mas Blockchain, espe-
cialmen e E he eum.
Fue desa ollado po Ga in Wood, Ch is ian Rei wiessne , Alex Be egszaszi, Lia-
na Husikyan, Yoichi Hi ai y a ios an iguos colabo ado es p incipales de E he eum
(En Wikipedia, s. .[w]) .
NodeJs y Webse e :
Node.js es un en o no mul ipla a o ma, de código abie o, pa a la capa del se ido
(pe o no limi ándose a ello) basado en el lenguaje de p og amación ECMASc ip ,
asínc ono, con I/O de da os en una a qui ec u a o ien ada a e en os y basado en el
mo o V8 de Google.
Fue c eado con el en oque de se ú il en la c eación de p og amas de ed al amen e
escalables, como po ejemplo, se ido es web.
Fue c eado po Ryan Dahl en 2009 y su e olución es á apad inada po la emp esa
Joyen .
Node.js es simila en su p opósi o a Twis ed o To nado de Py hon, Pe l Objec En-
i onmen de Pe l, libe en o libe de C, E en Machine de Ruby, ibe.d de D y Ja a
EE de Ja a exis e Apache MINA, Ne y, Akka, Ve .x, G izzly o Xsocke . Al con-
a io que la mayo ía del código Ja aSc ip , no se ejecu a en un na egado , sino en
el se ido . Node.js implemen a algunas especi icaciones de CommonJS. Node.js
incluye un en o no REPL pa a depu ación in e ac i a (En Wikipedia, s. .[q]).
Me amask:
Me aMask pe mi e ejecu a E he eum dApps di ec amen e en el na egado sin eje-
cu a un nodo E he eum comple o, incluye una “caja ue e segu a” de iden idad,
que p opo ciona una in e az de usua io pa a adminis a sus iden idades/lla es p i-
adas en di e en es si ios y i ma ansacciones de Blockchain.
Se puede ins ala el complemen o Me aMask en Ch ome, Fi e ox, Ope a y el nue o
na egado B a e (En Me amask, s. .).
112
7.4 Diseño y mon aje
7.4 Diseño y mon aje
El obje i o es u iliza el A duino ESP32 como pasa ela en e el Sma Con ac de
un Con olado PI alojado en E he eum y los disposi i os IoT (senso de empe a u a y
en ilado es), pa a log a es o se han ealizado las siguien es a eas:
1. Mon aje del ci cui o de lec u a del senso de empe a u a DHT22
2. Mon aje del ci cui o de con ol de los en ilado es
3. Desa ollo del código en A duino pa a lee el senso de empe a u a, esc ibi la
lec u a en el Sma Con ac , lee la señal de con ol calculada po el Sma Con ac
y aplica la en el ci cui o de los en ilado es
4. Desa ollo del código del Sma Con ac del Con olado PI en la Blockchain de
E he eum
5. Desa ollo de una in e az web pa a lee y esc ibi en el Sma Con ac los pa áme-
os de con igu ación del Con olado PI
7.4.1 Ci cui o de lec u a del senso de empe a u a DHT22
El senso de empe a u a DHT22 adap ado pa a A duino, mide empe a u as de en e
-40ºC y 80ºC con una p ecisión de +-0.5ºC y cons a de 3 pines:
Pin 1: Alimen ación
Pin 2: T ans e encia de da os
Pin 3: Conexión a ie a
La in o mación es ansmi ida po el Pin 2 de Da os del DHT22 como indica el Da ashee
(En spa k un.com, s. .) y se lee a a és de un Pin Digi al de en ada de A duino.
Pa a su lec u a se ha ealizado el mon aje de la igu a 7.4, diag ama gene ado con ci -
cui o.io (En ci cui o.io, s. .):
113
7. CONTROL PI EN BLOCKCHAIN
Figu a 7.4 Diag ama y esul ado pa a lec u a senso de empe a u a.
7.4.2 Mon aje del ci cui o de con ol de los en ilado es
Se han u ilizado dos en ilado es de 5V y 0.2A. Debido a que el A duino ESP32 un-
ciona a 3.3V se mon a un ci cui o pa a alimen a los en ilado es y o o ci cui o pa a
con ola los aplicando una señal PWM sob e un Mos e que ac úa como in e up o y que
pe mi e con ola po an o la alimen ación de los en ilado es, como se obse a en la i-
gu a 7.5.
Se puede comp oba el esul ado del mon aje inal en la igu a 7.6.
114
7.4 Diseño y mon aje
!"✐♥❣ "❡ ✉❧! ❂❝♦♥!"❛❝!✳❙❡♥❞❚"❛♥ ❛❝!✐♦♥✭♥♦♥❝❡❱❛❧✱ ❣❛ 4"✐❝❡❱❛❧✱
❣❛ ▲✐♠✐!❱❛❧✱ ✫!♦❙!"✱ ✫✈❛❧✉❡❙!"✱ ✫♣✮❀
✴✴❆❝#✉❛❧✐③❛ ❡❧ ◆♦♥❝❡ ♣❛.❛ /✉❡ ❡❧ 0✐❣✉✐❡♥#❡ ♣.♦❝❡0♦ ❡0♣❡.❡
♥♦♥❝❡❱❛❧❂♥♦♥❝❡❱❛❧✰✶❀
"❡!✉"♥ ♥♦♥❝❡❱❛❧❀
⑥
3. ge Con olSignal:
Función que lee la señal de con ol calculada po el Sma Con ac .
P ime o espe a a que se haya ejecu ado/ alidado la úl ima ansacción pendien e en
el Sma Con ac , una ez comp obado que el Nonce es el úl imo, pide el alo de
la señal de con ol llamando a la unción ge Con olSignal() del Sma Con ac .
✐♥! ❣❡!❈♦♥!"♦❧❙✐❣♥❛❧✭✉✐♥!✸✷❴! ●❡♥❡"❛❧◆♦♥❝❡❱❛❧✮ ④
✐♥! !❂✵❀
✉✐♥!✸✷❴! ♥♦♥❝❡❱❛❧ ❂✭✉✐♥!✸✷❴!✮✇❡❜✸✳❊!❤●❡!❚"❛♥ ❛❝!✐♦♥❈♦✉♥!✭✫❛❞❞"❡ ✮❀
✴✯❈♦♠♣.✉❡❜❛ /✉❡ 0❡ ❤❛ ❡❥❡❝✉#❛❞♦ ❧❛ #.❛♥0❛❝❝✐9♥ ❛♥#❡.✐♦. ❡♥ ❧❛ ❇❧♦❝❦❝❤❛✐♥
♣❛.❛ ❛0❡❣✉.❛.0❡ /✉❡ ❧❡❡ ❧❛ <❧#✐♠❛ 0❡=❛❧ ❞❡ ❝♦♥#.♦❧ ❝❛❧❝✉❧❛❞❛✯✴
✇❤✐❧❡ ✭♥♦♥❝❡❱❛❧✦❂ ●❡♥❡"❛❧◆♦♥❝❡❱❛❧✫✫!❁✶✵✮ ④
✴✴ ❙❡.✐❛❧✳♣.✐♥#❧♥✭✧♥♦♥❝❡❱❛❧ ❡0 ❞✐0#✐♥#♦ ❛ ●❡♥❡.❛❧◆♦♥❝❡❱❛❧✧✮❀
✴✴ ❙❡.✐❛❧✳♣.✐♥#❧♥✭♥♦♥❝❡❱❛❧✮❀
✴✴ ❙❡.✐❛❧✳♣.✐♥#❧♥✭●❡♥❡.❛❧◆♦♥❝❡❱❛❧✮❀
❞❡❧❛②✭✶✵✵✵✮❀
♥♦♥❝❡❱❛❧ ❂✭✉✐♥!✸✷❴!✮✇❡❜✸✳❊!❤●❡!❚"❛♥ ❛❝!✐♦♥❈♦✉♥!✭✫❛❞❞"❡ ✮❀
!✰✰❀
⑥
✴✴❈♦♠✐❡♥③❛ ❧❛ ♣❡#✐❝✐9♥ ❞❡ ♣❛.F♠❡#.♦
❝♦♥!"❛❝!✳♦♣!✐♦♥ ✳❣❛ ❂ ✺✵✵✵✵✵✵❀
!"✐♥❣ ❢✉♥❝ ❂✧❣❡!❈♦♥!"♦❧❙✐❣♥❛❧✭✮✧❀
!"✐♥❣ ♣❛"❛♠ ❂❝♦♥!"❛❝!✳❙❡!✉♣❈♦♥!"❛❝!❉❛!❛✭✫❢✉♥❝✮❀
!"✐♥❣ "❡ ✉❧! ❂❝♦♥!"❛❝!✳❈❛❧❧✭✫♣❛"❛♠✮❀
✴✯❈♦♥✈✐❡.#❡ ❧❛ .❡0♣✉❡0#❛ ❞❡ ❧❛ ❇❧♦❝❦❝❤❛✐♥ ❛❧ ♣❛.F♠❡#.♦ ❞❡0❡❛❞♦
▲❛ .❡0♣✉❡0#❛ ✈✐❡♥❡ ❡♥ ❢♦.♠❛#♦ ❏0♦♥ ②❛ /✉❡ ✉0❛ ❏❙❖◆✲❘O❈ O.♦#♦❝♦❧✯✴
✐♥! "❡ ✉❧!■♥!❂❞❡ ❡"✐❛❧❏ ♦♥✭"❡ ✉❧!✮❀
"❡!✉"♥ "❡ ✉❧!■♥!❀
⑥
4. ge Re e ence:
Simila a la unción ge Con olSignal, es a unción pide al Sma Con ac el úl imo
alo de e e encia/se poin que hay ecibido.
✐♥! ❣❡!❘❡❢❡"❡♥❝❡✭✮ ④
✴✴❈♦♠✐❡♥③❛ ❧❛ ♣❡#✐❝✐9♥ ❞❡ ♣❛.F♠❡#.♦
❝♦♥!"❛❝!✳♦♣!✐♦♥ ✳❣❛ ❂ ✺✵✵✵✵✵✵❀
!"✐♥❣ ❢✉♥❝ ❂✧❣❡!❘❡❢❡"❡♥❝❡✭✮✧❀
!"✐♥❣ ♣❛"❛♠ ❂❝♦♥!"❛❝!✳❙❡!✉♣❈♦♥!"❛❝!❉❛!❛✭✫❢✉♥❝✮❀
!"✐♥❣ "❡ ✉❧! ❂❝♦♥!"❛❝!✳❈❛❧❧✭✫♣❛"❛♠✮❀
121
7. CONTROL PI EN BLOCKCHAIN
✐♥" #❡%✉❧"■♥"❂❞❡%❡#✐❛❧❏%♦♥✭#❡%✉❧"✮❀
#❡"✉#♥ #❡%✉❧"■♥"❀
⑥
5. dese ialJson:
Función que ex ae los alo es de la espues a JSON que se ecibe del Sma Con ac
al in oca sus unciones.
✐♥" ❞❡%❡#✐❛❧❏%♦♥✭%"#✐♥❣ #❡%✉❧"✮④
❝♦♥%" %✐③❡❴" ❝❛♣❛❝✐"② ❂❏❙❖◆❴❖❇❏❊❈❚❴❙■❩❊✭✻✮✰❏❙❖◆❴❆❘❘❆❨❴❙■❩❊✭✹✮✰ ✶✷✵❀
❉②♥❛♠✐❝❏%♦♥❉♦❝✉♠❡♥" ❞♦❝✭❝❛♣❛❝✐"②✮❀
✴✴ ❉❡#❡$✐❛❧✐③❡ )❤❡ ❏❙❖◆ ❞♦❝✉♠❡♥)
❉❡%❡#✐❛❧✐③❛"✐♦♥❊##♦# ❡##♦# ❂❞❡%❡#✐❛❧✐③❡❏%♦♥✭❞♦❝✱ #❡%✉❧"✮❀
✴✴ ❚❡#) ✐❢ ♣❛$#✐♥❣ #✉❝❝❡❡❞#✳
✐❢ ✭❡##♦#✮ ④
❙❡#✐❛❧✳♣#✐♥"✭❋✭✧❞❡%❡#✐❛❧✐③❡❏%♦♥✭✮ ❢❛✐❧❡❞✿ ✧✮✮❀
❙❡#✐❛❧✳♣#✐♥"❧♥✭❡##♦#✳❝❴%"#✭✮✮❀
⑥
✴✴❊①)$❛❡ ❞❡ ❧❛ $❡#♣✉❡#)❛ ❏❙❖◆ ❡❧ ❝♦♥)❡♥✐❞♦ ❞❡❧ ❝❛♠♣♦ ✧$❡#✉❧)✧
❝♦♥%" ❝❤❛#✯
❡"✉❧%❥"♦♥ ❂❞♦❝❬✧ ❡"✉❧%✧❪❀
✐♥% ❡"✉❧%❥"♦♥✐♥% ❂"% %♦❧✭ ❡"✉❧%❥"♦♥✱ ✵✱✶✻✮❀
❡%✉ ♥ ❡"✉❧%❥"♦♥✐♥%❀
⑥
7.4.4 Desa ollo del código del Sma Con ac
Se ha desa ollado un Sma Con ac muy sencillo pa a la Blockchain de E he eum
usando el lenguaje Solidi y, a con inuación se mues a el código pa a analiza lo con más
p o undidad:
♣ ❛❣♠❛ "♦❧✐❞✐%② ❫✵✳✺✳✵❀
❝♦♥% ❛❝% @■❈♦♥% ♦❧❧❡ ④
✴✴❉❡❢✐♥✐❝✐'♥ ❞❡ ✈❛+✐❛❜❧❡.
✐♥% ❘❡❢❡ ❡♥❝❡❀
✐♥% ❑♣❀
✐♥% ❑✐❀
✐♥% ■♥♣✉%❙✐❣♥❛❧❀
✐♥% ❈♦♥% ♦❧❙✐❣♥❛❧❀
✐♥% ❈♦♥% ♦❧❙✐❣♥❛❧❆❞❛♣❀
✐♥% ❡ ♦ ❀
✐♥% ❡ ♦ ❴✶❀
✴✴❉❡❢✐♥✐❝✐'♥ ❞❡ ❡✈❡♥/♦. ✭♣❛+❛ ✉.❛+❧♦. ❡♥ ❧❛ ✐♥/❡+❢❛③ ✇❡❜✮
❡✈❡♥% ❘❡❢❊✈❡♥%✭
✐♥% ❘❡❢❡ ❡♥❝❡
✮❀
❡✈❡♥% ❑♣❊✈❡♥%✭
122
7.4 Diseño y mon aje
✐♥" ❑♣
✮❀
❡✈❡♥" ❑✐❊✈❡♥"✭
✐♥" ❑✐
✮❀
❡✈❡♥" ❈♦♥"-♦❧❙✐❣♥❛❧❊✈❡♥"✭
✐♥" ❳✱
✐♥" ❈♦♥"-♦❧❙✐❣♥❛❧❆❞❛♣✱
✐♥" ❡--♦-✱
✐♥" ❡--♦-❴✶
✮❀
❡✈❡♥" 8❡"❊--♦-❴✶❊✈❡♥"✭
✐♥" ❡--♦-❴✶
✮❀
✴✴❉❡❢✐♥✐❝✐'♥ ❞❡ ❝♦♥*+,✉❝+♦, ❝♦♥ ❝♦♥❢✐❣✉,❛❝✐'♥ ✐♥✐❝✐❛❧
❝♦♥8"-✉❝"♦-✭✮ ♣✉❜❧✐❝ ④
❘❡❢❡-❡♥❝❡ ❂ ✷✵✵✵❀
❑♣ ❂ ✸❀
❑✐ ❂ ✵❀
■♥♣✉"❙✐❣♥❛❧❂✵❀
❈♦♥"-♦❧❙✐❣♥❛❧❂✵❀
❈♦♥"-♦❧❙✐❣♥❛❧❆❞❛♣❂✵❀
❡--♦-❂ ✵❀
❡--♦-❴✶❂✵❀
⑥
✴✴❋✉♥❝✐'♥ 2✉❡ ♠♦❞✐❢✐❝❛ ❧❛ ❘❡❢❡,❡♥❝✐❛
❢✉♥❝"✐♦♥ 8❡"❘❡❢❡-❡♥❝❡✭✐♥" ❘✮♣✉❜❧✐❝ -❡"✉-♥8✭✐♥"✮ ④
❘❡❢❡-❡♥❝❡❂❘❀
❡♠✐" ❘❡❢❊✈❡♥"✭❘✮❀
⑥
✴✴❋✉♥❝✐'♥ 2✉❡ ♠♦❞✐❢✐❝❛ ❡❧ ♣❛,6♠❡+,♦ ❑♣
❢✉♥❝"✐♦♥ 8❡"F❛-❛♠❡"❡-❑♣✭✐♥" ❴❑♣✮♣✉❜❧✐❝ -❡"✉-♥8✭✐♥"✮ ④
❑♣❂❴❑♣❀
❡♠✐" ❑♣❊✈❡♥"✭❑♣✮❀
⑥
✴✴❋✉♥❝✐'♥ 2✉❡ ♠♦❞✐❢✐❝❛ ❡❧ ♣❛,6♠❡+,♦ ❑✐
❢✉♥❝"✐♦♥ 8❡"F❛-❛♠❡"❡-❑✐✭✐♥" ❴❑✐✮♣✉❜❧✐❝ -❡"✉-♥8✭✐♥"✮ ④
❑✐❂❴❑✐❀
❡♠✐" ❑✐❊✈❡♥"✭❑✐✮❀
⑥
✴✴❋✉♥❝✐'♥ 2✉❡ ♠♦❞✐❢✐❝❛ ❡❧ ❡,,♦, ❛❝✉♠✉❧❛❞♦
❢✉♥❝"✐♦♥ 8❡"❊--♦-❴✶✭✐♥" ❴❡--♦-❴✶✮♣✉❜❧✐❝ -❡"✉-♥8✭✐♥"✮ ④
❡--♦-❴✶❂❴❡--♦-❴✶❀
❡♠✐" 8❡"❊--♦-❴✶❊✈❡♥"✭❡--♦-❴✶✮❀
⑥
✴✯❋✉♥❝✐'♥ 2✉❡ ❡❥❡❝✉+❛ ❡❧ ❝6❧❝✉❧♦ ❞❡ ❧❛ *❡:❛❧ ❞❡ ❝♦♥+,♦❧ ❛❧ ,❡❝✐❜✐,
✉♥ ♥✉❡✈♦ ✈❛❧♦, ❞❡ +❡♠♣❡,❛+✉,❛✯✴
123
7. CONTROL PI EN BLOCKCHAIN
❢✉♥❝$✐♦♥ '❡$❈♦♥$*♦❧❙✐❣♥❛❧❈❛❧❝✭✐♥$ ❳✮♣✉❜❧✐❝ *❡$✉*♥'✭✐♥$✮ ④
■♥♣✉$❙✐❣♥❛❧❂❳❀
✴✴❈❛❧❝✉❧❛ ❡❧ ❡''♦'
❡**♦*❂❘❡❢❡*❡♥❝❡✲■♥♣✉$❙✐❣♥❛❧❀
✴✴❈❛❧❝✉❧❛ ❧❛ )❡*❛❧ ❞❡ ❝♦♥-'♦❧
❈♦♥$*♦❧❙✐❣♥❛❧❂❑♣✯❡**♦*✰❑✐✯❡**♦*❴✶❀
✴✴❆❝-✉❛❧✐③❛ ❡❧ ❡''♦' ❛❝✉♠✉❧❛❞♦
❡**♦*❴✶❂❡**♦*❴✶✰❡**♦*❀
✴✯❈♦♠♣'✉❡❜❛ 5✉❡ ❧❛ )❡*❛❧ ❞❡ ❝♦♥-'♦❧ ❡)-6 ❞❡♥-'♦ ❞❡ ❧♦) '❛♥❣♦)
❡)-❛❜❧❡❝✐❞♦) ❡5✉✐✈❛❧❡♥-❡ ❛ ❧♦) ❧9♠✐-❡) ❞❡ )❛-✉'❛❝✐:♥✯✴
✐❢ ✭❈♦♥$*♦❧❙✐❣♥❛❧❃✷✺✺✵✮ ④
❈♦♥$*♦❧❙✐❣♥❛❧❂✷✺✺✵❀
⑥
✐❢ ✭❈♦♥$*♦❧❙✐❣♥❛❧❁✲✷✺✺✵✮ ④
❈♦♥$*♦❧❙✐❣♥❛❧❂✲✷✺✺✵❀
⑥
✴✴❆❞❛♣-❛❝✐:♥ ❞❡ ❧♦) '❛♥❣♦) ❞❡ )❛❧✐❞❛ ❬✲✷✺✺✵✱✷✺✺✵❪ ❛ ❬✵✱✷✺✺✵✵❪
❈♦♥$*♦❧❙✐❣♥❛❧❆❞❛♣❂✺✯✭❈♦♥$*♦❧❙✐❣♥❛❧✰✷✺✺✵✮❀
❡♠✐$ ❈♦♥$*♦❧❙✐❣♥❛❧❊✈❡♥$✭❳✱❈♦♥$*♦❧❙✐❣♥❛❧❆❞❛♣✱❡**♦*✱❡**♦*❴✶✮❀
⑥
✴✴❋✉♥❝✐:♥ 5✉❡ ❞❡✈✉❡❧✈❡ ❡❧ ✈❛❧♦' ❞❡ ❧❛ )❡*❛❧ ❞❡ ❝♦♥-'♦❧
❢✉♥❝$✐♦♥ ❣❡$❈♦♥$*♦❧❙✐❣♥❛❧✭✮ ♣✉❜❧✐❝ ✈✐❡✇ *❡$✉*♥' ✭✐♥$✮ ④
*❡$✉*♥ ✭❈♦♥$*♦❧❙✐❣♥❛❧❆❞❛♣✮❀
⑥
✴✴❋✉♥❝✐:♥ 5✉❡ ❞❡✈✉❡❧✈❡ ❡❧ ✈❛❧♦' ❞❡ ❧❛ ❑♣
❢✉♥❝$✐♦♥ ❣❡$❑♣✭✮ ♣✉❜❧✐❝ ✈✐❡✇ *❡$✉*♥' ✭✐♥$✮ ④
*❡$✉*♥ ✭❑♣✮❀
⑥
✴✴❋✉♥❝✐:♥ 5✉❡ ❞❡✈✉❡❧✈❡ ❡❧ ✈❛❧♦' ❞❡ ❧❛ ❑✐
❢✉♥❝$✐♦♥ ❣❡$❑✐✭✮ ♣✉❜❧✐❝ ✈✐❡✇ *❡$✉*♥' ✭✐♥$✮ ④
*❡$✉*♥ ✭❑✐✮❀
⑥
✴✴❋✉♥❝✐:♥ 5✉❡ ❞❡✈✉❡❧✈❡ ❡❧ ✈❛❧♦' ❞❡ ❧❛ ❘❡❢❡'❡♥❝✐❛
❢✉♥❝$✐♦♥ ❣❡$❘❡❢❡*❡♥❝❡✭✮ ♣✉❜❧✐❝ ✈✐❡✇ *❡$✉*♥' ✭✐♥$✮ ④
*❡$✉*♥ ✭❘❡❢❡*❡♥❝❡✮❀
⑥
✴✴❋✉♥❝✐:♥ 5✉❡ ❞❡✈✉❡❧✈❡ ❡❧ ✈❛❧♦' ❞❡ ❧❛ )❡*❛❧ ❞❡ ❡♥-'❛❞❛
❢✉♥❝$✐♦♥ ❣❡$■♥♣✉$❙✐❣♥❛❧✭✮ ♣✉❜❧✐❝ ✈✐❡✇ *❡$✉*♥' ✭✐♥$✮ ④
*❡$✉*♥ ✭■♥♣✉$❙✐❣♥❛❧✮❀
⑥
✴✴❋✉♥❝✐:♥ 5✉❡ ❞❡✈✉❡❧✈❡ ❡❧ ✈❛❧♦' ❞❡❧ ❡''♦'
❢✉♥❝$✐♦♥ ❣❡$❊**♦*✭✮ ♣✉❜❧✐❝ ✈✐❡✇ *❡$✉*♥' ✭✐♥$✮ ④
*❡$✉*♥ ✭❡**♦*✮❀
⑥
✴✴❋✉♥❝✐:♥ 5✉❡ ❞❡✈✉❡❧✈❡ ❡❧ ✈❛❧♦' ❞❡❧ ❡''♦' ❝❛❧❝✉❧❛❞♦
❢✉♥❝$✐♦♥ ❣❡$❊**♦*✶✭✮ ♣✉❜❧✐❝ ✈✐❡✇ *❡$✉*♥' ✭✐♥$✮ ④
*❡$✉*♥ ✭❡**♦*❴✶✮❀
124
7.4 Diseño y mon aje
⑥
⑥
En el Sma Con ac se di e encian 3 ipos de es uc u as:
1. Funciones “Se ”: Son unciones que cambian el es ado de una a iable, pa a in-
oca las es necesa io en ia una ansacción i mada, y u iliza “Gas” que es una
medida del consumo necesa io pa a ejecu a esa unción po el nodo que mine esa
ansacción, po an o es necesa io paga con E he eum pa a cambia el es ado de
una a iable en la Blockchain pública de E he eum.
2. Funciones “Ge ”: Son unciones que pe mi en lee el Sma Con ac , no incu en
en ningún cos e.
3. Funciones “E en ”: Son unciones que moni o izan las a iables y gene an un
e en o cuando cambia alguna a iable moni o izada, con es as unciones se e i a
el ealiza con inuas pe iciones a la Blockchain y en es e p oyec o se usa án pa a
cap u a con la in e az web los cambios de las a iables.
7.4.5 Desa ollo de una in e az web
Pa a pode in e ac ua con el Sma Con ac de una o ma más ágil que usando las
unciones de A duino, se ha desa ollado una in e az web pa a modi ica los p incipales
pa áme os del Con olado PI y moni o iza odas las a iables de in e és in oluc adas.
Se ha hecho uso de la lib e ía Web3.js y la Ex ensión web Me amask que pe mi e in-
e ac ua con los Sma Con ac s de la Blockchain de E he eum, es e código es más ex-
enso que los an e io es, se an a epasa los pun os más impo an es elacionados con
Blockchain y no con c eación de in e aces web:
✴✯❙❡ ✐♥❞✐❝❛ ❡❧ ♥♦❞♦ ❛❧ +✉❡ -❡ ❝♦♥❡❝.❛✱ ❡♥ ♥✉❡-.0♦ ❝❛-♦
❡-.❛ ✐♥❢♦0♠❛❝✐3♥ ❧❛ ♣0♦✈❡❡ ▼❡.❛♠❛-❦ +✉❡ ❡- ❡❧ ❝✉00❡♥. 80♦✈✐❞❡❡0✯✴
✇❡❜✸ ❂♥❡✇ ❲❡❜✸✭✇❡❜✸✳❝✉,,❡♥-.,♦✈✐❞❡,✮❀
✴✯❙❡ ❝0❡❛ ✉♥❛ ✈❛0✐❛❜❧❡ ❞❡ .✐♣♦ ✧❝♦♥.0❛❝.✧ ❝♦♥ ❧❛ ✐♥❢♦0♠❛❝✐3♥ ❆❇■✱
❡-.❛ ✐♥❢♦0♠❛❝✐3♥ ♣❡0♠✐.❡ ❛ ❧❛ ❧✐❜0❡0>❛ ❲❡❜✸ ❝♦♥♦❝❡0
+✉A ❢✉♥❝✐♦♥❡- ❡-.B♥ ✐♠♣❧❡♠❡♥.❛❞❛- ❡♥ ❡❧ ❙♠❛0. ❈♦♥.0❛❝.✯✴
✈❛, .■❈♦♥-,♦❧❧❡, ❂✇❡❜✸✳❡-❤✳❝♦♥-,❛❝-✭✧❨❖❯❘ ❆❇■✧✮❀
✴✴❙❡ ✐♥❞✐❝❛ ❧❛ ❞✐0❡❝❝✐3♥ ❞❡❧ ❙♠❛0. ❈♦♥.0❛❝. ❝♦♥ ❡❧ +✉❡ ✐♥.❡0❛❝.✉❛0
✈❛, .■❂.■❈♦♥-,♦❧❧❡,✳❛-✭
✬
✵①✾✶✻❊✺✹✽✺✸❛✻❈❆❡✾✵❜✾✶✽❛❞❊✺✹✾✻❇✻✸❉❢✼❢❋✵❞✺❞✺
✬
✮❀
✴✯❋✉♥❝✐♦♥❡- ✧●❡.✧ +✉❡ ❧❡❡♥ ❡❧ ❡-.❛❞♦ ❞❡❧ ❙♠❛0. ❈♦♥.0❛❝.
❛❧ 0❡❝❛0❣❛0 ❧❛ ✐♥.❡0❢❛③ ✇❡❜✯✴
.■✳❣❡-❘❡❢❡,❡♥❝❡✭❢✉♥❝-✐♦♥✭❡,,♦,✱ ,❡P✉❧-✮④
✐❢✭✦❡,,♦,✮
④✩✭✧★❘❡❢❡,❡♥❝❡✲,❡❛❞✧✮✳❤-♠❧✭
✬
❘❡❢❡,❡♥❝❡✿
✬
✰,❡P✉❧-✴✶✵✵✮❀
❝♦♥P♦❧❡✳❧♦❣✭,❡P✉❧-✮❀
125
7. CONTROL PI EN BLOCKCHAIN
⑥
❡❧#❡
❝♦♥#♦❧❡✳❡((♦(✭❡((♦(✮❀
⑥✮❀
,■✳❣❡/❑♣✭❢✉♥❝/✐♦♥✭❡((♦(✱ (❡#✉❧/✮④
✐❢✭✦❡((♦(✮
④✩✭✧★❑♣✲(❡❛❞✧✮✳❤/♠❧✭
✬
❑♣✿
✬
✰(❡#✉❧/✮❀
❝♦♥#♦❧❡✳❧♦❣✭(❡#✉❧/✮❀
⑥
❡❧#❡❝♦♥#♦❧❡✳❡((♦(✭❡((♦(✮❀
⑥✮❀
,■✳❣❡/❑✐✭❢✉♥❝/✐♦♥✭❡((♦(✱ (❡#✉❧/✮④
✐❢✭✦❡((♦(✮
④✩✭✧★❑✐✲(❡❛❞✧✮✳❤/♠❧✭
✬
❑✐✿
✬
✰(❡#✉❧/✮❀
❝♦♥#♦❧❡✳❧♦❣✭(❡#✉❧/✮❀
⑥
❡❧#❡❝♦♥#♦❧❡✳❡((♦(✭❡((♦(✮❀
⑥✮❀
,■✳❣❡/■♥♣✉/❙✐❣♥❛❧✭❢✉♥❝/✐♦♥✭❡((♦(✱ (❡#✉❧/✮④
✐❢✭✦❡((♦(✮
④✩✭✧★■♥♣✉/❙✐❣♥❛❧✲(❡❛❞✧✮✳❤/♠❧✭
✬
❚❡♠♣❡(❛/✉(❡✿
✬
✰(❡#✉❧/✴✶✵✵✮❀
❝♦♥#♦❧❡✳❧♦❣✭(❡#✉❧/✮❀
⑥
❡❧#❡❝♦♥#♦❧❡✳❡((♦(✭❡((♦(✮❀
⑥✮❀
,■✳❣❡/❈♦♥/(♦❧❙✐❣♥❛❧✭❢✉♥❝/✐♦♥✭❡((♦(✱ (❡#✉❧/✮④
✐❢✭✦❡((♦(✮
④✩✭✧★❈♦♥/(♦❧❙✐❣♥❛❧✲(❡❛❞✧✮✳❤/♠❧✭
✬
✉❂❈♦♥/(♦❧❙✐❣♥❛❧✿
✬
✰(❡#✉❧/✴✶✵✵✮❀
❝♦♥#♦❧❡✳❧♦❣✭(❡#✉❧/✮❀
⑥
❡❧#❡❝♦♥#♦❧❡✳❡((♦(✭❡((♦(✮❀
⑥✮❀
,■✳❣❡/❊((♦(✭❢✉♥❝/✐♦♥✭❡((♦(✱ (❡#✉❧/✮④
✐❢✭✦❡((♦(✮
④
126
7.4 Diseño y mon aje
✩✭✧★❊%%♦%✲%❡❛❞✧✮✳❤.♠❧✭
✬
❊%%♦%❂❘❡❢❡%❡♥❝❡✲❚❡♠♣❡%❛.✉%❡✿
✬
✰%❡;✉❧.✮❀
❝♦♥;♦❧❡✳❧♦❣✭%❡;✉❧.✮❀
⑥
❡❧;❡❝♦♥;♦❧❡✳❡%%♦%✭❡%%♦%✮❀
⑥✮❀
?■✳❣❡.❊%%♦%✶✭❢✉♥❝.✐♦♥✭❡%%♦%✱ %❡;✉❧.✮④
✐❢✭✦❡%%♦%✮
④
✩✭✧★❊%%♦%✶✲%❡❛❞✧✮✳❤.♠❧✭
✬
❊%%♦%❆❝✉♠✉❧❛❞♦❂❡%%♦%❴✶✰❡%%♦%✿
✬
✰%❡;✉❧.✮❀
❝♦♥;♦❧❡✳❧♦❣✭%❡;✉❧.✮❀
⑥
❡❧;❡
❝♦♥;♦❧❡✳❡%%♦%✭❡%%♦%✮❀
⑥✮❀
✴✯❊✈❡♥&♦( )✉❡ ♣❡,♠✐&❡♥ ♠♦♥✐&♦,✐③❛, ❡❧ ❙♠❛,& ❈♦♥&,❛❝& (✐♥ ,❡❝❛,❣❛,
❝♦♥&✐♥✉❛♠❡♥&❡ ❧❛ ♣6❣✐♥❛ ♦ (✐♥ ❡❥❡❝✉&❛, ❝♦♥&✐♥✉❛♠❡♥&❡ ❢✉♥❝✐♦♥❡( ●❡&✯✴
✈❛% ❘❡❢❊✈❡♥.❂?■✳❘❡❢❊✈❡♥.✭④⑥✱
✬
❧❛.❡;.
✬
✮❀
✈❛% ❑♣❊✈❡♥.❂?■✳❑♣❊✈❡♥.✭④⑥✱
✬
❧❛.❡;.
✬
✮❀
✈❛% ❑✐❊✈❡♥.❂?■✳❑✐❊✈❡♥.✭④⑥✱
✬
❧❛.❡;.
✬
✮❀
✈❛% ❈♦♥.%♦❧❙✐❣♥❛❧❊✈❡♥.❂?■✳❈♦♥.%♦❧❙✐❣♥❛❧❊✈❡♥.✭④⑥✱
✬
❧❛.❡;.
✬
✮❀
✈❛% ;❡.❊%%♦%❴✶❊✈❡♥.❂?■✳;❡.❊%%♦%❴✶❊✈❡♥.✭④⑥✱
✬
❧❛.❡;.
✬
✮❀
❘❡❢❊✈❡♥.✳✇❛.❝❤✭❢✉♥❝.✐♦♥✭❡%%✱ %❡;✉❧.✮④
✐❢ ✭✦❡%%✮ ④
✐❢ ✭%❡;✉❧.✳❜❧♦❝❦❍❛;❤ ✦❂ ✩✭✧★✐♥;.%❛♥;✧✮✳❤.♠❧✭✮✮
✩✭✧★❧♦❛❞❡%✧✮✳❤✐❞❡✭✮❀
✩✭✧★✐♥;❚%❛♥;✧✮✳❤.♠❧✭
✬
❇❧♦❝❦ ❤❛;❤✿
✬
✰%❡;✉❧.✳❜❧♦❝❦❍❛;❤✮❀
✩✭✧★❘❡❢❡%❡♥❝❡✲%❡❛❞✧✮✳❤.♠❧✭
✬
❘❡❢❡%❡♥❝❡ ❜② ❡✈❡♥.✿
✬
✰%❡;✉❧.✳❛%❣;✳❘❡❢❡%❡♥❝❡✴✶✵✵✮❀
⑥
❡❧;❡
④✩✭✧★❧♦❛❞❡%✧✮✳❤✐❞❡✭✮❀
❝♦♥;♦❧❡✳❧♦❣✭❡%%✮❀
⑥
⑥✮❀
❑♣❊✈❡♥.✳✇❛.❝❤✭❢✉♥❝.✐♦♥✭❡%%✱ %❡;✉❧.✮④
✐❢ ✭✦❡%%✮ ④
✐❢ ✭%❡;✉❧.✳❜❧♦❝❦❍❛;❤ ✦❂ ✩✭✧★✐♥;.%❛♥;✧✮✳❤.♠❧✭✮✮
✩✭✧★❧♦❛❞❡%✧✮✳❤✐❞❡✭✮❀
✩✭✧★✐♥;❚%❛♥;✧✮✳❤.♠❧✭
✬
❇❧♦❝❦ ❤❛;❤✿
✬
✰%❡;✉❧.✳❜❧♦❝❦❍❛;❤✮❀
✩✭✧★❑♣✲%❡❛❞✧✮✳❤.♠❧✭
✬
❑♣ ❜② ❡✈❡♥.✿
✬
✰%❡;✉❧.✳❛%❣;✳❑♣✮❀
⑥
127
7. CONTROL PI EN BLOCKCHAIN
❡❧"❡
④✩✭✧★❧♦❛❞❡+✧✮✳❤✐❞❡✭✮❀
❝♦♥"♦❧❡✳❧♦❣✭❡++✮❀
⑥
⑥✮❀
❑✐❊✈❡♥8✳✇❛8❝❤✭❢✉♥❝8✐♦♥✭❡++✱ +❡"✉❧8✮④
✐❢ ✭✦❡++✮ ④
✐❢ ✭+❡"✉❧8✳❜❧♦❝❦❍❛"❤ ✦❂ ✩✭✧★✐♥"8+❛♥"✧✮✳❤8♠❧✭✮✮
✩✭✧★❧♦❛❞❡+✧✮✳❤✐❞❡✭✮❀
✩✭✧★✐♥"❚+❛♥"✧✮✳❤8♠❧✭
✬
❇❧♦❝❦ ❤❛"❤✿
✬
✰+❡"✉❧8✳❜❧♦❝❦❍❛"❤✮❀
✩✭✧★❑✐✲+❡❛❞✧✮✳❤8♠❧✭
✬
❑✐ ❜② ❡✈❡♥8✿
✬
✰+❡"✉❧8✳❛+❣"✳❑✐✮❀
⑥
❡❧"❡
④✩✭✧★❧♦❛❞❡+✧✮✳❤✐❞❡✭✮❀
❝♦♥"♦❧❡✳❧♦❣✭❡++✮❀
⑥
⑥✮❀
❈♦♥8+♦❧❙✐❣♥❛❧❊✈❡♥8✳✇❛8❝❤✭❢✉♥❝8✐♦♥✭❡++✱ +❡"✉❧8✮④
✐❢ ✭✦❡++✮ ④
✐❢ ✭+❡"✉❧8✳❜❧♦❝❦❍❛"❤ ✦❂ ✩✭✧★✐♥"8+❛♥"✧✮✳❤8♠❧✭✮✮
✩✭✧★❧♦❛❞❡+✧✮✳❤✐❞❡✭✮❀
✩✭✧★✐♥"❚+❛♥"✧✮✳❤8♠❧✭
✬
❇❧♦❝❦ ❤❛"❤✿
✬
✰+❡"✉❧8✳❜❧♦❝❦❍❛"❤✮❀
✩✭✧★■♥♣✉8❙✐❣♥❛❧✲+❡❛❞✧✮✳❤8♠❧✭
✬
❚❡♠♣❡+❛8✉+❡ ❜② ❡✈❡♥8✿
✬
✰+❡"✉❧8✳❛+❣"✳❳✴✶✵✵✮❀
✩✭✧★❈♦♥8+♦❧❙✐❣♥❛❧✲+❡❛❞✧✮✳❤8♠❧✭
✬
✉❂❈♦♥8+♦❧❙✐❣♥❛❧ ❜② ❡✈❡♥8✿
✬
✰+❡"✉❧8✳❛+❣"✳❈♦♥8+♦❧❙✐❣♥❛❧❆❞❛♣✴✶✵✵✮❀
✩✭✧★❊++♦+✲+❡❛❞✧✮✳❤8♠❧✭
✬
❊++♦+❂❘❡❢❡+❡♥❝❡✲❚❡♠♣❡+❛8✉+❡ ❜② ❡✈❡♥8✿
✬
✰+❡"✉❧8✳❛+❣"✳❡++♦+✮❀
✩✭✧★❊++♦+✶✲+❡❛❞✧✮✳❤8♠❧✭
✬
❊++♦+❆❝✉♠✉❧❛❞♦❂❡++♦+❴✶✰❡++♦+ ❜② ❡✈❡♥8✿
✬
✰+❡"✉❧8✳❛+❣"✳❡++♦+❴✶✮❀
⑥
❡❧"❡
④✩✭✧★❧♦❛❞❡+✧✮✳❤✐❞❡✭✮❀
❝♦♥"♦❧❡✳❧♦❣✭❡++✮❀
⑥
⑥✮❀
"❡8❊++♦+❴✶❊✈❡♥8✳✇❛8❝❤✭❢✉♥❝8✐♦♥✭❡++✱ +❡"✉❧8✮④
✐❢ ✭✦❡++✮ ④
✐❢ ✭+❡"✉❧8✳❜❧♦❝❦❍❛"❤ ✦❂ ✩✭✧★✐♥"8+❛♥"✧✮✳❤8♠❧✭✮✮
✩✭✧★❧♦❛❞❡+✧✮✳❤✐❞❡✭✮❀
✩✭✧★✐♥"❚+❛♥"✧✮✳❤8♠❧✭
✬
❇❧♦❝❦ ❤❛"❤✿
✬
✰+❡"✉❧8✳❜❧♦❝❦❍❛"❤✮❀
✩✭✧★❊++♦+✶✲+❡❛❞✧✮✳❤8♠❧✭
✬
❊++♦+❆❝✉♠✉❧❛❞♦❂❡++♦+❴✶✰❡++♦+ ❜② ❡✈❡♥8✿
128
7.4 Diseño y mon aje
✬
✰!❡#✉❧&✳❛!❣#✳❡!!♦!❴✶✮❀
⑥
❡❧#❡
④✩✭✧★❧♦❛❞❡!✧✮✳❤✐❞❡✭✮❀
❝♦♥#♦❧❡✳❧♦❣✭❡!!✮❀
⑥
⑥✮❀
✴✯❇♦$♦♥❡' ✇❡❜ *✉❡ ♣❡-♠✐$❡♥ ❡❥❡❝✉$❛- ❢✉♥❝✐♦♥❡' ❙❡$ ❡♥ ❡❧ ❙♠❛-$ ❈♦♥$-❛❝$
❛❧ ♣✉❧'❛- ❡❧ ❜♦$7♥ '❡ ❧❧❛♠❛ ❛ ▼❡$❛♠❛'❦ ♣❛-❛ *✉❡ ❢✐-♠❡ ❧❛ $-❛♥'❛❝❝✐7♥
② ❡♥✈<❡ ❡❧ ♣❛-=♠❡$-♦ ❝♦--❡'♣♦♥❞✐❡♥$❡ ❛ ❧❛ ❢✉♥❝✐7♥ ✐♥✈♦❝❛❞❛✯✴
✩✭✧★❜✉&&♦♥❘❡❢✧✮✳❝❧✐❝❦✭❢✉♥❝&✐♦♥✭✮ ④
✩✭✧★❧♦❛❞❡!✧✮✳#❤♦✇✭✮❀
?■✳#❡&❘❡❢❡!❡♥❝❡✭✩✭✧★❘❡❢❡!❡♥❝❡✧✮✳✈❛❧✭✮✱ ✭❡!!✱ !❡#✮ ❂❃ ④
✐❢ ✭❡!!✮
✩✭✧★❧♦❛❞❡!✧✮✳❤✐❞❡✭✮❀
⑥✮❀
⑥✮❀
✩✭✧★❜✉&&♦♥❑♣✧✮✳❝❧✐❝❦✭❢✉♥❝&✐♦♥✭✮ ④
✩✭✧★❧♦❛❞❡!✧✮✳#❤♦✇✭✮❀
?■✳#❡&?❛!❛♠❡&❡!❑♣✭✩✭
✧★❑♣✧✮✳✈❛❧✭✮✱ ✭❡,,✱ ,❡-✮ ❂❃ ④
✐❢ ✭❡,,✮
✩✭✧★❧♦❛❞❡,✧✮✳❤✐❞❡✭✮❀
⑥✮❀
⑥✮❀
✩✭✧★❜✉;;♦♥❑✐✧✮✳❝❧✐❝❦✭❢✉♥❝;✐♦♥✭✮ ④
✩✭✧★❧♦❛❞❡,✧✮✳-❤♦✇✭✮❀
@■✳-❡;@❛,❛♠❡;❡,❑✐✭✩✭✧★❑✐✧✮✳✈❛❧✭✮✱ ✭❡,,✱ ,❡-✮ ❂❃ ④
✐❢ ✭❡,,✮
✩✭✧★❧♦❛❞❡,✧✮✳❤✐❞❡✭✮❀
⑥✮❀
⑥✮❀
✩✭✧★❜✉;;♦♥❊,,♦,❆❝✧✮✳❝❧✐❝❦✭❢✉♥❝;✐♦♥✭✮ ④
✩✭✧★❧♦❛❞❡,✧✮✳-❤♦✇✭✮❀
@■✳-❡;❊,,♦,❴✶✭✩✭✧★❊,,♦,❴✶✧✮✳✈❛❧✭✮✱ ✭❡,,✱ ,❡-✮ ❂❃ ④
✐❢ ✭❡,,✮
✩✭✧★❧♦❛❞❡,✧✮✳❤✐❞❡✭✮❀
⑥✮❀
⑥✮❀
En el código HTML se di e encian 4 bloques:
1. De inición de comunicación con el Sma Con ac
2. Pe ición de las a iables al Sma Con ac
129
7. CONTROL PI EN BLOCKCHAIN
3. Ac ualización de las a iables median e moni o ización de e en os en la Blockchain
4. U ilización de bo ones pa a ac ualiza las a iables en la Blockchain, al u iliza los
bo ones se ealiza una llamadas a la ex ensión Me amask que pe mi e i ma an-
sacciones desde una in e az web
7.5 Despliegue
7.5.1 Despliegue del código A duino
Pa a ca ga el código desa ollado en A duino se u iliza la in e az A duino IDE que
pe mi e ácilmen e compila y esc ibi en el A duino ESP32 el código a a és de un pue o
se ie i ual, simplemen e usando una conexión USB, si se desea ealiza cambios en el
código es necesa io conec a el A duino de nue o y sus i ui el código an iguo po el nue o.
Con igu ación del Nodo In u a
Es necesa io con igu a un nodo In u a pa a que el A duino pueda esc ibi en la Block-
chain.
Como se obse a en la igu a 7.7, con igu a un nodo en In u a es muy sencillo, una ez
egis ado, c ea un nue o p oyec o, indica la Blockchain y se gene a au omá icamen e un
“Endpoin ” p opio al que pode en ia ansacciones, en nues o caso desde el A duino.
In u a ambién pe mi e lle a un seguimien o de las ansacciones que ecibe el nodo
que se ha con igu ado.
130