@arbusto is on PowPing!

PowPing is a place where you can earn Bitcoin simply by socializing, for FREE.
Never tried Bitcoin? It's OK! Just come, socialize, and earn Bitcoin.
Check out arbusto's activities
Total Economy: 0.22 USD

Wallets

Si llegas nuevo a este, nuestro "criptomundo" y quieres adquirir unas cuantos "bitcoins de esos", seguramente te habrán dicho que tienes que bajarte una cartera (wallet), y casi seguro que esa cartera te pide que te guardes 12 o 24 palabras que de perderlas, supondría la pérdida de los fondos. 

¿Qué es esto de las carteras? ¿cómo funcionan? Pues realmente han ido evolucionando con el tiempo y son preguntas que conviene detenerse y entender a fin de evitar cometer errores que supongan dolores de cabeza. 

Las wallets en un primer momento eran meros archivos de datos en los que se incluían las claves públicas y privadas que se iban generando cada vez que recibías una tx, ya sea de un tercero o tu dirección de cambio.  Donde la clave pública va a ser donde se depositan tus utxos y la clave privada te va a permitir desbloquearlos para moverlos.  Estos archivos solían llamarse "wallet.dat" y simplemente contenían claves privadas y públicas, con el molesto inconveniente de que debías realizar "backups" continuamente a fin de no perder ninguna clave que supusiese pérdida de fondos.  

Satoshi explicó que para aumentar la privacidad en Bitcoin debíamos generar un nuevo par de claves para cada transacción que queramos recibir, eso aumenta la protección de tus datos financieros al no estar asociados tus utxos entre sí.  Pero esto es imposible si el que va a recibir la transacción no está online y no le puedes pedir una nueva dirección.   Por otra parte si está online y le pides una dirección nueva para la transacción que le vas a efectuar, tanto te arriesgas a un ataque "man in the middle" en el que el atacante dará su dirección o clave pública en lugar de la tuya; como el que recibe la transacción se encuentra con la obligación de realizar un guardado de esos datos para no perder los fondos. 

Como consecuencia la gente utilizó durante mucho tiempo Bitcoin, y algunos aún siguen con las malas prácticas, de una forma no privada, reutilizando sus direcciones una y otra vez y ciertos desarrolladores entendieron que era un fallo del sistema y que debía ser arreglado de una forma u otra.

En un momento dado apareció el BIP 32 exponiendo las "carteras deterministas" que consiste en generar una clave privada especial que por decisión del algoritmo comenzará con un "Xpriv" y que genera una "Xpub" con la que podrás generar infinidad de claves privadas y públicas que finalmente son donde se depositarán los utxos que vayas recibiendo.  No es mi propósito explicar las matemáticas que ello implica, porque si he de ser sincero, no me creo capaz... pero el caso es que al nivel más básico funciona así, y para el resto os podéis leer el BIP 32 aquí https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

Con una Xpriv (la clave privada "especial" y sobre la que debemos guardar también "especial" cuidado en guardar) y el camino de derivación elegido, podemos recrear infinidad de direcciones sin necesidad de realizar copias de seguridad cada vez que recibimos una transacción.  Siendo también una enorme ventaja para quien no quiere exponer sus datos financieros ante los mirones en la red ganando privacidad (por ejemplo, si tienes muchos o todos los utxos en una única dirección, cuando compres un café en la cafetería, el camarero pronto podría conocer tus fondos disponibles y podrá trazar de qué direcciones recibes y en qué momento) y además, como dije, solventa el problema de tener que hacer un guardado de datos cada vez que recibes una transacción dado que con la Xpriv o "semilla", junto al camino de derivación elegido, podrás volver generar todas las direcciones donde se van guardando tus utxos. 

Esto fue mejorado con el BIP39 https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki que permite un guardado más fácil de la Xpriv con las famosas 12 ó 24 palabras que deberás apuntar y que no implican más que la Xpriv "hecha con palabras".   Cada palabra supone un número, cuando las juntas todas y las pones en orden, obtienes la Xpriv y si además tienes el camino de derivación de las direcciones que has ido rellenando, tienes el acceso a todos tus fondos guardados en esa wallet. 

Implementando estos BIP podemos, con únicamente unas pocas palabras y un camino de derivación controlar todos nuestros utxos que se encuentran alojados en infinidad de diferentes direcciones y protegidos con infinidad de diferentes claves privadas.  Y hasta aquí la evolución más o menos exenta de controversia, y que es común a todas las cadenas que se autoproclaman "Bitcoin".  Pero, ¿cómo la wallet A se comunica con la wallet B para saber qué dirección concreta debe coger para realizar el pago? 

Pues esto da para un largo estudio, pero para abrir boca diré que aquí ya hay una división total en desarrolladores de cada cadena.  En BTC siguen con BIP 21 https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki tras retirar el BIP 70 https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki , mientras en BSV no sólo aceptaron el BIP 70, si no que evolucionó en el BIP 270 que nos trajo los paymail https://github.com/moneybutton/bips/blob/master/bip-0270.mediawiki  

Explicado de forma mundana el BIP 21 nos permite crear QR s y botones para que tu página o app pueda generar una dirección por cada pedido y el que quiera enviarte utxos pueda escanear o copiar para enviártelo desde su wallet, el BIP 70 permite la fácil memorización por una persona de la XPUB de alguien al estilo de un e-mail y el BIP 270 actualiza esto con algunas mejoras.  Se puede ver que al retirar el BIP 70 los desarrolladores de BTC entendían que podía ser un riesgo a la privacidad del usuario dado que utiliza certificados de Google y temieron que estos certificados acabasen por ayudar a investigaciones anti lavado de dinero, financiación del terrorismo y demás. 

Mientras BSV trata de conseguir unas tx más amigables, más fáciles de utilizar para el humano, en BTC renuncian a ello para garantizar la "privacidad".  

Por otra parte en BSV ya existen propuestas para realizar el pago auténticamente P2P, sin requerir de ningún nodo.  Mientras que en BTC se entiende que para realizar un pago P2P necesitarás de un nodo que propague la tx a la red.  

Por decirlo de otra forma, en BTC Alice envía los utxos al minero y Bob está preguntando continuamente al minero si la tx ha llegado ya, hasta que llega, y ya puede darse por pagado.  Mientras que BSV lo que busca es que Alice envíe a Bob la tx firmada y sea Bob quien propague la tx cuando quiera (evitando que Bob tenga que estar preguntando continuamente a la red si ha llegado ya su tx). 

Aunque aún le queda camino que recorrer BSV propone algo mucho más próximo a lo expresado en el punto 8 del white paper, la denominada "verificación simple de pagos" y unos pagos auténticamente P2P resultando a mi parecer, una vuelta al espíritu original de Bitcoin.  

powered by powpress
link Tip
Share
tx
translate
igordomsac tipped: