29 de marzo de 2018

¿Es posible reemplazar Facebook?

La "caída" de Facebook con Cambridge Analytica es el directo producto de su modelo de negocio. mantener cuentas gratis de los usuarios y al mismo tiempo ganar dinero solo es posible si se venden los datos de estos a quienes los quieran comprar. Obviamente lo de Cambridge Analytica ha sido producto de este esquema debido a la ausencia de algunos controles. Es dudoso que la campaña #deletefacebook lleve a un cambio fundamental. Solo la caída de sus acciones, si se prolonga, podría hacer tambalear el gigante.

Pero la pregunta está lanzada: ¿será posible construir otra red social, con las misma fuuncionalidad pero con mayor control personal sobre los datos? ¿Quizás permitiendo que cada uno decida si está dispuesto a que se vendan y a quien y, en este caso, ser quien cobre por ellos?

Existe una propuesta para ello: un sistema basado en blockchain, con una plataforma que permita a cada uno pueda tener su propia cadena, la que -a su vez- podrá conectarse con las cadenas de sus amigos, por elección propia y con autorización de ellos, mientras los acceso de los publicistas serían controladas (y cobradas) por cada uno, con además una comisión para la plataforma que gestione tales accesos. cada "amigo" mantendría su cadena en su propio móvil, haciéndose cargo, así, del costo energético.

Pero emular Facebook de este modo no sería nafa fácil. nadie querrá entrar en una red social si sus amigos no están ahí. Esta masividad es la gran ventaja de Facebook. ¿Cual podría entonces ser la solcuión más factible? Que la misma Facebook se "mude" a una versión en blockchain. De seguro no ha de ser fácil y podría ser muy costoso. Y, a futuro, podría ver mermados sus ingresos, lo cual es poco motivador. Pero si #deletefacebook mientras las accione siguen perdiendo su valor, podría ser su única oportunidad de sobrevivir. A no ser que encuentre como implementar en su plataforma actual un modo de operar que asegure las mismas ventajas que el blockchain.

La reacción frente a Facebook ha tenido al menos, ya, un gran beneficiario: Mastodon, una red social similar a Twitter que ha tenido un aumento masivo en las inscripciones, llegando 1,1 millón de usuarios. No se ejecuta en ningún centro de datos controlado por ejecutivos corporativos, sino que es administrado por sus propios usuarios que configuran servidores independientes. [Parece ser un modelo inspirado en blockchain pero sin esta tecnología.] Y sus costos de desarrollo son pagados por donaciones en línea, en lugar de a través de la comercialización de la información personal de los usuarios. (Stuff, 26/3/2018) 

La plataforma descentralizada de redes sociales Minds también se está movimiendo para implementar la cadena de bloques, usando Ethereum, contando también con un millón de afiliados. Sustituyendo el sistema de puntos que la plataforma tenía anteriormente, los tokens de Minds permitirán a los usuarios monetizar su contenido a través de un sistema de recompensas basado en incentivos y basado en P2P. Los usuarios pueden usar tokens de Minds para suscribirse o dar propina a los creadores de contenido en la plataforma, y ​​los participantes de la plataforma recibirán una porción del Minds Daily Reward Pool proporcionalmente a la popularidad de sus publicaciones. (Yahoo Finance, 28/3/2018) 

Nota: "Lo sospeché desde un principio": no tengo cuenta en Facebook, pero lo que deseo que se sepa se puede encontrar en mi sitio web y mis blogs.

22 de marzo de 2018

Blockchain y derechos de autor

Encontré lo siguiente en la web de "The Conversation":
Las leyes de propiedad intelectual, como las patentes y los derechos de autor, se basan en la teoría del incentivo. Para incentivar a las personas a crear, se les otorga, en efecto, un monopolio (con algunas excepciones) en sus creaciones y pueden acudir a la corte y evitar que otros participen de forma gratuita en su trabajo. El mundo digital ha hecho que la tensión entre innovadores y usuarios gratuitos sea aún más aguda. En la era pre-digital, copiar un libro tuvo costos considerables para el copiador. Ahora, dado que los archivos digitales se pueden copiar de manera indefinida por un costo cercano a cero, se podría argumentar que necesitamos leyes de propiedad intelectual aún más estrictas para evitar la copia desenfrenada e injusta. Pero la teoría no siempre coincide con la realidad.
La primera aplicación de blockchain, Bitcoin, no fue patentada. No es única en este sentido. Sir Tim Berners-Lee no patentó la red mundial. Del mismo modo, Internet se lanzó al público sin restricciones de patentes. La falta de patentes ha significado que la tasa de desarrollo del blockchain ha sido impresionante. La clave para el rápido desarrollo del blockchain es que el código fuente es abierto. Las personas son libres de copiar el código y mejorarlo. Se toma una decisión deliberada de no utilizar la ley de derechos de autor para proteger el código fuente, a diferencia del software propietario.
La gente puede ganar dinero en ausencia de la protección de la propiedad intelectual. Las grandes corporaciones han hecho su dinero mediante el uso de software de código abierto y la prestación de servicios adicionales, por los que cobran.
La pregunta es: ¿nuestras leyes actuales de propiedad intelectual son aptas para este propósito si tres tecnologías que cambian el paradigma, internet, la red mundial y ahora la cadena de bloques, están floreciendo en ausencia de protección bajo tales leyes? Sería irresponsable abolir la ley de patentes a menos que se establezcan otros sistemas. A corto plazo, en lo que respecta a la ley de derechos de autor, la Comisión de Reforma Legislativa de Australia recomienda que para fomentar la innovación, el uso justo debe implementarse en Australia. Nueva Zelanda seguiría esta recomendación. (The Conversation, 27/2/2018)
La cadena de bloques cambia el modelo establecido de almacenamiento de documentos en Internet. La búsqueda distribuida y el monitoreo de contenidos aseguran una trazabilidad genuina del uso de los derechos de autor. Sin embargo, como señala otro autor, puede haber un problema.

La idea de que el registro de imágenes en blockchain es una alternativa económica y sencilla al registro en la Oficina de Derechos de Autor (Copyright) de los Estados Unidos es falsa. Aquellos que proporcionan supuestos servicios de registro de derechos de autor basados ​​únicamente en blockchain argumentan que la inscripción de un hash de la imagen junto con los metadatos que lo acompañan crea un registro inmutable de la propiedad. Esto es falso. Lo que estos servicios ofrecen es una prueba de existencia: demuestran. que el archivo de la imagen con los metadatos que ingresó existía en el momento en que se creó el hash y se inscribió en la cadena de bloques. Olvidan que esta información puede ser manipulada fácilmente. Casi cualquier persona puede descargar una imagen y editar los metadatos, rellenando los campos de datos con la información que elija, para luego registrarla como propia, lo cual es posible incluso si ambos registros están en la misma cadena de bloques porque los bytes son diferentes debido al nombre diferente que se ingresó en los metadatos EXIF.

La información de los servicios de registro de fotos en blockchain sería extremadamente dañina tanto para los fotógrafos como para los usuarios. Muchos usuarios que buscan en un blockchain pueden tomar sus declaraciones como confiables y no verificar la información provista. Una imagen puede parecer auténtica cuando está inscrita en una cadena de bloques, pero podría tener una información de copyright falsificada, lo cual permite robar posibles ventas al fotógrafo original. Algunos incluso pueden tratar de ir más lejos como hacer reclamos por violación de derechos de autor de las imágenes de las cuales en realidad no poseen los derechos de autor (Thoughts of a Bohemian, 19/2/2018).

Sin embargo, el "contrato inteligente" que acompaña la cadena de bloques podría tener disposiciones semejantes a las exigidas por las oficinas oficiales de inscripción de propiedad intelectual, como el juramento de autoría y obra original. Antes de inscribir una obra en una plataforma de registro en blockchain, conviene por lo tanto verificar las disposiciones del contrato. Si asegura lo anterior, por ahora, no tiene aún la fuerza de la inscripción oficial, pero varios países están abordando el tema del valor jurídico de los contratos inteligentes, para legitimarlos. Es inevitable que la multiplicación de los usos del blockchain conllevará el reconocimiento de tales contratos y su valor ante la justicia. (Vea "Machine learning won’t kill lawyers, but blockchain will") 

Hasta ahora, no había ningún servicio de registro de blockchain que requiriera los compromisos que exige la oficina de Copyright o que pueda imponer multas por estatuto por tergiversar fraudulentamente la información de propiedad de derechos de autor. Pero expertos de la Universidad de Londres y de la Universidad de Edimburgo, están lanzando image.one, una nueva generación de tecnología blockchain centrada en la administración de derechos de autor de imágenes y en el rastreo de origen. Su objetivo principal es resolver el problema de la protección y transacción de los derechos de autor. El equipo de image.one está orientado a la creación de nuevas herramientas de certificación y transacción de derechos de autor de imágenes para proporcionar a los usuarios nuevas experiencias en protección de derechos de autor de imágenes, rastreo de origen, almacenamiento y transacción. image.one ha logrado desarrollar tecnologías inalterables de registro de derechos de autor y cifrado de imágenes. Quizás el modelo de image.one sea la primera versión de un sistema seguro. (Business Insider, 11/2/2018).

15 de marzo de 2018

Para entender mejor el blockchain

Pocos entienden realmente como funcionan las cadenas de bloques. Una de las razones es, sin duda, la forma en que fue definida y construida por su inventor y la forma en que opera con el Bitcoin y casi todas las criptomonedas. pero hay que insistir en este punto: el diseño original no es el único posible y algunos de sus elementos no son en absoluto indispensables, como lo han entendido muchos programadores que desarrollan sus nuevas aplicaciones.

¿Cómo podemos llegar a distinguir y, al mismo tiempo, explicar en que consiste y cómo funciona la cadena de bloques a nivel esencial? Una buena pista es aplicar una suerte de "ingeniería inversa", no a nivel de programación sino a nivel de las ideas que se combinaron en su creación. Para ello, debemos "volver atrás" y pensar en términos de lo que existía anteriormente, siguiendo el modelo de los "adyacentes posibles", introducidos por Stuart Kauffman y explicados por Steven Johnson ("Where good ideas come from", cap.1). 
"Lo adyacente posible es una especie de futuro en la sombra, que se cierne sobre los bordes del estado actual de las cosas, un mapa de todas las formas en que el presente puede reinventarse a sí mismo. Sin embargo, no es un espacio infinito, o un campo de juego totalmente abierto. El número de posibles reacciones de primer orden es enorme, pero es un número finito. [...] Piense en ello como una casa que se expande mágicamente con cada puerta que abre. Empiezas en una habitación con cuatro puertas, cada una conduciendo a una nueva habitación que aún no has visitado. Esas cuatro habitaciones son las adyacentes posibles. Pero una vez que abres una de esas puertas y entras en esa habitación, aparecen tres nuevas puertas, cada una conduciendo a una sala nueva que no podrías haber alcanzado desde tu punto de partida original." (Johson, p.31)
Cuando Tim Berners-Lee creó la primera versión de la Web, utilizaba internet y el protocolo TCP/IP, como también un lenguaje de programación y un procesador de texto para escribir el contenido de la página, todas cosas que ya se utilizaba, y rescató la idea del hipertexto, que existía hacía tiempo, pero no se había aprovechado en computación. Pero, aunque no lo visualizó, abrió varias puertas adyacentes y, una puerta tras otra, hemos llegado al HTML 5.0, a Youtube, a Facebook y tantas otras aplicaciones. 

Del mismo modo podemos preguntarnos cuales fueron las piezas adyacentes al blockchain (las ideas preexistentes) que permitieron su aparición. Este es mi análisis:

Ideas esenciales
* La planilla de cálculo, especialmente las celdillas formando filas -> cadena de bloques.
* Las bases de datos que también pueden tomar la forma de una hoja de cálculo  <-> cada bloque es un registro y puede contener varios datos.
* La criptografía, su sistema de claves y su posibilidad de "firmar" documentos haciendo imposible una modificación sin alterar la firma.
* Los métodos de autenticación en accesos (login y password) y en documentos (firma digital).
* Las redes distribuidas (como las páginas web en múltiples servidores).

Ideas secundarias
* La aplicación de la criptografía a todo el contenido implicaba la idea de verificación de lo transmitido en dos niveles. Así, cada bloque debía tener su firma (hash) pero toda la cadena debía tener una nueva firma (hash de árbol) al agregar un nuevo bloque.
* Pero la verificación de los contenidos (datos), de cada nueva operación, puede hacerse de varias formas. El inventor optó por la validación basada en consenso para las criptomonedas. El consenso es indispensable tanto para la creación como para la mantención de un sistema totalmente nuevo y esencialmente descentralizado, para asegurar la confiabilidad. Pero ni siquiera el método de cálculo basado en la resolución de un acertijo matemático (que es la "minería"), como en Bitcoin, es esencial para la validación por consenso por cuanto no es el único posible. En muchas casos, especialmente en el caso de cadenas privadas e híbridas, es más adecuada la autenticación por una autoridad específica (piense en el Registro Civil para las identidades digitales, por ejemplo).
* La capacidad de unir programas de computación (programación modular), para que uno lance otro si se cumple cierta condición. Esto dio origen a los "contratos inteligentes", una idea genial posterior a la creación de criptomonedas. Aplican también, de otro modo, el concepto de consenso, consistente en la aceptación de los términos del contrato que, por programa, se aplicará en forma automática, sin intervención de un intermediario.
* Esta misma posibilidad abre otra puerta: la de otras formas de operar, en particular la interoperabilidad y la interconexión de las cadenas. ¡Es la idea del hipertexto ingresando en el mundo de las cadenas de bloques, que llevará a una suerte de web 3.0!

Síntesis en el siguiente gráfico:

Los recuadros superiores (negros) muestran las ideas básicas que se combinaron en el primer modelo (Blockchain 1.0) con el componente complementario del método de consenso. Con los contratos inteligentes y la validación alternativa por autenticación, se obtiene el modelo 2.0 (los cuadros azules son las alternativas para un mismo propósito, ambas aplicables) y, finalmente, con el modelo del hipertexto y de la programación modular (que también da lugar a los contratos inteligentes), obtenemos el modelo 3.0. El Blockchain 2.0 existe desde la creación de Ethereum. Estamos viendo los primeros prototipos de 3.0 y empiezan a aparecer intentos de incluir inteligencia artificial y análisis de big data: podría conducir a un Blockchain 4.0 (o, dada la velocidad de los avances, el 3.0 podría incluir también estos avances). 

Nota: Todo avance depende de la factibilidad técnica del momento: redes de telecomunicación, capacidad de los procesadores y memorias, etc. Una red de blockchain, especialmente de nivel 2 o 3 no habría sido posible cuando se inventó la web (condicionamiento contextual).

8 de marzo de 2018

La nueva internet basada en blockchain se acerca (de a poco)

Se había vaticinado ya el año pasado (o quizás antes) que la tecnología blockchain daría lugar a una nueva internet. Y se habló de una "internet del valor", que puede ser construida sin grandes dificultades sobre la web actual, aunque quedan por solucionar problemas de estándares y de interoperabilidad de las cadenas. Pero la investigación tecnológica avanza rapidamente y apareció una propuesta de estructuración completa de internet en base a computadores que trabajen unidas directamente en forma descentralizada con cadenas de bloques.

Un primer intento es el del navegador Blockstack, que se llama a sí mismo la "nueva Internet" para aplicaciones descentralizadas. Blockstack permite a los usuarios acceder a Dapps (aplicaciones descentralizadas) que ofrecen servicios similares a la mayoría de las aplicaciones basadas en la nube disponibles en la internet tradicional. Blockstack tiene un montón de estas aplicaciones en su sitio web, incluyendo un procesador de textos en línea llamado Graphite, un centro de salud personal llamado Afia, una aplicación de podcast y, por supuesto, una aplicación de cartera de criptomonedas. Funcionan como sus contrapartes en la internet tradicional, salvo que están descentralizados y encriptados para proteger la privacidad del usuario. (Futurism.com, 7/3/2018)

La principal firma de capital de riesgo de Silicon Valley, Andreessen Horowitz, y Polychain Capital, un fondo de cobertura de criptomonedas, han invertido us$ 61 millones en Dfinity Foundation, una firma que intenta conectar varias computadoras utilizando el blockchain para construir una "computadora de Internet". El fundador de Dfinity Foundation, Dominic Williams, explicó más sobre esta tecnología: "Esto aplica una nueva criptografía a la tecnología pública de blockchain, que es más rápida y segura que todo lo que existe hoy". Cuando su red se probó el año pasado, era 600 veces más rápida que las velocidades predominantes en la red de Ethereum en ese momento.

La red Dfinity se basa en una cadena de bloques pública y utiliza un protocolo de fuente abierta. Cualquier computadora que elija ejecutar el protocolo puede participar en la red pública. El protocolo abierto facilitará la construcción de diferentes negocios y aplicaciones en la red. Por ejemplo, Williams dijo que la "computadora de Internet" puede actuar como una nube pública que compita con Amazon y Google. Parte de la razón de esto es que simplificará los complicados sistemas de TI empresariales que involucran múltiples componentes, como bases de datos y sistemas de respaldo, y reduce los costos en un estimado 90%. Según Williams, la computadora pública también es más segura porque está descentralizada y se extiende a través de múltiples sistemas. Tiene la intención de usar los fondos recogidos para establecer un Fondo Ecosistémico Dfinity para "apoyar a los equipos técnicos en el desarrollo de aplicaciones, herramientas y protocolos para su implementación en Dfinity". (Investopedia.com, 10/2/2018)

La información no explica de que manera se unen las cadenas de cada computador en esta red. Existen hoy diversas propuestas para ello. Uno es el sistema de "cadenas paralelas" presentado hace poco en un documento llamado “Enabling Blockchain Innovations With Pegged Side Chains” que introdujo Aelf, un marco de blockchain de computación en la nube multicadena. Mientras las cadenas tradicionales procesan las transacciones una tras otra, el modelo de cadenas paralelas las trata en paralelo, acelerando así los procesos. Cada cadena lateral maneja sus propios requisitos únicos. Así, por ejemplo, se pueden tratar Bitcoin y Ethereum como cadenas laterales y la cadena principal manejará las interacciones entre ellas. La interoperabilidad es automática. (Forbes, 7/2/2018)

Pero también se ha presentado un modelo aún más transformador, que va más allá del sistema de adición lineal de bloques. Utiliza los "Gráficos Acíclicos Dirigidos" (Directed Acyclic Graphs, DAG) de bloques, no cadenas lineales, y no hay un requisito específico para cadenas de crecimiento continuo y anexado (veremos otros tipos de cadenas en el futuro que conservan la capacidad de auditar pero preservan algo de información histórica). Si bien a algunos desarrolladores puede no gustarles la imprecisión o deriva de la terminología, "blockchain" ahora se refiere genéricamente a un modelo general de soluciones, no a técnicas específicas de implementación o de estructuración de datos. 

Con una combinación de estos sistemas, cada uno podría lograr pronto que su PC (smartphone incluido) partícipe de la "internet del blockchain" con su propio contenido y con acceso a varios otros computadores de cadenas. No sería necesario que cada uno contenga una copia de todas las cadenas, como se programó originalmente, sino que el sistema distribuido se lo repartiría todo. Aplicando la regla de los 6 pasos (según la teoría del mundo pequeño o  teoría de los seis grados de separación de travers y Milgram), podríamos llegar a cualquier contenido en no más de 6 conexiones entre computadores, como se verificó para las comunicaciones entre personas en las redes sociales. 
"Creo que, en el futuro, la cadena no será una sola cadena direccional de bloques. Creo que se verá más como una malla. Tal vez podríamos tener un conjunto no lineal de ramas que van en diferentes direcciones, donde están ocurriendo muchas transacciones paralelas. Entonces, tal vez lo llamemos un gráfico de transacciones. También he visto el término Tangle (en el protocolo de IOTA) para conceptos similares. Tal vez lo llamemos 'el gráfico' de la misma manera en que hoy hablamos de 'la nube'. Todos guardaremos información y transacciones en este gráfico global (lo sepamos o no)." (Will Murphy, vicepresidente de blockchain de Talla.com, compañía detrás de Botchain, Coindesk, 17/2/2018)
Murphy basa su estimación en los gráficos acíclicos dirigidos, un modelo que -teóricamente- mejora a medida que se agregan nuevos nodos y no requiere prueba de trabajo (proof-of-work): 

Para el experto DeGoes, este tipo de evolución es indispensable: "construir aplicaciones de blockchain basándose en sistemas de archivos, bases de datos, colas de mensajes, nodos de cómputo, etc., como lo que existe actualmente -y se han invertido miles de millones en esta visión del futuro- es absoluta y catastróficamente erróneo" (DeGoes.net, 13/2/2018).
Los programadores continúan jugando y expandiendo la funcionalidad de la tecnología explorando sus posibilidades, mientras los financistas se dan cuenta de que se entusiasmaron demasiado temprano, nos dice Danny Crichton:
"El potencial de una tecnología disruptiva como el blockchain tomará décadas para comprenderse completamente. No es necesario que seas un verdadero creyente para participar en ese progreso, pero sí necesitas curiosidad insaciable y un ojo puesto en la frontera." (TechCrunch, 21/2/2018)
Seguirá inevitablemente la "curva estratégica" de difusión de las innovaciones. Pero ya pasaron 10 años desde la creación de la tecnología y, si revisamos lo ocurrido con el hardware y el software desde fines del siglo XIX, veríamos que este período es más que suficiente para que la adopción empiece a masificarse (lo que estamos viendo) y pronto se habrá transformado en el estándar dominante (S.Johnson, "Where good ideas come from", p.13). 

YBF Ventures, en asociación con el gobierno de Victoria (Australia), también está trabajando en una nueva versión de la web. Ha lanzado YBF Mesh, un concentrador (hub) Web 3.0 dedicado. El alcance del centro será global desde el primer día, y los planes futuros se abrirán en lugares de todo el mundo. Los próximos 12 meses necesitarán ver un cambio de los protocolos y la infraestructura de la que dependen muchas de estas aplicaciones Web 3.0. Devon Read, fundador de la Biblioteca Descentralizada de Alejandría, dice: 
“La Web 3.0, como un término general que resume los esfuerzos comunes para rehacer servicios web de forma descentralizada, persistente y no censurable, es probablemente el trabajo más importante que está sucediendo en la industria tecnológica. Con más de tres mil millones de personas conectadas entre sí a través de la web, no sé qué podría ser más importante que hacer que esa plataforma sea más robusta, confiable y segura ante los ojos de espías.”  (IT Brief Australia, 26/02/2018) 
A lo que aún no se alude es a un sistema práctico de búsquedas, pero no faltará quien lo invente. Pero se puede observar como se va decantando lo que es realmente la esencia de esta tecnología (la criptoescritura, el modo distribuido y los contratos de aplicación automática), buscando alternativas a sus aspectos secundarios (como los mecanismos de certificación), el tiempo de proceso y la superación de sus límites (como el incremento de la longitud de las cadenas).

6 de marzo de 2018

¿Enseñar a programar?

En varios países y sistemas educativos se está pidiendo enseñar a programar en la educación media o incluso en primaria. También es cada vez más requerido en la universidad. ¿Pero que debe realmente enseñarse? Esencialmente cómo funcionan las máquinas y cómo se ha de pensar para sacarles provecho. Dominar un lenguaje de programación solo corresponde a futuros especialistas, pero todos deberían saber cómo se programa, dominar la lógica que sostiene el sistema y saber formular algoritmos, aunque sea en lenguaje natural y, ojalá, recurriendo a flujogramas. Es lo que pretende enseñar este breve manual, destinado a alumnos de enseñanza media y primeros curso de enseñanza superior (y sus profesores).
Disponible en PDF en https://goo.gl/btoihD