- Volver al menú
- Volver al menúPrecios
- Volver al menúInvestigación
- Volver al menúConsenso
- Volver al menú
- Volver al menú
- Volver al menú
- Volver al menúWebinars y Eventos
El debate sobre la lista negra: ¿cuándo está bien manipular el código de Bitcoin?
Un desarrollador que incluyó en la lista negra sitios web de juegos de azar con código de Bitcoin personalizado ha generado polémica y ha suscitado algunas preguntas interesantes.
Una polémica que estalló en Internet este mes ha planteado una pregunta importante sobre Bitcoin: ¿debería permitirse a las personas codificar sus propias reglas, e incluso opiniones, en sus propias versiones del software que ejecuta la red?
El debate se inició entre los usuarios deGentoo– una variante del sistema operativo Linux que se enorgullece de ser altamente configurable para adaptarse a diferentes requisitos de los usuarios. – cuando un usuarioreportó un problemaen el foro de errores de Gentoo el 5 de octubre.
La versión de bitcoind (el cliente de referencia oficial para interactuar con la red Bitcoin ) distribuida con Gentoo estaba bloqueando determinadas direcciones Bitcoin , decía el informe, lo que significa que las transacciones con ellas no funcionarían.
La publicación mostró que la salida de Gentoo bloquea una transacción con unSatoshiDicedirección que había sido incluida en la lista negra.
“PEBCAK”, respondió Luke_Jr (que significa «Hay un problema entre la silla y el teclado»). “No hay señales de que algo esté roto. LOOKS un troll. Estado: ¿NO VÁLIDO o FUNCIONA PARA MÍ?”
Y así comenzó la tormenta de fuego.
'Spam' la cadena de bloques
Luke_Jr esLuke Dashjr, un desarrollador que administra su propio grupo de minería y tienese presentó a las elecciones Miembro de la junta directiva de la Fundación Bitcoin . También mantiene paquetes de software para Gentoo y colabora con el equipo de desarrollo CORE de Bitcoin .
Dashjr había escrito un parche para la versión de bitcoind de Gentoo que ponía en la lista negra específicamente las direcciones de Bitcoin utilizadas por varios sitios, la mayoría de los cuales eran sitios de apuestas:SatoshiDice,BitcoinDice,Satoshibones, y LuckybitTambién bloqueó direcciones operadas porMastercoin, y Contraparte. Y la dirección discutidaaquíComo un ataque de spam en la red también estaba en la lista negra.
Se puede encontrar una lista de códigos para el parcheaquí.
Dashjr argumentó que codificó la lista negra en su parche porque sitios como SatoshiDice usan la cadena de bloques de Bitcoin de manera perjudicial. SatoshiDice y algunos otros sitios de apuestasutilizar la cadena de bloquespara devolver el resultado de una apuesta. Esto crea un gran número de pequeñas transacciones en la red, lo que puede ponerla bajo presión.
En la discusión posterior en el foro de errores, Dashjr llamó a este modelo un "Ataque DDoS a la red BitcoinLos sitios que operan de esta manera encarecen la gestión de un nodo de Bitcoin al generar transacciones de la forma más ineficiente posible, declaró a CoinDesk. Por ello, incluyó la lista negra en un parche diseñado para combatir el spam en la cadena de bloques.
Dashjr explicó:
Si bien aún no tenemos una solución definitiva para este problema, la mayoría se pueden identificar reutilizando direcciones específicas, por lo que ideé un truco QUICK para filtrarlos según ese criterio. Obviamente, este truco no es apropiado para el código de referencia, pero es una forma sencilla de mejorar el filtro de spam en producción hasta que se implemente una solución más eficaz (que luego podría proponerse como una Request de fusión y publicarse posteriormente con el código de referencia).
Divulgación de cambios
El cambio de Dashjr fue una implementación externa del código de Bitcoin CORE . Esto contrasta con un cambio "de origen" a la versión de referencia oficial del código, que solo puede ser aprobado por unos pocos miembros de la comunidad de desarrollo de Bitcoin CORE . Sin embargo, generó una respuesta diversa.
Parte del problema, como lo sugirió el desarrollador de Bitcoin CORE, Mike Hearn, en un Chat IRC para desarrolladores de BitcoinLa Aviso legal fue insuficiente. El parche se activó por defecto en la última actualización del software.
Hearn dijo:
“Si quieren distribuir bitcoind con parches como el de Luke (que cambian el comportamiento de maneras bastante fundamentales), entonces deberían hacer una bifurcación original con un nuevo nombre, para que siempre estén seguros de lo que están obteniendo”.
Dashjr admitió que podría haber proporcionado una mejor documentación de lo que hacía el parche. Cuando los usuarios actualizaban su software Gentoo, habrían visto un mensaje indicando que se estaba instalando un parche para bitcoind, dijo, y agregó:
Desafortunadamente, parece que no todos los usuarios se dieron cuenta de esto, y algunos incluso se sintieron engañados. Además, no documenté adecuadamente la opción, por lo que otros usuarios desconocían que ampliaba el filtro de spam con la coincidencia de direcciones (de hecho, cuando añadí el parche al paquete Gentoo, yo mismo lo había olvidado).
En el futuro, intentaré mejorar la documentación y la concienciación de los usuarios para que obtengan lo que esperan.
Dashjr publicó undisculpa públicay desactivó el parche por defecto, además de separar la gestión de spam como un parche aparte. Para algunos usuarios indignados, todo vuelve a estar bien en el mundo de Gentoo.
Preguntas más profundas
Sin embargo, la discusión planteó algunas preguntas interesantes. Algunos en el foro de discusión de errores de Gentoo reflexionaron sobre que codificar una lista negra de direcciones en una implementación de Bitcoin constituye censura, y preguntaron hasta dónde llegaría eso y quién decidiría qué se incluiría en la lista negra o no.
¿Es correcto intentar codificar sus propias reglas sobre cómo funcionará algo en una versión del software de Bitcoin ?
Eso depende, dijo Gregory Maxwell, miembro del equipo de desarrollo CORE de Bitcoin , explicando:
Algunas partes de Bitcoin deben coincidir exactamente, BIT a BIT, en todos los nodos de la red; de lo contrario, el sistema no funciona. Las llamamos "reglas de consenso" y abarcan cuestiones como: "¿Es este bloque válido o no? Es técnicamente peligroso para el sistema cualquier desacuerdo o diversidad en las reglas de consenso".
Otras cosas son simplemente mejores si son bien conocidas y mayormente uniformes, añadió, pero no tienen por qué coincidir estrictamente. Esto incluye aspectos como qué transacciones retransmitirá un nodo.
Maxwell se refiere a estos aspectos como "Regulación". Cierta diversidad es útil en este nivel, afirmó, porque puede proteger la red de ataques a gran escala. Si hay demasiada diversificación, puede perjudicar la experiencia de los usuarios de Bitcoin . "Pero la diversidad en este caso no puede destruir el sistema", enfatizó.
Aunque Maxwell no estaba de acuerdo personalmente con el parche de Dashjr, señaló que era solo su Opinión. La gente debería poder ejecutar lo que quiera en sus nodos de Bitcoin . Después de todo, bitcoind se distribuye bajo una licencia de software libre del MIT que otorga a los desarrolladores esa capacidad.
Mirando hacia adelante
En el futuro, a Dashjr le gustaría ver una variable codificada en Gentoo que permita instalar diferentes parches con diferentes políticas en el sistema operativo.
Él dijo:
“Esas políticas seguirían siendo parches y no estarían codificadas directamente en el código de referencia (que se convertiría en una opción de Regulación estándar)”.
Dashjr también está trabajando en una extensión de Bitcoin CORE que trasladaría todas las decisiones Regulación a una nueva "clase". En el documento adjunto discusión en línea Para esta bifurcación, aboga por tener nodos de Bitcoin con múltiples políticas.
Mike Hearn adopta una línea más dura respecto de ejecutar código personalizado que valide las transacciones de Bitcoin a su manera, argumentando que sólo porque una licencia te permite hacer algo no significa que debas hacerlo:
Luke promueve la idea de una Regulación, pero no puede haber una Regulación en la gestión de transacciones de Bitcoin . Si los mineros o los comerciantes divergen, el resultado es fraude en los pagos. Esto no es aceptable, ya que el propósito de Bitcoin es bloquear el doble gasto.
Dashjr argumenta que puede ser peligroso si las personas modifican o reimplementan el código de consenso de Bitcoin y dalibbitcoin y btcdComo ejemplos. No cree que se deban detener los experimentos con código de consenso, siempre y cuando la gente sea consciente de los peligros.
Él no considera que los experimentos con cambios de Regulación sean peligrosos, argumentando en cambio que son beneficiosos.
"Se esperan cambios de Regulación en particular de los nodos, especialmente de los mineros, y el código de referencia para la Regulación se mantiene intencionalmente bastante conservador y realmente no está destinado a usarse tal cual", dijo.
Cuando reciclar es malo
Tal vez tengan que aceptar que no están de acuerdo, pero hay otra cuestión en juego: las direcciones de Bitcoin reutilizadas.
Muchos sitios que agregan material a la cadena de bloques, como SatoshiDice, reutilizan direcciones de Bitcoin y muchos desarrolladores, incluidos Dashjr y Maxwell, considere esto como algo maloDespués de todo, las direcciones reutilizadas fueron las que permitieron a Dashjr bloquear ciertos sitios.
Si una organización o un individuo reutiliza continuamente una dirección de Bitcoin , será más fácilmente identificable en la red y también será más fácil identificar a las personas que realizan transacciones con ellos.
Eso puede acarrear todo tipo de problemas, advierte Maxwell, incluida la censura. Al fin y al cabo, así fue como Dashjr identificó los sitios que debían incluir en la lista negra.
Si la reutilización de direcciones prolifera entre los bitcoiners, entonces la censura mediante parches como el de Dashjr será la menor de sus preocupaciones, advierte Maxwell.
Él explicó:
Si las personas usan Bitcoin de forma perezosa y fácilmente censurable, reutilizando direcciones (que siempre se diseñaron para ser de un solo uso), se genera un grave riesgo sistémico, ya que alguien podría intentar ordenar a los nodos, desarrolladores o mineros que censuren el sistema.
Educar a la gente y crear mejores herramientas es una forma de mitigar el problema, sugirió Maxwell. Pero ¿qué pasa con la lista negra de parches de Dashjr?
"Comprendo la lógica de que la gente corrija su vulnerabilidad atacándola", concluyó. "Quizás sea efectivo, pero atacar a la gente no es algo que apoyo".
Lista negraimagen vía Shutterstock
Danny Bradbury
Danny Bradbury ha sido escritor profesional desde 1989 y ha trabajado como freelance desde 1994. Cubre temas de Tecnología para publicaciones como The Guardian.
