Identidad en la Blockchain

Published on Author lopez

En estos días estuve investigando sobre el tema identidad, resuelto en la blockchain. Es un tópico importante, debido a que en muchos casos de uso, saber quién es una de las partes de la interacción, puede ser relevante. Por ejemplo, en sistemas basados en reputación, como préstamos persona a persona u otros casos de uso fintech (voy a escribir varios términos en inglés, sin remarcarlos, debido a su uso habitual). Si la reputación no está asociada a una identidad, bien puede ser abandonada y reemplazada por otra. Y también puede que aparezcan más casos de uso, donde una persona deba identificarse al operar en la máquina de la confianza, que es la blockchain.

Hay un gran panorama en

Blockchain Identity

Es un repositorio github que mantiene una lista de proyectos, artículos y recursos sobre el tema identidad en blockchain. Un vistazo a ese material muestra que el tema identidad tiene relevancia actual.

Sobre el tema confianza y reputación basada en una identidad digital ver la charla TEDx

Blockchain allows a true digital identity based on reputation | Bernd Lapp | TEDxLausanne

Artículos a visitar

Trusted identity: the decentralized approach to identity management
Civic, Secure Identity Platform
Understanding How Blockchain Is Changing Identity Management and Why It Is Better Than Traditional Methods
How Blockchain Can Solve Identity Management Problems
Blockchain for Identity: Too Good to Be True?
Blockchain Identity Management: Sparking a Data Security Revolution

Me concentraré en Ethereum, porque es la blockchain con smart contracts que está en marcha, La presencia de programación en las transacciones permite la implementanción de casos de uso más interesantes que las transferencias Bitcoin.

En el caso de Ethereum, existen los EIP (Ethereum Improvement Proposals) y los ERC (Ethereum Request for Comments), y con respecto a identidad, ya hay algunas propuestas. Ver:

A proxy contract for key management and execution, to establish a Blockchain identity
ERC: Claim Holder #735
ERC725: A Self-Sovereign Identity Standard For Ethereum
ERC 725 Demo implementation by Origin
Origin Identity Playground

Para ver código de programación, visitar la implementación de Origin. Hace poco, apareció:

ERC725 Proposed Changes

Para destilar estas propuestas, se puede resumir en puntos:

– Hay un smart contract para representar a una persona o institución
– Ese smart contract puede contener claves a usar en otros procesos (tengo que revisar qué tipo de claves)
– Pero también, hay en ese contracto una serie de claims: esto es interesante. Permitiría que haya emisores de claims, como por ejemplo: alguien que entregue un claim afirmando que este contrato pertenece a una persona con tal nombre y apellido, tal nacionalidad, tal pasaporte, etc. Y de ahí en más, otros contratos podrían obtener esas claims

Esto abre todo un panorama de casos de uso: tener emisores de claims (por ejemplo, gobiernos, instituciones no gubernamentales, etc) y personas o instituciones que tienen esos claims, a consumir en otros smart contracts y operaciones

Se pueden consultar esos claims desde distintos disposivos conectados a la blockchain. Y hasta podría tenerse esos claims (firmados por sus emisores) en un dispositvo offline, sin necesidad de estar conectado. Por ejemplo, un smart phone puede tener esos claims obtenidos desde la blockchain, por la persona dueña de ese teléfono. Y alguien validar que ese claim haya sido firmado por una autoridad conocidad. Lo único que veo es que ese caso (offline) hay que validar algo más: por ejemplo, que la persona que tiene el teléfono sea realmente la persona identificada por ese smart contract. Ese es un tema a estudiar. Estando online, también habría que estudiar ese caso, cuando la parte interesada en identificar a alguien NO es un smart contract, sino una persona física o institución.

Esos ERC han sido impulsados por ConsenSys Hay una implementación con ecosistema más allá de la blockchain en

uPort Open Identity System for the Decentralized Web

Ver

https://developer.uport.me/

Pero tal vez hay un camino más simple, implementando algunos contractos de claim holder, y claim issuers, como los descriptos en los ERC de arriba.

Mientras, yo estoy trabajando en

https://github.com/ajlopez/Idener

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
https://github.com/ajlopez
https://twitter.com/ajlopez