Sr.Mojón
Madmaxista
- Desde
- 30 Mar 2011
- Mensajes
- 15.823
- Reputación
- 47.216
Estas mezclando cosas antiguas, como la existencia de gestores fijos, con nuevas por lo que es muy difícil contestarte.
Bien, pues empieza contestando lo más básico: ¿cómo sabe un nuevo nodo que acaba de conectarse a la red MaidSafe que se ha conectado a la red legítima y no a una subred plagada de nodos maliciosos?
Esa es una de mis dudas fundamentales
Vayamos a lo básico.
¿Quien a dicho que no tienes que trabajar en la red SAFE?
Si quieres ser un Vault, lo que supone la posibilidad de poder gestionar datos y la posibilidad de ganar safecoin, tienes que, no solo dar espacio a la red sino memoria y calculo, o sea TRABAJO. Si solo quieres ser un cliente no darás espacio a la red y se te permitirá bajar datos pero cualquier guardado de datos, mensajería, dns o dato estructurado (en principio parece que estarán excluidas las tras*ferencias de safecoin) tendrás que pagarlas, es decir pagarás para que otro TRABAJE.
De acuerdo. Para ganar el estatus de "Vault", mi nodo tendrá que aportar espacio de almacenamiento eso lo tengo claro, pero... ¿cálculo? ¿para qué? ¿Qué tipo de cálculo? y más importante ¿Cómo pueden comprobar el resto de nodos de la red de una forma fiable que he efectuado dichos cálculos?
Mi nodo puede comenzar a hacer esos cálculos y parar en cualquier momento. ¿Cómo supera la red el problema de los generales bizantinos a la hora de consensuar qué nodos han dejado de aportar "cálculos" y qué nodos siguen haciéndolo?
Corolario 1. En la red SAFE todo almacenamiento de datos paga y todos los Vault trabajan cobrando por ello.
Espera. Aportar espacio de almacenamiento no implica el aporte de "trabajo". ¿A qué tipo de trabajo te refieres?
Para atacar a la red debes hacerlo a través de sus datos y para hacerlo necesitas ser un Vault, si lo intentas hacer como cliente solo conseguirás que se te expulse sin poder dañar los datos, y para ser un Vault tienes que trabajar.
De nuevo, me surgen las mismas dudas. ¿Cómo consensúa la red quién ha ascendido a la categoría de "Vault" y quién la ha perdido? ¿Con qué periodicidad se actualiza ese consenso, esto es, con qué periodicidad se logra alcanzar un consenso sobre la situación de estado del sistema y se tras*mite dicha información al total de nodos? ¿Cómo puede un nodo (aunque sea un simple nodo con categoría de cliente) recién conectado al sistema saber de forma fiable que se ha conectado a "Vaults" legítimos?
Razón por lo que intentar atacar a la red creando Vaults es costoso.
De hecho es doblemente costoso porque necesitas hacer un doble trabajo. Por un lado trabajar como Vault, dando espacio de disco, procesador y memoria a la red y trabajar para el atacante dando continuamente datos sobre tu estado ya que el ataque solo se podrá producir cuando se den ciertas circunstancias precisas.
¿Cuáles son dichas circunstancias precisas?
Esa es la razón por la que necesitas una enorme potencia de calculo, de hecho deberá ser varias veces superior a la suma del trabajo conjunto de todos los Vaults.
De nuevo, ¿potencia de cálculo para qué? ¿Cómo almacena y retransmite la red al conjunto de sus nodos información fiable sobre cuánta potencia de cálculo ha aportado cada nodo al sistema? ¿Cómo puede un nodo recién conectado recibir dicha información sobre el trabajo que cada nodo ha efectuado para la red?
Corolario 2. Para intentar atacar la red no basta con ser un nodo, necesitas ser Vault.
De nuevo, las mismas preguntas de siempre ¿cómo almacena y tras*mite al resto de nodos la red la información sobre quién alcanza el estatus de Vault? ¿Cómo puede comprobar un nodo recién llegado que aquellos nodos que se han autodesignado como Vaults, lo han hecho a través de un proceso tras*parente y escrutinizable sin que tenga la necesidad de depositar confianza en un tercero?
La red SAFE no utiliza el tiempo mas que como vector interno. El tiempo, en global, es un Alien en la red SAFE y como tal no existe.
Entonces, ¿como se elegían a los mejores gestores? Pues con un calculo muy sencillo, se contaban las peticiones realizadas a cada nodo y se restaban aquellas que eran erróneas, cuanto mas alto era el numero significaba que el nodo era mas confiable y llevaba mas tiempo sin desconectarse. Simple y eficaz. (Este tipo de soluciones, ingeniosas y sencillas son bastante corriente y es una de las cosas que mas me gusta de la red).
Bien, pues entonces sigo con mis preguntas. ¿Dónde y cómo se almacena esa información sobre las peticiones realizadas a cada nodo, junto a aquellas que han resultado erróneas? ¿Cómo puede comprobar un nodo nuevo que acaba de conectarse al sistema que dicho historial de peticiones que ha recibido cada nodo es legítimo y que, por lo tanto, los datos sobre fiabilidad de los nodos que le acaban de llegar a través de alguno de sus pares es el mismo que comparte el resto de la red?
De todas maneras con la desaparición de los Vault permanentes el ranking ya no se utiliza ya que se presupone que los datos guardados no durarán mucho tiempo en el mismo Vault ya sea por abandono o churn.
Creo que la no facilidad de crear nodos venenosos ya está explicada arriba y se comprende mejor el incremento de nodos por grupo o los Vault no permanentes.
¿Tienen los Vaults algún tipo de limitación a la hora de establecer conexiones con nodos "cliente"? O sea, sería posible que un montón de nodos no-Vaults pudieran ocupar completamente las conexiones de un nodo Vault o existe un mínimo de conexiones que deben reservarse para velar que los Vaults no puedan quedarse aislados entre ellos?
Lo que me extraña enormemente son tus conclusiones, ¿De verdad creías que algo tan evidente como un ataque por creación de nodos no estaba considerado desde el primer momento? ¿O consideras a todos los Devs. y a los que seguimos Maidsafe totalmente petulantes?
¿No puedo hacer preguntas? Yo no he considerado a nadie de aquí como petulante. Lo que sí que pienso es que, afirmaciones extraordinarias, requieren pruebas extraordinarias. Y, hasta hoy, la única forma que se conocía de poder establecer un consenso sobre el estado de un sistema de forma descentralizada y fiable era mediante la cadena de bloques. Maidsafe asegura haber resuelto ese mismo problema, sin necesidad de la cadena de bloques. Eso es algo extraordinario y, por ello, realizo tantas preguntas. Espero que no te molesten porque no es mi intención. Lo que quiero es que alguien me las responda.
La terminología de "doble gasto" ya me repele enormemente porque supone estar pensando en la blockchain en lugar de una red basada en un gestor de datos como es la red Safe. La pregunta correcta debiera ser "¿como sé que los que guardan mis safecoin no me los van a robar o destruir?".
Pues no. Según mi opinión, esa no es la pregunta correcta. Para mi la pregunta correcta es: ¿cómo puedo saber que el pago de safecoins que he recibido se ha realizado en la red principal (y por lo tanto el total de nodos del sistema consideran que soy el legítimo propietario de ellos) y no en una pequeña subred que hubiera podido quedar aislada temporalmente (por cualquier motivo) de la red principal?
Pues poniendo a un grupo de desconocidos entre sí vigilando que no lo hagan. Los desconocidos son metidos en una habitación y se necesitarían poner de acuerdo a la mayoría de ellos para poder robártelo. Cada poco tiempo, ademas, uno de los desconocidos sale y entra uno nuevo para evitar que congenien entre ellos. De hecho no bastaría que en ese grupo se pusieran de acuerdo para robar porque necesitarían robar también otras dos copias que están guardadas en otras dos habitaciones, no saben donde, custodiada, cada uno de ellos, por otros grupos de desconocidos.
Lo que me estás describiendo es exactamente el dilema de los generales bizantinos, cuya única solución factible (con restricciones) que se conoce conlleva la necesidad de aportar una prueba de trabajo que sea tras*parente y escrutable al mismo tiempo por cualquier nodo que forme parte de la red.
¿Por qué? Pues porque esos nodos desconocidos necesitan, de forma periódica, un consenso sobre dónde están las safecoins (el estado del sistema).
Y yo la única forma que conozco de resolver ese dilema de forma descentralizada es la que ofrece Bitcoin.
elemento, te veo muy pez en este tema, creía que tenias alguna idea más clara sobre Maidsafe pero lo del "sistema del ranking de nodos" me ha dejado descolocado.
¿Pez? Es posible. Por eso lanzo preguntas sobre el funcionamiento del sistema.
El problema es que, aunque muy básicos, mis conocimientos de física y matemáticas son bastante tozudos. Me explico.
Según la física básica la tendencia natural de los sistemas es la de alcanzar su máximo de entropía y, según la teoría de la información, la entropía en un sistema informático tiene mucho que ver con la incertidumbre de dicho sistema.
Por tanto, la única forma de mantener en funcionamiento un sistema como MaidSafe (y cualquier otra criptomoneda) es la de ir aportándole energía para ir reduciendo su tendencia a incrementar la entropía, esto es, de incrementar la incertidumbre. Pero esa no es la única energía que requiere. Si el sistema permite la libre entrada y salida de información (nodos), entonces, además requiere de algún sistema que permita periódicamente a los componentes comprobar y compartir el estado del sistema. Y eso es un problema de generales bizantinos cuya única solución conocida (aunque con restricciones) requiere del encadenamiento de pruebas de trabajo (cadena de bloques).