La palabra inglesa dust, se traduce de forma textual como polvo. Mas la aparición de Bitcoin produjo una nueva acepción para el término. La comunidad emplea el substantivo dust para referirse a transacciones vistas como spam en la red Bitcoin. Hace referencia a una medida que ayuda a resguardar la red de que se efectúen transacciones pequeñísimas que puedan comprometer la estabilidad y funcionamiento de exactamente la misma. Dada esta situación probablemente te vas a poder consultar, si es imposible de procesar ¿Entonces por qué razón existe? ¿Qué implicaciones tiene? En el presente artículo examinaremos estas y otros muchos interrogantes.

Origen del Dust

Durante la creación del Bitcoin, Satoshi Nakamoto fue capaz de prever situaciones en internet con el objetivo de resguardarla de ataques DoS y de spam. Fue de esta forma, como introdujo una serie de medidas para eludir esa situación. Este es el motivo por el cual aparecieron las comisiones de pago. Comisiones que, pagan los usuarios para emplear la red con la intención de incentivar el trabajo de los mineros.

Entre estas protecciones, había una especialmente que cuidaba que las transacciones fuesen suficientemente grande para asegurar el pago de la tarifa de transmisión y verificación en internet. Esta era la primera protección contra el dust en Bitcoin. En el código fuente liberado por Nakamoto, en la función primordial de Bitcoin, se hallaban la función GetMinFee. Esta función es la responsable de asegurar las tarifas mínimas para cada transacción. En el código como nota de su funcionamiento, Nakamoto comentó:

Requisitos de las tarifas de transacción, solo precisos primordialmente para supervisar el desbordamiento. Bajo 10K (en torno a ochenta entradas) es sin costo para las primeras cien transacciones. La tasa base es 0.01 por Kilobytes.

Satoshi Nakamoto

Código fuente original de Bitcoin – 2009

Desde entonces, una de las preocupaciones de los desarrolladores ha sido garantizar que las transacciones en la red puedan ser lo más pequeñas posible, sin que ello atente contra la estabilidad de la red. Esto tiene como finalidad permitir a los usuarios de Bitcoin efectuar micropagos, sin gastar más en las tarifas de transacción que en el micropago como tal. Una situación que no siempre y en todo momento ha sido muy triunfante. Por eso para resolverla, hayan surgido opciones como Lightning Network o bien SegWit.

Recordatorio blockchain: transacciones

Cuando hacemos una transacción en Bitcoin  o bien en otra criptomoneda, es preciso validar su autenticidad. De esta manera, la red se asegura que la transacción es válida y de que se procese de forma razonable. Los responsables de esto, son los mineros o bien los participantes de la red (en el caso de redes PoS, DPoS o bien PoA). A ellos, se les paga una pequeña tarifa (tarifa de transacción) por el trabajo de validar la transacción efectuada.

Pero debido al mecanismo de trabajo de la blockchain, hay veces en las que la tarifa minera puede ser más alta que la cantidad real de la transacción. Esto está relacionado con el término de inflación. Y es que, si hay una gran demanda de transacciones, y hay poca capacidad de atenderla, la tarifa por transacción aumenta. Ello es causado, pues los mineros solicitarán un pago mayor para priorizar y atender las transacciones de forma rápida.

Evolución del término dust en Bitcoin

8 de abril de 2013

Gregory Maxwell ajusta la tarifa por transacciones para hacerla más equitativa.

Uno de los primeros cambios sufridos a su término fue introducido por Bitcoin Core, el desarrollo base de los criptomonederos Bitcoin. En el mes de abril de dos mil trece, Gregory Maxwell introdujo esta mejora, que procuraba hacer que la tarifa por transacciones fuera más realista con la realidad económica del Bitcoin.

24 de abril de 2013

Reajuste del término de dust

Más tarde a través de el empleo de un BIP, en cuestión el BIP-0070 enmarcado en la creación de un nuevo protocolo de pago, la protección dust recibió otra nueva mejora. Gavin Andresen, fue el desarrollador de la actualización, en el mes de agosto dos mil trece. Con esta nueva modificación, se producía una nueva función más elaborada para asegurar que no se mandará dust a la red. En sus palabras, Andresen explica que:

Reemplaza la verificación de validación para “amount == 0” con una verificación isDust, de este modo pequeñas cantidades de salida son atrapadas antes que la cartera esté desbloqueada, se cree una transacción, etc.

Gavin Andressen

Rechazar las cantidades dust a lo largo de la validación – Agosto 2013

Esta nueva función creada por Andresen se transformaría en un estándar extensamente adoptado. Singularmente pues da una enorme flexibilidad en el momento de crear interfaces para criptomonederos gráficos. Además de esto, la nueva función administraría automáticamente que se considera una transacción dust en la red. Con estos cambios en la programación, se fomenta una mejor seguridad y estabilidad para la red.

17 de septiembre de 2013

Eliminación de regla de transacción de salida sin coste

De nuevo es Gavin Andresen quien introduce una modificación. Se trata de una regla antigua que afectaba a los relay/mempool de la red Bitcoin. Hasta ese instante, estos tenían la capacidad de dar salida solo a las transacciones mayores que 0.01 BTC. La supresión de esta restricción, se dio merced a los cambios para calcular dinámicamente lo que es dust en la red.

19 de julio de 2017

Redefinición del Dust

Alex Morcos, un contribuidor de desarrollo de Bitcoin, introdujo una serie de cambios para redefinir el término de dust. En estos cambios, comentó lo siguiente:

Esto redefine dust como el valor de una salida, de forma que  costara ese valor en comisiones el (crear y) gastar la cantidad de salida a la tasa de transmisión de dust. La definición precedente era que costaría 1/3 del valor. La tasa por defecto de dust se acrecienta a tres mil sat / kB, con lo que el valor de salida de dust predeterminado real de quinientos cuarenta y seis satoshis para una salida no SegWit continúa sin cambios.

Este compromiso es solo un rediseño, salvo que se introduzca un dustrelayfee desde la línea de comandos, en tal caso ese número ahora precisará ser incrementado en un factor de 3 para poder portarse del mismo modo. –dustrelayfee es una alternativa oculta on line de comandos.

Alex Morcos

Redefinición de Dust

Con esta última modificación, el equipo de Bitcoin Core, dio por sentada la última modificación al término de dust..