Plunder e Urbit: Uma análise comparativa
Sistemas operacionais rodam no coração de todos os computadores, e nós do bestlinux somos obcecados por open source. Recentemente, temos dado bastante atenção ao protocolo Urbit e sua rede de computadores descentralizada, e dois textos nos chamaram bastante a atenção.
Primeiro texto: Crítica à Urbit
O primeiro texto é uma crítica à Urbit feita por um antigo membro da Urbit Foundation (~wicrum), comparando-a com o projeto Plumber.
O artigo se aprofunda na transição do autor do trabalho no Urbit para a exploração do Plunder, um sistema com semelhanças com a Urbit, mas com diferenças distintas na filosofia e na arquitetura do projeto. O autor destaca as semelhanças entre os dois sistemas, como a tentativa de criar uma camada fundamental para a computação. No entanto, o foco principal está nas diferenças, com o Plunder sendo retratado como um sistema mais modular e agnóstico em comparação com a abordagem holística do Urbit. O artigo também aborda os aspectos técnicos de ambos os sistemas, enfatizando as vantagens do Plunder em termos de modularidade, compreensibilidade e desempenho.
Três insights instigantes são apontados por ~wicrum:
Holismo vs. Modularidade
Urbit é descrito como um sistema holístico, com o objetivo de resolver todos os problemas relevantes de computação de uma só vez. Ele é comparado à Apple em sua abordagem, oferecendo um ecossistema abrangente e opinativo. Por outro lado, o Plunder é comparado ao Linux, enfatizando a modularidade e o agnosticismo. Ele fornece uma plataforma para vários sistemas operacionais em vez de agrupar tudo. Essa distinção levanta a questão: É melhor ter uma solução única para todos ou uma plataforma que permita soluções diversas e personalizadas?
Preocupações com a centralização
O autor aponta que o Urbit, devido à sua dependência da Fundação Urbit para atualizações e alterações, pode ser visto como um sistema centralizado.
Essa centralização tem implicações políticas (potencial para captura institucional) e tecnológicas (a fundação pode mudar a direção do sistema). O Plunder, por outro lado, foi projetado para ser mais descentralizado.Isso leva ao debate: quanta centralização é aceitável em um sistema e quais são as compensações entre centralização e descentralização?
Desempenho e escalabilidade
Uma das críticas mais importantes ao Urbit são suas limitações no manuseio de grandes conjuntos de dados e na velocidade de computação. O Plunder, de acordo com o autor, já demonstrou sua capacidade de trabalhar com volumes de dados significativos. Essa diferença levanta a questão:Até que ponto a escalabilidade do desempenho é crucial no mundo da computação moderna, e os sistemas que não priorizam isso podem continuar competitivos?
O artigo oferece um mergulho profundo nas complexidades do Urbit e do Plunder, desafiando os leitores a considerar o futuro das plataformas de computação e as compensações entre soluções holísticas e plataformas modulares.
Segundo texto: Urbit como um servidor de arquivos generalista
Em contraposição temos um texto que fala sobre Urbit – a general file service, explicando como a Urbit pode ser usada para compartilhamento e armazenamento de arquivos de qualquer tamanho e tipo.
A Urbit, uma plataforma de computação descentralizada, tem gerado polêmica por seu potencial de revolucionar a maneira como pensamos sobre armazenamento e compartilhamento de arquivos. A questão em questão é se o Urbit pode evoluir para um servidor de arquivos geral, capaz de armazenar e compartilhar diversos tipos de arquivos, de imagens a vídeos, de forma descentralizada. Isso o posicionaria como uma alternativa a sistemas como o IPFS.
Um mergulho profundo no cenário técnico do Urbit
Filosofia básica da Urbit: Na Urbit, tudo é representado como nouns. Esses nouns são serializados e transmitidos pela rede. Todo o estado de uma instância da Urbit é encapsulado em um único valor.
Limitações: Historicamente, duas restrições principais impediram a Urbit de servir como um servidor de arquivos geral:
Ferramentas: A ausência de ferramentas para gerenciar e visualizar facilmente os dados armazenados, o uso da memória e o espaço disponível.
Memória: Até recentemente, o tempo de execução do Urbit, Vere, só conseguia lidar com 2 GiBs de substantivos. Isso foi expandido para 8 GiBs, com potencial de crescimento adicional.
O Projeto Ares: Esse novo tempo de execução do Urbit foi projetado para superar as limitações mencionadas anteriormente. O Ares foi desenvolvido com referências de 64 bits, o que permite lidar com volumes de dados maiores. Ele também introduz a “paginação por demanda”, otimizando a movimentação de dados entre o disco e a memória.
Visão do Urbit:
Em um futuro próximo, o Urbit pretende ser um servidor de arquivos robusto e de uso geral.
Embora seja possível criar uma camada semelhante ao IPFS sobre o Urbit, o foco principal da plataforma é permitir que os usuários (ou seus representantes designados) hospedem e controlem seus dados diretamente.
Proposta de melhoria do Urbit (UIP): Esse sistema é agora o mecanismo principal para a introdução de recursos e funcionalidades essenciais na Urbit.
Uma olhada mais de perto no Projeto Ares
O que é Ares? Ares é o Urbit runtime mais recente, projetado para ser mais rápido e lidar com volumes de dados maiores do que seus antecessores. Ele permite que os usuários hospedem conteúdo multimídia, como fotos e vídeos, em seus navios Urbit.
Principais componentes do Ares:
Geração de código: O Ares apresenta um sistema que compila Nock (linguagem de montagem do Urbit) em código de máquina, otimizando o desempenho da CPU.
2stackz Noun Allocator: Esse recurso permite que o Urbit funcione como uma máquina virtual com duas pilhas, eliminando a necessidade de um heap. Essa alteração aumenta a velocidade e a eficiência da alocação e liberação de substantivos no tempo de execução do Urbit.
Persistent Memory Arena (PMA): O PMA foi projetado para gerenciar grandes volumes de dados sem comprometer o desempenho. Ele otimiza a movimentação de dados entre a RAM e o disco, permitindo que o estado do Urbit cresça sem ser restringido por limitações de hardware.
Limitações: Apesar de seus avanços, a Ares ainda estará limitada pelas restrições do hardware subjacente, especialmente a RAM.
Embora o PMA possa otimizar o gerenciamento de dados, ele não pode superar as limitações inerentes ao hardware.
O projeto Ares representa um salto monumental para a plataforma Urbit, com o objetivo de transformá-la em um sistema mais rápido e eficiente, especialmente para lidar com grandes conjuntos de dados, como imagens e vídeos. Entretanto, como todo software, ele terá suas restrições, principalmente aquelas ditadas pelo hardware em que opera. O futuro parece promissor para a Urbit, e sua evolução será, sem dúvida, um espaço a ser observado.
Para aprender mais, recomendamos também o site em português sobre a Urbit.