26 de abril de 2024

Libra: passo para o futuro ou retorne ao passado?

Não faz muito tempo, o Facebook levantou o véu do sigilo de sua nova moeda, a Libra.Como parte de sua apresentação, eles publicaramdocumentos - oficiais e três técnicos - sobreBlockchain Libra, idioma Move e LibraBFT. Apesar da tempestade resultante no Twitter e no Github, me dei ao trabalho de esperar um pouco para avaliar melhor a situação antes de me sentar ao teclado.

</p>

Percebi que toda essa crítica testemunha paradoxalmente a favor da importância desse evento.

Neste post, vou abordar os detalhes técnicos do novo blockchain, incluindo aspectos como consenso e descentralização.Em primeiro lugar, tentarei lançar luz sobre a natureza do movimento social lançado pelo Facebook, os efeitos macroeconômicos e geopolíticos da Libra, e também considerar a questão do suposto impacto da nova moeda no espaço blockchain.

Revisão técnica

É essa parte que me faz o maiordecepção com Libra. Infelizmente, não há nada de especial em Libra, e em algumas coisas eu até consideraria suas soluções técnicas como regressão. Vamos começar nossa análise do Libra com a parte que mais se assemelha ao Ethereum - sua estrutura TX:

Mover documento da VM

Tradução do documento: “3.2 Estrutura transacional. Uma transação é uma mensagem assinada contendo os seguintes dados:

&nbsp;

  • Endereço do remetente: endereço da conta do remetente da transação. A máquina virtual lê a sequência de número, chave de autenticação e saldo de recursos armazenados na conta Libra.T.
  • Chave pública do remetente: a chave pública correspondente à chave privada usada para assinar a negociação. O hash dessa chave pública deve corresponder à chave de autenticação armazenada na conta Libra do remetente.
  • Programa: um script de transação de movimentação de bytecode para execução, uma lista adicional de entradas de script e uma lista opcional de módulos de bytecode para publicação.
  • Preço do gás: o número de moedas de Libra que o remetente está disposto a pagar por unidade de gás pela transação.
  • Gás Máximo: O número máximo de unidades de gás que uma transação pode usar antes de ser interrompida.
  • Número de sequência: número inteiro não assinado, que deve ser igual ao número de sequência da conta Libra.T do remetente do recurso. Após a conclusão desta transação, o número de sequência será incrementado em um. Como apenas uma transação pode ser confirmada para um determinado número de sequência, as transações não podem ser reproduzidas. ”

A primeira coisa que chama sua atenção é que,Como o Ethereum e ao contrário do Bitcoin, o Libra é baseado em contas, não em UTXO (saída de transação não gasta). Podemos ver o número de sequência (conhecido no Ethereum como "nonce") contando transações em cada conta para impedir a duplicação de transações. O próximo ponto que coincide com o Ethereum é o preço do gás e o número máximo de unidades de gás - Libra ainda usa o termo "gás" do Ethereum.

Em segundo lugar, vale ressaltar que é necessárioespecifique o endereço e a chave pública a partir da qual o TX é enviado. Isso é feito para distribuir vários esquemas de assinatura, como já está acontecendo no Ethereum - eles implementaram esse mecanismo muito bem. No entanto, na prática, Libra exige que apenas um esquema seja assinado - ECDSA, que não é uma inovação há muito tempo. Ver algo como as assinaturas de Schnorr seria mais relevante e inovador e deixaria uma impressão muito melhor.

A primeira diferença interessante entre Libra e EthereumConsiste no fato de que o primeiro não possui um campo de valor, ou seja, o conceito de um token de sistema nativo na máquina virtual Libra (é chamado de Move), em que o token Libra é implementado como qualquer outro token na parte superior da máquina virtual Move (MVM). Pessoalmente, considero esse movimento um fenômeno puramente positivo. A maioria dos desenvolvedores do Ethereum admite que o suporte simultâneo ao éter e ao ERC20 é um evento muito estranho.

No entanto, no campo do programa, maisuma diferença importante do Ethereum. Aqui descobrimos que o MVM opera de uma maneira completamente diferente da EVM (Ethereum Virtual Machine). Para distingui-los, é importante observar a declaração sobre o MVM:

Mover documento da VM

No Ethereum, quando você publica um contrato, eleobtém seu próprio endereço, que atua como um "objeto" separado com seu próprio repositório, etc. Ele também pode se referir a outros contratos, e esse apelo será indistinguível de qualquer outro (há uma leve sutileza em relação ao tx.origin, que não abordarei).

No entanto, no MVM, o código é armazenado como módulos. Quando um módulo é publicado, ele é armazenado no endereço que o criou. Os módulos podem criar recursos armazenados nas contas às quais estão associados (veja a figura).

O campo do programa na transação é semelhante ao principalmétodo de software. Ele contém código que também pode chamar vários módulos. Observe que isso é significativamente diferente do Ethereum, porque, mesmo que o módulo use outro módulo, o chamador será sempre a conta original. Este é um tipo completamente diferente de "contrato inteligente" do que no Ethereum.

Uma das ilustrações dessa diferença pode ser consideradafalta de bibliotecas no Ethereum. Todo código publicado no Ethereum é um código de contrato inteligente, dotado de sua própria essência. Para tais fins, as pessoas criam coisas como proxies e contratos lógicos que permitem processar o código. Mas no Ethereum, isso é implementado de maneira muito natural, o que levou a coisas como, por exemplo, o hackeamento do Parity. Libra adota a abordagem exatamente oposta: aqui, os contratos não são dotados de propriedades de entidades soberanas, mas existem módulos que podem ser usados ​​(com objetivos semelhantes).

Para mim, este é um passo sério na direção errada. Sinto que os contratos como sujeitos abrem uma enorme variedade de oportunidades, das quais as mais óbvias e promissoras são certamente estruturas DAO. Não sei ao certo de que considerações essa abordagem foi escolhida. O principal argumento de Libra era a insegurança de contratos inteligentes, o que, é claro, é uma questão de extrema importância. No entanto, na minha opinião, esses tipos de problemas podem ser resolvidos em níveis mais altos, como compiladores, sem afetar a arquitetura do sistema.

O último comentário técnico diz respeitotransações confidenciais. Se a Libra teve a oportunidade de produzir algo realmente revolucionário, traga uma série de inovações tecnológicas significativas ao seu produto, permitindo transações confidenciais, como Monero, ZCash, etc. - esse recurso da Libra foi completamente ignorado e é realmente irritante.

Consenso, descentralização e semântica

O mecanismo de consenso de Libra é baseado em longa datatradição acadêmica dos protocolos BFT. Esses protocolos são usados ​​para obter consenso entre um conjunto de validadores conhecidos. Claramente, esta solução não é descentralizada, de acordo com o documento técnico Libra.

O projeto Libra afirma que, no futuro, elesPretendemos mudar para um modelo de prova de participação em que validadores possam ser painelizados e modificados. É muito difícil acreditar nisso por duas razões: primeiro, quanto maior o ativo, mais difícil é que as entidades centralizadas abandonem seu controle, tanto pelo desejo de manter seu poder quanto pelos requisitos das autoridades reguladoras. Portanto, se eles não decidirem descentralizar o controle sobre o mecanismo de consenso no momento em que o uso do ativo ainda for muito pequeno, é difícil acreditar que o farão no futuro.

Em segundo lugar, Libra constrói um modelo no qual o tokensuportado por um índice de ativos. Isso por si só o torna um sistema centralizado. É difícil imaginar como você pode combinar a prova inconfundível do modelo de prova de participação com um símbolo anexado do tipo que a associação Libra terá que emitir e gravar.

Outra questão a ser discutida, euEu considero semântica. A Libra Association chama seu sistema de blockchain. Embora esse termo possa ser tecnicamente correto, eu ainda o consideraria enganoso. É necessário separar o blockchain com permissão (como Libra) e o blockchain que não requer permissões (como, por exemplo, Bitcoin, Ethereum, etc.), no qual todos podem participar do processo de consenso. Não há verdadeiro ou falso aqui, pois isso é pura semântica, mas acredito que blockchain é um conceito que foi desenvolvido para chegar a um consenso sem a necessidade de permissões. Os sistemas permitidos eram conhecidos e possíveis antes da publicação de um artigo escrito por Satoshi, e, portanto, acho que (no caso de Libra) o uso do termo blockchain é apenas uma tentativa de promover o ruído criptográfico.

Efeitos macroeconômicos, sociais e geopolíticos

Talvez a coisa mais interessante em Libra seja a socialas consequências que a nova criptomoeda traz consigo. E embora eu seja bastante crítico sobre suas características técnicas, acho que ainda lançar o Libra é um grande passo na direção certa. Durante o século passado, o dinheiro conseguiu se transformar completamente em um sistema fiduciário, monopolizado pelos estados. Acredito que empresas privadas, como o Facebook, que emitem seus próprios tokens e competem com moedas fiduciárias no mercado livre, onde os participantes têm a oportunidade de escolher qual é o melhor para usar, definitivamente beneficiarão os usuários de moedas digitais em todo o mundo.

Eu também gostaria de destacar a escolha de Libraem relação a não vincular seu token ao dólar americano. Isso pode parecer um pouco, mas na verdade é uma decisão séria, que, provavelmente, foi discutida por um longo tempo. Tendo escolhido esse caminho - e até anunciado publicamente em uma declaração que o objetivo da solução é manter um custo estável de tokens - o Libra (e o Facebook) entrou em conflito direto com os bancos centrais e, acima de tudo, com o Federal Reserve dos EUA. Os militares não demoraram a se posicionar: o ministro das Finanças da França, o Congresso dos EUA e até o próprio Donald Trump se opuseram a essa etapa do Facebook.

Observe que, além deO curso estratégico - não vinculado ao dólar - a afirmação do Facebook de que Libra será suportado pelo índice de moedas também é uma forte jogada tática. Potencialmente, dessa maneira, eles podem influenciar estados que tentarão combater o Libra, não incluindo a moeda no índice.

Essa mudança no equilíbrio de poder não pode ser subestimada. Embora Libra não seja descentralizado, é um sistema aberto. Ou seja, ele não depende do sistema de identidade do estado. Qualquer pessoa pode obter uma conta Libra simplesmente criando um par de chaves públicas e privadas. Isso poderia dar o equivalente a serviços bancários a dois bilhões de pessoas incapazes de usar serviços bancários.

E a última coisa que gostaria de dizer é sobrecomo toda essa história afetará o destino dos livros que não precisam de permissão. Eu vejo dois cenários: em um, os reguladores de uma certa batalha épica vão lutar contra Libra e vencer. O Facebook abandonará seu projeto e o fechará. Nesse caso, sistemas que não requerem permissão receberão um grande impulso para o desenvolvimento, pois, sendo descentralizados, serão a única alternativa real que poderá ajudar a evitar a pressão dos reguladores. No segundo cenário, Libra terá sucesso no mercado livre, onde os tokens privados competirão com moedas fiduciárias. Nesse caso, cada usuário terá que escolher entre funções como vinculação fiduciária, descentralização, privacidade etc. Embora isso possa levar mais tempo do que eu gostaria, ainda estou otimista de que, a longo prazo, a descentralização será, mais cedo ou mais tarde, a mais valiosa de todas as propriedades da criptomoeda.

</p>

&nbsp;