¿Qué es el doble gasto?

By marjuanm | msproys | 21 Nov 2020


Tecnología Blockchain

Tecnología Blockchain | cortesía Pixabay

Que tal, saludos a todos:

  El día de hoy vamos a explicar de un modo sencillo que es el doble gasto, un concepto muy asociado a las criptomonedas, un tema relevante para estos días y no está de más conocer de que se trata.

  Aclaro que no soy un experto en el tema, así que pongamos un ejemplo para entender más fácilmente el concepto: supongamos que ingresamos a la tienda en línea "mitiendita.com" y ahí tenemos la opción de comprar diversos artículos desde la comodidad de nuestro hogar para recibirlos más tarde en nuestra casa, iniciamos sesión en su sistema y como requisito debemos tener cierta cantidad de saldo o monto en nuestra billetera asociada a la cuenta; no hay problema, tenemos por ejemplo 100 disponibles y lo que necesitamos comprar son 60 pesos.

  Bien, ya tenemos nuestro carrito listo con los productos y me dispongo a pagar por ellos, pero antes el sistema me envía a una página donde debo confirmar mis datos antes de pagar, entre estos datos se encuentra cuanto es el monto a pagar y de cuanto dispongo en la cuenta. Normalmente lo que haría el sistema es comparar si el monto a pagar es igual o menor al monto disponible, si es así cuando presione el botón "Pagar" se guardará la transacción en la base de datos del sistema y el dueño de la tienda envía los productos con la seguridad de que ya pagamos.

  Pero, aquí viene el problema del doble gasto. Supongamos que yo quiero hacer trampa y quiero llevarme esos productos gratis aprovechando un fallo del sistema, recordemos: "el sistema solo verifica que tengamos monto suficiente al inicio de la comprobación de nuestros datos como comprador", entonces, si dijimos al inicio que tenemos 100 pesos disponibles y lo que debo pagar son 60 entonces el sistema ya precargó en memoria el monto disponible y el monto a pagar, hace la comprobación de que el monto a pagar sea menor o igual que el disponible, pero "¿y que pasa si engañamos al sistema y resulta que no tenemos nada de dinero?", ¿se puede hacer algo así?, claro que si y vamos a explicar donde está el problema.

  El truco está en que la comprobación solo se hace al inicio de la validación de los datos personales, no en el momento de la compra, si yo llego hasta esa página y el sistema no tiene una verificación adicional o por lo menos un tiempo para cerrar la compra por exceso de tiempo en la operación, yo fácilmente podría abrir una sesión nueva de la tienda en otro navegador (para no interferir con el carrito de compras), hacer otra compra y gastarme todo el dinero, luego, en la compra inicial (que está en otro navegador web) procedo a confirmar la compra, como "en teoría" yo tengo saldo disponible la transacción se realiza sin problemas y así de una manera muy sencilla hemos estafado al vendedor que usa este sistema de ventas online.

  Claro, este es solo un ejemplo muy burdo de como se puede engañar al sistema y usar dinero que ya fue usado en otra parte, en esto consiste el doble gasto. Por supuesto, es mucho más complejo que esto, este ejemplo solo ha sido para tener una idea de como funciona y porqué es importante conocerlo, ya que si nos dedicamos a desarrollar sistemas informáticos relacionados con las ventas online pues debemos tomar esto en cuenta.

  En el mundo de las criptomonedas esto es fundamental, controlar el doble gasto y para ello se usan diversas técnicas, pues si un desarrollador no toma en cuenta este detalle el sistema puede hacer perder mucho dinero a quien decida hacer uso de su moneda y pues con que vamos a pagar ese dinero perdido. He encontrado en Wikipedia un artículo que explica con más detalle este problema del dinero digital, mismo que les invito a leer y a dejar sus opiniones para este artículo. Gracias por su visita.

 

How do you rate this article?

3


marjuanm
marjuanm

I'm a VB.NET Programmer, but too programming on PHP, greetings.


msproys
msproys

Blog informático para dar a conocer mis proyectos, soy desarrollador de sistemas y partidario del software libre. Por medio de este blog estaré dando a conocer algunos de mis trabajos, así como publicando diversos códigos fuentes útiles.

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.