{"id":1587,"date":"2022-01-26T09:30:56","date_gmt":"2022-01-26T13:30:56","guid":{"rendered":"https:\/\/bitblioteca.com\/?p=1587"},"modified":"2022-02-17T17:50:57","modified_gmt":"2022-02-17T21:50:57","slug":"la-batalla-por-p2sh-la-historia-no-contada-de-la-primera-guerra-de-bitcoin","status":"publish","type":"post","link":"https:\/\/bitblioteca.com\/la-batalla-por-p2sh-la-historia-no-contada-de-la-primera-guerra-de-bitcoin\/","title":{"rendered":"La batalla por P2SH: La historia no contada de la primera guerra de bitcoin"},"content":{"rendered":"
La saga de P2SH muestra la distintiva comunidad de desarrolladores de Bitcoin, la dificultad para realizar tales cambios y el tono de los debates de protocolo que se avecinan.<\/span><\/p>\n \u201cRetrasa la fecha dos meses. OP_EVAL todav\u00eda no est\u00e1 listo”.<\/strong><\/em><\/p>\n<\/blockquote>\n Era el veredicto que Gavin Andresen hab\u00eda trabajado durante tanto tiempo para evitar. Con una sola reprimenda enviada desde el teclado de Russell O\u2019Connor, un esfuerzo de meses para actualizar Bitcoin, el primero tras la salida del fundador Satoshi Nakamoto, se estanc\u00f3 abruptamente antes de la implementaci\u00f3n.<\/span><\/p>\n Como revel\u00f3 O’Connor, el comando propuesto, anunciado por Andresen como el “camino m\u00e1s r\u00e1pido” hacia carteras Bitcoin m\u00e1s seguras, podr\u00eda explotarse para crear transacciones que enviar\u00edan el software a un <\/span>loop<\/span><\/i> computacional infinito en un intento de validarlas.<\/span><\/p>\n En resumen, se podr\u00eda abusar de OP_EVAL para bloquear los nodos de Bitcoin y, por lo tanto, la red de Bitcoin.<\/span><\/p>\n “Me tom\u00f3 70 minutos de b\u00fasqueda encontrar este error”<\/strong>, escribi\u00f3 O’Connor, condenando un proceso que hab\u00eda fusionado \u2013y casi empujado\u2013 c\u00f3digo incorrecto al software vivo. “Ustedes deben dejar de hacer lo que est\u00e1n haciendo y comprender realmente Bitcoin”<\/strong>.<\/span><\/p>\n<\/blockquote>\n Fue el primer rev\u00e9s serio para Andresen, el nuevo l\u00edder del proyecto, que se apresur\u00f3 a protestar. En su opini\u00f3n, abandonar OP_EVAL no solo desperdiciar\u00eda meses de codificaci\u00f3n y revisi\u00f3n, dejar\u00eda a los usuarios sin herramientas para protegerse contra los troyanos y virus que luego saquear\u00edan sus monederos digitales.<\/span><\/p>\n Este era el n\u00facleo del atractivo de OP_EVAL: las carteras f\u00e1ciles con m\u00faltiples firmas permitir\u00edan a los usuarios recuperar sus bitcoin, incluso cuando se perdieran las copias de seguridad; se podr\u00edan crear servicios para enviar alertas similares a las de un banco, disuadiendo el fraude y el robo; y mejor a\u00fan, todo esto podr\u00eda lograrse en transacciones que se ver\u00edan y se comportar\u00edan como esos usuarios conoc\u00edan y entend\u00edan.<\/span><\/p>\n Pero las palabras de advertencia de O’Connor fueron suficientes para aquellos que hab\u00edan visto validadas sus preocupaciones sobre el ritmo creciente del desarrollo.<\/span><\/p>\n \u201cMe gustar\u00eda recordarles a todos que estamos jugando con una cosa de m\u00e1s de 20 millones de d\u00f3lares\u201d<\/strong>, escribir\u00eda el desarrollador Alan Reiner. “Hay m\u00e1s que una simple pieza de software en juego: todo lo que ingrese debe ser tan duro como un diamante”.<\/strong><\/span><\/p>\n<\/blockquote>\n El fracaso de OP_EVAL tendr\u00eda a\u00fan mayores implicaciones. Era cierto que Nakamoto hab\u00eda lanzado la primera moneda digital descentralizada del mundo, pero su promesa estaba lejos de cumplirse. A fines de 2011, pocos entend\u00edan su c\u00f3digo y menos a\u00fan pose\u00edan la habilidad y la familiaridad para salvaguardarlo.<\/span><\/p>\n \u00bfC\u00f3mo deber\u00edan organizarse estos desarrolladores? \u00bfQu\u00e9 responsabilidades ten\u00edan con los usuarios? \u00bfY c\u00f3mo promulgar\u00edan el cambio cuando no estuviera claro qui\u00e9n \u2013si es que alguien\u2013 deber\u00eda tener la \u00faltima palabra?<\/span><\/em><\/p>\n Estas preguntas pronto pasar\u00e1n a primer plano en la primera gran batalla por el software de Bitcoin.<\/span><\/p>\n <\/p>\n Los proyectos gratuitos y de c\u00f3digo abierto suelen estar dirigidos por fundadores, quienes a su vez deben alinear los esfuerzos con los contribuyentes de quienes depende su trabajo. Aun as\u00ed, cuando surgen disputas de direcci\u00f3n, est\u00e1n imbuidos de una autoridad natural para actuar como tomadores de decisiones para sus creaciones.<\/span><\/p>\n Bitcoin, al principio, no fue una excepci\u00f3n. Durante los primeros dos a\u00f1os de su existencia, Nakamoto desempe\u00f1\u00f3 el papel de desarrollador l\u00edder y dictador benevolente. Como l\u00edder indiscutible de Bitcoin, promulg\u00f3 hasta ocho cambios de protocolo sin parecerse mucho a un discurso m\u00e1s amplio [1]. Es decir, hasta que poco a poco se alej\u00f3 del proyecto.<\/span><\/p>\n A finales de 2010, Nakamoto borrar\u00eda su seud\u00f3nimo del sitio web Bitcoin.org, dejando al veterano desarrollador de gr\u00e1ficos 3D Gavin Andresen para reclamarse como el “l\u00edder de facto” del proyecto [2].<\/span><\/p>\n La elecci\u00f3n de palabras preferida por Andresen fue apropiada, ya que las circunstancias que rodearon esta transici\u00f3n fueron inusuales, equivalentes a un breve mensaje p\u00fablico, un traspaso privado de deberes y el intercambio de una clave que permite al usuario enviar un mensaje de alerta en todo el sistema.<\/span><\/p>\n Aun as\u00ed, en ese momento, esto plante\u00f3 pocas dificultades para el peque\u00f1o pero creciente grupo de desarrolladores de Bitcoin. La mayor\u00eda estaban preocupados por las soluciones cr\u00edticas, y Andresen, el esposo de una profesora titular, tuvo el tiempo y el entusiasmo para dirigir el trabajo [3].<\/span><\/p>\n De hecho, hab\u00eda muchas necesidades urgentes – sincronizaci\u00f3n m\u00e1s r\u00e1pida, mejores pruebas – pero el “aumento de informes de carteras robadas” y las “malas relaciones p\u00fablicas” que causaron los robos r\u00e1pidamente surgieron como una de las principales preocupaciones.<\/span><\/p>\n Durante un tiempo, fue un objetivo en el que toda la nueva banda de contribuyentes de Bitcoin parec\u00edan estar de acuerdo[4].<\/span><\/p>\n <\/p>\n Afortunadamente, Nakamoto hab\u00eda proporcionado el plan de una soluci\u00f3n. Como aprender\u00eda Andresen, el c\u00f3digo de Bitcoin ya permit\u00eda a los usuarios crear transacciones seguras que solo pod\u00edan gastarse cuando se firmaban con varias claves privadas [5].<\/span><\/p>\n Con firma m\u00faltiple, o multifirma (<\/span>multisig<\/span><\/i>) para abreviar, las llaves privadas podr\u00edan almacenarse en m\u00faltiples dispositivos, en extremos opuestos del mundo, o compartirse entre un usuario y un servicio de carteras, lo que significa que los <\/span>hackers<\/span><\/i> tendr\u00edan que comprometer m\u00faltiples objetivos para robar las monedas.<\/span><\/p>\n Enamorado de la idea, Andresen se convertir\u00eda en su primer campe\u00f3n, escribiendo una s\u00faplica apasionada en la lista de correo para inspirar a los colaboradores a la acci\u00f3n.<\/span><\/p>\n “Mi mayor preocupaci\u00f3n es que diremos, ‘Claro, solo tomar\u00e1 un par de d\u00edas acordar c\u00f3mo hacerlo bien’, y dentro de seis meses todav\u00eda no habr\u00e1 consenso”<\/strong>, escribi\u00f3 [6]. Y las carteras de las personas [seguir\u00e1n] perdi\u00e9ndose o siendo robadas”.<\/span><\/p>\n<\/blockquote>\n Las preocupaciones no carec\u00edan de peso: tal como lo implement\u00f3 Nakamoto, la funci\u00f3n <\/span>multisig<\/span><\/i> ten\u00eda importantes inconvenientes. El m\u00e1s urgente de ellos fue que las transacciones eran incompatibles con el formato de direcci\u00f3n est\u00e1ndar de Bitcoin y, en cambio, requer\u00edan direcciones mucho m\u00e1s largas.<\/span><\/p>\n Debido a esto, las transacciones que financiaban las carteras multifirma eran mayores y requer\u00edan tarifas m\u00e1s altas. Es m\u00e1s, estas tarifas deb\u00edan ser pagadas no por la persona que recib\u00eda bitcoin con la billetera multifirma, sino por la persona que les enviaba bitcoin.<\/span><\/p>\n Debido a estas propiedades sub-\u00f3ptimas, las transacciones de firma m\u00faltiple se designaron como “no est\u00e1ndar” en el software, lo que significa que no necesariamente se propagar\u00edan a los nodos de la red. Si un nodo recibi\u00f3 una transacci\u00f3n de firma m\u00faltiple, simplemente la ignorar\u00eda. Del mismo modo, no hab\u00eda garant\u00eda de que los mineros incluir\u00edan estas transacciones en bloques.<\/span><\/p>\n Si estuvieran incluidos, los nodos los aceptar\u00edan (las transacciones multifirma eran finalmente v\u00e1lidas). Pero en la pr\u00e1ctica, la designaci\u00f3n hizo que fuera casi imposible confirmar estas transacciones.<\/span><\/p>\n <\/p>\n Para desbloquear el potencial que vio, Andresen continuar\u00eda promoviendo un nuevo “c\u00f3digo de operaci\u00f3n” (op-code), un tipo de comando que los nodos podr\u00edan usar para decidir si los nuevos tipos de transacciones deber\u00edan ser v\u00e1lidos y cu\u00e1ndo.<\/span><\/p>\n Dise\u00f1ado para adaptarse a transacciones m\u00e1s avanzadas como <\/span>multisig<\/span><\/i>, OP_EVAL se apoy\u00f3 en gran medida en los <\/span>hashes<\/span><\/i>, el truco criptogr\u00e1fico que codifica y comprime datos de forma determinista, pero irreversible, en una \u00fanica secuencia de n\u00fameros.<\/span><\/p>\n\n
\n
\n
Una sucesi\u00f3n poco ortodoxa<\/h3>\n
Multifima b\u00e1sico<\/h3>\n
\n
Enter<\/i><\/b> OP_EVAL<\/b><\/h3>\n