O que acontece quando você não gosta de coisas centralizadas? Você faz P2P! Eu criei um escritório inteligente distribuído usando Elixir que funciona em uma única rede P2P. Existem muitas sutilezas nisso. Como podemos impedir que alguém entre na rede? Como gerenciamos dados compartilhados? Que topologia usamos? E quanto a nós que temos nós que são não confiáveis e não sabemos quando eles vão se conectar ou desconectar? E se VOCÊ quiser adicionar um nó e não podemos confiar que você entregará mensagens? Usarei o escritório como exemplo e ensinarei como é diferente o raciocínio entre um contexto centralizado semelhante à web e um sistema distribuído P2P. Vamos passar de topologias P2P simples (gossip, árvores) para mais complexas (Gnutella2, HyParView, Plumtrees), analisar seus problemas e dar uma olhada no que são CRDTs e quão incríveis eles podem ser para dados compartilhados.