Author

Topic: Nakamoto: un nuevo cliente ligero para Bitcoin (Read 76 times)

legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
Lo que dijo d5000 sobre Electrum no es verdad. Eso fue un ataque de phishing que es lo mismo que convencerte de que bajes un cliente falso. No existió "vulnerabilidad" mas que la humana.
No entiendo en qué se contradice lo que escribiste (que es totalmente correcto) con lo que escribí yo.

El tema es que Electrum (antes de versión 3.3.3) tenía este sistema de "alertas", que daba a los servidores la oportunidad de enviar mensajes a las carteras conectadas. Esto, a mi entender, era un canal de comunicación fuera de la comunicación normal entre un "nodo completo" y un "nodo SPV" y por lo tanto una función especial de electrum-server. Entiendo que en cambio en el caso de Nakamoto este canal "especial" de electrum-server no existe, y por lo tanto este tipo de phishing no es posible.

Para citar a los desarrolladores (fuente):

Quote
To users: when you broadcast a transaction, servers can tell you about errors with the transaction. In Electrum versions before 3.3.3, this error is arbitrary text, and what’s worse, it is HTML/rich text (as that is the Qt default). So the server you are connected to can try to trick you by telling you to install malware (disguised as an update).

En lo que si tenés razón es que no se puede culpar directamente al "modelo cliente-servidor", pero este tipo de problemas aparecen cuando uno quiere meterle funciones especiales como este canal de comunicación, y lo hace vulnerable. En el caso de Nakamoto es imposible añadir un canal de comunicación de este tipo, al menos que alguien programe una versión especial de Bitcoin Core (u otro cliente "completo") diseñado para comunicarse con Nakamoto, pero según entiendo al desarrollador esto justo no es la intención sino la capacidad de usar nodos estándar.

Ahora está corregido el problema de Electrum y el peligro ya no existe.

(Yo también soy usuario de Electrum y estoy (casi) totalmente conforme, mis críticas estarían más que nada relacionadas con la amigabilidad de algunas funciones para el usuario.)
sr. member
Activity: 494
Merit: 476
Lo que dijo d5000 sobre Electrum no es verdad. Eso fue un ataque de phishing que es lo mismo que convencerte de que bajes un cliente falso. No existió "vulnerabilidad" mas que la humana.

El "ataque" consistió en un mensaje falso "haz clic aquí para actualizar" que cualquier persona con sentido común (o un sistema operativo decente) ignora. Por supuesto los de Electrum cometieron el error de permitir a los servidores mostrar esos mensajes en primer lugar, pero es un tema netamente humano y no técnico, no falló ni el SPV ni el sistema cliente servidor de Electrum.

Hombre, esto puede discutirse…

Si yo hago un programa y cometo un error consecuencia del cual los usuarios del programa sufren pérdidas (de bitcoins o de datos), no podemos decir que mi programa está libre de vulnerabilidades. Es un tema humano (porque yo he pulsado una secuencia incorrecta de teclas al programar) y también técnico (porque los usuarios sufren pérdidas). Mi programa es vulnerable a determinadas condiciones porque no se comporta como un usuario promedio esperaría.

No tiene sentido que quien confía sus monedas a un software desconfíe del mismo software cuando éste le informa de que hay una nueva versión disponible. Diría incluso que el software es la fuente de actualizaciones más fiable, seguida de cerca por la web de quien lo desarrolla. Aquí electrum rompe esta expectativa y por tanto es vulnerable a la situación en la que un servidor le devuelve un mensaje que… (inserte aquí descripción del problema).

Minutos más tarde los usuarios podrían haber descubierto el pastel al descargar la "nueva" versión y verificar la firma PGP, pero esa es otra historia…
legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
Como proyecto se ve interesante, pero apenas está en etapa inicial. Estaré pendiente ya que a futuro podría ofrecer una solución viable a Electrum,

De momento no es sabio correr a usarlo, este tipo de cosas necesitan maduración.

Lo que dijo d5000 sobre Electrum no es verdad. Eso fue un ataque de phishing que es lo mismo que convencerte de que bajes un cliente falso. No existió "vulnerabilidad" mas que la humana.

El "ataque" consistió en un mensaje falso "haz clic aquí para actualizar" que cualquier persona con sentido común (o un sistema operativo decente) ignora. Por supuesto los de Electrum cometieron el error de permitir a los servidores mostrar esos mensajes en primer lugar, pero es un tema netamente humano y no técnico, no falló ni el SPV ni el sistema cliente servidor de Electrum.

Use Electrum durante todo ese tiempo y simplemente había que ignorar los servidores que envíában ese mensaje idiota, lo cual no era particularmente difícil, en los servidores falsos no pasaban las transacciones, así que lógicamente lo cambias por uno conocido.

Por supuesto luego mejoraron la autenticación y estos servidores falsos fueron expulsados. Pero no es nada ni remotamente cercano a como dijo d5000.

Declaro que lo dicho por d5000 es total y absolutamente FALSO.
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
Me parece bastante interesante la siguiente característica:

Nakamoto talks directly to the Bitcoin P2P network, and thus doesn’t require special servers to connect to.

En el caso de Electrum por ejemplo, se requiere conectar a un servidor que corra un software especial (electrum-server), mientras que Nakamoto (con un protocolo nuevo basado en BIP 157) aparentemente puede usar a cualquier nodo de Bitcoin (Core) como fuente para las consultas sobre bloques y transacciones. Esto ayuda a prevenir vulnerabilidades como las de Electrum 3 cuando algunos usuarios de la versión para servidores hackearon a cuentas "comunes" con un ataque de phishing.

Cabe aclarar que es un nodo SPV, es decir que valida las transacciones con un método simplificado, pero que es muy difícil de engañar y por lo tanto se puede conectar a cualquier otro nodo sin saber si es confiable o no.

También es interesante que se concentraron en minimizar las dependencias de otros software, para mejorar aún la seguridad.

Todavía no hay una cartera con funcionalidad completa, es decir hasta ahora solo se puede usar para examinar otras transacciones, no para enviar transacciones. Habrá que esperar.
legendary
Activity: 3346
Merit: 3125
Interesante cliente, aun que pienso que los recursos que consume bitcoin core no es un problema del todo, el problema real radica en los casi 300GB que se requieren para poder correr nuestro propio nodo.

Voy a leer mas sobre el cliente, imagino que aparte de el bajo consumo de recursos debe de tener algunas otras ventajas. Gracias por compartir el enlace colega  Wink

Cabe aclarar que al principio pensé que sería un cliente con el nodo podado.
member
Activity: 200
Merit: 73
Work is turning your idea into things.
Quote
Nakamoto es una implementación de Bitcoin Light-Client 2 en Rust , con un enfoque en la baja utilización de recursos, modularidad y privacidad.

La visión del proyecto es construir un conjunto de bibliotecas de alta calidad y fácilmente integrables dirigidas a la funcionalidad de billetera de cliente liviana, que pueda ejecutarse en cualquier plataforma, ya sea móvil o de escritorio, mientras se preserva la privacidad del usuario.

Quote
una consideración importante para los dispositivos móviles es la eficiencia energética y de los recursos . Esto descarta implementaciones en lenguajes administrados con tiempos de ejecución pesados ​​como bitcoinJ y nos empuja hacia diseños más simples.

Finalmente, la privacidad del usuario es cada vez más importante. La privacidad influye en la elección de los protocolos del cliente y nos obliga a pensar en cómo interactúa el cliente con los nodos de la red y qué información revela.

Quote
Al desarrollar software que maneja dinero, la seguridad del software es fundamental. Los ataques dirigidos a las dependencias son quizás uno de los vectores de ataque más obvios. Uno de los pasos más importantes para evitarlo es escribir software que sea fácil de auditar. Nakamoto sigue dos principios simples:

Menos código equivale a menos errores y menos para auditar
Menos dependencias equivalen a menos piezas móviles y riesgos de seguridad potenciales

Quote
El proyecto aún se encuentra en sus inicios, aunque se implementó la funcionalidad principal y el cliente puede sincronizar de forma segura la cadena de bloques y usar filtros de bloque compactos para la funcionalidad de la billetera y la verificación de pagos.

Queda mucho trabajo por hacer antes de que Nakamoto esté listo para impulsar la próxima generación de software de cliente en la red Bitcoin y Lightning , por lo que si está interesado en protocolos peer-to-peer, Rust o Bitcoin, las contribuciones son muy bienvenidas. . Si está desarrollando un software de billetera y está interesado en usar Nakamoto, comuníquese con nosotros , me encantaría ayudarlo.

https://cloudhead.io/nakamoto/
Jump to: