Me ha parecido muy claro y muy interesante este artículo en Venture Beat, «Decentralized identity using blockchain«, sobre el uso de la cadena de bloques para resolver uno de los problemas de la web actual: la gestión de la identidad.
Tradicionalmente, la gestión de la identidad de los usuarios se ha llevado a cabo a partir de terceras partes: una app, un servicio, una empresa que te permite crear una identidad determinada que se convierte en tu nombre de usuario, y que te permite identificarte. Esa identidad gestionada por una tercera parte tiene, obviamente, muchos problemas, desde el mal uso de los datos personales que van asociándose a esa identidad en función del uso, hasta problemas de seguridad en caso de que ese proveedor sufra una intrusión.
La forma de plantearse el funcionamiento futuro de la gestión de la identidad de los usuarios apunta a lo que se suele llamar identidades descentralizadas o auto-identidad soberana (Self-Sovereign Identity, o SSI). En este tipo de sistema, el usuario mantiene el control de su identidad de manera exclusiva, autoriza su uso en los servicios que pretenda utilizar, y se identifica mediante un sistema basado en criptografía gracias al uso de una clave pública y otra privada, almacenadas en un sistema criptográfico descentralizado como una cadena de bloques. Esas credenciales, que pueden contener desde datos identificativos, sociodemográficos, cuentas en distintos servicios, historial de uso, transacciones, etc. se almacenan en un wallet que el usuario controla, lo que posibilita que mantenga completo control sobre cómo los comparte y con quién, sin que su identidad dependa de un proveedor centralizado específico.
Esa identidad digital descentralizada (DDID) es uno de los fundamentos básicos sobre los que se apoya la idea de la llamada Web 3: un entorno en el que se deja de depender de repositorios externos, y en el que cada uno administra sus datos. El wallet almacena tu información, se autentica con la cadena de bloques utilizando una clave pública, y recibe un identificador único descentralizado (DID), que comparte con el proveedor de servicios que quiera para la autenticación. Tras identificarse con su clave privada, es autenticado, y puede llevar a cabo las operaciones que desea.
¿Qué permite una gestión descentralizada de la identidad? Básicamente, disponer de un sistema no solo confiable, sino además, íntegro (almacenado en la cadena de bloques y no modificable), seguro, privado y de uso sencillo, sin que haya ninguna organización que administre los datos de los usuarios. Considerando el poder que han ido alcanzando a lo largo del tiempo los proveedores de identidad de determinados servicios, capaces de ir almacenando cada vez más datos vinculados con esas identidades, la idea parece no solo recomendable, sino prácticamente ineludible de cara al futuro.
Empezar a entender este tipo de conceptos y a familiarizarse con ellos es una de las claves para entender la transición que va a ir experimentando la web: vivimos el paso de la primera web, en la que solo aquellos capaces de escribir código y gestionar servidores eran capaces de crear contenido, a una segunda web en la que prácticamente cualquiera, mediante servicios centralizados como los blogs, las redes sociales, etc. podía crear contenidos, acceder a ellos, o hacer transacciones sin ninguna dificultad. El siguiente paso empieza a parecer muy interesante, y se va a basar fundamentalmente en diversos usos de la cadena de bloques como protocolo descentralizado fundamental. La supuesta complejidad de la cadena de bloques o de los conceptos vinculados con la criptografía no deberían asustarnos: todos utilizamos la web, y muy pocos entienden o incluso saben lo que es el protocolo TCP/IP. Con la cadena de bloques nos va a pasar algo similar, su uso será básicamente transparente. Pero en cualquier caso, cuanto antes empecemos a entender como mínimo sus conceptos fundamentales y su uso, mejor.
This article is also available in English on my Medium page, «It doesn’t matter if you don’t understand Blockchain and Decentralized Digital Identity: it just works«
Tradicionalmente, la gestión de la identidad de los usuarios se ha llevado a cabo a partir de terceras partes: una app, un servicio, una empresa que te permite crear una identidad determinada que se convierte en tu nombre de usuario, y que te permite identificarte.
Tradicionalmente, te identificabas en todas partes, con tu ID (usuario/email) y tu contraseña… hasta que aparecieron las RRSS y FB, TW y G+ te incitaban a hacer uso de su «descentralizacion»… (tienes huevos la cosa)
A mi que me esperen sentado, en la cadena o en el bloque… XDDD
Todo lo que dependa de «terceros», huyo como de la peste… (y «terceros descentralizados», son demasiados «terceros»)
Usuario y contraseña que creabas… ¿en dónde? En un servicio determinado de un tercero, que por tanto, era centralizado y podía asociar tu comportamiento en el mismo a ese perfil que habías creado en él. La idea es descentralizar eso y que seas tú el que gestionas tu identidad.
Y acaso no lo hago ya?
Creo que confundimos la «utilidad» con la «comodidad».
Comodidad, es que con un unico ID me pueda validar en todas partes (ahi entraria el BC)
Utilidad, sera la que cada usuario le quiera dar…
Mi ejemplo personal no es valido, vaya por delante, tengo 7 servidores y unos 14 dominios, y en cada uno de ellos, dispongo de tantos emails como quiera. No necesito aun de un gestor de contraseñas, mi mente funciona a pesar de las birras (y otros del pasado). Tengo casi 200 cuentas en ella (mi mente) con sus passwd correspondientes.
Yo preferiria, por ejemplo, darle utilidad a un DNIe, que para eso esta «chipado» y centralizarlo todo en el mismo. Organismo unico. Pero para gustos…
y podía asociar tu comportamiento en el mismo a ese perfil que habías creado en él
Y no es igualmente peligroso?
Este documento explica bastante bien el asunto:
https://publications.iadb.org/en/publications/spanish/document/Identidad-digital-auto-soberana-El-futuro-de-la-identidad-digital-Auto-soberania-billeteras-digitales-y-blockchain.pdf
Vuelvo a reconocer que esto del blockchain no lo entiendo bien. Pero tal como lo entendía, la robustez del sistema es que una misma información esta guardada en N bloques guardados por particulares, por lo que se podía muy fácilmente identificar si en uno de esos N sitios lo habían cambiado comparandola con los otros.
Pero si mi identidad esta guardada en N sitios ¿No hay la posibilidad no que la modifiquen, pero si que me la copien? …
Definitivamente no entiendo nada del Blokchain.
No Gorki, precisamente esa es la «ventaja» que eDans le ve al asunto… (aunque parezca que yo voy en desacuerdo, no es asi)
No, es criptografía: que esté en la cadena de bloques copiada en muchos sitios quiere decir que se puede comprobar que está ahí y es tuya mediante la clave pública, pero solo quien tiene la clave privada la puede leer.
Es como un torrent pero encriptado. Tu abres el contenido de ese torrent cuando quieres y la parte del contenido que quieres.
La explicación del concepto web3 de Enrique es muy buena. Y también añado que en ese perfil estan los «titulos de propiedad» y valor de ese perfil (o mejor dicho, del que tenga las claves para desbloquear esa wallet). Obviamente también soporta las transferencias de esas propiedades.
Esa es la clave del web3: Información/valor descentralizado y totalmente dominado por el propietario de la wallet.
«Cosas que podíamos hacer con web hace años, Blockchain edition» Muy bien lo de blockchain en todo, Muy bien lo de descentralizarlo todo, pero no olvidemos que la web por en principio de diseño descentralizada. Hartico de reinventar cosas ‘y ponerlas en la blockchain’, ether powered. Que si las DNS, que si el Id, que si los certificadicos de ownership.
Venga, va, os acordaís que teníamos openID y no lo usó ni el tato, y era más simplico y mejor en todo sentido?
Se debe tener en cuenta que todo lo que contenga ese bloque será privado ahora pero seguramente será de dominio público en 10 años por el aumento de la potencia de computación y quizá bugs de los algoritmos.
Así que para temas temporales como tarjetas de crédito es perfecto pero para otros temas permanentes más delicados puede no ser tan bueno.
Da igual que se haga en blockchain o en tcp/ip, el problema no es el protocolo, la parte tecnológica está más que resuelta, en mi caso llevo más de 10 años hablando del concepto de identidad digital, mucho antes que apareciera los primeros problemas de privacidad.
El problema es quien debe encargarse de este asunto, si la propuesta en Blockchain es de la empresa Loginradius, estamos en las mismas, no es Google, no es Facebook, no es tu proveedor de telecomunicaciones, pero es una empresa que se basa en incentivos privados como cualquier otra empresa, quién debe liderar esta propuesta? debe ser la ITU, la agencia internacional de telecomunicaciones, y debe venir a nivel básico de capa de red, en el modelo OSI hay una capa, la séptima, que se llama capa de aplicación y se encarga de gestionar los accesos a aplicaciones. La importancia es tan grande que debe venir a ese bajo nivel de capa de red.
Si lo piensas con perspectiva, en 10 años, diremos, cómo pudimos estar más de veinte años de Internet identificándonos con nuestras cuentas de Hotmail, Gmail, Facebook, o Apple.
Tu identidad digital, no es tu cuenta de Gmail que usas para hacer el login en el 90% de los servicios que accedes a internet, el DNI o firma digital de tu país debe de ser tu credencial junto con un wallet único, protegido hasta los dientes en un entorno de capa de red regularizado por ITU, con blockchain o tcp, es lo de menos, se puede hacer con los dos protocolos, aquí entenderemos algo de cómo gestionar tu identidad y tú privacidad en Internet.
Y para las empresas que respetamos al 100% la privacidad de nuestros clientes, y que no ganamos dinero vendiendo los datos de su identidad a terceros, nos servirá para evitar el grandísimo problema que tenemos de suplantación de identidad e impagos.
Una (o dos) curiosidad Pedro…
Tu en que capa OSI situarias al Blockchain?
Otra curiosidad… nos dices de no confiar en terceros, pero tu empresa es otro «tercero»…
(la primera pregunta vale para todos)
Un blockchain es una base de datos, como tal no se sitúa en una capa OSI.
Bitcoin es un protocolo de transferencia de valor (equivalente a FTP para que nos entendamos) que hace uso de todas las capas OSI ó familia de protocolos de Internet para conseguir su objetivo. Como tal se situaría en la capa de aplicación, igual que el protocolo FTP.
Entonces porque ese empeño que teneis todos en comparar Bc con tcp/ip?
Blockchain se «apoya» en tcp/ip como lo hace HTTP(s), FTP, DNS, DHCP, SNMP, etc… y por tanto, es capa de APLICACION (la septima), no de transporte…
Es que estaria bien, que se pusieran las cosas en su sitio y se dejara de comparar peras con manzanas (no lo digo por ti)
La comparación con TCP/IP es para entenderlo como protocolo fundamental/dominante en la transferencia de valor y no confundirlo con una app que pasado mañana está obsoleta u otra compañía saca otra versión mejor. Bitcoin no es FileZilla, es FTP.
Bitcoin estrictamente ni siquiera dependería de la pila TCP/IP, lo usa como protocolo dominante de comunicaciones. Cualquier otro protocolo que hiciera llegar mensajes entre nodos le valdría.
Asier… venga, vamos a hablar en serio…
Una cosa es la autopista y otra el coche que va por ella…
Bc de FTP no tiene, nada, NADA (en cuanto a protocolo digo), no enmerdes mas la cosa, que si estoy hablando de no confundir la capa de transporte con la de aplicacion, no me metas un actor mas… XDDD
Ya lo de «fundamental/dominante» como que lo dejo para otro dia… XDD
Capa de «aplicacion» no se trata de una «aplicacion» propiamente dicha como tal (cliente de correo de ftp, de bittorrent, etc), sino de la comunicacion entre aplicaciones…
Aqui es cuando Lua ya estás perdiendo el tiempo hablando de niveles OSI a alguien que pretender decir que una bd es un protocolo,
Asier
«Es mejor callarse callado que abrir la boca y demostrar que es lo que se sabe»
The Open Systems Interconnection (OSI) model describes seven layers that computer systems use to communicate over a network. It was the first standard model for network communications, adopted by all major computer and telecommunication companies in the early 1980s
The modern Internet is not based on OSI, but on the simpler TCP/IP model. However, the OSI 7-layer model is still widely used, as it helps visualize and communicate how networks operate, and helps isolate and troubleshoot networking problems.
OSI was introduced in 1983 by representatives of the major computer and telecom companies, and was adopted by ISO as an international standard in 1984.
OSI Model Explained: The OSI 7 Layers
OSI 7 layers
We’ll describe OSI layers “top down” from the application layer that directly serves the end user, down to the physical layer.
7. Application Layer
The application layer is used by end-user software such as web browsers and email clients. It provides protocols that allow software to send and receive information and present meaningful data to users. A few examples of application layer protocols are the Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP), and Domain Name System (DNS).
6. Presentation Layer
The presentation layer prepares data for the application layer. It defines how two devices should encode, encrypt, and compress data so it is received correctly on the other end. The presentation layer takes any data transmitted by the application layer and prepares it for transmission over the session layer.
5. Session Layer
The session layer creates communication channels, called sessions, between devices. It is responsible for opening sessions, ensuring they remain open and functional while data is being transferred, and closing them when communication ends. The session layer can also set checkpoints during a data transfer—if the session is interrupted, devices can resume data transfer from the last checkpoint.
4. Transport Layer
The transport layer takes data transferred in the session layer and breaks it into “segments” on the transmitting end. It is responsible for reassembling the segments on the receiving end, turning it back into data that can be used by the session layer. The transport layer carries out flow control, sending data at a rate that matches the connection speed of the receiving device, and error control, checking if data was received incorrectly and if not, requesting it again.
3. Network Layer
The network layer has two main functions. One is breaking up segments into network packets, and reassembling the packets on the receiving end. The other is routing packets by discovering the best path across a physical network. The network layer uses network addresses (typically Internet Protocol addresses) to route packets to a destination node.
2. Data Link Layer
The data link layer establishes and terminates a connection between two physically-connected nodes on a network. It breaks up packets into frames and sends them from source to destination. This layer is composed of two parts—Logical Link Control (LLC), which identifies network protocols, performs error checking and synchronizes frames, and Media Access Control (MAC) which uses MAC addresses to connect devices and define permissions to transmit and receive data.
1. Physical Layer
The physical layer is responsible for the physical cable or wireless connection between network nodes. It defines the connector, the electrical cable or wireless technology connecting the devices, and is responsible for transmission of the raw data, which is simply a series of 0s and 1s, while taking care of bit rate control.
¿Alguien ha visto blockchain en otro lado que no sea en algo que es transmitido vía HTTPS o cualquier protocolo privado para interactuar con una BD por muy encriptada que sea? No verdad
De ser algo blockchain, es algo que viaja OTT del layer 7, igual que un video en streaming de youtube es información por encima del https. En definitiva nivel de aplicación.
Asier, deje Vd. de mostrar su ignorancia de una vez.
¿De comprensión lectora qué tal andamos? Relee lo que he escrito, anda…
Expresaté mejor, que esta cita es una memez
«La comparación con TCP/IP es para entenderlo como protocolo fundamental/dominante en la transferencia de valor»
Es una BD, como cuando lo dices tu mismo, y dejemos la fiesta en paz que solo un ignorante supino en tecnología puede pensar que blockchain es un protocolo.
Aqui es cuando Lua ya estás perdiendo el tiempo hablando de niveles OSI a alguien que pretender decir que una bd es un protocolo
Como ves… yo ya lo he dejado… XDDD
El blockchain es la base de datos que se gestiona mediante el protocolo Bitcoin que se podría considerar como protocolo de nivel de aplicación (equivalente a FTP), a ver si os enteráis…
Bitcoin no es sólo la base de datos o la red de nodos o el protocolo o el token que se intercambia. Sé que puede resultar confuso porque se utiliza el mismo nombre con distintos significados según el contexto, pero nada, vosotros seguid intentando ridiculizar lo que desconocéis a golpe de copia-pega de las capas del modelo OSI en ingles, se vé que controláis del tema…
Un blockchain es una base de datos, como tal no se sitúa en una capa OSI.
No hay mas preguntas señoria…
Asier dices:
«El blockchain es la base de datos que se gestiona mediante el protocolo Bitcoin»
Salvador dice:
Que no tienes ni idea. Te cubres de gloria hasta los tobillos. Que tendrá que ver un desarrollo para una moneda que se apoya en una cadena de bloques, con que si es un protocolo o si es san dios bendito.
Una BD puede ser, en su forma simple un fichero de texto plano creado con Notepad. Si creamos una programa que corre sobre http en un servidor con ese fichero, que guarde tres campos: usuario, password, pasta que tiene. Y te conectas a ese fichero desde Garrulolandia ¿que obtienes?
Arre Asier a elucubrar. Pero ten en cuenta que algoritmos criptográficos aparte. Esa BD en esencia hace lo mismo que tu algoritmo monedero de bitcoins: identificar al usuario y decir a esa red cuanto tienes ahí
¿Será eso un protocolo?
Así que hemos inventado el protocolo universal: el notepad over http !!!
Hay que ser muy ignorante para mantener que
«El blockchain es la base de datos que se gestiona mediante el protocolo Bitcoin»
Encima NPI de blockchain, el experto, tócate los cojones !!!
Le veo potencial si conseguimos que esa clave privada sea mi cara, mi retina o mi huella digital o todas, algo que ayude a no tener que hacer contraseñas y que no permita a los crackers duplicarme fácilmente
De todas formas el hash rate debe ser elevado para que no se pueda vencer esta criptografía con un ataque del 51%
Todo indica que lo descentralizado está entrando en un circulo virtuoso con vistas a consolidar una Web 3 en la que lo descentralizado será una condición necesaria.
Y el mejor modo de saber como es de factible la Web 3 es mirar la inversión que recibe, y ahora anda en niveles record.
Y por supuesto, el Metaverso será descentralizado o no será. Facebook se aprovechó de ser un monopolio de facto para imponer la centralización. Hoy , con todo lo referente al Metaverso por construir, estoy seguro de que lo que vaya a contracorriente del espíritu de la Web 3 no tendrá recorrido suficiente.
La identidad descentralizada en un blockchain tiene los mismos problemas que cualquier otra información del mundo real que queramos guardar de forma inmutable (nadie va a poder modificar/eliminar lo que hay en el blockchain), veraz (los datos proporcionados son reales) y soberana (creo y controlo mis credenciales)
– ¿Cómo hacemos que ese blockchain sea inmutable? Si queremos que nuestros datos sean persistentes, accesibles por cualquiera en cualquier momento y sin depender de un tercero, necesitamos el blockchain más seguro que hay: Bitcoin. Es la razón por la que proyectos de identidad descentralizada como el ION de Microsoft se basan en la red Bitcoin.
– ¿Cómo sabemos que esa información es veraz? Nadie se va a fiar si esa información no ha sido validada por un tercero del que sí se fían, lo cual es incompatible con una soberanía completa. Hay un problema añadido: la realidad cambia, ¿quién se encarga de reflejarlo de forma veraz en el blockchain? Es el problema de querer reflejar la realidad externa en una base de datos.
– ¿Como hacemos que esa información sea soberana? Permitiendo al usuario crear y escribir datos en una red inmutable y sin necesidad de permisos dados por terceros. Volvemos a lo que ofrece la red Bitcoin. Lo cual es incompatible con conocer la veracidad de los datos proporcionados.
Al final todo depende de qué queramos conseguir, y se puede llegar a compromisos entre estas características pero lo que quería resaltar es la incompatibilidad de no depender para nada de terceros y a su vez verificar la veracidad de los datos proporcionados.
La identidad descentralizada en un blockchain tiene los mismos problemas que cualquier otra información del mundo real que queramos guardar de forma inmutable (nadie va a poder modificar/eliminar lo que hay en el blockchain
Cierto, nadie va a poder modificar ni eliminar lo que ronda en mi cabeza (bueno, a lo mejor un par de Camparis con hielo)
veraz (los datos proporcionados son reales)
esos mismos que introduzco al poner mi passwd…
soberana (creo y controlo mis credenciales)
No hay nada mas soberano que mis decisiones…
¿Cómo hacemos que ese blockchain sea inmutable? Si queremos que nuestros datos sean persistentes, accesibles por cualquiera en cualquier momento y sin depender de un tercero
Yo quiero que mis datos, sean accesibles “por cualquiera”???
Esta va en dos partes….
¿Cómo sabemos que esa información es veraz? Nadie se va a fiar si esa información no ha sido validada por un tercero del que sí se fían
La información la transfiero yo. Necesito que mi vecino diga que YO, soy YO???
…lo cual es incompatible con una soberanía completa
En que quedamos pues…
Hay un problema añadido: la realidad cambia, ¿quién se encarga de reflejarlo de forma veraz en el blockchain? Es el problema de querer reflejar la realidad externa en una base de datos.
Nos dices entonces, que si no es con un tercero… no somos quienes somos???
¿Como hacemos que esa información sea soberana? Permitiendo al usuario crear y escribir datos en una red inmutable y sin necesidad de permisos dados por terceros.
Pero a ver, Asier, que nos acabas de decir: Nadie se va a fiar si esa información no ha sido validada por un tercero del que sí se fían
Lo cual es incompatible con conocer la veracidad de los datos proporcionados.
Va para Bingo, señores….!!!! XDDDD
Y todo eso….
nos hablas de Bitcoin y no de BlockChain… XDDD
Blockchain es una mera BD distribuida con un formato especial encriptado con sus claves públicas y privadas.
Lo de decir que una BD es más segura si está descentralizada es obvio. Si un banco solo tuviera su BD en un lugar físico y este desaparece los datos desparecen. Por eso esa BD está en más de un nodo y las transacciones están replicadas.
Sin embargo el concepto de descentralización, no es mágico, los nodos en si tienen que ser en si mismo seguros. Cualquiera que pueda acceder a un nodo puede acceder a esa información mediante distintas técnicas, la más conocida es man in the middle.
La BD puede ser muy segura y estar encriptada, pero si la red en la que esa BD opera, no es confiable, los datos que guardan no serán confiables. Ceder la gestión de la identidad a terceros no confiables en si, es independiente de la tecnología usada. Es una falacia afirmar que porque alguien use determinada herramienta sea confiable el tercero. Un delincuente puede utilizar Signal, Telegram, sus mensajes están encriptados, pero eso no hace que ese delincuente sea confiable. Ese delincuente puede implmentar un servicio de gestión de identidades, basado en blockchain, y nadie en su sano juicio confiaría sus claves a ese delincuente, que te ofrece una app para introducir la clave privada desde ella.
Falacia que se suele afirmar por ignorancia o por intereses comerciales de quien lo afirma.
Disclaimer: «Es más fácil engañar a la gente que convencerlos de que han sido engañados»(MT)
En la web de introns compartimos nuestra alternativa artística a representarnos en el metaverso.
Y está basada en ADN, lo único que no cambia en nosotros.