Mecanismo de comisión de Bitcoin y por qué ser amigo de los mineros

En este artículo intentaremos describir en detalle la tarea principal de las comisiones en Bitcoin, cómo funcionan y qué afectan. Explicaremos las razones de la volatilidad de las comisiones, los retrasos en la confirmación de las transacciones y describiremos los enfoques para resolver estos problemas. Además, aclararemos cómo exactamente la actualización de Testigos segregados ayuda a reducir los costos de transacción. Y como beneficio adicional, compartiremos nuestros pensamientos sobre cómo la amistad con los mineros reduce las comisiones a cero y a qué puede conducir esta tendencia en el futuro. Entonces comencemos.

Hora de confirmación de la transacción


Es importante distinguir el proceso de procesamiento de transacciones (verificación) del proceso de su confirmación (confirmación). En la red de Bitcoin, las transacciones se procesan casi instantáneamente y se confirman, durante una hora completa. En otras monedas digitales, todo se puede hacer en un par de segundos. ¿Qué determina el tiempo para confirmar completamente una transacción en un entorno descentralizado? Principalmente del mecanismo de construcción de consenso.

En su forma más pura, PoW no puede lograr el consenso en menos de una hora. A su vez, los protocolos de consenso basados ​​en PBFT y los protocolos basados ​​en DPoS pueden lograr el consenso en cuestión de segundos. Sin embargo, el nivel de descentralización e independencia de tales sistemas es mucho más bajo que en Bitcoin.

imagen

De acuerdo con las reglas del protocolo Bitcoin, los propietarios de la mayor parte de la potencia informática deben confirmar la transacción (el bloque que contiene esta transacción) para que se considere totalmente confirmada. Es decir, según el bloque en el que la transacción recibió la primera confirmación, se deben construir varios bloques más. Además, esta cadena debería ser la más larga y no debería haber cadenas competitivas. El número de estos bloques (confirmaciones de transacciones) lo determina el beneficiario a su discreción. Se guía por la regla que establece que cuantas más confirmaciones tenga una transacción, es menos probable que se cancele posteriormente.

Limitaciones de ancho de banda


Con la popularidad de Bitcoin, el flujo de nuevas transacciones en la red ha aumentado significativamente. Se sabe que el tamaño del bloque está determinado por las reglas del protocolo y está estrictamente limitado. En Bitcoin, el tamaño máximo de bloque es de 1 MB, por lo tanto, el ancho de banda es limitado (1.7 KB / s). Si el flujo de nuevas transacciones excede el rendimiento, entonces no todas serán procesadas. Y tales situaciones a menudo suceden. Qué transacciones recibirán primero la confirmación y cuáles esperarán; esta es una pregunta que requiere una respuesta clara. Su esencia es que las transacciones deben competir entre sí.

El rol de las comisiones


El mecanismo de comisión en Bitcoin es necesario para pagar los servicios de red distribuidos, donde el servicio de red, de hecho, es un almacenamiento de datos confiable. Los usuarios de la red Bitcoin realmente pagan por cada byte de datos agregados a la base de datos común. Debido al hecho de que el ancho de banda de esta base de datos es limitado, los usuarios compiten entre sí por la prioridad de grabación.

imagen

Al realizar transacciones, los usuarios establecen una comisión en forma de una cierta cantidad de satoshi por un byte de datos. Además, cada nodo validador pone en cola todas las transacciones no confirmadas de tal manera que primero confirma las transacciones que pagan una gran comisión por una unidad de su peso. Obviamente, aquellas transacciones que caen al final de la cola pueden permanecer sin reconocer durante mucho tiempo.

Otra tarea importante que resuelve el mecanismo de la comisión es la "tragedia de las comunidades". En el contexto de Bitcoin, la protección contra el spam está implícita en las transacciones. La presencia de comisiones obligatorias significa que será costoso para un atacante obstruir la red con transacciones falsas durante mucho tiempo si tiene tales intenciones.

Escribir volatilidad de precios


Los usuarios de la red Bitcoin de vez en cuando encuentran una volatilidad de comisión inusualmente alta. Por ejemplo, en 2017, el precio promedio de escribir un byte de datos en la cadena de bloques de Bitcoin varió de 1 a 500 satoshi. Y la cola de transacciones no confirmadas varió de unos pocos KiB a decenas, e incluso cientos, de MiB.

Debido al hecho de que el precio de la grabación de datos puede cambiar drásticamente, los usuarios se ven obligados a competir entre ellos casi a ciegas. Esto se debe al hecho de que, de hecho, la transacción se confirmará en promedio en 8 minutos, mientras que la tarifa de procesamiento debe establecerse antes de que se firme. Por lo tanto, el tema de una comisión debidamente establecida sigue siendo relevante, porque todos quieren una confirmación rápida de sus transacciones con un costo mínimo. Naturalmente, pagar más de 50 USD por una transacción típica no es la mejor opción, especialmente cuando puede ahorrar hasta el 90% de esta cantidad si calcula correctamente la comisión.

Las consecuencias de un fuerte aumento en el flujo de nuevas transacciones es la aparición de una gran cola de transacciones pendientes en la cadena de bloques de transacciones. Entre ellas están aquellas transacciones cuyos remitentes no prestaron atención al cambio en el precio del registro o formaron una transacción en el momento anterior al fuerte aumento. A menudo, el problema no radica en el usuario, sino en el software de billetera o los servicios de administración de bitcoin. Un usuario activo a menudo se encuentra con productos de software para trabajar con Bitcoin, en los que la gestión de comisiones generalmente está oculta.

Resolviendo el problema con la volatilidad de las comisiones


Independientemente de si es posible controlar manualmente la prioridad de registrar las transacciones generadas, las billeteras Bitcoin pueden usar mecanismos para estimar el precio actual de la grabación de datos, en lugar de usar valores constantes o actualizados manualmente. Esto le da a la billetera una gran ventaja en términos de administrar la prioridad de registrar la transacción en una base de datos común y ahorrar dinero en la comisión.

Cabe señalar que también es posible pronosticar el precio de un registro, pero a menudo tales pronósticos funcionan solo por períodos de tiempo muy cortos (en promedio, varios minutos). Si el pronóstico está desactualizado y la transacción no está confirmada, entonces es probable que pueda esperar su confirmación por un tiempo prolongado, con frecuencia varias horas y, a veces, incluso días.

tarifa de transacción = tamaño de transacción * precio de byte

El cálculo dinámico o adaptativo de una tarifa de transacción significa una evaluación automática del tamaño total de la transacción en bytes y una estimación del precio de escribir un byte en la cadena de bloques de Bitcoin durante las próximas horas. Para ambas clasificaciones, existen algoritmos específicos para analizar transacciones y actividades en la red. Después de obtener una estimación del tamaño de la transacción en bytes y el precio de registro de un byte, estos valores se multiplican y se obtiene la cantidad real en bitcoins, que debe agregarse a la transacción como una comisión.

La ventaja del enfoque de valoración adaptativa es la inclusión de una comisión más precisa en la transacción, que estará por encima del umbral mínimo, pero no demasiado alto, lo que ahorrará dinero al usuario. Además, la probabilidad de que la transacción sea profunda en la cola de no confirmados, es mínima. Sin embargo, hay excepciones. Por lo tanto, consideramos con más detalle lo que es importante hacer en caso de emergencia.

Aumento de comisión después del envío de la transacción


Tenga en cuenta que el protocolo de Bitcoin es muy flexible en relación con las comisiones. Por ejemplo, hay dos mejoras de protocolo: reemplazar por tarifa y niño paga por padre, que le permiten aumentar la comisión de una transacción ya generada y enviada. Desafortunadamente, muy pocas billeteras implementan esta funcionalidad para la comodidad de sus usuarios, aunque con el tiempo se vuelven más.

Además, esta característica tiene una serie de matices técnicos y requisitos organizativos para su uso correcto. Uno de estos requisitos es que el usuario (o el software en modo automático) debe reevaluar la tarifa de transacción, formar y firmar una nueva transacción (alternativa), distribuirla a la red y continuar monitoreando su estado.

Cómo los testigos segregados ayudan


Uno de los cambios de protocolo introducidos por la actualización de Segregated Witness es la introducción de un nuevo formato de transacción y su peso de transacción. Antes del advenimiento de Segregated Witness, solo se tenía en cuenta el tamaño de la transacción al calcular la comisión. Ahora son importantes tanto el tamaño, las transacciones y su peso. La nueva transacción almacena evidencia de propiedad de monedas en una estructura separada (datos de testigos). Para traducir el tamaño total de una transacción a su peso, el tamaño de los datos del testigo se multiplica por un coeficiente menor que el resto de los datos de la transacción. El peso de la transacción se calcula usando una fórmula especial:

peso = tamaño base * 3 + tamaño total .

En este caso, el tamaño base es el tamaño de la transacción, excluyendo el tamaño de los datos de testigos. Como puede suponer, cualquier dato que se incluya en los datos de testigos requiere 4 veces menos comisión que otros datos de transacciones. Tal enfoque permite a los mineros determinar una transacción más rentable en relación con el lugar ocupado en el bloque y la recompensa recibida.

Se sabe que aproximadamente el 60% de todos los datos de transacciones son precisamente la evidencia de la propiedad de las monedas (es decir, las que se pueden registrar en los datos de testigos). En consecuencia, el peso de las transacciones del nuevo formato disminuirá significativamente. Por lo tanto, el usuario puede pagar menos por confirmar una nueva transacción, mientras que tendrá la misma prioridad entre los mineros cuando se incluya en el bloque que la transacción anterior con una comisión más alta.

imagen

El diagrama muestra la dependencia del precio de escritura de un byte de datos en la cadena de bloques de Bitcoin en la carga (flujo de transacciones no confirmadas), expresado en bytes por segundo. La conclusión puede hacerse muy simple: si el flujo de nuevas transacciones es menor o igual al rendimiento del sistema contable, entonces el precio de registro es casi cero. Y si el flujo de nuevas transacciones excede el rendimiento, el precio aumenta bruscamente.

Opción con un amigo minero


Imagine que tiene un amigo que explota y controla el 10% de toda la potencia de procesamiento involucrada en la red Bitcoin. En promedio, genera un bloqueo una vez cada 100 minutos. En este caso, puede crear su propia transacción, en la que establece una comisión cero, y luego enviar esta transacción a su amigo para su confirmación.

imagen

Su transacción con una probabilidad del 50% recibirá la primera confirmación dentro de los 50 minutos y la confirmación completa, en promedio 50 minutos después de la primera. Como resultado, sus transacciones recibirán una confirmación completa en aproximadamente 100 minutos. Si no tuviera un amigo así, la transacción recibiría una confirmación completa dentro de unos 60 minutos, pero con el pago de una comisión completa.

Como puede ver, si se trata de ahorrar dinero, entonces tiene suerte si tiene un minero amigo. Pero si no hay tal amigo, entonces puede haber opciones alternativas para pagar un lugar en el bloque.

Opción de tokenización de lugar


Por lo general, el minero opera de acuerdo con el esquema estándar y clasifica las transacciones por el precio de escribir 1 byte de datos en la cadena de bloques. Todos parecen estar haciéndolo ahora. Sin embargo, es posible que el minero tenga una mejor motivación. Puede formular independientemente una política de monetización de su actividad. En otras palabras, puede actuar de manera no estándar con respecto a las transacciones que escribirá en su bloque. Si hay condiciones más favorables que solo tomar una comisión por su transacción, lo más probable es que cambie su política.

Este enfoque supone que los usuarios pagarán al minero por la confirmación de sus transacciones no a través de una comisión predeterminada, sino directamente (de acuerdo con su propio esquema).

En la práctica, cualquier grupo minero suficientemente grande puede realizar su campaña para aumentar la rentabilidad y utilizar mecanismos simples para esto, por ejemplo:

  • Defina sus prioridades de clasificación de transacciones
  • entrar en una sociedad con un determinado servicio (intercambio, tienda, navegador);
  • vender garantías para un determinado lugar en el bloque en el futuro.

Además, el grupo puede incluso tokenizar el espacio libre en sus bloques (sí, para vender tokens).

Conclusión


Probablemente en el futuro veremos muchas formas diferentes de pagar una entrada en la "base de datos más confiable de la Tierra". Dado el interés de muchos servicios y aplicaciones en las propiedades de esta base de datos, durante mucho tiempo ha habido soluciones de terceros para agregar datos arbitrarios a la cadena de bloques de Bitcoin con el propósito de su "marca de tiempo" confiable. Pero tales soluciones no encajan bien con el ecosistema de aplicaciones, y es difícil para los desarrolladores monetizarlas.

Por el momento, la opción de impulsar las transacciones "por amistad" y la opción de tokenizar el espacio libre en bloques puede parecer cómica, pero al ritmo actual de desarrollo de la industria, tales escenarios pueden resultar factibles. Además, pueden volverse fundamentales en la relación entre usuarios y validadores, pero esto no es exacto.

Source: https://habr.com/ru/post/es417775/


All Articles