179 lecturas

¿Qué tan rápidas son las transacciones Ethereum?

Demasiado Largo; Para Leer

Este estudio revela que los precios más altos del gas aceleran las transacciones, pero con retornos disminuyendo. Compara la exactitud de los estimadores de gas como Etherscan y EthGasStation, y propone un modelo más simple que los supera para transacciones de bajo costo.
featured image - ¿Qué tan rápidas son las transacciones Ethereum?
Blockchainize Any Technology HackerNoon profile picture
0-item

Los autores:

(1) MICHAEL PACHECO, Software Analysis and Intelligence Lab (SAIL) de la Universidad de Queen, Canadá;

(2) GUSTAVO A. OLIVA, Laboratorio de Análisis de Software e Inteligencia (SAIL) de la Universidad de Queen, Canadá;

(3) GOPI KRISHNAN RAJBAHADUR, Centro de Excelencia de Software de Huawei, Canadá;

(4) AHMED E. HASSAN, Software Analysis and Intelligence Lab (SAIL) de la Universidad de Queen, Canadá.

Authors:

(1) MICHAEL PACHECO, Software Analysis and Intelligence Lab (SAIL) de la Universidad de Queen, Canadá;

(2) GUSTAVO A. OLIVA, Laboratorio de Análisis de Software e Inteligencia (SAIL) de la Universidad de Queen, Canadá;

(3) GOPI KRISHNAN RAJBAHADUR, Centro de Excelencia de Software de Huawei, Canadá;

(4) AHMED E. HASSAN, Software Analysis and Intelligence Lab (SAIL) de la Universidad de Queen, Canadá.

Mesa de la izquierda

Abstracto y 1 Introducción

2 Fondo y 2.1 Blockchain

2.2 Transacciones

3 Ejemplos motivadores

4 Tiempos de procesamiento de transacciones

5 Recopilación de datos y 5.1 Fuentes de datos

5.2 Enfoque

6 Resultados

6.1 RQ1: ¿Cuánto tiempo tarda en procesar una transacción en Ethereum?

6.2 RQ2: ¿Cuán precisas son las estimaciones de tiempo de procesamiento de transacciones proporcionadas por Etherscan y EthGasStation?

7 ¿Se puede derivar un modelo más simple? un estudio post-hoc

8 Implicaciones

8.1 ¿Qué pasa con los usuarios finales?

9 Trabajo relacionado

10 amenazas a la validez

11 Conclusión, Disclaimer y Referencias


A. COMPUTING TRANSACTION PROCESSING TIMES

A. Calculando los tiempos de procesamiento de transacciones

A.1 Pérdida de tiempo

A.2 Timestamp procesado

B. RQ1: GAS PRICE DISTRIBUTION FOR EACH GAS PRICE CATEGORY

RQ1: Distribución del precio del gas para cada categoría de precio del gas

B.1 Análisis de sensibilidad en el bloque Lookback

C. RQ2: SUMMARY OF ACCURACY STATISTICS FOR THE PREDICTION MODELS

RQ2: Sumario de estadísticas de precisión para los modelos de predicción

D. POST-HOC STUDY: SUMMARY OF ACCURACY STATISTICS FOR THE PREDICTION MODELS

D. Estudio post-hoc: resumen de estadísticas de precisión para los modelos de predicción


Ethereum es una de las plataformas más populares para el desarrollo de transacciones basadas en blockchain. Estas aplicaciones son conocidas como transacciones de gas. Cuando se observan las transacciones de gas, los desarrolladores necesitan traducir las solicitudes capturadas en el front-end de su aplicación en un o más servicios de contrato inteligente. Los desarrolladores necesitan pagar por estas transacciones y, cuanto más exactamente pagan (es decir, cuanto más alto sea el precio del gas), más rápido se espera que se procesen las transacciones. El desarrollo de transacciones rentables es lejos de ser trivial, ya que los desarrolladores necesitan optimizar el equilibrio entre el coste (cargas de transacción) y la experiencia del usuario (tiempos de procesamiento de transacciones). Los servicios en línea se han desarrollado para proporcionar a los emisores de

1 Introducción

Blockchain es una nueva tecnología de software que permite el procesamiento seguro y descentralizado de las transacciones digitales. La primera plataforma de blockchain principal fue Bitcoin, que popularizó el concepto de criptomonedas. En la plataforma de Bitcoin, la criptomoneda también se llama Bitcoin (con una letra "b") y está representada por el código BTC. El propósito principal de la plataforma de Bitcoin es permitir la transferencia de BTC entre cuentas de usuarios. Es decir, la plataforma de Bitcoin proporciona una plataforma para el procesamiento detransacciones de criptomonedas.


Después de Bitcoin, se han desarrollado muchas otras plataformas blockchain.Blockchains programablesA diferencia de Bitcoin, las blockchains programables también alojan y ejecutanContratos inteligentesAdemás de apoyar las transacciones de criptomonedas.Un contrato inteligente es un programa informático de propósito general que normalmente está escrito con un lenguaje de programación orientado a objetos de alto nivel (por ejemplo, Solidity).Una de las plataformas blockchain programables más populares esEthereumEn Ethereum, una cuenta de usuario puede enviarTransacciones contractualesUna transacción de contrato desencadena la ejecución de una función definida en un contrato inteligente.


Los bloques programables permiten el desarrollo deAplicaciones basadas en blockchainEn el mundo de Ethereum, estas aplicaciones son conocidas comoAplicaciones descentralizadaso simplemente ÐApps. Debido a las propiedades inherentes de una blockchain (por ejemplo, seguridad, procesamiento distribuido), ÐApps tienen el potencial de transformar la forma en que las empresas operan actualmente. De hecho, este potencial transformador ha generado una demanda crítica para profesionales con experiencia en blockchain.El año pasado, la computación en la nube, la inteligencia artificial y el razonamiento analítico lideraron la lista global de LinkedIn de las habilidades más demandadas.Todas están en la lista de nuevo este año, pero una habilidad que ni siquiera mirábamos hace un año - blockchain - encabeza la lista de las habilidades más demandadas para 2020.


Al ingenierizar una ÐApp, los desarrolladores necesitan traducir las solicitudes capturadas en el frontend de su aplicación en una o más transacciones de contrato. Por ejemplo, supongamos que una compañía financiera desea desarrollar una ÐApp bancaria en la parte superior de Ethereum.Traducciónoperaciones financieras (por ejemplo, pagar una factura) en una o más transacciones contractuales. Para ofrecer una experiencia de usuario final agradable, estas transacciones deben ser procesadas lo más rápido posible por los nodos que mantienen la blockchain. Sin embargo, la cantidad real de tiempo que tarda en procesar una transacción en Ethereum depende de varios factores, incluyendo: el precio del gas fijado para la transacción (una forma específica de Ethereum de las tarifas de transacción), el nivel de utilización de la blockchain (es decir, cuán grande es la carga de trabajo actual), y los algoritmos de priorización de transacciones empleados por los nodos mineros (es decir, aquellas entidades que seleccionan y procesan efectivamente las transacciones en la blockchain). En otras palabras, a pesar del papel crítico del procesamiento de transacciones en el tiempo


De los tres factores mencionados anteriormente que influyen en el tiempo de procesamiento de la transacción, sólo el precio del gas puede ser controlado por el emisor de la transacción (por ejemplo, desarrolladores de ÐApp). En el ejemplo bancario descrito anteriormente, los desarrolladores probablemente lograrían tiempos de procesamiento de la transacción rápidos estableciendo un precio de gas muy alto.In other words, the challenge is to dynamically determine the cheapest gas price that will provide the best possible end-user experience (transaction processing time).


Los servicios en línea se han desarrollado para ayudar a los emisores de transacciones (por ejemplo, desarrolladores de ÐApp) a elegir los precios adecuados del gas. Actualmente, los dos servicios más populares son Etherscan y EthGasStation. Estos servicios proporcionan estimaciones en tiempo real de los tiempos de procesamiento para un precio de gas dado (o conjunto de precios del gas). La razón es que, al analizar estas estimaciones, los emisores de transacciones pueden hacer una elección de precio del gas más informada. A pesar de la popularidad de los dos servicios mencionados anteriormente, la exactitud de sus estimaciones de tiempo de procesamiento sigue siendo incierta. Además, el servicio de Etherscan es propietario y de caja negra (es decir, su funcionamiento interno no se revela, impidiendo una interpretación de cómo funciona el modelo).


En este estudio, investigamos empíricamente los tiempos de procesamiento de transacciones en Ethereum. Más específicamente, determinamos los tiempos típicos de procesamiento, investigamos la relación entre los tiempos de procesamiento y los precios del gas, y evaluamos la precisión de los servicios de estimación del tiempo de procesamiento.


• RQ1: How long does it take to process a transaction in Ethereum? También observamos que los precios más altos del gas resultan en tiempos de procesamiento de transacciones rápidos con retornos disminuidos (por ejemplo, no hay diferencia práctica entre los tiempos de procesamiento de transacciones caras y muy caras).


• RQ2: How accurate are the estimates for transaction processing time provided by Etherscan and EthGasStation? Etherscan y EthGasStation utilizan dos modelos de predicción cada uno. Nuestros resultados muestran que los cuatro modelos estudiados son equivalentes a un error absoluto mediano en el rango de 40.8s a 58.2s. Sin embargo, en un análisis estratificado basado en las categorías de precios del gas, observamos que el Etherscan Gas Tracker (cuadro negro) es el modelo más preciso para transacciones muy baratas y baratas.


Basándose en los resultados de RQ1 y RQ2, realizamos un estudio post-hoc en el que buscamos diseñar un modelo simple e interpretable que sea al menos tan preciso como los modelos de mejor rendimiento existentes. En tal estudio, mostramos que un modelo de regresión lineal simple que se basa en una sola característica es capaz de realizar al menos tan exactamente como los modelos de mejor rendimiento para todas las categorías de precio.muy baratoybaratotransacciones, que son las más difíciles de predecir el tiempo de procesamiento para.


Los resultados de nuestro artículo ayudan a los desarrolladores de ÐApp a tomar decisiones más informadas sobre el precio del gas de sus transacciones emitidas por la aplicación.Además, nuestras estadísticas descriptivas de los tiempos de procesamiento en Ethereum deben ser valiosas para aquellos que están considerando el desarrollo de ÐApps en la parte superior de esta plataforma blockchain.


Las contribuciones de nuestro estudio son las siguientes: (i) diseñar un enfoque para recoger los tiempos de procesamiento de transacciones, que permita futuros estudios en el área, (ii) caracterizar los tiempos de procesamiento de transacciones para diferentes categorías de precios del gas (muy barato, barato, regular, caro y muy caro), (iii) determinar la exactitud de los servicios de estimación de tiempo de procesamiento existentes, y (iv) desarrollar un modelo que supere a los servicios de estimación existentes.


Paper organization.Este artículo está organizado de la siguiente manera. Sección 2 introduce los conceptos clave que utilizamos a lo largo de este artículo. Sección 3 describe un ejemplo motivador, que aclara cómo un practicante puede utilizar un servicio de estimación de tiempo de procesamiento en la práctica. Sección 4 describe cómo calculamos los tiempos de procesamiento de transacciones. Sección 5 presenta el proceso de recopilación de datos de nuestro estudio. Sección 6 presenta la motivación, el enfoque y nuestros hallazgos para cada pregunta de investigación. Sección 7 presenta nuestro estudio post-hoc. Sección 8 discute las implicaciones de nuestros hallazgos. Sección 9 presenta el trabajo relacionado. Sección 10 discute las amenazas a la validez de nuestros hallazgos. Finalmente, Sección 11 concluye el estudio.


Este artículo está disponible en archiv bajo la licencia CC BY-NC-ND 4.0 DEED.

Este artículo está disponible en archiv bajo la licencia CC BY-NC-ND 4.0 DEED.

Disponible en Archivo

[1] https://bit.ly/2YzfcKt. Para la versión final del documento, los datos se pondrán a disposición a través de un enlace permanente a un repositorio de GitHub.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks