(Este artículo contiene material publicado originalmente en 2019 en la Blog de RSK de IOV Labs)
La seguridad de Bitcoin se basa en los incentivos económicos para que los mineros extiendan la "cadena más pesada", que es la cadena con la mayor dificultad acumulada (generalmente la más larga). Actualmente, esos incentivos son proporcionados por la recompensa en bloque, que consiste en el subsidio en bloque y las tarifas de transacción. Pero el subsidio (actualmente 6.25 BTC) es sustancialmente más alto que las tarifas de transacción promedio por bloque (actualmente 0.25 BTC). El subsidio de Bitcoin se reduce a la mitad cada 4 años, y sin una apreciación del precio de BTC inversamente proporcional, el principal incentivo para la minería pasará del subsidio en bloque a las tarifas de transacción en bloque. Para mantener el presupuesto de seguridad actual, el costo de transacción debería multiplicarse por 25. Es demasiado pronto para saber si esto alguna vez se convertirá en un problema para Bitcoin. Es posible que Bitcoin necesite una bifurcación suave o una bifurcación dura para adaptarse a una nueva era de bajos subsidios. En 2014, mostré cómo Bitcoin podía volverse inestable cuando presenté el (principalmente teórico) Ataque FRONTAL. Carlsten y col. (2016) analizo este problema en profundidad pero no pudieron encontrar una solución satisfactoria. Este no es solo un problema de Bitcoin, sino un problema que todas las criptomonedas cuya emisión de dinero disminuye con el tiempo deberán enfrentar.
Pero no tenemos que preocuparnos por Bitcoin por ahora. La comunidad bitcoin podría necesitar resolver este problema en 10 o 20 años, o tal vez nunca. De vez en cuando el problema es reexaminado, con análisis tanto destacando y minimizando el problema. Pero cuando analizamos las cadenas laterales de Bitcoin, como RSK, el problema es bastante real.
En 2019, el CEO de Blockstream, Adam Back, mencionó suavizar cuando se habla del presupuesto de seguridad a largo plazo de Bitcoin: "Otras ideas de la era de subsidios bajos a largo plazo incluyen el promedio de tarifas en los intervalos de bloque para suavizar los ingresos por tarifas".
https://twitter.com/adam3us/status/1097031151921713152
RSK implementa exactamente esa idea, la suavización de los ingresos por tarifas, desde 2016. Pero antes de explicar cómo RSK maneja las transacciones con tarifas altas, mostraremos con más detalle los tres principales ataques de reversión de bloque que pueden desencadenarse por las tarifas de transacción: francotiradores de tarifas , transacciones de ballenas y atomización minera.
Si el subsidio de bloque es bajo y las tarifas de transacción en el último bloque extraído son mucho más altas que las tarifas que se pueden cobrar de las transacciones en el mempool, los mineros racionales a corto plazo están incentivados para tomar transacciones del último bloque extraído y extraer un competidor. bloquear, en lugar de extenderlo. Esta es una desviación del Consenso de Nakamoto y se llama Cuota de francotiradores. Por definición, tal desviación es un ataque al protocolo y el minero se considera una parte maliciosa. Para cobrar las tarifas de transacción capturadas, el minero malintencionado también necesita extraer un bloque de confirmación adicional más rápido que la cadena honesta, para que el resto de los mineros cambien a su cadena. Por lo tanto, el francotirador de tarifas no siempre es rentable, ya que el minero malicioso corre el riesgo de desperdiciar su hashrate si su bifurcación egoísta no supera a la cadena honesta. Los disparos de tarifas poco frecuentes pueden no ser un problema, pero si los mineros cambian su código de consenso para beneficiarse de las posibles oportunidades de disparos de tarifas en todas las bifurcaciones existentes, entonces la red puede estar expuesta a ataques más peligrosos.
Una vez que los nodos mineros realizan disparos automáticos de tarifas, un atacante puede aprovechar esta situación para realizar un ataque de doble gasto. Un minero malintencionado puede gastar monedas en la cadena honesta y recibir otro activo externo a cambio, y luego bifurcar la cadena honesta en un bloque antes del primero. En la bifurcación maliciosa, el atacante gasta el doble de monedas, pero también introduce una característica distintiva (es decir, un UTXO único) que no debe existir en la bifurcación honesta. Inmediatamente después, el atacante emite un Transacción "ballena" que hace uso de esta función (es decir, consume este UTXO) y ofrece una tarifa de transacción inusualmente alta como cebo (o soborno) a los mineros que ejecutan el código de francotirador de tarifas. Si bien el término “transacción de ballenas” puede entenderse como una transacción que transfiere un valor alto, aquí usamos la definición en el documento de referencia, como una transacción que paga tarifas altas, sin importar la cantidad de valor transferido. En Bitcoin, la transacción de la ballena y los bloques de bifurcaciones maliciosas deberían enviarse directamente a los nodos de los mineros, porque los nodos completos no reenvían las bifurcaciones que no son las mejores en la red de igual a igual. Sin embargo, en muchas plataformas de contratos inteligentes, el ataque es mucho más fácil porque transmiten bifurcaciones que no son las mejores. También en las plataformas de contratos inteligentes, crear una transacción de ballenas es más simple: el atacante puede reutilizar un nonce ya utilizado en la cadena honesta, lo que evita que la transacción de ballenas se incluya en la cadena honesta. Alternativamente, la transacción de la ballena puede ejecutar un contrato que verifica si el hash de bloque anterior coincide con un hash de bloque que solo existe en la bifurcación egoísta (es decir, usando el código de operación BLOCKHASH) y paga un soborno solo en la bifurcación egoísta.
Una vez que los mineros detectan una transacción de ballenas, pueden considerar extender la bifurcación maliciosa, incluso si se quedan atrás, si el soborno es lo suficientemente alto, apostando a que superará la cadena honesta más larga. Sin contratos inteligentes, la mejor estrategia de ataque es transmitir simultáneamente una serie de transacciones de ballenas sobornando a los siguientes mineros para que sigan extendiendo la bifurcación maliciosa. En Bitcoin, las transacciones se pueden encadenar con COMPROBAR BLOQUEAR VERIFICAR or VERIFICAR SECUENCIA. En las plataformas de contratos inteligentes, esto se puede hacer reutilizando nonces o mediante llamadas de contrato. Incluso si no está automatizado, el atacante puede continuar generando transacciones de ballenas en la bifurcación maliciosa, hasta que supere la cadena honesta.
En el ataque Whale Transaction, consideramos que los mineros deben cambiar dinámicamente a una estrategia de minería compleja para aceptar sobornos en función de las probabilidades de ganar la bifurcación. Podemos considerar de manera más realista que los mineros están ejecutando una estrategia más simple que no considera sobornos futuros, sino solo francotiradores de tarifas egoístas. Si esta es la estrategia adoptada por la mayoría de los mineros, entonces es posible un nuevo ataque. El ataque de atomización de mineros es un ataque de denegación de servicio en toda la red que intenta atraer a todos los mineros a trabajar en bifurcaciones egoístas simultáneamente, reduciendo así la velocidad y la convergencia de la cadena honesta. El ataque comienza con la transmisión de una transacción con tarifas muy altas, similar al ataque de recorte de tarifas o al ataque de transacción de ballenas. Esta transacción no está destinada a ayudar al doble gasto, pero es un cebo que tiene como objetivo atomizar la red minera. Mostraremos el ataque con un ejemplo. Suponga que una transacción T en un bloque a la altura N paga 100 monedas en tarifas, pero la recompensa promedio del bloque es de solo 10 monedas. Suponemos que todos los nodos de los mineros están programados para seguir esta estrategia racional:
- Si T está incluido en cualquiera de los últimos K bloques de la cadena honesta, tome la transacción T e intente extraer un bloque competidor en la altura N, luego siga extrayendo bloques secundarios de esta bifurcación egoísta hasta que supere la cadena honesta.
- Si la cadena honesta supera a la bifurcación egoísta en más de K bloques, ríndete.
La transacción maliciosa de alta tarifa atomiza la minería en beneficio del grupo de minería más grande, que tiene las mayores posibilidades de extraer la transacción T más suficientes bloques de confirmación egoístas adicionales para que los mineros restantes se den por vencidos. Curiosamente, cuanto más descentralizada es la red minera, peor es la interrupción causada por la transacción T. Por ejemplo, para una cadena de bloques que tiene un intervalo de bloque promedio de 10 minutos, si hubiera 100 mineros cada uno con el 1% del hashrate total, la red sufriría una desaceleración de 100 veces durante varios bloques hasta que finalmente converja. ¡La red no se podrá utilizar durante 2 días!
RSK es un cadena lateral de Bitcoin puro, por lo que tuvo que enfrentar el desafío de asegurar la cadena de bloques con un presupuesto de seguridad que consiste solo en tarifas de transacción desde su inicio. Por lo tanto, RSK tuvo que estar preparada para tarifas anormalmente altas o bajas. RSK fue la primera cadena lateral lista para producción y utiliza la minería de fusión para el consenso. Actualmente más del 40% de los mineros de Bitcoin fusionar-minar RSK.
Los mineros de RSK esperan una compensación económica por ejecutar nodos completos de RSK. La mayoría de las cadenas de bloques emiten nuevas monedas por esta compensación. Algunos otros libros de contabilidad distribuidos, como Ripple, no emiten monedas para pagar a los productores de bloques, pero los productores de bloques pueden recibir subsidios externos. Ripple Labs, que extrajo previamente XRP, tiene tantos de ellos que pueden proporcionar una compensación en XRP para que terceros se conviertan en productores de bloques. RSK, por otro lado, enfrenta las condiciones más difíciles: no tiene emisión de monedas (como Bitcoin) y no tiene una prima de moneda (como XRP). RSK representa un ejemplo exitoso de una cadena lateral de Bitcoin, un vistazo al futuro del consenso en las cadenas de bloques deflacionarias y cómo una cadena de bloques sin subsidio puede ser sostenible. Sin embargo, no tener subsidio significa que la cadena lateral debe diseñarse cuidadosamente contra los ataques presentados aquí. RSK implementa varias características únicas para estar más seguro contra las reorganizaciones de blockchain basadas en transacciones de tarifas altas:
- Suavizado de recompensa de bloque (también llamado suavizado de tarifas).
- Bloquear el intercambio de recompensas
- Minería combinada con reconocimiento de bifurcaciones
En las siguientes secciones, presentamos brevemente cada técnica.
La suavización de tarifas es una regla de consenso que distribuye las tarifas de transacción entre los mineros de una manera más igualitaria. Le paga a cada minero una función de las recompensas del bloque anterior. La función puede ser lineal o no lineal, basada en una pequeña cantidad de recompensas de bloque anteriores, o basada en un estado que depende de todos los bloques anteriores. El diseño más simple es utilizar algún tipo de filtro de paso bajo en las tarifas acumuladas. RSK utiliza una función de suavizado que es muy simple, una IIR α = 0.1. Si un minero de RSK resuelve un bloque en la altura N, el minero será compensado con el 10% de las tarifas de transacción del bloque N y el 10% de todas las tarifas de minero impagas acumuladas previamente. En otras palabras, existe una cuenta de minero “compartida”, donde en cada bloque el minero ganador pone las tarifas de transacción y saca el 10% para sí mismo.
El suavizado de recompensas aumenta el incentivo para extender la cadena de bloques contra el incentivo de volver a extraer un bloque anterior para obtener sus tarifas pagadas, porque el minero solo puede obtener el 10% de las tarifas de transacción de las ballenas. Traeremos el ejemplo anterior. Suponemos que la recompensa promedio del bloque es de 10 monedas y un bloque contiene un soborno de 100 monedas en la altura N. En RSK, el bloque en la altura N pagaría una recompensa de 19 monedas, mientras que el siguiente bloque pagaría 18.1 monedas. El minero egoísta ahora necesita 10 veces más poder de hash que cualquier otro minero para que el ataque sea rentable.
A continuación mostramos otras medidas de protección complementarias.
RSK implementa un protocolo de consenso para compartir recompensas llamado DECOR. DECOR divide las recompensas de bloque de manera uniforme entre los bloques hermanos, siempre que los encabezados de esos bloques sean referenciados por la cadena honesta. DECOR disminuye el incentivo para un ataque de atomización porque el ganador de la transacción de tarifa alta debe compartir la recompensa con otros 10 mineros que produjeron bloques hermanos. Esto se debe a que un bloque de blockchain puede tener hasta 10 referencias de hermanos de bloque, y el protocolo DECOR comparte la recompensa de bloque entre todos ellos. Para evitar compartir, el minero necesitaría minar otros 10 bloques egoístas, evitando referencias de tíos, reduciendo considerablemente sus posibilidades de éxito. Teniendo en cuenta la distribución de recompensas junto con la suavización de tarifas, para que un intento de interrumpir la red RSK tenga éxito, el soborno debe ser al menos 110 veces mayor que la recompensa de bloque promedio.
Minería fusionada con reconocimiento de bifurcaciones es una variante de la minería combinada que permite a los usuarios monitorear la red de la cadena principal (por ejemplo, Bitcoin) en busca de bifurcaciones maliciosas en la red de la cadena lateral (por ejemplo, RSK). Para beneficiarse de un ataque de transacción de ballenas, el atacante debe encontrar una víctima para gastar el doble. Esa víctima probablemente sería un intercambio de cifrado en línea. Los intercambios de cifrado esperan varios cientos de confirmaciones de bloque antes de aceptar un depósito, que es tiempo suficiente para Sistema RSK Armadillo para detectar la bifurcación maliciosa de antemano y alertar al intercambio. En el caso de ataques de francotiradores y atomización de mineros, las bifurcaciones maliciosas son cortas y, por lo tanto, Armadillo solo puede usarse como una herramienta para diagnosticar la situación e identificar las agrupaciones que se desvían del protocolo honesto, pero no puede prevenir el ataque.
Otra medida de protección complementaria, que RSK no implementa actualmente, es limitar el precio del gas de transacción a un múltiplo del precio mínimo del gas (es decir, un margen de 10x). Propuse una medida comparable para Bitcoin en 2013. RSK podría implementar esto fácilmente, ya que cada bloque anuncia el precio mínimo de transacción de gas aceptado. Sin embargo, establecer un precio máximo de gas no resuelve por completo el problema si la red se encuentra en un estado en el que los bloques no consumen todo el límite de gas disponible en un bloque. La alta tarifa de transacción en T puede ser el resultado de una mayor cantidad de gas consumido en lugar de un mayor precio del gas (la tarifa pagada es el producto de estas dos cantidades).
La suavización de recompensas no es la solución definitiva, ya que los atacantes pueden utilizar una plataforma de contrato inteligente para soborno mineros en hacer casi cualquier cosa. Presenté la teórica “Elección Eterna para el Ataque del Lado Oscuro” (o ECDSA :)) en 2014, como una forma de mostrar cómo se puede sobornar a los mineros para que se desvíen del comportamiento honesto. McCorry el en. (2018) presentó una amplia gama de ataques de soborno teóricos. Sin embargo, el nivel de comprensión y preparación necesarios para aceptar sobornos basados en contratos inteligentes es considerable. Esto hace que los ataques de soborno basados en contratos inteligentes sean mucho más difíciles de perpetrar. Un minero debe conocer el contrato de soborno y comprender cómo interactuar con él. Sin embargo, este tipo de ataque es inevitable: si la plataforma puede realizar un pago al minero de bloques actual, también puede ejecutar un contrato inteligente que paga al mismo minero. Esto se debe a que el lenguaje de programación que describe el consenso del protocolo y el utilizado por los contratos inteligentes son ambos “Turing-complete”. Este es un problema teórico interesante.
Se pueden pensar en trucos ingeniosos para dificultar los pagos de sobornos, como obligar a que las direcciones de los mineros sean especiales (es decir, un solo uso), de modo que un contrato de soborno no pueda pagar al minero. Sin embargo, una plataforma completa de contratos inteligentes de Turing no puede evitar un pago de una parte que está dispuesta a pagar a otra que está dispuesta a recibir el pago. Siempre construimos un contrato inteligente de soborno exitoso que evade las defensas. Por ejemplo, el minero malintencionado puede crear una prueba de conocimiento cero que demuestre el control de una dirección de minero específica en el contrato, sin revelar la clave privada. El minero enviaría esta prueba al contrato de soborno, junto con una dirección de recepción alternativa para recibir el soborno.
No es suficiente limitar las capacidades de lenguaje de contratos inteligentes de la cadena de bloques cuyos mineros deben ser sobornados, ya que cualquier otra plataforma de contrato inteligente completa de Turing se puede utilizar para pagar sobornos a los mineros. La plataforma solo necesita ejecutar un relé de encabezado de bloque (es decir, btcrelay). Por ejemplo, RSK y Ethereum podrían usarse para pagar sobornos a los mineros de Bitcoin. Sin embargo, coordinar un ataque en una cadena de bloques con puente es más difícil.
Una posible defensa contra los ataques de soborno es utilizar una variante del protocolo de consenso de PoS que requiere que la mayoría de los productores de bloques firmen bloques, y también les exige tener un depósito de seguridad (participación) de monedas durante un período de meses. La participación de los mineros que se equivocan (producen dos bloques contradictorios o extensiones de bifurcaciones contradictorias) sería confiscada por una comunidad lanzada en un hard fork. Si bien esta protección no elimina la vulnerabilidad, puede aumentar el costo del ataque, ya que el soborno debe ser mayor que la apuesta perdida. Actualmente, no es posible habilitar la participación de mineros en Bitcoin. Si bien RSK podría adoptar un consenso de PoS, no hay ninguna propuesta para cambiar a PoS o ni mezclar PoW con PoS en RSK.
Presentamos varios ataques conocidos al consenso de Nakamoto basados en transacciones maliciosas que pagaban tarifas anormalmente altas. Algunos ataques permiten el doble gasto y otros provocan inestabilidad de la red. Estos ataques son especialmente relevantes para todas las cadenas laterales de Bitcoin, incluida RSK. RSK implementa el suavizado de recompensas en bloque, el intercambio de recompensas en bloque y la minería combinada con reconocimiento de horquillas como elementos disuasorios. Si bien la suavización de recompensas funciona con tarifas explícitas, el caso general de los sobornos pagados mediante contratos inteligentes no se puede evitar. La defensa de estos ataques requiere una supervisión activa de la red. Por último, es necesario realizar más investigaciones sobre posibles soluciones para estos ataques.
- 100
- 2016
- 2019
- Mi Cuenta
- lector activo
- Adam Back
- Adicionales
- Ventaja
- Todos
- artículo
- activo
- Confirmación de Viaje
- MEJOR
- Apuesta
- a
- Bitcoin
- blockchain
- BTC
- precio de BTT
- efectivo
- Causa
- causado
- ceo
- Reto
- posibilidades
- el cambio
- Cheques
- sus hijos
- código
- Monedas
- Monedas
- vibrante e inclusiva
- para Trabajadores
- Consenso
- consumir
- continue
- contrato
- contratos
- Creamos
- cripto
- intercambio criptográfico
- Intercambios de Crypto
- criptomoneda
- Current
- Descentralizado
- Defensa
- Denegación de servicio
- Diseño
- detalle
- Interrumpir
- Interrupción
- libros distribuidos
- Temprano en la
- Economic
- Etereum
- Intercambio
- Cambios
- extensiones
- Cara
- caras
- Feature
- Caracteristicas
- Costes
- Finalmente
- Nombre
- seguir
- tenedor
- ser completados
- función
- futuras
- GAS
- ge
- General
- GM
- GP
- agarrar
- GV
- tenedor duro
- hachís
- Hashing
- Tasa de hash
- esta página
- Alta
- Cómo
- Como Hacer
- HTTPS
- idea
- Identifique
- Incluye
- aumente
- IP
- IT
- Clave
- especialistas
- labs
- idioma
- Nivel
- Largo
- gran
- Mayoría
- medir
- mediano
- Mempool
- Mineros
- Minería
- dinero
- monitoreo
- meses
- del sistema,
- nodos
- Ofertas
- en línea
- Otro
- Papel
- Pagar
- pago
- pagos
- (PDF)
- de igual a igual
- plataforma
- Plataformas
- alberca
- Albercas
- PoS
- PoW
- industria
- presente
- la prevención
- precio
- privada
- clave privada
- producido
- Productores
- Producto
- Profit
- Programación
- prueba
- propuesta
- Protección
- Cobertura
- la investigación
- RESTO
- ingresos
- Recompensas
- Ripple
- laboratorios de ondulación
- Ejecutar
- correr
- EN LINEA
- Serie
- pólipo
- Compartir
- Acciones
- Turno
- En Corto
- cadena lateral
- sencillos
- chica
- inteligente
- contrato inteligente
- Contratos Inteligentes
- So
- Soluciones
- RESOLVER
- pasar
- propagación
- stake
- replanteo
- Estado
- Estrategia
- subsidio
- comercial
- exitosos
- sostenible,
- Switch
- tercero
- equipo
- transaccional
- Transacciones
- Turing
- usuarios
- propuesta de
- vulnerabilidad
- esperar
- Wikipedia
- palabras
- Actividades:
- funciona
- xrp
- años
- cero