Un amigo se puso en contacto para crear una comunidad de Internet blockchain descentralizada. Sonaba como palabras de moda sin un significado más profundo para mí al principio, pero mi cerebro se dejó llevar y se le ocurrió una forma "simple" de crear esto. Como beneficio adicional, podría resolver muchos de los problemas que experimentan los usuarios con las redes sociales actuales. Funciona como su comunidad web habitual, pero sin alojamiento ni almacenamiento central. Las instancias de la comunidad se pueden alojar en cualquier servidor web. Cada instancia de la comunidad realiza un seguimiento de los amigos, seguidores, grupos, etc. conectados, y se comunica directamente con otras instancias en el servidor web donde se encuentran.
Normalmente no comparto mi código. Quiero evitar discusiones sobre código y marcos en lugar de la resolución real de problemas. Haré una excepción en este caso. No porque el código sea muy bueno, sino para mostrar la portabilidad de la configuración que he elegido. Esta es una prueba de concepto para que pueda omitir la revisión del código. Me gusta mucho esta idea y espero que pueda inspirar a alguien a crear algo útil para eludir el bloqueo de las redes sociales y difundir información censurada en lugares como Rusia. Tal vez sea demasiado tarde para este conflicto, pero ¿por qué no estar preparado para la próxima vez?
Ya hay proyectos similares iniciados, pero están muy centrados en la seguridad y no son muy fáciles de usar o configurar. Para que una comunidad distribuida se ponga al día, debe ser portátil y fácil de configurar.
El título de trabajo Portals de esta prueba de concepto es Portals, se basa en solo unos pocos archivos json y php que administran los medios y los datos del usuario. Sin base de datos. Una instancia (un perfil de usuario) y todos sus datos se pueden comprimir y mover fácilmente de un servidor a otro. Lanzarlo por primera vez o relanzar es lo mismo. Simplemente suelte la carpeta que contiene los archivos en un nuevo servidor web y visite la ubicación con su navegador. Si lo desea, puede ejecutar varias instancias en el mismo servidor web. Simplemente suelte los archivos en carpetas separadas. De esta manera, puede hospedar a sus familiares y amigos menos expertos en tecnología. Todas las instancias se ejecutan por separado y no dependen unas de otras.
Una vista simplificada de una solicitud de contenido de Portals. Las instancias de Portals se distribuyen en varios servidores y el contenido se ensambla en tiempo real a medida que lo ve un usuario. Esto pone a cada usuario a cargo de lo que ve en su feed y con quién puede comunicarse. También dificulta que alguien bloquee la comunicación.
PHP solo se usa para mi prueba de concepto. En su lugar, se podría utilizar una variedad de tecnologías siempre que la comunicación siga el contrato API acordado. Los dispositivos IOT, los sitios web o las aplicaciones móviles podrían formar parte de la comunidad.
Una buena manera de difundir la comunidad sería ofrecer algo como un paquete de instalación de WordPress. Menos inflado, por supuesto, y al igual que en la prueba de concepto, muy simple de configurar. Debería incluirse algún tipo de sistema flexible en el que los diseñadores y desarrolladores puedan crear temas y módulos para que los desarrolladores y diseñadores se interesen. Aquí es donde esto se convierte en un proyecto.
Hay muchos problemas técnicos y lógicos asociados con una red social distribuida. Pero si nos enfocamos en los aspectos positivos, hay muchas cosas que se pueden hacer mejor que en Facebook y otras comunidades:
1. Tu alimentación
Los filtros y las opciones de configuración se pueden descargar como módulos, o puede codificarlos usted mismo para personalizar realmente su fuente. Ninguna empresa o gobierno puede interferir. Incluso puede agregar datos de otras API para personalizar realmente su propio portal.
2. Diseño
Puedes hacer que tu comunidad se vea como quieras. Puede hacer que se vea como MySpace, Facebook o algo completamente diferente. Si es diseñador web, puede aplicar su propio CSS y mover el contenido como desee. Los recursos multimedia, como imágenes o texto, pueden tener un estilo preferido cuando lo recibe de sus amigos, pero también puede optar por ignorarlo.
3. Anónimo
Con su propio hosting y sin un hub central, no puede haber un seguimiento general de los usuarios de la comunidad. Solo aquellos con los que te conectas y posiblemente alguien en el camino saben que estás usando portales.
4. Apto para niños
Al eliminar mediante programación la posibilidad de conectarse con otros, es posible crear un entorno amigable para los niños donde solo pueden comunicarse con otros usuarios preseleccionados. Dale una palmada a un diseño de Peppa Pig o Harry Styles y estarás listo para comenzar.
5. Portátil
Si no está satisfecho con su servidor web, o si su servidor está bloqueado, simplemente empaque sus archivos y cárguelos en otro servidor y estará nuevamente en línea. Ideal si eres un crítico del régimen o de Donald Trump, que sigue siendo cerrado. Son tus seguidores y amigos los que eligen si debes ser ignorado. Tuve una idea sobre un blob de cadena de bloques para realizar un seguimiento de las conexiones y garantizar que aquellos que cambian de host se reúnan con sus conexiones. Recibí muchos comentarios que decían que no debería usar blockchain para almacenar "datos personales". Debería haber una forma de evitar esto. ¿Cifrar u ocultar datos para que solo una persona pueda leerlos? Alguien más inteligente que yo puede investigar esto. No está en mi prueba de concepto.
6. Difícil de bloquear
Será muy difícil para las autoridades y los regímenes cerrar una comunidad que no tiene una dirección fija y donde cada instancia es un proxy. Otra idea que tuve fue complicar aún más la identificación de la comunicación de Portals al permitir que todos los parámetros y solicitudes sean únicos para cada conexión entre dos usuarios. Todo se convierte en un galimatías asimétrico en varias solicitudes web hasta que llegan al usuario final donde se traducen en algo útil.
7. Publicación
Dado que su material publicado se publica y se carga desde su instancia, no se puede filtrar. Esto significa que usted decide lo que se puede publicar, no un algoritmo basado en intereses comerciales y presiones políticas. Si desea anular la publicación de algo, simplemente elimine los archivos en su instancia.
8. Integraciones
Mientras siga la estructura de la API, las posibilidades de integración son infinitas. Los dispositivos IoT, las tiendas web, las aplicaciones, etc., pueden comunicarse y crear productos impulsados por la comunidad completamente nuevos.
Los desarrolladores apasionados por el código o los proyectos de código abierto pueden participar y crear módulos para portales. O montar hoteles Portals. Los usuarios pueden pagar a los desarrolladores con dinero para obtener la comunidad que les gusta en lugar de pagar con sus datos y obtener lo que decidan las corporaciones codiciosas y los políticos ansiosos.
Siéntase libre de descargar mi prueba de concepto en este archivo zip. Debería funcionar como está, pero no puedo garantizar nada. Es de esperar que funcione bien y que lo ayude a comenzar a crear una red social descentralizada que hará del mundo un lugar mejor y más informado.
https://freeyourdarlings.com/portals/portals.zip
La dirección de mi portal es: https://mufab.se/portals/mico/
Si desea conectarse una vez que esté en funcionamiento.
Capturas de pantalla de cuando un amigo y yo estábamos probando la prueba de concepto. Probamos mensajes, el muro y la gestión de conexiones.
Esto es en realidad una nueva publicación. Originalmente publiqué en Linkedin que es lo peor cuando se trata de exposición si has creado algo tú mismo. Su artículo tendrá una vida útil de uno o dos días y aparecerá en los feeds de sus amigos, pero luego estará escondido en algún lugar donde ni siquiera usted, como autor, puede encontrarlo. Pero si vuelves a publicar algunas citas inventadas de Elon Musk, no hay fin. La publicación perseguirá a todos tus amigos durante meses. Esa es mi percepción de Linkedin de todos modos. Puede ser que mis publicaciones no sean interesantes. Publicar aquí también será una excelente manera de comparar.