Ambiente de informação baseado em princípios de Dados Abertos

Ambiente de informação baseado em princípios de Dados Abertos

O ambiente de informação proposto é uma espécie de rede social descentralizada. Mas, ao contrário de muitas soluções existentes, este ambiente possui uma série de propriedades úteis além da descentralização e é criado com base em soluções técnicas bastante simples e padronizadas (e-mail, json, arquivos de texto e um pouco de blockchain). Isso permite que qualquer pessoa com conhecimento básico de programação crie seus próprios serviços para este ambiente.

ID universal

Em qualquer ambiente online, os identificadores de usuários e objetos são um dos elementos-chave do sistema.

Neste caso, o identificador do usuário é o e-mail, que na verdade se tornou um identificador geralmente aceito para autorização em sites e outros serviços (jaber, openId).

Na verdade, o identificador do usuário em um determinado ambiente online é o par login+domínio, que por conveniência é escrito na forma familiar para a maioria. Ao mesmo tempo, para uma maior descentralização, é aconselhável que cada utilizador tenha o seu domínio. O que se aproxima dos princípios do indieweb, onde um domínio é usado como identificador de usuário. No nosso caso, o usuário adiciona um apelido ao seu domínio, o que lhe permite criar várias contas em um domínio (para amigos, por exemplo) e torna o sistema de endereçamento mais flexível.

Este formato de ID de usuário não está vinculado a nenhuma rede. Se um usuário colocar seus dados na rede TOR, ele poderá usar domínios na zona .onion; se for uma rede com sistema DNS no blockchain, então domínios na zona .bit. Como resultado, o formato de endereçamento aos usuários e seus dados não depende da rede através da qual são transmitidos (a combinação login+domínio é usada em todos os lugares). Para aqueles que desejam usar um endereço bitcoin/ethereum como identificador, você pode modificar o sistema para usar pseudo-endereços de e-mail no formato [email protected]

Endereçando objetos

Este ambiente online é na verdade um conjunto de objetos que são descritos de forma estruturada e legível por máquina, referem-se a outros objetos e estão vinculados a um usuário específico (e-mail) ou projeto/organização (domínio).

urns no namespace urn:opendata são usados ​​como identificadores de objeto. Por exemplo, um perfil de usuário possui um endereço como:

urn:opendata:profile:[email protected]

O comentário do usuário tem um endereço como:

urn:opendata:comment:[email protected]:08adbed93413782682fd25da77bd93c99dfd0548

onde 08adbed93413782682fd25da77bd93c99dfd0548 é um hash sha-1 aleatório atuando como o ID do objeto, e [email protegido] - o proprietário deste objeto.

Princípio de publicação de dados do usuário

Tendo seu próprio domínio sob controle, o usuário pode facilmente publicar seus dados e conteúdos. E ao contrário do indiebeb, isso não requer a criação de um site com páginas HTML com dados semânticos integrados.

Por exemplo, informações básicas sobre o usuário estão localizadas no arquivo datarobots.txt, localizado em um endereço como

http://55334.ru/[email protected]/datarobots.txt

E tem conteúdo como este:

Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/[email protected]/delegete.txt

Ou seja, na verdade, é um conjunto de strings com dados no formato chave-> valor, cuja análise é uma tarefa simples para qualquer pessoa com conhecimentos básicos de programação. E você pode editar os dados se desejar usando um bloco de notas normal.

Dados mais complexos (perfil, comentário, postagem, etc.), que possuem urna própria, são enviados como um objeto JSON usando a API padrão (http://opendatahub.org/api_1.0?lang=ru), que pode estar localizado no domínio do usuário e em um site de terceiros ao qual o usuário delegou o armazenamento, publicação e edição de seus dados (na linha Services-Enabled do arquivo datarobots.txt). Esses serviços de terceiros são descritos abaixo.

Ontologia simples e JSON

A ontologia do ambiente de comunicação é relativamente simples comparada às ontologias das bases de conhecimento da indústria. Como no ambiente de comunicação existe um conjunto relativamente pequeno de objetos padrão (postagem, comentário, curtida, perfil, avaliação) com um conjunto relativamente pequeno de propriedades.

Portanto, para descrever objetos em tal ambiente, basta utilizar JSON em vez de XML, que é mais complexo em estrutura e análise (é importante não esquecer a necessidade de baixo limite de entrada e escalabilidade).

Para obter um objeto com urna conhecida, necessitamos de contactar o domínio do utilizador, ou serviços de terceiros aos quais o utilizador delegou a gestão dos seus dados.

Neste ambiente online, cada domínio no qual existe um serviço online também possui seu próprio datarobots.txt localizado em um endereço como example.com/datarobots.txt com conteúdo semelhante:

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

A partir do qual podemos aprender que podemos obter dados sobre um objeto em um endereço como:

http://newethnos.ru/api?urn=urn:opendata:profile:[email protegido]

O objeto JSON possui a seguinte estrutura:

{
    "urn": "urn:opendata:profile:[email protected]",
    "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": {
            "[email protected]": "1",
            "[email protected]": "0.5",
            "[email protected]": "0.7"
        },
        "interests_tags": "cars,cats,cinema",
        "mental_cards": {
            "no_alcohol@main": 8,
            "data_accumulation@main": 8,
            "open_data@main": 8
        }
    }
}

Arquitetura de serviço

Serviços de terceiros são necessários para simplificar o processo de publicação e pesquisa de dados para usuários finais.

O mencionado acima é um dos tipos de serviços que auxiliam o usuário a publicar seus dados na rede. Pode haver muitos serviços semelhantes, cada um dos quais fornece ao usuário uma interface conveniente para editar um dos tipos de dados (fórum, blog, pergunta-resposta, etc.). Se o usuário não confiar em serviços de terceiros, ele poderá instalar um script de serviço de dados em seu domínio ou desenvolvê-lo ele mesmo.

Além dos serviços que permitem aos usuários publicar/editar dados, o ambiente online fornece uma série de outros serviços que executam tarefas relativamente complexas que são bastante problemáticas de implementar nos nós do usuário final.

Um tipo desse serviço são os hubs de dados ( opendatahub.org/ru - exemplo), agindo como uma espécie de arquivo da web que coleta todos os dados públicos do usuário legíveis por máquina e fornece acesso a eles via API.

A presença de serviços em um ambiente online tão aberto e descentralizado reduz significativamente a barreira de entrada dos usuários, uma vez que não há necessidade de instalar e configurar seu próprio nó. Ao mesmo tempo, o utilizador mantém o controlo dos seus dados (a qualquer momento pode alterar o serviço ao qual está delegada a publicação dos dados ou criar o seu próprio nó).

Se o usuário não estiver interessado em possuir seus dados e não tiver seu próprio domínio ou alguém familiarizado com o domínio, então, por padrão, seus dados serão gerenciados por opendatahub.org.

À custa de quem é tudo isso?

Talvez o principal problema de quase todos estes projectos descentralizados seja a incapacidade de os rentabilizar a um nível suficiente para um desenvolvimento e apoio estáveis.

Donate + tokens são usados ​​para cobrir custos de desenvolvimento e marketing neste ambiente online.

Todas as doações que os usuários fazem para projetos/serviços internos estão disponíveis publicamente, podem ser lidas por máquina e vinculadas a e-mail. Isto permite que sejam tidos em conta, por exemplo, no cálculo da classificação social online e publicados nas páginas dos utilizadores. Quando as doações deixam de ser anônimas, então, na verdade, os usuários não doam, mas “contribuem” para apoiar o ambiente de informação geral. Assim como as pessoas contribuem para reparar áreas comuns com uma atitude adequada para com as pessoas que se recusaram a contribuir.

Além das doações, para arrecadar recursos são utilizados tokens emitidos em quantidade limitada (400.000 mil), que são concedidos a todos que fazem doações ao fundo principal (etnogênese).

Recursos adicionais de token

Cada token é uma “chave” de acesso a este ambiente online. Ou seja, você só poderá utilizar serviços e fazer parte do ambiente online se tiver pelo menos 1 token vinculado a um email.

Os tokens são um bom filtro de spam devido à sua natureza limitada. Quanto mais usuários houver no sistema, mais difícil será obter um token e mais caro será criar bots.

As pessoas, seus dados e conexões sociais são mais importantes que a tecnologia

O ambiente online descrito é tecnicamente uma solução relativamente primitiva. Mas o mais importante não é tanto a tecnologia, mas as pessoas e as conexões sociais e os dados (conteúdo) criados no ambiente.

A comunidade social criada, cujos membros possuem identificadores universais próprios (e-mail e domínio próprio) e dados estruturados (com endereços URN, ontologia e objetos JSON), quando surge uma solução técnica melhor, pode transferir todos esses dados para outro ambiente online, ao mesmo tempo que mantém as conexões formadas (classificações, classificações) e conteúdo.

Este post descreve um dos elementos de uma comunidade auto-organizada em rede, que, além do ambiente online descentralizado, inclui uma série de áreas offline que aumentam os benefícios do ambiente online e são “clientes” que determinam em grande parte a sua funcionalidade. Mas estes são temas para outros artigos que não estão diretamente relacionados com TI e tecnologia.

Fonte: habr.com

Adicionar um comentário