Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o...

17
Introducción a los mecanismos de identidad basados en tecnología blockchain Dr. Alfonso Muñoz - Head of Cybersecurity Lab (@mindcrypt) Nerea Sainz de la Maza - Security Researcher i4S Security Lab - Blue Indico - BBVA Group 11/05/2018

Transcript of Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o...

Page 1: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

Introducción a los mecanismos de identidad basados en tecnología blockchain 

Dr. Alfonso Muñoz - Head of Cybersecurity Lab (@mindcrypt) 

Nerea Sainz de la Maza - Security Researcher i4S Security Lab - Blue Indico - BBVA Group 

11/05/2018

Page 2: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

ÍNDICE 

 1. Introducción a los sistemas de identidad basados en tecnología blockchain 2. BlockStack - Gestión de datos personalizados 3. CIVIC - Verificación de identidad basada en blockchain 4. Selfkey - Identidad auto-soberana 5. Conclusión 6. Anexo: Token ERC20 7. Referencias 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 3: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

 

1. Introducción a los sistemas de identidad basados en blockchain 

Actualmente existe mucho revuelo sobre las posibilidades de usar la tecnología blockchain                       en múltiples servicios. Su naturaleza transparente y descentralizada permite un registro de                       datos irrefutable e irrompible, característica fundamental de muchas aplicaciones.   Recientemente desde nuestro laboratorio de seguridad se ha publicado un mapa con una                         recopilación de las diferentes “criptomonedas” interesantes en su aplicación a diferentes                     aspectos del campo de la seguridad informática. En este artículo nos centraremos en su                           utilidad en el ámbito de la identidad. La tecnología blockchain podría ofrecer una solución de                             identidad segura sin la necesidad de una autoridad central confiable. Además, permite crear                         una identidad en la cadena, facilitando el manejo de las personas y dándoles un mayor                             control sobre quién tiene su información personal y cómo acceden a ella.  

 Fig 1. Security blockchain ecosystem map by i4slabs 

(https://twitter.com/mindcrypt/status/971787573562658817) 

El objetivo, por tanto, de este post es intentar dar un poco de luz sobre estas nuevas                                 propuestas y poder llegar a evaluar si tienen el interés suficiente para plantear un estudio                             más dedicado de las mismas por nuestra parte o por miembros de la comunidad.  En la detección de propuestas, criptomonedas/tokens, interesantes en este campo se han                       observado diversas: Civic, uPort, Trust Stamp, ShoCard, CryptId, Blocknotary, Blockstack,                   

Page 4: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

theKey, SelfKey y Bitrated. Es importante resaltar que en ocasiones la definición de estas                           monedas/tokens se encuentran en un punto intermedio entre la categoría de autenticación y                         la de gestión de identidad. No obstante, se asume que tiene más sentido categorizarlas en                             esta sección. 

De todas estas propuestas, y basándonos en un análisis previo, hay más interés en estudiar                             en mayor detalle las propuestas de Blockstack (gestión de datos personalizados), Civic                       (verificación de identidad basada en blockchain) y Selfkey (identidad auto-soberana). Esta                     información permitirá tener una idea más clara de si este tipo de propuestas son realmente                             interesante como sustituto o complemento a mecanismos tradicionales de gestión de                     identidades digitales. De las tres propuestas analizadas se destacará en mayor medida el                         proyecto Civic, por considerarlo significativo como propuesta de mecanismo de verificación                     de identidad basada en blockchain, facilitando la comprensión y la evaluación de si estos                           principios e ideas tienen recorrido o no en esquemas de gestión de identidad digital.  2. BlockStack - Gestión de datos personalizados  

Desde Blockstack reclaman que Internet,         originalmente concebido como una red         descentralizada, se ha vuelto dependiente de           autoridades centralizadas, como los       servidores de dominio (DNS) o autoridades           

certificadoras (CA). Un oligopolio que afirman sufren los datos de los usuarios, alojados                         mayoritariamente en los servidores de las grandes empresas, convirtiéndose en más                     vulnerables a ataques cibernéticos.  

Por ello, el objetivo de BlockStack es cambiar el mercado existente, creando un mercado                           para los usuarios en el que seamos nosotros los dueños de nuestros datos y tengamos la                               capacidad de gestionar nuestras propias aplicaciones. Se define como un nuevo Internet                       para aplicaciones descentralizadas reemplazando los puntos de centralización de la capa                     de aplicación de Internet. De esta manera, se eliminan los puntos centrales de fallo, como                             los DNS y las CAs, y permiten el almacenamiento personal para los usuarios [2]. 

BlockStack implementa un sistema DNS descentralizado apoyado en una blockchain, utiliza                     cadenas de bloques y registros de datos replicados sincronizados a través de redes de                           pares para propagar enlaces de datos seguros. BlockStack se lanzó inicialmente en 2014 en                           la cadena de bloques Namecoin, pero migró a bitcoin a finales de 2015 y tienen en su                                 roadmap que la tecnología funcione con Ethereum y Zcash [1][2]. La red de BlockStack lleva                             en producción más de tres años y se han registrado más de 75.,000 nombres de dominio en                                 ella. En mayo de 2017, BlockStack presentó un nuevo navegador de Internet, su principal                           producto [3]. Actualmente, se están desarrollando varias aplicaciones mediante BlockStack:                   el servicio de hogar compartido Casa [4], el monitor de salud personal Afia [5], la plataforma                               de blogs Guild [6], la plataforma de almacenamiento de archivos Graphite [7] y el reproductor                             de música Ongaku Ryoho [8].   

La arquitectura de BlockStack consta de tres capas: 

 

Page 5: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

 

Fig 2. Arquitectura BlockStack [1]. 

Capa 1: Blockchain 

Es la capa más baja y combina la blockchain subyacente y la virtualchain. Tiene dos                             propósitos: proporcionar el medio de almacenamiento para las operaciones y mantener                     consenso sobre el orden en el que las operaciones fueron escritas. 

Por un lado, la cadena de bloques subyacente se trata como un canal de comunicación que                               lleva las operaciones totalmente ordenadas, mientras que todos los cálculos operativos y la                         lógica -incluidas las operaciones de minado y el algoritmo de consenso-, son procesados                         por la cadena virtual, sin requerir cambios en la cadena de bloques. 

La virtualchain o cadena virtual solo procesa transacciones con códigos de operación                       válidos desde la blockchain. Los códigos de operación (op_code) se anuncian en las                         transacciones de Bitcoin en el campo designado para datos adicionales, llamado                     OPRETURN. Las transacciones aceptadas se organizan en bloques virtuales unidos por un                       hash de consenso que refleja el historial previo de la cadena virtual. 

 

Fig 3. Capa blockchain y virtualchain. 

Page 6: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

La arquitectura de la plataforma puede funcionar con cualquier número de canales de                         comunicación subyacentes, y cualquier blockchain subyacente puede alojar varias cadenas                   virtuales de tipos diferentes. Las principales ventajas de la implementación de la virtualchain                         son una mejor tolerancia a fallos en el caso de un fallo en la blockchain subyacente y mayor                                   escalabilidad y seguridad al permite migrar de una cadena de bloques subyacente a otra con                             nuevos protocolos blockchain más seguros. 

Capa 2: Peer Network Atlas 

Los nodos forman una peer network, llamada Atlas que mantiene un registro de las rutas                             (“zone files”), que apuntan al almacenamiento de datos principal implementado en la capa                         superior (almacenamiento Gaia). 

La red sólo permite escribir archivos si el hash se anunció previamente en la blockchain.                             Esto incluye una lista blanca de los datos que se pueden almacenar en la peer network. Los                                 registros de datos que representan rutas se pueden verificar y, por lo tanto, no se pueden                               alterar. En la implementación actual de la red Atlas, los nodos mantienen una copia                           completa de todos los archivos, ya que el tamaño es relativamente pequeño (4 KB por                             archivo).  

Capa 3: Almacenamiento Gaia 

La capa superior almacena los datos. La implementación es similar a otros                       almacenamientos en la nube, como Google Drive o Dropbox. Todos los valores                       almacenados están firmados por una clave definida en el plano de control. Además,                         Blockstack hace posible el uso de diferentes almacenamientos siempre que los punteros a                         esos almacenamientos estén almacenados por Blockstack, y los proveedores de                   almacenamiento guarden únicamente datos cifrados. 

BNS: Blockchain Name System 

Blockstack implementa un sistema de nombres descentralizado, Blockchain Name System                   (BNS), basado en esta arquitectura. BNS define operaciones en una nueva cadena virtual y                           almacena el registro de rutas de la información en la red Atlas. 

Respaldado por el protocolo de consenso de la cadena de bloques, la cadena virtual procesa                             las operaciones de registros de nombres, actualizaciones de nombres y transferencias de                       nombres. Por lo tanto, la cadena virtual refleja el estado global de BNS: "quién posee un                               nombre particular y qué datos están asociados con un nombre".  

En BNS, los nombres son propiedad de las direcciones criptográficas de la blockchain y sus                             claves privadas asociadas. El registro del nombre se realiza en un proceso en dos fases. El                               primer usuario en completar las dos fases, obtiene la propiedad del nombre, invalidándose                         cualquier preorden anterior. Una vez que se registra un nombre, el usuario actualiza el                           nombre-valor enviando una transacción de actualización y cargando el enlace nombre-valor. 

Page 7: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

BNS proporciona asociaciones de claves públicas con nombres de dominio y éstos obtienen                         certificados, evitando trabajar con autoridades certificadoras CA del estilo Let’s encrypt. 

Minado 

El nuevo sistema de minado de BlockStack, Stack, pretende incentivar el crecimiento del                         ecosistema de aplicaciones descentralizadas, incentivando el crecimiento de aplicaciones y                   mantenimiento de la red segura. Consta de tres componentes: 

1) Proof-of-burn: para incentivar a las personas a participar en la construcción de una                         cadena de bloques más larga. Eliminan la conocida proof-of-work y el consiguiente                       consumo de energía. Consiste en quemar monedas, enviando monedas a una                     dirección a la que no se tiene acceso, para evitar que se gasten. Los usuarios                             intentarán quemar la mayor cantidad de monedas para ganar la recompensa del                       bloque. Estas transacciones también se registran en la cadena de bloques,                     proporcionando la prueba para que esas monedas no se utilicen en nuevas                       transacciones. 

2) App-rewards: para incentivar a los desarrolladores a desarrollar aplicaciones durante                   la etapa inicial. Los revisores de aplicaciones, entidades elegidas por período de un                         año, seleccionan las aplicaciones y les asignan las ponderaciones adecuadas que se                       utilizan para calcular las recompensas de minado de las aplicaciones. 

3) Web-of-trust: para incentivar a los usuarios a participar en un ecosistema de                       aplicaciones descentralizadas. Inicialmente, en el bloque de génesis se crea un                     grupo de usuarios de confianza que puede expandirse cuando la red se active. 

3. CIVIC - Verificación de identidad basada en blockchain 

Civic permite verificar la identidad bajo demanda, de manera segura y con bajo                         coste a través de blockchain. Introduce la verificación de identidad (IDV)                     reutilizable cada vez que una institución o servicio lo requiera, permitiendo la                       autenticación en tiempo real. Los datos de identidad son verificados por Civic o                         un partner (entidad gubernamental, institución financiera, un empleador…)  

Page 8: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

 Fig 4. Interfaces de la aplicación CIVIC [9]. 

Civic proporciona una plataforma para que las confirmaciones se compartan entre los                       proveedores de servicios con el fin de reducir radicalmente los costes, compensar a los                           participantes en el ecosistema y mantener a los usuarios con un control total de sus datos.   En el momento de creación de Civic se utilizaba el token ERC20 aunque actualmente parece                             que se está migrando a otras plataformas como RSK, primera plataforma de smart                         contracts para Bitcoin [10][11][12].  Participantes en el ecosistema 

* Validadores: institución que tiene la capacidad de               certificar la Información de Identificación Personal           (PII). Necesidad de participación de proveedores de             IDVs confiables (gobiernos, instituciones financieras…) * Solicitante: una institución que requiere una prueba               de PII validada. * Usuario: miembro del público que quiere usar un                 servicio de Solicitante. El usuario controla quién tiene               acceso a sus datos. * CVC: el CVC pagado en una transacción se distribuye                   al validador y al usuario como una recompensa por                 compartir información. 

* Attestation: Root Hash, cada nodo que representa un elemento contiene un hash de su                             contenido y un hash de los hashes de sus nodos secundarios. El hash raíz se convierte en                                 una dirección de cadena de bloques válida utilizando la propiedad aditiva de criptografía de                           curva elíptica (ECC):   

Page 9: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

 De manera que resulta imposible determinar el usuario y el validador asociados con la                           dirección. 

Verificación de datos 

Una vez que los datos de identidad son proporcionados por el usuario, Civic utiliza múltiples                             servicios de validación de identidad para verificar los datos enviados en función del teléfono,                           crédito disponible, redes sociales y otros registros públicos. Combina diferentes fuentes                     acreditadas con algoritmos de detección de fraude, auditoría y motor de decisión interna de                           Civic. Civic envía los datos de identidad verificados a la aplicación del usuario y la                             confirmación a la blockchain. Los datos verificados por Civic se comparten cifrados                       directamente con el cliente, Civic no ve ni almacena datos confidenciales, sólo recibe                         hashes de los datos de identidad junto con una dirección blockchain para almacenar el                           hash.  

 Fig 5. Esquema simplificado de validación de datos [13]. 

 Modelo de confirmación/atestación  El siguiente diagrama muestra un ejemplo de una confirmación inicial por parte de un                           validador. 

Page 10: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

 Fig 6. Proceso de verificación de un usuario [13]. 

1. El usuario solicita un producto o servicio al Proveedor de Servicios A (A) y le envía la PII                                     (Personally Identifiable Information) requerida almacenada en la aplicación Civic.  2. A verifica la PII del usuario utilizando sus métodos de verificación.  3. A calcula los hashes de los PII almacenados en el dispositivo del usuario y confirma esa                                 PII en la blockchain. La confirmación puede incluir metadatos como el nivel de verificación o                             detalles relacionados con el proceso de verificación de A o cualquier norma aplicable (NIST,                           FIPS). Los detalles de la transacción blockchain de esta confirmación se proporcionan al                         usuario.  4. Posteriormente, el usuario solicita un producto o servicio al Proveedor de Servicios B (B).  5. B solicita acceso a toda o cierta información de PII, incluyendo las reglas y requisitos que                                 B quiere aceptar. La app Civic determinará si se cumplen estos requisitos.  6. Asumiendo que el usuario tiene y quiere compartir la información requerida, B y el usuario                               acuerdan un validador mutuo que haya confirmado previamente los datos y las reglas y                           requisitos en torno a esos datos. En este caso, asumimos que el validador es A, que ofrece                                 un precio (CVC) por su confirmación. Entonces B acepta ese precio.  7. El usuario envía a B un resumen de los tipos de datos confirmados por A, así como la                                     información necesaria para que B localice y vea los detalles de la transacción en la cadena                               de bloques relacionados con la confirmación de A en el blockchain. B podría recrear los                             hashes para esa PII y compararlos con la transacción en la cadena de bloques, confirmando                             así la disponibilidad de los datos solicitados. Si B está conforme con los hashes resultantes,                             B compra la confirmación y paga la cantidad de CVC acordada, mediante un smart contract.  

Page 11: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

8. Una vez que B haya pagado el CVC, el usuario, a través de su app Civic puede enviar a B la                                           PII solicitada en texto en plano.  9. Para completar la transacción, el usuario libera el CVC compartido con A (validador                           original) en la proporción definida por el smart contract. 

4. Selfkey - Identidad auto-soberana 

Selfkey sostiene que los usuarios deben estar en el centro del proceso de                         gestión de identidad, un concepto conocido como Identidad Auto-Soberana                 (Self-Sovereign IDentity, SSID). Se trata de una solución para escapar de los                       documentos en papel y pasar a una identidad digital con privacidad,                     seguridad, transparencia y derechos individuales. SelfKey es una               implementación de SSID, desarrollada utilizando la tecnología de cadena de                   

bloques o blockchain, con las claves correspondientes en una “e-wallet” de identidad digital                         [14]. 

 El token KEY  El token KEY (Key to Encrypt Yourself), elemento esencial de la red SelfKey, es un token                               criptográfico compatible con Ethereum ERC-20. Es un mecanismo de confianza que permite                       a los participantes intercambiar valores dentro del ecosistema SelfKey. KEY se utilizará                       como derecho de acceso a productos y servicios en la red, así como unidad de pago y                                 prueba de reputación dentro del sistema de identidad. Por ejemplo, KEY puede ser utilizado,                           para pagar por las confirmaciones de identidad o recibir declaraciones de identidad.  Cada participante del ecosistema tiene un papel valioso a desempeñar para fomentar el uso                           

del sistema utilizando KEY, así como           proporcionar pruebas de identidad y         declaraciones atestiguadas. 

Ecosistema SELFKEY 

 Al igual que en Civic, dentro del             ecosistema Selfkey, tres partes       intercambian valor: dueños de       identidad, partes confiantes y       entidades certificadoras.  Cuando el usuario descarga la SelfKey           Identity Wallet, ésta está vacía.         Primeramente, necesita almacenar un       

par de claves, pública/privada, que se convertirán en la "pluma" digital del usuario para                           firmar documentos digitalmente. Debido a que la clave privada es conocida únicamente por                         

Page 12: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

el dueño de la identidad, cada vez que se aplica esta firma digital, se autentica y valida la                                   identidad del usuario a terceras partes de forma confidencial, segura y sin necesidad de                           presencia física. 

Tiene un enfoque orientado al usuario, ya que mantiene el control completo de su identidad.                             El usuario es la última autoridad de su propia identidad, pudiendo hacer referencia a su                             identidad, actualizarla o incluso ocultarla o hacerla desaparecer. Los usuarios pueden elegir                       hacerla pública o privada según sus preferencias individuales. Por otro lado, las partes                         confiantes pueden acceder rápidamente a las solicitudes de identidad validadas y los                       verificadores o entidades certificadoras pueden recibir el pago por sus contribuciones y                       certificaciones. 

Tecnología SELFKEY 

 La siguiente figura muestra las diferentes capas de la tecnología y su estado de desarrollo.  

 Fig 7. Capas de la tecnología Selfkey [15] [16] (Septiembre 2017)  

Blockchain: Ethereum 

Validación de nodos: utilizan el mecanismo de consenso normal de Ethereum y han                         realizado pruebas con Monax [17] y el protocolo de consenso Tendermint [18], y cadenas de                             bloque alternativas. 

Page 13: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

Almacenamiento: los documentos y datos se alojarán localmente en el dispositivo del                       usuario hasta que los mueva (con su consentimiento y a su discreción) a otro lugar. Están                               planteándose desarrollar drivers de almacenamiento controlado por el usuario. 

Gestión / Recuperación de claves: para evitar que las verificaciones se pierdan en el caso de                               que un usuario no pudiera recuperar las claves, planean utilizar Uport, mecanismo de                         recuperación de claves, mediante el cual un usuario puede delegar la responsabilidad de la                           recuperación en una o más cuentas de su elección. Uport proveerá interoperabilidad y se                           cuenta con estándares que la comunidad Ethereum ya reconoce y acepta. 

Protocolos: con el fin de que la red SelfKey sea interoperable al máximo, se dedican una                               serie de estándares y trabajos a la capa de protocolo. Los datos se moverán en un formato                                 estructurado de un lugar a otro (potencialmente de una cadena de bloques a otra). Están                             trabajando en este ámbito con otros sistemas líderes de identidad para garantizar la                         interoperabilidad; Sovrin [19], W3C [20], Uport [21], etc. 

ID wallet: la Identity Wallet estará disponible en el momento del lanzamiento del ecosistema                           y es el punto de partida para todas las transacciones de identidad. La ID Wallet también                               podrá almacenar el token KEY. A través de la ID wallet, el usuario también puede acceder a                                 diferentes apps en la capa de aplicación. Cualquier persona puede desarrollar en esta capa                           de aplicación y cualquier proveedor de identidad puede hacer interoperable su conjunto de                         claves o certificados, por ejemplo, varios certificados x509v3, que califican bajo una                       ordenanza gubernamental de transacciones electrónicas.  

Microservicios ID: la capa de microservicios permite en gran medida el cumplimiento de las                           leyes y normativas internacionales, y será utilizada principalmente por las entidades                     certificadoras y las partes confiantes. Cualquier compañía puede proporcionar estos                   microservicios aunque inicialmente se han construido y proporcionado algunos                 microservicios.  

Capa de aplicación: cualquier aplicación puede ser desarrollada en la plataforma SelfKey, ya                         que tiene API abierta, código fuente abierto, incluyendo la Identity Wallet. 

Verificación de datos 

Las siguientes figuras muestran los pasos necesarios para crearse una cuenta y                       autenticarse en Selfkey, y el caso de uso en el que un usuario quiere acceder a múltiples                                 exchanges de criptomonedas compartiendo la misma información de su wallet. 

 

Page 14: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

 

Fig 8. Proceso de autenticación en Selfkey [15] (Septiembre 2017)  

 

 

Fig 9. Ejemplo de creación de cuentas en diferentes Exchanges [15] (Septiembre 2017)  

Page 15: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

5. Conclusión  Como hemos podido comprobar, se está incrementando el interés por el uso de blockchain                           para soluciones de identidad seguras descentralizadas, prueba de ello son la cantidad de                         startups creadas recientemente. Entre las principales ventajas que aportan los sistemas de                       gestión de identidad basados en cadenas de bloques sobre los sistemas tradicionales,                       destacan, por un lado, la gestión y control pleno de identidad mediante única clave para el                               usuario, por otro, la monetización para las entidades certificadoras y por último, el rápido                           acceso a las solicitudes de identidad validadas para las partes confiantes.  Sin embargo, si bien es cierto que blockchain podría resultar de gran acierto para gestionar                             la identidad digitalmente, las soluciones analizadas se encuentran en una etapa inicial.                       Queda mucho recorrido para su maduración y en ese punto poder aplicar un análisis de                             seguridad informática más exhaustivo (protocolos finales, arquitectura, algoritmos               implementados, etc.). En cualquier caso su evolución es imparable y es necesario estar                         atentos a las mejoras propuestas, porque al final, como diría Lao Tse: “Todo viaje, por largo                               que sea, siempre empieza por un solo paso”. ;)  Para cualquier duda, comentario, corrección o para saber dónde enviarnos un café podéis                         contactar con nosotros en la dirección de email: [email protected] o por twitter en @i4ssecurity  

                        

Page 16: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

6. Anexo A. Token ERC20  El token ERC20 [22] es un estándar creado por Ethereum para que cualquiera pueda crear su                               propia criptomoneda. A las criptomonedas creadas a partir del Token ERC20 se las                         denomina en muchas ocasiones como tokens o fichas.  La característica principal de una moneda hablando en términos de criptomonedas es que                         opera de forma independiente a cualquier otra plataforma, es decir, dispone de su propia                           blockchain y opera de forma independiente a cualquier otra blockchain existente.  Los token, a diferencia de las monedas, no necesitan crear una blockchain desde cero                           librándose de definir los protocolos, pruebas de esfuerzo, algoritmos, etc., que los nodos de                           la blockchain deben emplear. Existen diversas plataformas en las que los token pueden                         existir, las más empleada es Ethereum aunque existen alternativas como Omni, Ardor o NEO                           entre otras [23]. La aparición de este estándar ha facilitado la creación de diversas                           criptomonedas que operan directamente sobre la blockchain de Ethereum.   ERC20 aporta lo básico para que los tokens sean interoperables entre sí, define con código                             las funciones que debe tener un token:  

● Obtener el suministro total de tokens ● Obtener el saldo de la cuenta ● Transferir token ● Aprobar gastar el token 

 

7. Referencias 

[1] Web de BlockStack. https://blockstack.org/ 

[2] BlockStack Whitepaper. https://blockstack.org/whitepaper.pdf 

[3] BlockStack browser announcement.       https://blockstack.org/blog/introducing-the-blockstack-browser-a-gateway-to-a-new-decentralized-internet 

[4] Casa App. https://casa.cash/ 

[5] Afia App. http://www.afiabeta.com/ 

[6] Guild App. http://www.guildblog.com/ 

[7] Graphite App. https://www.graphitedocs.com/ 

[8] Ongaku Ryoho App. https://isotach.io/ 

[9] Web de CIVIC. https://www.civic.com/ 

[10] Detalles CIVIC en Icorating. https://icorating.com/ico/civic-cvc/ 

Page 17: Introducción a los mecanismos de identidad basados … · Nerea Sainz de la Maza ... La t e c n o l o gí a bl o c k c h a i n po d r í a o f r e c e r u n a s o l u c i ó n d

[11] Civic token flying under the radar, Steemit blog.                 https://steemit.com/cryptocurrency/@xsid/civic-token-flying-under-the-radar  [12] Web RSK. https://www.rsk.co/ 

[13] Whitepaper de CIVIC. https://tokensale.civic.com/CivicTokenSaleWhitePaper.pdf 

[14] Web de Selfkey. https://selfkey.org/ 

[15] Selfkey High-Level Technical Documentation. https://docsend.com/view/7h7guyz 

[16] Selfkey Whitepaper.     https://selfkey.org/wp-content/uploads/2017/11/selfkey-whitepaper-en.pdf 

[17] Web de Monax. https://monax.io/ 

[18] Web de Tendermint. https://tendermint.com/ 

[19] Web de Sovrin. https://sovrin.org/ 

[20] Web de W3C. https://www.w3.org/   

[21] Web de Uport. https://www.uport.me/  

[22] ERC20 Token Standard. https://theethereum.wiki/w/index.php/ERC20_Token_Standard 

[23] Cryptocurrency Market Capitalizations. https://coinmarketcap.com/