O que é um ledger em blockchain? Uma explicação simples e clara

Se já dedicou algum tempo a ler sobre blockchain, deparou-se com a palavra ledger mais vezes do que consegue contar. As pessoas usam o termo como se toda a gente já soubesse o que significa. Na maioria das vezes, ninguém para para o explicar.

Vamos então resolver isso. Um ledger é um daqueles conceitos que parece técnico, mas que na realidade não é. Assim que se compreende, grande parte do resto da blockchain começa também a fazer sentido — por que razão as pessoas confiam nela, por que é difícil de adulterar e por que motivo é importante para áreas como o dinheiro, as cadeias de abastecimento e os contratos. Este artigo explica tudo em linguagem acessível, sem necessidade de qualquer formação em informática.

Dedicamo-nos profissionalmente ao desenvolvimento de sistemas blockchain, pelo que passamos bastante tempo a explicar isto a pessoas inteligentes, mas que estão a dar os primeiros passos nesta área. O que se segue é, em traços gerais, a explicação que lhes costumamos dar.

Para começar, o que é um ledger?

Esqueça a blockchain por um momento. A palavra ledger é séculos mais antiga do que qualquer computador. Na sua essência, um ledger é um registo de transações. Dinheiro que entra, dinheiro que sai. Quem deve o quê a quem. É só isso.

Pense no livro de registo de cheques que os seus pais talvez mantivessem, ou na conta corrente que a mercearia do bairro tem para um cliente habitual. Sempre que algo acontece — um depósito, um levantamento, uma compra —, regista-se tudo por ordem. O ledger indica o estado atual das contas ao manter um registo fiel de tudo o que levou até esse ponto.

As empresas sempre utilizaram ledgers. Os mercadores medievais guardavam-nos em livros encadernados em couro. Hoje em dia, os bancos mantêm-nos em enormes bases de dados. O formato mudou; a função não. Um ledger responde com fiabilidade a uma única questão: o que aconteceu e por que ordem?

Existe, contudo, um senão nos ledgers tradicionais, e é precisamente por essa razão que a blockchain existe. Alguém é o proprietário do livro. O banco guarda os seus próprios registos. O comerciante controla a conta. Confia nesse registo porque confia na pessoa ou na instituição que tem a caneta na mão. Se cometerem um erro — ou decidirem alterar discretamente um registo —, pouco ou nada pode fazer. Está a confiar neles, e não no ledger em si.

O que é um ledger na blockchain?

Um ledger na blockchain desempenha a mesma função básica — regista transações por ordem —, mas muda quem segura a caneta. Em vez de existir um único proprietário a guardar a cópia oficial, o ledger é replicado por toda uma rede de computadores, que o mantêm sincronizado.

Nenhum computador manda sozinho. Nenhuma entidade pode editar o registo por si só. Quando ocorre uma nova transação, a rede verifica-a, concorda que é válida e adiciona-a a todas as cópias ao mesmo tempo. Esse registo partilhado, sujeito a um consenso contínuo, é o que as pessoas querem dizer quando afirmam que uma blockchain é um registo distribuído.

Na verdade, encontrará o termo mais alargado tecnologia de registo distribuído, ou DLT, utilizado como conceito agregador. A blockchain é o tipo mais conhecido de registo distribuído, mas não o único. Para a maioria dos efeitos práticos, quando alguém diz «a blockchain», está a referir-se a este registo partilhado e às regras que mantêm a sua integridade.

A mudança fundamental de mentalidade é esta: numa blockchain, a confiança passa de um «quem» para um «como». Já não precisa de confiar num banco ou numa empresa para manter o registo correto. Confia na matemática e nas regras que cada cópia do ledger segue. Isto pode parecer um pormenor insignificante. Na verdade, é toda a revolução resumida numa única frase.

Como funciona realmente o ledger da blockchain

Vamos espreitar sob o capô, com calma. Há quatro componentes essenciais que vale a pena compreender, e nenhum deles exige conhecimentos de programação para ser acompanhado.

1. As transações são agrupadas em blocos

Quando envia um pagamento ou executa qualquer ação numa blockchain, esta não é inscrita no ledger uma a uma. As transações pendentes aguardam numa espécie de área de retenção, e a rede junta um lote delas num bloco. Um bloco é apenas uma página no ledger — um conjunto de transações recentes, com carimbo de data/hora e reunidas num pacote.

A quantidade de transações que cabe num bloco, e a frequência com que um novo bloco é criado, depende da rede específica. A Bitcoin adiciona um novo bloco sensivelmente a cada dez minutos. Outras redes são muito mais rápidas. O princípio é sempre o mesmo: as transações são recolhidas e, em seguida, registadas no histórico em lotes.

2. Os blocos são encadeados entre si

É daqui que vem a «cadeia» da blockchain, e a ideia é verdadeiramente engenhosa. Cada novo bloco contém uma espécie de impressão digital do bloco que o antecede. Essa impressão digital chama-se hash — uma sequência curta de carateres gerada a partir do conteúdo do bloco anterior.

Basta alterar um único caráter num bloco antigo para que a sua impressão digital mude por completo. Como o bloco seguinte transporta essa impressão digital, e o bloco seguinte transporta outra assente nela, alterar uma única entrada antiga quebra toda a cadeia a partir desse ponto. Todos conseguem ver que as ligações deixaram de coincidir.

É este o mecanismo por detrás da célebre resistência à adulteração da blockchain. Não se trata de o registo ser teoricamente impossível de alterar, mas sim de ser praticamente impossível alterá-lo sem ser detetado, pois a prova de adulteração fica gravada na própria estrutura. O National Institute of Standards and Technology dos EUA publicou uma análise detalhada desta arquitetura, caso queira aprofundar mais o tema do que aquilo que faremos aqui.

3. O ledger é partilhado por toda a rede

Cada computador participante — frequentemente designado por nó — guarda uma cópia integral do ledger. Milhares deles, no caso das grandes blockchains públicas. Quando um novo bloco é adicionado, este é propagado a cada nó, e todos atualizam a sua cópia para manter a sincronização.

É por isso que não existe um ponto único de falha. Não é possível desligar uma blockchain desativando um único servidor, como aconteceria ao deitar abaixo a base de dados de uma empresa. Para corromper o registo, seria necessário reescrever em simultâneo o mesmo bloco na maioria dessas cópias independentes, dispersas pelo mundo inteiro, mais depressa do que a rede conseguiria notar. Numa rede saudável, isso situa-se algures entre o extremamente dispendioso e o francamente impossível.

4. A rede chega a acordo através de consenso

Se milhares de computadores guardam uma cópia do ledger, como chegam a acordo sobre o que adicionar a seguir? Não podem simplesmente alternar entre si para escrever o que bem entenderem. A resposta reside num conjunto de regras designado por mecanismo de consenso.

O consenso é o processo pelo qual a rede decide, coletivamente, que um bloco é válido e deve ser adicionado. Diferentes blockchains utilizam métodos distintos. A Bitcoin utiliza proof of work, em que os computadores competem para resolver um problema complexo e obter o direito de adicionar o bloco seguinte. A Ethereum e muitas redes mais recentes recorrem a proof of stake, em que os participantes colocam garantias e são selecionados para validar blocos, sujeitando-se a penalizações caso cometam fraudes.

Os detalhes diferem, mas o objetivo é idêntico: fazer com que uma comunidade descentralizada de estranhos concorde com uma única versão da verdade, sem necessidade de um árbitro. O consenso é a peça que faz todo o sistema funcionar. É também a parte mais difícil de conceber com rigor, razão pela qual a maioria das organizações que desenvolve em blockchain prefere recorrer a uma equipa especializada em desenvolvimento de blockchain em vez de reinventar a roda.

O que distingue o ledger da blockchain de um tradicional

A esta altura, as diferenças já devem estar a tornar-se evidentes, mas vale a pena compará-las lado a lado. Há quatro propriedades que distinguem o ledger da blockchain dos registos mantidos por um banco ou por uma empresa.

Descentralização

Um registo tradicional tem um proprietário. Uma base de dados, um administrador, uma organização em controlo. Um ledger em blockchain está distribuído por muitos participantes independentes, sem que nenhum deles esteja no comando. Esta é a diferença de raiz — quase tudo o resto decorre daqui. É também a parte mais difícil de aceitar para quem está a chegar, pois estamos muito habituados a que alguém seja responsável por registos importantes.

Imutabilidade

Assim que algo é registado numa blockchain e se acumulam blocos suficientes sobre esse registo, ele torna-se efetivamente permanente. Não é possível voltar atrás para editar ou apagar. Trata-se de uma funcionalidade, não de um erro. Se for necessário corrigir algum dado, adiciona-se uma nova transação que reverte ou altera a anterior — mas a original permanece visível, integrando o registo permanente. Compare isto com uma base de dados convencional, onde uma linha pode ser atualizada ou eliminada com as permissões certas sem que ninguém de fora alguma vez o saiba.

Uma breve nota de transparência, dado que este aspeto é por vezes empolado: a imutabilidade é forte, não é mágica. O termo mais rigoroso é tamper-evident. Uma rede suficientemente grande e saudável torna impraticável reescrever a história. Uma rede pequena ou com má gestão é mais vulnerável do que o marketing faz crer. A solidez da garantia depende diretamente da saúde da rede que a suporta.

Transparência

Numa blockchain pública, qualquer pessoa pode inspecionar o ledger. Cada transação, desde a primeira de todas, está aberta à verificação de qualquer utilizador. Não precisa de pedir autorização nem de confiar num resumo facultado por terceiros — pode consultar o registo diretamente. Trata-se de uma ideia invulgar e poderosa para quem está habituado a ver os registos financeiros guardados a sete chaves. (As blockchains privadas funcionam de outra forma, e já lá iremos).

Confiança sem intermediários

Junte estas três características e obtém o resultado principal: duas partes que nunca se viram, e que não têm motivos para confiar uma na outra, podem realizar transações diretas com a certeza mútua de que o registo é fidedigno. Sem bancos pelo meio. Sem câmaras de compensação. Sem intermediários de garantia. A IBM gosta de descrever isto como a eliminação do atrito e dos custos em processos que antes exigiam um intermediário de confiança, e essa perspetiva é bastante precisa. O próprio ledger passa a ser a base na qual todos confiam.

Consultoria blockchain
Aconselhe-se com especialistas em tecnologia blockchain!

Ledgers públicos vs. privados (com permissões)

Esta é uma distinção que gera muitas dúvidas, pelo que convém ser claro. Nem todos os ledgers em blockchain estão abertos a todo o mundo. Existem, em termos gerais, dois modelos.

Os ledgers públicos — como a Bitcoin e a Ethereum — são abertos. Qualquer pessoa pode consultá-los, submeter uma transação ou operar um nó para ajudar na sua manutenção. Não há intermediários de controlo. São estes que a maioria das pessoas imagina quando ouve a palavra «blockchain», sacrificando alguma velocidade e privacidade em troca do máximo de abertura e de resistência à censura.

Os ledgers privados ou com permissões funcionam de outra forma. O acesso é restrito a participantes autorizados — como um grupo de bancos ou um fabricante e os seus fornecedores. Continuam a usufruir das vantagens de um registo partilhado e da prova de adulteração, mas dentro de um grupo fechado que define quem pode entrar. Plataformas como a Hyperledger Fabric, mantida pela Hyperledger Foundation, foram desenvolvidas especificamente para este tipo de configuração empresarial.

A escolha do modelo adequado depende inteiramente do problema a resolver. Uma criptomoeda pública tem de estar aberta a todos. Um consórcio hospitalar que partilha processos clínicos não pode estar — necessita de controlo sobre quem participa e de privacidade rigorosa. A maior parte dos projetos empresariais que desenvolvemos na 22 Software enquadra-se no modelo de permissões, recorrendo ao desenvolvimento em Hyperledger ou a frameworks semelhantes, precisamente porque as empresas precisam desse controlo. Não existe uma opção «melhor» em abstrato. Existe apenas a ferramenta certa para os objetivos a alcançar.

Por que razão o ledger da blockchain é importante — o valor no mundo real

Tudo isto não passaria de uma curiosidade académica de informática se não resolvesse problemas concretos. E resolve. O ledger partilhado e resistente à adulteração revela-se útil sempre que várias partes precisam de acordar num conjunto de factos sem confiarem plenamente umas nas outras para guardar os registos.

Alguns exemplos onde prova o seu valor:

  • Dinheiro e pagamentos. O caso de utilização original. Um ledger que permite transferir valor entre pessoas sem qualquer banco pelo meio, liquidando transações além-fronteiras em minutos, em vez de dias.
  • Cadeias de abastecimento. Quando um produto passa por dezenas de mãos — exploração agrícola, centro de transformação, transportadora, distribuidor, retalhista —, um ledger partilhado disponibiliza a todos um registo fidedigno do seu percurso. Abordámos este tema com mais detalhe no nosso artigo sobre blockchain na logística, caso procure uma análise prática.
  • Contratos e acordos. Conjugue o ledger com smart contracts (contratos inteligentes) — código executado de forma automática assim que as condições são cumpridas — e poderá automatizar pagamentos, garantias e conformidade sem necessidade de intervenção humana em cada etapa.
  • Registos que não podem ser alterados discretamente. Registos prediais, certificados académicos, pistas de auditoria, proveniência de bens de elevado valor. Sempre que a integridade do registo é a prioridade absoluta, um ledger imutável é a solução natural.

O traço comum é a ausência de um intermediário de confiança. Sempre que um setor pagou tradicionalmente a alguém para guardar e certificar registos, vale a pena considerar um ledger em blockchain. Isso não significa que seja sempre a opção ideal — muitos problemas resolvem-se de forma mais económica através de uma base de dados convencional gerida por uma entidade fidedigna. Porém, quando a confiança entre as partes constitui o obstáculo, esta é a ferramenta que resolve o problema pela raiz. Para as empresas que avaliam se esta tecnologia se adequa ao seu caso, essa é habitualmente a primeira questão a esclarecer, e é precisamente aí que uma breve conversa de consultoria blockchain costuma evitar muito esforço desnecessário.

Desenvolvimento de blockchain
Desenvolva aplicações com tecnologia blockchain!

O que o ledger da blockchain não é — clarificar dúvidas frequentes

Muito do que se diz sobre blockchain é mero ruído, e existem alguns mitos associados em particular à palavra ledger. Vale a pena esclarecer as coisas.

Não é a mesma coisa que a Bitcoin. A Bitcoin é uma aplicação construída sobre um ledger de blockchain. O ledger é a tecnologia subjacente; a Bitcoin é apenas uma das coisas que se pode fazer com ela. Existem inúmeros ledgers de blockchain que nada têm a ver com criptomoedas.

Não é uma base de dados mágica. Por conceção, escrever num ledger de blockchain é mais lento e dispendioso do que numa base de dados normal. Paga-se pela descentralização e pela resistência à adulteração. Se não precisa destas duas características, uma base de dados convencional é quase sempre a opção mais vantajosa e económica. Quem lhe disser para colocar tudo numa blockchain está apenas a tentar vender-lhe algo.

Não é automaticamente privado. Os ledgers públicos são o oposto da privacidade — cada transação é visível. As identidades são, por norma, pseudónimas e não totalmente anónimas, o que representa uma garantia mais fraca do que muitos supõem. Se a confidencialidade for um requisito, tem de ser planeada de raiz, frequentemente através de um ledger com permissões.

Não transforma dados incorretos em dados válidos. Este ponto é fundamental. Uma blockchain regista com fidelidade e de forma permanente tudo o que lhe é transmitido. Se alguém introduzir uma falsidade, o ledger conservará essa inverdade para sempre, com deteção de adulteração e tudo o resto. «Lixo à entrada, lixo para sempre» é a versão realista. O ledger garante que o registo não foi alterado — não garante que o registo fosse verdadeiro à partida.

Tenha estes quatro aspetos bem presentes e estará já à frente da maioria das discussões sobre esta tecnologia.

Perguntas frequentes

Um ledger na blockchain é o mesmo que um registo distribuído?

Quase, mas não exatamente. Um registo distribuído é qualquer histórico partilhado e sincronizado entre múltiplos locais sem uma entidade central proprietária. A blockchain é o tipo mais comum de registo distribuído — aquele que agrupa transações em blocos e as encadeia através de impressões digitais criptográficas. Assim, qualquer blockchain é um registo distribuído, mas alguns registos distribuídos utilizam outras estruturas e não são, tecnicamente, blockchains. Na linguagem corrente, os termos são usados de forma indiferenciada, o que geralmente não representa qualquer problema.

Um ledger na blockchain pode alguma vez ser alterado ou eliminado?

Na prática, não — e esse é precisamente o objetivo. Assim que uma transação é registada e são criados blocos suficientes sobre ela, reescrevê-la implicaria refazer o trabalho criptográfico de cada bloco subsequente, na maioria das cópias independentes da rede, em simultâneo. Numa rede ampla e saudável, isso é proibitivamente dispendioso e rapidamente detetado. Se precisar de corrigir um erro, não edita o registo antigo; adiciona uma nova transação que o retifica, permanecendo ambos no registo. Redes mais pequenas ou com menor segurança são mais vulneráveis, razão pela qual a solidez da rede é tão importante.

Quem controla o ledger numa blockchain?

Numa blockchain pública, ninguém — e isso é deliberado. O controlo está distribuído por todos os nós que detêm uma cópia e por cada participante que ajuda a validar novos blocos através de consenso. Nenhuma pessoa, empresa ou governo pode alterar o registo unilateralmente. Numa blockchain privada ou com permissões, um grupo definido de participantes aprovados partilha o controlo, o que é muitas vezes exatamente o que uma empresa necessita. O espectro vai desde o totalmente aberto até ao rigorosamente controlado, dependendo da sua arquitetura.

Um ledger em blockchain envolve sempre criptomoedas?

Não. As criptomoedas foram o primeiro e mais famoso caso de utilização de um ledger em blockchain, mas não são a mesma coisa. Muitos ledgers em blockchain registam eventos de cadeias de abastecimento, contratos, credenciais ou a titularidade de ativos sem qualquer moeda ou token envolvido — sobretudo os ledgers com permissões utilizados por empresas. O ledger é a tecnologia subjacente; as criptomoedas são apenas uma das soluções que pode construir sobre ela.

Qual é a diferença entre um ledger em blockchain público e privado?

Um ledger público, como o da Bitcoin ou do Ethereum, está aberto a qualquer pessoa para consulta, utilização e manutenção, sem intermediários. Um ledger privado ou com permissões restringe o acesso a participantes aprovados — como um consórcio de empresas —, que decidem quem pode entrar e o que pode ver. Os ledgers públicos maximizam a abertura e a resistência à censura; os privados oferecem controlo e privacidade. As empresas optam mais frequentemente por ledgers com permissões porque precisam de gerir com precisão quem participa.

Como se distingue um ledger em blockchain de uma base de dados empresarial normal?

A grande diferença reside na titularidade. Uma base de dados empresarial tem um único proprietário que pode consultar, editar e eliminar registos, confiando-se nesse proprietário para manter os dados corretos. Um ledger em blockchain não tem um proprietário único — é replicado por múltiplos participantes, mantido sincronizado por consenso e estruturado para que os registos anteriores não possam ser discretamente alterados. Isso torna a gravação de dados mais lenta e dispendiosa, o que só compensa quando precisa especificamente de descentralização e garantia contra adulterações. Para tudo o resto, uma base de dados convencional é a melhor escolha.

Os dados num ledger em blockchain são privados e seguros?

Segurança e privacidade são conceitos distintos. Um ledger em blockchain é muito seguro no sentido em que os seus registos são extremamente difíceis de adulterar. Contudo, um ledger público é o oposto de privado — todas as transações são visíveis para qualquer pessoa e as identidades pseudónimas oferecem uma proteção mais fraca do que muitos imaginam. Se a confidencialidade for um requisito, tem de ser planeada de raiz, normalmente através de um ledger com permissões e controlo de acessos. Não presuma que a privacidade é um dado adquirido.

Preciso de um ledger em blockchain para a minha empresa?

Sinceramente, talvez não — e um bom parceiro dir-lhe-á isso logo à partida. A questão essencial é saber se a confiança entre as partes é o seu verdadeiro obstáculo. Se várias organizações que não confiam totalmente entre si precisam de concordar com um registo partilhado, um ledger em blockchain merece uma consideração séria. Se tem um único interveniente de confiança e não existe qualquer problema de confiança entre partes, uma base de dados convencional é mais económica e simples. Esta tecnologia é uma ferramenta especializada, não uma escolha por defeito. Uma consulta breve e honesta é a forma mais rápida de descobrir em que lado dessa linha se encontra.

Em resumo

Um ledger em blockchain é, por trás de todo o jargão, um registo partilhado de transações que nenhuma parte detém ou controla. É copiado por toda uma rede, acordado através de consenso e encadeado de modo a que os registos anteriores não possam ser alterados em segredo. Essa é a ideia fundamental.

O que o torna relevante é a mudança que representa: a confiança passa de uma instituição para um sistema de regras que qualquer pessoa pode verificar. Esta transição é útil em certas situações e excessiva noutras, e saber distinguir a diferença é a parte mais importante. Se apenas fixar uma ideia, fixe esta — vale a pena recorrer a um ledger em blockchain quando a confiança entre as partes é o problema que está a tentar resolver. O resto são detalhes.

Se está a avaliar se um ledger em blockchain se adequa ao que está a construir — ou se procura apenas uma resposta direta sobre se é a ferramenta certa ou uma distração —, este é exatamente o tipo de questão de que a nossa equipa gosta. Pode entrar em contacto connosco e daremos uma avaliação honesta, incluindo os casos em que a resposta é «não precisa de nós para isto». Preferimos dizê-lo logo de início a construir algo de que não necessita. Para projetos de maior escala, a nossa equipa de blockchain empresarial pode assumir o processo a partir daí.

Nick S.
Escrito por:
Nick S.
Head of Marketing
Subscreva a nossa newsletter
Dicas práticas de desenvolvimento de software e as tendências tecnológicas que merecem a sua atenção — todos os meses.