scieee Open visual document viewer

Tecnología Blockchain y su aplicación en la Automática

Bordons Martínez, Carlos

Abstract

Este proyecto consiste en la introducción y descripción de la tecnología Blockchain, su importancia y su implementación en un sistema real. En este caso, el sistema consistirá en un control de temperatura con dispositivos IoT controlado por Blockchain. La implementación del bucle de control PI en el sistema descrito radica en el desarrollo y ejecución del controlador en un Smart Contract en la Blockchain. La primera parte del proyecto consta de una introducción a la tecnología Blockchain, sus principales características, por qué es importante, qué es y cómo funciona. La segunda parte describe como aplicar esta tecnología al campo del control automático. La tercera parte consiste en un experimento de control de temperatura implementado en tecnología Blockchain.

Full text

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