paint-brush
Última Milla de Blockchains: RPC y Nodo como Servicioby@blockchainize

Última Milla de Blockchains: RPC y Nodo como Servicio

Blockchainize5m2024/07/26
Read on Terminal Reader

El documento compara diferentes métodos para acceder a blockchains, destacando las ventajas y desventajas entre ejecutar un nodo completo y depender de servicios de terceros. Concluye que ejecutar un nodo completo sigue siendo la forma más segura de acceder a la información de blockchain, enfatizando la importancia de la integridad, la disponibilidad y la privacidad en los futuros servicios de accesibilidad de blockchain.
featured image - Última Milla de Blockchains: RPC y Nodo como Servicio
Blockchainize HackerNoon profile picture
0-item

Autores:

(1) Zhongtang Luo, Universidad Purdue ([email protected]);

(2) Rohan Murukutla, supra ([email protected]);

(3) Aniket Kate, Universidad Purdue/Supra ([email protected]).

Tabla de enlaces

Resumen y I. Introducción

II. Expectativas de accesibilidad de Blockchain

III. Enfoque I: Mantener un libro mayor localmente - Ejecutar un nodo completo

IV. Enfoque II: consultar un nodo de libro mayor como servicio (NAAS) de terceros

V. Enfoque III: Nodo ligero: consulta externa y verificación local

VI. Observaciones finales y referencias


Resumen : si bien gran parte de la investigación se centra en diferentes métodos para proteger blockchain, los usuarios finales deben acceder a la información de la cadena para que sea útil. Este documento de posición analiza diferentes formas en que los usuarios finales pueden acceder a blockchains. Observamos que entre los dos extremos de ejecutar un nodo completo y utilizar plenamente un servicio de terceros confiable, están surgiendo muchas soluciones relacionadas con los nodos ligeros. Analizamos estas soluciones en base a tres propiedades básicas de la comunicación web: integridad, disponibilidad y privacidad. Concluimos que actualmente, la mejor manera de acceder a una cadena de bloques manteniendo estas tres propiedades sigue siendo ejecutar un nodo completo. Consideramos esencial que los futuros servicios de accesibilidad blockchain se construyan teniendo en cuenta estas tres expectativas.

I. INTRODUCCIÓN

Una cadena de bloques es un grupo de nodos que intentan mantener un libro de transacciones públicamente verificable y protegido contra manipulación. Después de su primera propuesta como Bitcoin [41] en 2009, las cadenas de bloques han ganado mucha popularidad como instrumentos financieros. El éxito de las cadenas de bloques más conocidas, como Bitcoin y Ethereum [20], puede atribuirse en gran medida a su naturaleza descentralizada y a sus capacidades para manejar transacciones complejas con primitivas criptográficas avanzadas. Con un gran mercado actual, las cadenas de bloques tienen el potencial de convertirse en una innovación líder en los sectores de las finanzas y el comercio electrónico en el siglo XXI.


Gran parte de la investigación e innovación de la infraestructura blockchain existente se centra en formas seguras y eficientes para que los nodos participantes mantengan el libro de contabilidad público (conocido como protocolo de capa 1). Sin embargo, observamos que obtener información de un libro de contabilidad bien mantenido tampoco es una cuestión trivial. Garantizar que las cadenas de bloques sigan siendo accesibles para todos los usuarios es esencial si se quiere que las cadenas de bloques desempeñen un papel más importante en la vida cotidiana: un libro de contabilidad público, por definición, sólo es útil mientras las personas puedan interactuar con él.


Dado el reciente creciente interés público en las cadenas de bloques, cada mes más usuarios interactúan con ellas, con hasta 875.000 transacciones al día para cadenas de bloques populares como Ethereum [20]. Intentar extraer información útil de una avalancha de transacciones requiere un hardware potente incluso para un usuario estándar de blockchain que no participa en comportamientos generadores de ganancias (como la minería), y parece que el mecanismo de incentivos en la mayoría de las blockchains no está equipado para hacer frente a la asunto.


En la mayoría de los protocolos blockchain, como Bitcoin y Ethereum, los nodos participantes (mineros en sistemas de prueba de trabajo y validadores en sistemas de prueba de participación) están incentivados a mantener el libro mayor ganando una pequeña tarifa al proponer un nuevo bloque al libro mayor. Si bien los nodos participantes en estos protocolos blockchain están incentivados a recopilar transacciones y transmitir bloques sin procesar para garantizar sus ganancias, no están incentivados a publicar información refinada sobre el libro mayor que mantienen. Considere estos dos ejemplos: (1) Un usuario quiere saber cuántas monedas hay en su billetera Bitcoin. (2) Un usuario quiere saber el estado actual de un contrato inteligente que desea ejecutar.


Al igual que en estos ejemplos, la mayoría de la información que los usuarios quieren saber no está directamente relacionada con los bloques sin procesar que publican los mineros y validadores. Los usuarios pueden confiar completamente sus activos a un intercambio de terceros y obtener información del intercambio, pero el enfoque es significativamente riesgoso, como lo demuestra la reciente caída de FTX [31]. Por lo tanto, los usuarios de blockchain deben idear un método para extraer dicha información de los bloques, ya sea mediante algún poder de cálculo de su propiedad o confiando en un proveedor de servicios externo.


En este artículo, comparamos los dos métodos actuales en la práctica que adoptan los usuarios para obtener información refinada de blockchains. Un método implica ejecutar un nodo completo localmente. Este método suele ser capaz de extraer mucha información de la cadena de bloques sin dependencia externa. Sin embargo, en algunos casos, se mantienen índices adicionales para garantizar una consulta más rápida, como los nodos de archivo de Ethereum y los nodos RPC de Solana. El otro método consiste en confiar en un tercer proveedor de servicios. Notamos la tendencia de que a medida que crece el costo de ejecutar un nodo completo, especialmente en Ethereum, muchos usuarios recurren a servicios de terceros, que conllevan sus propios riesgos de seguridad. Observamos que ejecutar un nodo completo y utilizar plenamente un servicio de terceros confiable representa dos extremos con respecto a la accesibilidad de blockchain: uno con una dependencia mínima y un requisito máximo de hardware y otro con una dependencia máxima y un requisito mínimo de hardware.


También notamos que cuando los datos requeridos en la cadena de bloques son específicos y limitados, como cuando a los usuarios solo les importa una dirección que poseen, un software de billetera específico está disponible para los usuarios. Mientras que algunos programas de billetera solicitan datos directamente a un nodo externo, otros pueden descargar una parte de las cadenas de bloques y analizarlas directamente en busca de la información que interesa a los usuarios. Clasificamos el software como nodos de luz específicos. Mientras tanto, describimos una tendencia reciente en la realización de un nodo de luz universal que pueda proporcionar cualquier información a


Fig. 1. Diferentes métodos para acceder a blockchains y obtener información útil. La dependencia de recursos externos disminuye mientras que la dependencia de la energía del hardware local aumenta de arriba a abajo.


usuarios, no solo una dirección [12], como la propuesta por Ethereum [24]. La investigación actual también incluye los llamados nodos ultraligeros, como Flyclient [10], que se acercan más a depender de un servicio de terceros que proporciona un contexto adicional para la verificación (también conocido como probador en este contexto) que los nodos ligeros tradicionales que dependen de sólo en nodos completos. La Figura 1 muestra una lista de diferentes métodos para acceder a blockchains.


Creemos que, entre muchas formas de acceder a blockchains, sigue siendo importante examinar los conceptos básicos de cualquier servicio web: integridad, disponibilidad y privacidad. La cadena de bloques en sí es una tecnología de descentralización, pero depender demasiado de un pequeño número de terceros va en contra de esta premisa. Sin un método para verificar la exactitud de los datos, la integridad puede verse comprometida si dichos terceros proporcionan datos incorrectos. Al depender demasiado de terceros seleccionados para brindar accesibilidad, la disponibilidad puede verse afectada si no pueden o no quieren brindar el servicio. La privacidad también es una preocupación que debe abordarse al consultar a un tercero.


Examinamos los protocolos existentes en el mercado y descubrimos que muchos de ellos pueden tener fallas en al menos uno de estos aspectos. Actualmente, la mejor manera de acceder a una cadena de bloques manteniendo la integridad, la disponibilidad y la privacidad sigue siendo ejecutar un nodo completo localmente. Consideramos importante prestar atención a estos tres aspectos al diseñar cualquier protocolo para interactuar con blockchains para garantizar la funcionalidad.


Este documento está disponible en arxiv bajo licencia CC BY-NC-ND 4.0 DEED.