Entenda as Blockchains Públicas e Privadas

Como comparar Blockchains públicas e privadas? Quando usar uma ou outra?

Como comparar Blockchains públicas e privadas? Quando usar uma ou outra?

Não sei você, mas quando eu conheci blockchain, era nas blockchains públicas que sempre pensávamos. A ideia de blockchain privada me foi apresentada um tempo depois e confesso que fiquei um tanto intrigado… Para não dizer confuso.

É verdade que havia claras semelhanças entre os conceitos. “Intermediários” (ou a retirada deles), “confiança”, “consenso” eram todas palavras que estávamos acostumados a ouvir no contexto de blockchains públicas e que também estavam presentes ao se falar das privadas. Porém, outras como “mineração”, “prova de trabalho” e “token”, aparentemente indispensáveis ao universo das blockchains, ou não se faziam presente ou eram opcionais em soluções como Corda, Hyperledger, Quorum ou Multichain. Algumas pessoas também questionavam se havia “descentralização de verdade” nas implementações com blockchain privadas que eram apresentadas.

Era inevitável questionar: afinal, aquilo era blockchain?

Blockchain Or Not Blockchain, That Is the Question

Alguns colegas cravavam com aquele desprezo típico dos que carregam toda a certeza do mundo: “isso é coisa do pessoal do marketing das empresas de software correndo atrás do prejuízo. Não é blockchain!”.

Vamos com calma….

Para começar, é impossível deixar de notar que o Multichain é uma espécie de fork do Bitcoin, com alguns esteroides. Pelo menos nesse caso, fica difícil negar que sejam a mesma tecnologia.

Argumentar em função do nome também não adianta muito. Existem várias soluções que não são baseadas em uma cadeia de blocos e, por isso, não seriam, literalmente, block chains. Mas isso ocorre tanto em soluções públicas quanto em privadas. Se o Corda é um bicho bem diferente, também o são os recentes IOTA e Hashgraph, para não falar do Ripple.

Há mesmo quem argumente que nada disso é blockchain. A confusão aqui é porque, normalmente, uma tecnologia é classificada de acordo com as funcionalidades que ela provê. Por exemplo, embora muito diferentes em diversos aspectos, ninguém discorda que Windows e Linux são sistemas operacionais. Há uma certa confusão provocada pelo fato de que blockchain se refere a uma solução e não à funcionalidade que a tecnologia entrega. DLT (Digital Ledger Technology – Tecnologia de Livro Razão Digital) é uma denominação melhor, embora um tanto hermética para muitos.

O Papel da Descentralização

Se é para avaliar que funcionalidades blockchains entregam, muita gente diria que públicas e privadas não resolvem os mesmos problemas. A mais chamativa diferença é que as públicas viabilizam aplicações totalmente descentralizadas.

Por razões óbvias, o potencial de descentralização das blockchains públicas é muito maior, no sentido de que o número de participantes é virtualmente ilimitado, consequência de não ser necessária nenhuma permissão para participar da rede. Porém, também ocorre descentralização quando uma blockchain privada permite que um banco de dados deixe de pertencer a uma única instituição e passe a ser compartilhado por várias delas (mesmo que poucas).

Na realidade, embora tenha sido um dos aspectos mais impressionantes e admiráveis do Bitcoin, suportar casos de uso totalmente descentralizados (ou seja, públicos) não pertence ao núcleo do conceito de blockchain.

Touché

A verdade, é que, no nível da ciência da computação, qualquer blockchain resolve o mesmo problema: o dos generais bizantinos, introduzido por Lamport, Shostak e Pease, nos idos de 82. Em linguagem menos teórica, o problema é fazer um grupo de nós processadores chegarem a um consenso sem que se possa confiar em todos os envolvidos e sem que alguém tenha que ser um centralizador. No mercado, esse papel de centralizador costuma ser exercido por um intermediário. Daí por que se diz que o objetivo mais intrínseco das blockchains é retirar intermediários.

Daí você para e reflete: Satoshi não resolveu apenas o problema dos generais bizantinos, mas, sim, uma versão deste onde nem sequer sabemos a priori quem são os generais (ou nós). Nada mau!

Insatisfeitos ainda vão murmurar, não sem alguma razão, que as blockchains públicas são mais revolucionárias e as privadas são coisa de grandes empresas e de bancos querendo cortar custos ou impedir “a revolução”. Pode até ser, questão de gosto, mas isso não muda a classificação.

Em suma: sim, as privadas ou permissionadas são blockchains. Ou seria mais correto dizer que todas são DLTs.

Se é assim, deveríamos conseguir colocar blockchains públicas e privadas em um quadro que demonstre a diferença de uso entre elas.

Confiança e Permissionamento: Um Dégradé

Repare que existe uma relação forte entre conhecer e confiar. Se você não conhece os participantes de uma rede, naturalmente não confia neles. Se conhece, talvez confie, talvez não.

Assim, poderíamos definir uma escala decrescente de confiança entre entes quaisquer, que começa quando eles se conhecem e confiam uns nos outros (C/C); diminui quando eles se conhecem, mas não confiam uns nos outros (C/N); e atinge o auge da falta de confiança quando eles sequer se conhecem e, por consequência, não confiam uns nos outros (N/N). Assim:

  • C/C – Conhece e Confia;
  • C/N – Conhece e Não confia;
  • N/N – Não conhece e Não confia.

Esta escala pode ser utilizada para avaliar o relacionamento entre os nós de uma blockchain. Por exemplo, no Bitcoin, temos claramente um N/N. Bancos querendo realizar transferências entre si dos recursos de um cliente caem no caso C/N. O caso C/C é mais polêmico, mas considere a situação em que os diversos nós pertencem à mesma empresa.

Esta mesma escala pode avaliar também a relação dos usuários de uma rede com os nós desta rede. Então, novamente, no caso do Bitcoin, temos N/N, já que você não obrigatoriamente conhece nem tem motivos para confiar naquele minerador de nome impronunciável lá da China. O cliente do banco no citado caso da transferência de recursos entre bancos conhece o banco e confia (ou deveria confiar) nele. Temos um C/C. O caso C/N é mais sutil. Por exemplo, se o usuário quer validar a cadeia de produção de um produto certificado, é possível que ele esteja acessando um sistema do fabricante do produto, que ele conhece, mas no qual não tem motivo a priori para confiar (C/N).

Um Quadro de Referência

A partir destas classificações, podemos montar o quadro abaixo, onde, para cada configuração, há uma proposta de que tipo de blockchain utilizar. A partir daí podemos realizar algumas análises potencialmente úteis.

Nós x Nós
 

Usuários x Nós

  C/C  C/N N/N
C/C Centralizar Privada Pública
C/N Pública Pública/Privada Pública
N/N Pública Pública Pública

 

Algumas conclusões são até bem óbvias. A coluna N/N recomenda blockchain pública em todas as células. Nenhuma surpresa, já que suportar nós que não se conhecem é a própria definição de blockchain pública, também chamada de não permissionada.

As obviedades param por aí. A coluna C/C vale um exame mais atento. A recomendação para o caso C/C entre os nós e C/C entre usuários e nós seria… olha só!… não utilizar blockchain! Num caso desses, o mais sensato seria utilizar algum tipo de solução centralizada, com consumo de APIs pelos outros nós, por exemplo, já que isso seria a solução mais barata.

Nas outras células da coluna C/C, embora os nós conheçam e confiem uns nos outros, o usuário não confia nos nós (linhas C/N e N/N) e, por isso, precisaria de uma blockchain pública para que ficasse convencido da veracidade da informação. Ou, pelo menos, de que esta não foi alterada.

Um ponto importante aqui é o quão estrito é conceito de confiança. Se colocarmos no mesmo barco não apenas a necessidade de se proteger de golpes intencionais, mas também as possibilidades de erros e inconsistências operacionais involuntárias, então será muito difícil um caso real onde se caia na coluna C/C. Imagine dois bancos que querem integrar seus sistemas. Mesmo que eles não acreditem que haveria golpes, cada um acabaria por manter todo um controle de consistência próprio, um potencial pesadelo operacional! Na prática, raros casos de uso cairão na coluna C/C. Até mesmo quando os nós são da mesma empresa, o temor de erros e custos operacionais pode levar quem concebe a solução a se deslocar da coluna C/C para a coluna C/N, onde não há confiança entre os nós. Isso talvez explique por que há um movimento de adoção de blockchains privadas como algo muito similar a uma tecnologia de integração.

Assim, é de se imaginar que uma quantidade grande dos casos cairá na coluna C/N. Nessa coluna, pela sutileza, vale destacar o caso do meio da tabela, onde tanto a relação entre os nós quanto a relação entre usuários e nós é do tipo C/N (eles se conhecem, mas não há confiança mútua). A princípio, porque os usuários não confiam nos nós, era de se imaginar que fosse necessário o uso de uma blockchain pública. Porém, se os usuários souberem que os nós também não confiam uns nos outros, talvez acreditem que uma blockchain privada é suficiente, dado que a vigilância entre os nós poderia garantir sua própria confiança. A melhor solução só é possível conhecer caso a caso.

Esse quadro não é um instrumento definitivo nem único para a tomada de uma decisão tão importante. É apenas um recurso didático, que pode e já ajudou o entendimento de algumas pessoas sobre estas questões. Talvez possa ser útil para você.

Uma referência de peso sobre o mesmo assunto pode ser encontrada em https://spectrum.ieee.org/computing/networks/do-you-need-a-blockchain.

Share This