Prefacio
En las numerosas ocasiones en las que intento convencer a otras personas de las bondades de un dinero electrónico P2P (Bitcoin Cash por supuesto) hay interacciones que merecen una mayor reflexión.
Cuando explico las ventajas de que un pago entre personas se pueda realizar directamente sin la intervención de ningún intermediario, con cierta frecuencia me preguntan: "¿Pero no son los mineros un intermediario?".
Mi intención con este artículo es contestar a dicha pregunta con mis reflexiones para que pueda servir de ayuda a tantos y tantos otros que "predican" las maravillas del dinero efectivo electrónico P2P.
Como introducción recomiendo dos de mis artículos anteriores: Explicando Bitcoin (BCH) y su segunda parte .
Entendiendo el papel de los mineros en las transacciones.
En este articulo usaré indistintamente los términos pago y transacción.
Los mineros son los actores que recogen las tx en la red y las meten dentro de un nuevo bloque que aspira a formar parte de la cadena de bloques, con la intención de que su trabajo en un entorno competitivo sea finalmente recompensado de forma equitativa al esfuerzo dedicado.
Las criptomonedas que aspiran a convertirse en un dinero efectivo electrónico P2P; es decir, sin necesitar un intermediario para realizar el pago, que nadie pueda adueñarse de nuestros fondos, sin fraudes y sin que nadie pueda censurar nuestras transacciones; basan la seguridad de un pago en 3 conceptos:
El (los) origen(es) de los fondos de la tx es correcto (no es fraudulento).
El (los) propietario(s) de los fondos autorizan la tx.
El propietario de los fondos no puede engañarme revocando la tx con otra igualmente válida en los puntos anteriores pero dirigida a otro destinatario.
El primer concepto es el equivalente en el mundo del dinero fiat a cuando recibo un pago en billetes y tengo que comprobar que los billetes no son falsos. En el mundo de las criptomonedas la seguridad la proporciona la validación de recorrer hacia atrás el origen de ese dinero hasta encontrar un punto inicial en el que está respaldado por una prueba de trabajo (PoW) que a su vez podemos comprobar.
El segundo concepto está basado en las propiedades matemáticas de las firmas electrónicas basadas en curvas elípticas y aunque entramos en un tema muy complejo hay abundante información disponible para todo el que quiera/pueda comprobar la efectividad del método elegido en cada criptomoneda. No obstante, cualquier aplicación podrá fácilmente comprobar la conformidad del propietario de los fondos.
El tercer concepto es el que más importancia tiene para este artículo. En un entorno descentralizado (característia impuesta por el requerimiento de no ser censurable), las posibilidades de éxito de revocar una tx con otra que comparta sus fondos de origen aumentan debido a la dificultad / imposibilidad de sincronización entre todos sus miembros.
Aunque un pago proceda de unos orígenes disponibles y sea autorizado por sus propietarios, para que sea aceptado en un entorno descentralizado es necesario que dicho pago sea confirmado como bueno, es decir, incluido en un bloque respaldado por una carga de trabajo.
Las confirmaciones existen para eliminar el fraude conocido como "doble gasto" que consiste en que los propietarios de los fondos originales hagan trampa intentando usar los mismos orígenes de fondos para autorizar un pago a más de un destinatario.
Los mineros forman parte de la red y están a la escucha de las tx que se producen continuamente. Cuando un minero detecta que hay 2 o más tx que utilizan los mismos orígenes de fondos sabe que no puede incluirlas todas en el bloque ya que en ese caso su bloque sería inválido por el consenso del resto de participantes, razón por la cual incluye solo una de ellas (la política por defecto incluye la primera de la que tuvo constancia, pero podría decantarse por seguir otro criterio).
Aún así, podría darse el remoto caso de que dos mineros diferentes recibiesen dos tx con los mismos orígenes de fondos y cada uno de ellos recibiese en primer lugar una diferente. En ese caso aquel nodo minero que resultase agraciado (aleatoriamente y equitativamente en función del trabajo aportado) sería el que decidiría cual de las dos tx se incluye en la cadena de bloques invalidando a su vez a la otra.
Por lo tanto, una tx que ha sido incluida en el último bloque de una cadena de bloques, lo que se conoce como una tx con una confirmación, es más segura que una tx que aún no ha sido incluida en ningún bloque, lo que se conoce como una tx con 0 confirmaciones, ya que la tx con 0 confirmaciones podría finalmente resultar invalidada por otra tx que gaste alguno de sus orígenes. Cuando aparece un nuevo bloque en la cadena de bloques, la tx anterior pasará a tener 2 confirmaciones y de nuevo el hecho de tener 2 confirmaciones aumenta la seguridad de la tx original, ya que será mucho más dificil que la tx original quede invalidada por otra que incluya los mismos orígenes de fondos.
Podemos resumir lo anterior con la frase de que el número de confirmaciones que tenga una tx aumenta la seguridad de que dicha tx no pueda ser invalidada por otra con los mismos origenes de fondos autorizada por los mismos actores.
Esta seguridad de que una tx no pueda revocarse con otra no es binaria, sino que deberíamos hablar de probabilidades. Una tx con 0 confirmaciones tiene una probabilidad alta de ser finalmente confirmada y válida, razón por la cual puede ser suficiente garantía para aceptarla como pago si la cantidad es pequeña (ojo que estamos usando términos muy subjetivos). A modo de ejemplo los mercados de intercambio utilizan políticas de aceptación muy diferentes en función de cada criptomoneda y cada mercado. Históricamente una tx con 6 confirmaciones ha sido considerada como segura, pero ojo, si yo recibiese un pago de una cantidad desorbitada esperaría a un mayor número de confirmaciones para darla como buena.
Pero entonces, ¿es o no es un minero un intermediario?
En mi opinión no.
Un intermediario es un actor cuya intervención es necesaria para la ejecución de la tx. Por ejemplo, cuando yo hago una transferencia por internet desde la cuenta de mi banco a la cuenta del banco de un proveedor, esa tx utiliza dos intermediarios (mi banco y el del proveedor). Cuando yo pago con tarjeta de débito o con Paypal ambos son intermediarios. Cuando mi compañía eléctrica me pasa un recibo para el cobro utiliza a mi banco como intermediario, aunque yo posteriormente rechace el recibo anulando la transacción.
Sin duda el hecho de que un minero se embolse la comisión de la tx ayuda a verlo como un intermediario (todos los intermediarios anteriores se cobran de una forma u otra su intervención), pero en este caso el minero no forma parte de la tx ni esta prefijado, es decir, la tx desconoce que minero se va a llevar la comisión.
Incluso cuando yo empecé con las criptomonedas era posible realizar tx sin pagar ninguna comisión y este comportamiento podría volver a aparecer, aunque solo en algunos casos particulares, no como norma para evitar los ataques de saturación de tx y la consiguiente denegación de servicio.
Ahora lo habitual es que el que realiza la tx paga la comisión por incluirla en un bloque, pero también es posible que fuese el destinatario el que la pagase, incluso hay un tercer caso y es que la comisión de la tx la pagase el emisor de tokens en una tx de intercambio de tokens de utilidad (entradas a eventos, ...).
En cualquier caso, a mí no me preocupa tanto si llamamos o no intermediarios a los mineros como el hecho de que las comisiones de las tx sean lo suficientemente bajas como para no comprometer la vision de dinero efectivo electronico P2P para todo el mundo.
Espero que mi exposición e ideas os sea útil a los que defendéis el uso de las criptomonedas como dinero efectivo electrónico P2P, y espero realimentarlos con vuestros comentarios, tanto en este tema específico como en cualquier otro que me podáis plantear.
Bitcoin Cash, el dinero efectivo electronico de, por y para todo el mundo.