paint-brush
Última milha de blockchains: RPC e nó como serviçopor@blockchainize
379 leituras
379 leituras

Última milha de blockchains: RPC e nó como serviço

Muito longo; Para ler

O artigo compara diferentes métodos de acesso a blockchains, destacando as vantagens e desvantagens entre executar um nó completo e depender de serviços de terceiros. Conclui que a execução de um nó completo continua a ser a forma mais segura de acessar informações de blockchain, enfatizando a importância da integridade, disponibilidade e privacidade em futuros serviços de acessibilidade de blockchain.
featured image - Última milha de blockchains: RPC e nó como serviço
Blockchainize Any Technology HackerNoon profile picture
0-item

Autores:

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

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

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

Tabela de links

Resumo e I. Introdução

II. Expectativas de acessibilidade Blockchain

III. Abordagem I: Manter um Ledger Localmente - Executar um Full Node

4. Abordagem II: Consultar um Ledger-Node-As-A-Service (NAAS) de terceiros

V. Abordagem III: Light Node - Consulta Externa e Verificação Local

VI. Observação final e referências


Resumo —Embora muitas pesquisas se concentrem em diferentes métodos para proteger o blockchain, as informações sobre a cadeia precisam ser acessadas pelos usuários finais para serem úteis. Este documento de posicionamento examina diferentes maneiras pelas quais os usuários finais podem acessar blockchains. Observamos que entre os dois extremos de executar um nó completo e utilizar totalmente um serviço de terceiros confiável, muitas soluções relacionadas a nós leves estão surgindo. Analisamos estas soluções com base em três propriedades básicas da comunicação web: integridade, disponibilidade e privacidade. Concluímos que atualmente, a melhor forma de acessar uma blockchain mantendo essas três propriedades ainda é rodando um full node. Consideramos essencial que os futuros serviços de acessibilidade blockchain sejam construídos considerando essas três expectativas.

I. INTRODUÇÃO

Um blockchain é um grupo de nós que tentam manter um livro-razão de transações publicamente verificável e protegido contra adulteração. Após sua primeira proposta como Bitcoin [41] em 2009, os blockchains ganharam muita popularidade como instrumentos financeiros. O sucesso das blockchains mais conhecidas, como Bitcoin e Ethereum [20], pode ser atribuído em grande parte à sua natureza descentralizada e à sua capacidade de lidar com transações complexas com primitivas criptográficas avançadas. Com atualmente um grande mercado, os blockchains têm potencial para se tornarem uma inovação líder nos setores financeiro e de comércio eletrônico no século XXI.


Muitas pesquisas e inovações existentes em infraestrutura de blockchain concentram-se em maneiras seguras e eficientes para os nós participantes manterem o livro-razão público (conhecido como protocolo de camada 1). No entanto, notamos que obter informações de um livro-razão bem mantido também não é uma questão trivial. Garantir que as blockchains permaneçam acessíveis a todos os utilizadores é essencial para que as blockchains desempenhem um papel mais importante na vida quotidiana – um livro-razão público é, por definição, apenas útil enquanto as pessoas puderem interagir com ele.


Dado o recente interesse público crescente em blockchains, mais usuários estão interagindo com blockchains todos os meses, com até 875.000 transações por dia para blockchains populares como o Ethereum [20]. Tentar extrair informações úteis de uma enxurrada de transações requer hardware poderoso até mesmo para um usuário de blockchain padrão que não se envolve em comportamento gerador de lucro (como mineração), e parece que o mecanismo de incentivo na maioria dos blockchains não está equipado para lidar com o emitir.


Na maioria dos protocolos blockchain, como Bitcoin e Ethereum, os nós participantes (mineradores em sistemas de prova de trabalho e validadores em sistemas de prova de participação) são incentivados a manter o livro-razão ganhando uma pequena taxa ao propor um novo bloco ao livro razão. Embora os nós participantes nesses protocolos blockchain sejam incentivados a coletar transações e transmitir blocos brutos para garantir seu lucro, eles não são incentivados a publicar informações refinadas sobre o livro-razão que mantêm. Considere estes dois exemplos: (1) Um usuário deseja saber quantas moedas existem em sua carteira Bitcoin. (2) Um usuário deseja saber o status atual de um contrato inteligente que deseja executar.


Semelhante a esses exemplos, a maioria das informações que os usuários desejam saber não está diretamente relacionada aos blocos brutos que os mineradores e validadores publicam. Os utilizadores podem confiar totalmente os seus activos a uma bolsa de terceiros e obter informações da bolsa, mas a abordagem é significativamente arriscada, como evidenciado pelo recente colapso da FTX [31]. Portanto, os usuários do blockchain precisam desenvolver um método para extrair essas informações dos blocos, seja por meio de algum poder de computação de sua propriedade ou contando com um provedor de serviços terceirizado.


Neste artigo, comparamos os dois métodos atuais na prática que os usuários adotam para obter informações refinadas de blockchains. Um método envolve a execução de um nó completo localmente. Este método geralmente é capaz de extrair muitas informações do blockchain sem dependência externa. Em alguns casos, porém, índices adicionais são mantidos para garantir uma consulta mais rápida, como nós de arquivo Ethereum e nós Solana RPC. O outro método é contar com um provedor de serviços terceirizado. Notamos a tendência de que, à medida que o custo de funcionamento de um nó completo aumenta, especialmente no Ethereum, muitos usuários recorrem a serviços de terceiros, que acarretam seus próprios riscos de segurança. Observamos que a execução de um nó completo e a utilização total de um serviço confiável de terceiros representam dois extremos em relação à acessibilidade do blockchain: um com dependência mínima e requisitos máximos de hardware e outro com confiança máxima e requisitos mínimos de hardware.


Notamos também que quando os dados necessários no blockchain são específicos e limitados, como quando os usuários se preocupam apenas com um endereço que possuem, um software de carteira específico está disponível para os usuários. Enquanto alguns softwares de carteira consultam diretamente um nó externo em busca de dados, outros podem baixar uma parte dos blockchains e analisá-los diretamente em busca das informações que interessam aos usuários. Categorizamos o software como nós de luz específicos. Enquanto isso, descrevemos uma tendência recente na realização de um nó de luz universal que possa fornecer qualquer informação para


Figura 1. Diferentes métodos para acessar blockchains e obter informações úteis. A dependência de recursos externos diminui enquanto a dependência da potência do hardware local aumenta de cima para baixo.


usuários, não apenas um endereço [12], como o proposto pela Ethereum [24]. A pesquisa atual também inclui os chamados nós ultraleves, como o Flyclient [10], que estão mais perto de confiar em um serviço de terceiros que fornece contexto adicional para verificação (também conhecido como provador neste contexto) do que os nós leves tradicionais que dependem somente em nós completos. A Figura 1 mostra uma lista de diferentes métodos para acessar blockchains.


Acreditamos que, entre muitas formas de acessar blockchains, ainda é importante examinar os princípios básicos de qualquer serviço web: integridade, disponibilidade e privacidade. A blockchain em si é uma tecnologia de descentralização, mas a dependência excessiva de um pequeno número de terceiros vai contra esta premissa. Sem um método para verificar a exatidão dos dados, a integridade poderá ser comprometida se os referidos terceiros fornecerem dados incorretos. Com demasiada dependência de terceiros seleccionados para fornecer acessibilidade, a disponibilidade pode ser afectada se estes não puderem ou não quiserem fornecer o serviço. A privacidade também é uma preocupação que precisa ser abordada ao consultar terceiros.


Examinamos os protocolos existentes no mercado e descobrimos que muitos deles podem apresentar falhas em pelo menos um desses aspectos. Atualmente, a melhor maneira de acessar um blockchain mantendo a integridade, disponibilidade e privacidade ainda é executar um nó completo localmente. Consideramos importante prestar atenção a esses três aspectos ao projetar qualquer protocolo para interagir com blockchains para garantir funcionalidade.


Este artigo está disponível no arxiv sob licença CC BY-NC-ND 4.0 DEED.