Entorno de información basado en principios de datos abiertos





El entorno de información propuesto es una especie de red social descentralizada. Pero a diferencia de muchas soluciones existentes, este entorno tiene una serie de propiedades útiles además de la descentralización y se crea sobre la base de soluciones técnicas bastante simples y estándar (correo electrónico, json, archivos de texto y una pequeña cadena de bloques). Esto permite a cualquier persona con conocimientos básicos de programación crear sus propios servicios para este entorno.



Identificador genérico



En cualquier entorno en línea, los identificadores de usuarios y objetos son uno de los elementos clave del sistema.



En este caso, el correo electrónico actúa como un identificador de usuario, que en realidad se ha convertido en un identificador generalmente aceptado para la autorización en sitios y otros servicios (jaber, openId).



De hecho, el ID de usuario en este entorno en línea es el par de inicio de sesión + dominio, que, por conveniencia, está escrito en la forma familiar para la mayoría. Además, para una mayor descentralización, es deseable que cada usuario tenga su propio dominio. Lo cual se acerca a los principios del individuo, donde se utiliza un dominio como identificador de usuario. En nuestro caso, un usuario agrega un apodo a su dominio, lo que permite crear varias cuentas en un dominio (para amigos, por ejemplo) y flexibiliza el sistema de direcciones.



Este formato de identificación de usuario no está vinculado a ninguna red. Si el usuario coloca sus datos en la red TOR, entonces puede usar dominios en la zona .onion, si es una red con un sistema DNS en la cadena de bloques, entonces dominios en la zona .bit. Como resultado, el formato de direccionamiento de los usuarios y sus datos no depende de la red a través de la cual se transmiten (el paquete de inicio de sesión + dominio se usa en todas partes). Para aquellos que deseen usar la dirección de bitcoin / ethereum como identificador, el sistema se puede modificar para usar pseudo direcciones de correo electrónico comoxaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain



Direccionamiento de objetos



Este entorno en línea es en realidad un conjunto de objetos que se describen en una forma estructurada legible por máquina, se refieren a otros objetos y están vinculados a un usuario específico (correo electrónico) o proyecto / organización (dominio).



El espacio de nombres urn in the urn: opendata se utiliza como identificadores de objetos. Por ejemplo, un perfil de usuario tiene una dirección de la forma:



urn:opendata:profile:user@domain.com


El comentario del usuario tiene una dirección de la forma:



urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548


donde 08adbed93413782682fd25da77bd93c99dfd0548 es un hash sha-1 aleatorio que actúa como la identificación de un objeto, y user@domain.com es el propietario de este objeto.



Principio de publicación de datos de usuario



Con su dominio bajo control, el usuario puede publicar fácilmente sus datos y contenido. Y a diferencia de indibeb, esto no requiere la creación de un sitio con páginas html en las que se incrustan datos semánticos.



Por ejemplo, la información básica sobre un usuario se encuentra en el archivo datarobots.txt ubicado en una dirección como



http://55334.ru/konstantin@55334.ru/datarobots.txt


Y tiene contenido de este formato:



Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txt


Es decir, de hecho, es un conjunto de cadenas con datos de la forma clave-> valor, que es una tarea fácil de analizar para cualquier persona con conocimientos básicos de programación. Y puede editar los datos, si lo desea, a través de un bloc de notas normal.



Los datos más complejos (perfil, comentario, publicación, etc.) que tienen su propia urna se devuelven como un objeto JSON utilizando la API estándar (http://opendatahub.org/api_1.0?lang=ru), que se puede ubicar como en el dominio del usuario y en un sitio de terceros en el que el usuario ha delegado el almacenamiento, publicación y edición de sus datos (en la línea Servicios habilitados del archivo datarobots.txt). Estos servicios de terceros se describen a continuación.



Ontología simple y JSON



La ontología del entorno de comunicación es relativamente simple en comparación con la ontología de las bases de conocimiento de la industria. Dado que en el entorno de comunicación hay un conjunto relativamente pequeño de objetos estándar (publicación, comentario, me gusta, perfil, revisión) con un conjunto relativamente pequeño de propiedades.



Por lo tanto, para describir objetos en un entorno de este tipo, es suficiente usar JSON en lugar de XML, que es más complejo en estructura y análisis (es importante no olvidar la necesidad de un umbral de entrada y escalabilidad bajos).



Para conseguir un objeto con la urna que conocemos, es necesario hacer referencia al dominio del usuario, o a servicios de terceros a los que el usuario ha delegado la gestión de sus datos.



En este entorno en línea, cada dominio en el que existe un servicio en línea también tiene su propio datarobots.txt ubicado en una dirección como example.com/datarobots.txt con contenido similar:



Object: service
Api: http://newethnos.ru/api
Api-Version: http://opendatahub.org/api_1.0


De lo cual podemos aprender que puede obtener datos sobre el objeto en la dirección del formulario:



http://newethnos.ru/api?urn=urn:opendata:profile:konstantin@55334.ru El



objeto JSON tiene la siguiente estructura:



{
    "urn": "urn:opendata:profile:expample@55334.ru",
    "status": 1,
    "message": "Ok",
    "timestamp": 1596429631,
    "service": "example.com",
    "data": {
        "name": "John",
        "surname": "Gald",
        "gender": "male",
        "city": "Moscow",
        "img": "http://domain.com/image.jpg",
        "birthtime": 332467200,
        "community_friends": {
            "example1@domain.com": "1",
            "example2@domain.com": "0.5",
            "example3@domain.com": "0.7"
        },
        "interests_tags": "cars,cats,cinema",
        "mental_cards": {
            "no_alcohol@main": 8,
            "data_accumulation@main": 8,
            "open_data@main": 8
        }
    }
}


Arquitectura de servicio



Se requieren servicios de terceros para simplificar el proceso de publicación y recuperación de datos para los usuarios finales.



Arriba, se mencionó uno de los tipos de servicios que ayudan al usuario a publicar sus datos en la red. Puede haber muchos servicios de este tipo, cada uno de los cuales proporciona al usuario una interfaz conveniente para editar uno de los tipos de datos (foro, blog, pregunta-respuesta, etc.). Si el usuario no confía en los servicios de terceros, puede instalar un script de servicio para trabajar con datos en su dominio o desarrollarlo de forma independiente.



Además de los servicios que permiten a los usuarios publicar / editar datos, se proporcionan varios otros servicios en el entorno en línea que realizan tareas relativamente complejas que son bastante problemáticas de implementar en los nodos del usuario final.



Uno de los tipos de estos servicios son los centros de datos ( opendatahub.org/ru es un ejemplo), que actúan como una especie de archivo web que recopila todos los datos públicos del usuario legibles por máquina y proporciona acceso a ellos a través de API.



La presencia de servicios en un entorno en línea tan abierto y descentralizado reduce significativamente el umbral de entrada para los usuarios, ya que no es necesario instalar y configurar su propio nodo. Al mismo tiempo, el usuario conserva el control sobre sus datos (en cualquier momento, puede cambiar el servicio al que se delega la publicación de datos o crear su propio nodo).



Si el usuario no está interesado en absoluto en ser propietario de sus datos y no tiene su propio dominio o no está familiarizado con el dominio, entonces, por defecto, opendatahub.org administra sus datos.



¿A costa de quién es todo?



Quizás el principal problema de casi todos estos proyectos descentralizados es la imposibilidad de monetizarlos a un nivel suficiente para un desarrollo y apoyo estables.



Los tokens Donate + se utilizan para cubrir los costos de desarrollo y marketing en este entorno en línea.



Todas las donaciones que los usuarios hacen a proyectos / servicios internos son públicas, legibles por máquina y están vinculadas al correo electrónico. Esto le permite tenerlos en cuenta, por ejemplo, a la hora de calcular la calificación social de la intranet y publicarlos en las páginas de los usuarios. Cuando las donaciones dejan de ser anónimas, los usuarios no donan, sino que se "deshacen" para apoyar el entorno de información común. Así como la gente se despide para la reparación de lugares públicos con una actitud adecuada hacia aquellas personas que se niegan a desprenderse.



Además de las donaciones, para recaudar fondos se utilizan tokens emitidos en una cantidad limitada (400.000), que se otorgan a todos los que donan al fondo principal (etnogénesis).



Funciones adicionales de tokens



Cada token es una "clave" para acceder a este entorno en línea. Es decir, puede utilizar los servicios y ser parte del entorno en línea solo si tiene al menos 1 token, que está vinculado a su correo electrónico.



Los tokens son un buen filtro de spam debido a sus limitaciones. Cuantos más usuarios haya en el sistema, más difícil será conseguir un token y más caro será crear bots.



Las personas, sus datos y conexiones sociales son más importantes que la tecnología



El entorno en línea descrito es técnicamente una solución relativamente primitiva. Pero lo más importante en él no son tanto la tecnología como las personas y las conexiones sociales y los datos (contenido) creados dentro del entorno.



La comunidad social creada, cuyos miembros tienen sus propios identificadores universales (correo electrónico y su propio dominio) y datos estructurados (con direcciones URN, ontología y objetos JSON) cuando aparece una mejor solución técnica, puede transferir todos estos datos a otro entorno en línea, manteniendo los enlaces formados. (calificaciones, calificaciones) y contenido.



Esta publicación describe uno de los elementos de una comunidad de red autoorganizada, que, además de un entorno online descentralizado, incluye una serie de áreas offline que aumentan los beneficios del entorno online y son "clientes" que determinan en gran medida su funcionalidad. Pero estos ya son temas para otros artículos que no están directamente relacionados con TI y tecnología.



All Articles