Hechos clave:
-
La transacción más popular se ha usado más de 86 millones de veces.
-
El almacenamiento de datos arbitrarios en Bitcoin solo se ha ejecutado 750 veces.
Bitcoin cuenta en la actualidad con un abanico de opciones interesantes, entre las que se cuenta la posibilidad de realizar distintos tipos de transacciones. Una investigación reciente analizó el historial de la blockchain para determinar cuáles han sido los tipos de transacciones más usadas en Bitcoin.
El informe de QuantaBytes afirma que una de las grandes características de Bitcoin es su flexibilidad para expresar el cambio de propiedad mediante transacciones efectivas. Sin embargo, destaca el hecho de que la mayoría de las transacciones que se han ejecutado corresponden a un método que ha registrado 86.380.556 operaciones. Esta cifra solo cuenta el historial de Bitcoin hasta el bloque 290.000.
Recordemos que una transacción de Bitcoin, en su versión más usada, es un comando o una instrucción que especifica a quién está dirigido un pago y cómo a través de esa dirección el destinatario puede disponer de esas criptomonedas para una futura transacción, al demostrar que posee la firma única para esa operación. En el caso de Bitcoin, las transacciones estándares permiten añadir más de una instrucción, por ejemplo, que se requieran varias firmas.
En concreto, hoy en día se utilizan 5 tipos de transferencias. Debido a que su desarrollo está en manos de programadores, se identifican por la forma en que se escriben (recordemos que son scripts o instrucciones computacionales y por lo tanto no se parecen a las palabras comunes).
Son las siguientes: pago al hash de la llave pública (P2PKH), pago a llave pública (public-key), pago con firma múltiple (limitado a 15 llaves), pago a secuencias de comando hash (P2SH) y almacenamiento de datos en blockchain (OP_RETURN). Hay muchas formas de combinar o de crear las instrucciones de otros tipos de transacciones, pero por ahora estas son las aceptadas por la mayoría de los clientes que usan los mineros. Es probable que en el futuro existan más (o quizá menos).
Las transacciones más usadas
La transacción más usada en Bitcoin son las que se dirigen a un único destinatario o dirección. Las P2PKH o pago al hash de la llave pública registran más de 86 millones de transacciones, esto es cerca del 98% de todas las transacciones de Bitcoin.
El pago con llave pública es una de las formas más sencillas de realizar una transacción, debido a que no requiere el uso del hash en la secuencia de comandos. Vamos, que si no almacenas el hash, esa cifra alfanumérica larga, se ahorra espacio.
Este tipo de transacciones fue inventado por Satoshi Nakamoto para acortar las direcciones de Bitcoin, pero ya casi no se usan y solo se encuentran muy de vez en cuando en las transacciones coinbase, cuando se generan monedas con algún software de minería antiguo. En total se han registrado 904.300 transacciones de este tipo. Se ejecuta en dos variantes.
Las transacciones con múltiples firmas
Las transacciones de firma múltiple se pueden ejecutar por medio de una variedad amplia de instrucciones. En general se escriben varias direcciones y se establece la condición de que una o varias firmas proporcionen la prueba para que los fondos puedan ser gastados.
La más utilizada es la que realiza 1 pago a 3 llaves públicas (16.705 veces); la segunda más popular es la que realiza 1 pago a 2 llaves públicas (8.983 veces). También se utilizó una vez este tipo de transacción para cargar una herramienta Python en Bitcoin, que sirve para cargar y descargar datos desde la cadena de bloques. Se ha ejecutado 30.363 veces en total, con distintos usos de instrucciones de comando (sin contar las que se usan con P2SH).
Las transacciones de pago a secuencias de comando hash (P2SH) fueron especificadas en el BIP 16 de Bitcoin en 2012. Estas transacciones resuelven el problema del uso de scripts o instrucciones de transacciones muy complejas, por ejemplo las que resultan de operaciones con firmas múltiples.
Este tipo de transacciones sustituyen secuencias muy largas de instrucciones por un único hash, que finalmente ahorra comisiones al destinatario al evitar incluir mucha información en una transacción extra grande (también ahorraría espacio en los nodos completos que almacenan, hasta que se gasten, las UTXO de las transacciones de múltiple firma). Al final este tipo de pago es tan fácil como realizar un pago a una dirección única de Bitcoin. Hasta el bloque 290.000 se realizaron 19.451 operaciones de este tipo.
¿Almacenar datos en Bitcoin?
Las transacciones OP_RETURN que han permitido almacenar datos no relacionados con intercambio de criptomonedas en Bitcoin se han registrado 750 veces en la cadena.
Desde hace años algunos desarrolladores notaron que se podía usar la flexibilidad para escribir instrucciones de comando en Bitcoin para almacenar datos arbitrarios a cambio del pago de una comisión por transacción. Esta propiedad de Bitcoin, que evita que las transacciones puedan ser alteradas en el futuro, ha servido para aplicaciones de notaria, certificados y contratos inteligentes.
Sin embargo, no todos están de acuerdo en que Bitcoin deba ser utilizado para este fin, debido a que podría causar que la cadena sea más pesada y aumentaría los costos de almacenamiento para quienes corren nodos completos y deben actualizar todo el historial de Bitcoin periódicamente. Además, se crean UTXO que no se pueden gastar y quedan almacenadas indefinidamente en las memorias RAM.
Una UTXO por definición es una transacción no gastada en una operación de intercambio. Realmente todas las monedas generan un UTXO, lo que cambia es el propietario de esa determinada transacción sin gastar. La memoria que almacena este tipo de información cambia a medida que se realizan nuevos gastos.
Transacciones raras, muy raras
Las transacciones menos comunes son también las que definitivamente no aceptan los softwares de minería convencionales. Algunas han surgido como producto de alguna vulnerabilidad u otra rareza, pero el estudio de QuantaBytes no incluye nada que haya ocurrido menos de 10 veces.
Hay un tipo de transacción desconocida que se identifica como OP_DATA_32 y OP_DATA_36, que muestra un tipo de código de operación simple (opcode) seguido de datos. Se ha registrado curiosamente 1.322 veces. Hay otro tipo de transacción similar al anterior que ha ocurrido solo 15 veces.
Un error del software de minería de P2Pool permitió que se ejecutara un tipo de transacción 182 veces, pero ningún cliente de Bitcoin acepta este tipo de transacciones.
En la actualidad los desarrolladores trabajan en el mejoramiento de los procesos para ejecutar y validad transacciones en Bitcoin.