O Blockchain Libra é um banco de dados programável e descentralizado, concebido para respaldar uma criptomoeda de baixa volatilidade que poderá servir como um meio eficiente de realizar transações financeiras através do Facebook. O protocolo Libra, que implementa o Blockchain Libra, visa a criar uma infraestrutura financeira que pode promover a inovação e barreiras menores de entrada, bem como melhorar o acesso a serviços financeiros.
Durante o processo de avaliação das opções existentes, a Associação Libra criou um novo blockchain com base nestes três requisitos:
- Ter capacidade de escala para bilhões de contas, o que exige alta taxa de processamento de transação, baixa latência e um sistema de armazenamento eficiente e de alta capacidade.
- Ser altamente seguro, para garantir a segurança dos fundos e dos dados financeiros.
- Ser flexível, para fortalecer a governança do ecossistema Libra, bem como inovações futuras em serviços financeiros.
O Blockchain Libra foi desenvolvido do zero para atender holisticamente a esses requisitos, tomando como base os conhecimentos acumulados em projetos e pesquisas existentes, uma combinação de abordagens inovadoras e técnicas já dominadas. A próxima seção destacará três decisões sobre o Blockchain Libra:
- Criação e uso da linguagem de programação Move.
- Uso de uma abordagem de consenso com Tolerância a Falhas Bizantinas (BFT).
- Adoção e reafirmação de estruturas de dados de blockchain amplamente adotadas.
O “Move” é uma nova linguagem de programação para implementar a lógica de transação personalizada e “contratos inteligentes” no Blockchain Libra. Como a meta do Libra é um dia é servir bilhões de pessoas, o Move foi elaborado com alta prioridade em segurança e proteção. O Move obtém informações de incidentes de segurança ocorridos com contratos inteligentes até o momento e cria uma linguagem que torna inerentemente mais fácil escrever um código que atenda à intenção do autor, diminuindo o risco de erros ou incidentes de segurança não intencionais.
Especificamente, o Move foi criado para impedir que os ativos sejam clonados. Ele ativa “tipos de recursos” que restringem ativos digitais às mesmas propriedades que têm os ativos físicos: um recurso tem um único proprietário, pode ser gasto apenas uma vez, a criação de novos recursos é restrita. A linguagem Move também facilita comprovações automáticas de que as transações satisfazem determinadas propriedades, como transações de pagamento apenas alterando os saldos da conta do pagador e do recebedor.
Com a priorização desses recursos, o Move ajudará a manter o Blockchain Libra seguro. Tornando o desenvolvimento do código de transação essencial mais fácil, o Move permite que a implementação das políticas de governança do ecossistema Libra, como o gerenciamento da moeda de Libra e da rede de nós validadores, ocorra de forma segura. O Move acelerará a evolução do protocolo Blockchain Libra e qualquer inovação financeira desenvolvida com base nele. Prevemos que a capacidade dos desenvolvedores de criar contratos será disponibilizada com o tempo, para auxiliar a evolução e validação do Move.
Para facilitar um acordo entre todos os nós validadores sobre as transações executadas e a ordem na qual são executadas, o Blockchain Libra adotou a abordagem com BFT usando o Protocolo de Consenso LibraBFT. Essa abordagem garante a confiança na rede, porque os protocolos de consenso BFT são desenvolvidos para funcionar corretamente, mesmo se alguns nós validadores (até um terço da rede) estiverem comprometidos ou falharem. Essa classe de Protocolos de Consenso também permite uma alta taxa de processamento da transação, baixa latência e uma abordagem mais energeticamente eficiente ao consenso do que a “prova de trabalho” usada em outros blockchains.
Para armazenar as transações de forma segura, os dados no Blockchain Libra são protegidos por árvores de Merkle, uma estrutura de dados usada por outros blockchains e que permite a detecção de alterações nos dados existentes. Diferentemente de blockchains anteriores, que veem o blockchain como um conjunto de blocos de transações, o Blockchain Libra é uma única estrutura de dados que registra o histórico das transações e dos estados. Essa implementação simplifica o trabalho dos aplicativos que acessam o blockchain, permitindo a leitura de qualquer dado em qualquer ponto no tempo e a verificação da integridade desses dados usando uma estrutura unificada.
O Blockchain Libra opera com pseudônimos e permite que os usuários mantenham um ou mais endereços não vinculados à identidade deles no mundo real. Essa abordagem é familiar para muitos usuários, desenvolvedores e entidades reguladoras. A Associação Libra acompanhará a evolução da rede e do protocolo Blockchain Libra, bem como continuará avaliando novas técnicas que aumentam a privacidade no blockchain e considerando questões relativas à praticidade, escalabilidade e impacto regulamentar.
Para obter mais detalhes, leia o documento técnico sobre o Blockchain Libra. Informações detalhadas também estão disponíveis na linguagem de programação Move e no Protocolo de Consenso LibraBFT. Disponibilizamos uma prévia do testnet do Libra, com documentação complementar. O testnet está em desenvolvimento, e as APIs estão sujeitas a alterações. Nosso compromisso é trabalhar abertamente com a comunidade. Esperamos que você possa ler, desenvolver e fornecer feedback.