Redes en criptomoneda [cerrado]

Estoy aprendiendo y tratando de implementar mi propia criptomoneda y estoy pensando en cómo podría lograr las conexiones entre pares.

Leí que bitcoin está usando semillas de DNS para descubrir usuarios. En tal caso, cuando se ejecuta un nodo completo en el hogar, uno debe configurar su enrutador para reenviar el puerto, el firewall, etc.

¿Qué opinas de la tecnología webRTC? ¿Crees que esta podría ser una buena forma de resolver la red p2p? En este caso, no se necesita la configuración del enrutador y el firewall está bien.

¿Ve algunos pros/contras de estos enfoques?

¿Qué tiene que ver el reenvío de puertos y los cortafuegos con las semillas de DNS? Esas son dos cosas completamente ajenas. Incluso sin las semillas de DNS, aún necesita reenviar el puerto.
bueno, estoy tratando de decir que así es como se descubren los pares en bitcoin. Y si quiero, por ejemplo, ser un nodo completo, necesito configurar el firewall y el enrutador. ¿Lo entiendo correctamente?
No, no necesita configurar su enrutador y firewall para ejecutar un nodo completo. Contrariamente a la creencia popular, los nodos completos no necesitan aceptar conexiones entrantes. Si solo realiza conexiones salientes, todavía está ayudando a la red porque todavía está recibiendo, verificando y retransmitiendo bloques y transacciones.
Eso es cierto, ¿simplemente implemento la conexión desde el cliente (inicio) a los nodos públicos? pero ¿qué pasa si todos los nodos están detrás de nat(homes) ? Entonces debo configurarlo hm?

Respuestas (2)

Para lidiar con WebRTC, debe comprender SIP, que ya es un gran problema. Una vez que entiendes SIP, sabes que necesitas un servidor. Muchos servidores. Lea más aquí https://bloggeek.me/webrtc-not-p2p/ Suena como totalmente alejado de Crypto.

No entiendo Boris... Solo necesito el servidor de aturdimiento y el servidor de señalización para conocer a los usuarios actualmente conectados, que es similar a esas direcciones de bitcoin para iniciar la conexión ¿No es correcto?
Pero, ¿dónde está la descentralización? ¿Qué pasa si hago DDOS 2 en tus servidores?
Tal vez sería posible hacer el servidor de señalización en cada nodo que esté conectado. Sólo de pensar. Entonces, ¿crees que no es una buena idea usar webRTC para tal cosa?
No creo que sea lo suficientemente seguro y anónimo (ya que fue desarrollado para otro propósito) para ser utilizado en criptografía.
por lo que su propósito es intercambiar medios, datos... Entonces sugeriría usar la semilla DNS... lo que significa que si alguien quiere usar mi aplicación, debe configurar su enrutador para reenviar el puerto, ¿verdad? En el papel de bitcoin, dicen, ese núcleo intenta reconfigurar el enrutador. ¿Es posible enviar una solicitud de puerto de reenvío mediante programación? gracias boris
Puede usar ubuntu simple en Digital Ocean o similar (donde tiene direcciones IP públicas). No es necesario seguir sembrando en casa.

Leí que bitcoin está usando semillas de DNS para descubrir usuarios. En tal caso, cuando se ejecuta un nodo completo en casa, uno debe configurar su enrutador para reenviar el puerto, el firewall, etc.

Eso no es cierto para las billeteras al menos. Ciertamente puede ejecutar Bitcoin-core sin configurar el reenvío de puertos o cambiar las reglas del firewall.

¿Qué opinas de la tecnología webRTC?

Parece diseñado para comunicaciones en tiempo real entre navegadores web.

Eso significa que no es una buena opción para las redes de criptomonedas que funcionan como Bitcoin.

  • No necesita comunicaciones en tiempo real: la previsibilidad de los tiempos de respuesta no es crítica.

  • Probablemente no desee estar restringido a comunicaciones basadas en navegador oa soluciones optimizadas para navegadores.

Entonces, para billeteras (SPV) no lo configuro, pero aún así tengo que comunicarme con el nodo completo. ¿Cómo sugeriría establecer una conexión entre el nodo completo y el SPV (nodo ligero)?
@dtechlearn: probablemente seguiría el modelo de SPV definido en el documento técnico de Bitcoin y bip-0037 , etc.