
As pessoas estão recorrendo à blockchain por todos os tipos de razões nos dias de hoje. Desde que comecei a fazer auditorias inteligentes de segurança de contratos em meados de 2017, já vi tudo. Uma categoria especial de casos é o 'uso de blockchain' que parece lógico e benéfico, mas na verdade contém um problema que se espalha de uma inicialização para outra. Vou dar alguns exemplos desses problemas e soluções ineficazes para que você (desenvolvedor / cliente / investidor) saiba o que fazer quando alguém lhe oferecer o uso da blockchain dessa maneira.
Isenções de responsabilidade
- Os casos de uso e problemas descritos ocorrem no estágio inicial. Não estou dizendo que esses problemas são impossíveis de resolver. No entanto, é importante entender quais soluções os criadores de sistemas oferecem para problemas específicos.
- Embora o termo 'uso de blockchain' pareça estranho e não tenho certeza de que o blockchain possa ser usado para outra coisa que não seja dinheiro (Bitcoin), vou usá-lo sem aspas.
1. Gerenciamento da cadeia de suprimentos
Digamos que você tenha encomendado algumas mercadorias, e uma transportadora garante a manutenção de certas condições de transporte, como manter suas mercadorias frias. Uma solução proposta é instalar um sensor em um caminhão que monitore a temperatura da geladeira e transmita regularmente os dados para o blockchain. Dessa forma, você pode garantir que as condições prometidas sejam cumpridas ao longo de todo o percurso.
O problema aqui não é o blockchain, mas o sensor, relacionado. Sendo parte do mundo físico, o sensor é fácil de enganar. Por exemplo, uma transportadora mal-intencionada pode esfriar apenas um pequeno refrigerador dentro do caminhão no qual eles colocam o sensor, enquanto deixa as mercadorias na seção não refrigerada do caminhão para economizar custos.

Eu descreveria esse problema como:
Blockchain não é a Internet das Coisas (IOT).
Voltaremos a esta declaração mais algumas vezes. Mesmo que o blockchain não permita a modificação de dados, ele não pode garantir que esses dados estejam corretos. A única exceção são as transações on-chain, quando o sistema não precisa do mundo real, com todas as informações necessárias já dentro da blockchain, permitindo que o sistema verifique os dados (por exemplo, que um endereço tenha fundos suficientes para prosseguir com uma transação) .
Os aplicativos que enviam informações de fora para uma blockchain são chamados de "Oráculos" (consulte o artigo 'Oráculos ou Por que contratos inteligentes ainda não mudaram o mundo?', Por Alexander Drygin). Até que seja encontrada uma solução para o problema com os oráculos, qualquer tentativa de gerenciamento da cadeia de suprimentos baseada em blockchain, como no caso acima, é tão inútil quanto tentar projetar um avião sem primeiro desenvolver um mecanismo confiável.
Peguei emprestada a caixa da geladeira do artigo 'Você precisa de Blockchain', de Karl Wüst e Arthur Gervais. Eu recomendo a leitura deste artigo e prestando atenção especial ao seguinte diagrama:

2. Garantia de autenticidade do objeto
Embora esse caso seja semelhante ao anterior, gostaria de destacá-lo, pois é apresentado em um invólucro diferente.
Digamos que fabricamos produtos exclusivos e caros, como relógios, vinhos ou carros. Queremos que nossos clientes tenham certeza absoluta de que estão comprando algo fabricado por nós, por isso vinculamos nossa garrafa de vinho a um token suportado pelo blockchain e colocamos um código QR nele. Agora, todas as etapas do processo (do fabricante, transportadora, loja e cliente) são confirmadas por uma transação separada de blockchain e o cliente pode rastrear sua garrafa online.
No entanto, esse sistema é vulnerável a uma ameaça muito simples: um vendedor desonesto pode fazer uma cópia de uma garrafa real com um token, enchê-la com vinho de qualidade inferior e roubar seu vinho caro ou vendê-lo a alguém que não se importa. sobre tokens. Por que é tão fácil? Isso mesmo! Porque ...
Blockchain não é IoT!
Uma garrafa é um objeto físico e, como tal, pode ser falsificada, ao contrário de uma assinatura digital.
3. Garantia de autenticidade da declaração
Tomemos como exemplo a autenticidade do diploma universitário. Nesse caso, precisamos verificar a autenticidade da declaração (“Peter se formou na universidade”), em vez de um objeto físico. Para garantir que o diploma seja autêntico e a data de emissão seja precisa, precisamos verificar uma assinatura digital e um carimbo de data / hora.
As assinaturas digitais são ótimas, algumas até chamam de criptografia assimétrica, com base na "maior invenção do século XX". Mas não vamos confundir com blockchain. De fato, as assinaturas digitais existiram e nos serviram bem antes da criação da blockchain. Cuidado! Hoje, as assinaturas digitais são frequentemente vendidas como blockchain. Talvez uma assinatura digital seja tudo o que você realmente precisa e o blockchain realmente não atenda às suas necessidades.
O registro de data e hora está mais próximo do blockchain. De fato, o próprio blockchain é o método de carimbo de data / hora mais confiável. Você não precisa inventar nada: basta colocar um hash de seus dados no blockchain do Bitcoin.
É uma boa ideia colocar um hash de diploma de estudante assinado digitalmente por vários professores no blockchain do Bitcoin? Sim No entanto, é importante não estragar esse sistema usando a verificação centralizada em um site ou aplicativo, que será um ponto único de falha.
4. Votação
Quando se trata de usar blockchain para votar, precisamos ser claros sobre o problema que queremos resolver.
Falsificação de autenticação de voto / eleitor. Para resolver esse problema, precisamos de assinatura digital em vez de blockchain. A questão principal aqui é uma chave privada: de onde obtê-lo e como armazená-lo. Não explicarei por que qualquer sistema no qual uma chave é gerada em outro lugar que não seja o dispositivo do usuário final está quebrado por design. No entanto, além disso, também é importante ter um software de geração de chaves de código aberto e auditado adequadamente, hardware de terceiros (sendo a opção mais simples o smartphone) e um usuário que possa manipular uma chave privada.
Enquanto um desenvolvedor de sistemas pode resolver os dois primeiros problemas, o terceiro é muito mais difícil. Bitcoin pode realmente nos ajudar a aprender a lidar com chaves. De fato, perder uma senha da sua conta de mídia social ou seu voto é uma coisa, mas perder uma chave do seu próprio dinheiro é outra história.
Mais uma vez, é o oráculo que vincula uma chave pública a uma pessoa em particular, se precisarmos dela para o processo de votação.

Contagem de votos publicamente visível. Seria seguro assumir que, digamos, os contratos inteligentes da Ethereum são perfeitos para esse problema, pois permitem que todos vejam quantos votos um candidato em particular recebeu. No entanto, neste caso, o nível de abertura pode ser muito alto, pois podemos ver como cada pessoa vota e, portanto, pode influenciá-la. Embora o sistema possa ser construído de tal maneira que todo voto seja visível apenas para a pessoa que o concedeu, há outro desafio mais complicado: desde que os eleitores sejam tecnicamente capazes de trazer evidências de sua escolha de voto, eles ainda poderão ser colocados sob pressão.
UPD: Os colegas garantem que existe uma solução: criptografia incoercível.
E aqui, mais uma vez, precisamos de oráculos para verificar se houve algum voto extra de eleitores inexistentes.
5. Prova de autoria
Digamos que o Artista A queira usar o blockchain para registrar que uma determinada pintura é dele. Ele tira uma foto, coloca o hash da foto no blockchain e depois carrega a foto em um blog. Agora, se o Artista B afirma que a pintura pertence a ele, o Artista A pode facilmente provar sua autoria, mostrando a foto e o hash.
Existem dois problemas em potencial neste caso:
- Primeiro, o artista B pode dizer que não sabia sobre blockchain e, portanto, não poderia usá-lo para registrar sua autoria. Portanto, esse procedimento só pode funcionar se se tornar uma prática comum.
- Segundo, o Artista B pode entrar no estúdio do Artista A , tirar uma foto da pintura e colocar o hash na blockchain antes do Artista A.
A razão é que ...
Blockchain não é IoT!
No entanto, em geral, esse caso de uso faz sentido. No entanto, ele não requer nada além do blockchain do Bitcoin.
Nota: Estou falando apenas de prova de autoria, pois o conceito de propriedade intelectual não faz sentido na minha opinião: 'Contra a propriedade intelectual', de Stephan Kinsella.
6. Registro de terras
Outro caso proposto é vincular tokens baseados em blockchain à propriedade da terra. Há pelo menos dois problemas com isso.
Ações do Enforcer. Embora uma garrafa / relógio / carro possa ser entregue ponto a ponto (P2P), a propriedade e a transferência da terra devem ser registradas por uma autoridade reguladora, que sempre pode visitar fisicamente sua terra e fazer cumprir sua vontade. O que acontecerá com um registro de blockchain se a autoridade reguladora insistir em que você transfira sua terra? A primeira opção: o registro da blockchain ainda o especifica como proprietário da terra, o que não é mais verdade; a segunda opção: a autoridade reguladora pode fazer seu próprio registro e, assim, reescrever o seu, o que significa que o blockchain não funciona. Este é um ponto crítico, já que o blockchain também é promovido como uma ferramenta para protegê-lo contra atividades fraudulentas das autoridades reguladoras e de todos os funcionários.

Desenvolvimento e suporte centralizados. Agora, quem vai desenvolver um sistema e nós de suporte? Se a própria autoridade reguladora ou sua contraparte fizer o trabalho, esse sistema não será descentralizado. Um protocolo descentralizado mais desenvolvimento centralizado é igual a um protocolo centralizado.
Além disso, sempre que alguém lhe oferecer blockchain, pergunte-se:
Podemos usar um banco de dados distribuído?
Se a resposta for 'Sim', por que optar pelo blockchain? De fato, o blockchain é mais lento e consome mais recursos. Além disso, os especialistas em desenvolvimento e integração de bancos de dados são muito mais baratos e fáceis de encontrar, seu produto de trabalho é mais fácil de verificar e o suporte ao sistema também é mais simples.
Diante de todos esses desafios, acredito que um banco de dados distribuído seja uma escolha muito melhor para o registro imobiliário hoje, mesmo que definitivamente precise se tornar mais confiável e aberto (consulte a seção 'Blockchain como um gatilho').
De fato, parece que esse caso de uso específico já se tornou realidade. A Bitfury anunciou recentemente o lançamento de um sistema de registro de terras blockchain construído na estrutura Exonum e deve fazer o mesmo na Ucrânia e na Moldávia. Estranhamente, não consegui encontrar nenhum detalhe técnico deste caso, o que significa que, por algum motivo, o Bitfury não tem pressa em se gabar.
7. Transferências interbancárias
Este caso é bom, de acordo com o esquema de 'Você precisa de blockchain?' Envolve várias partes que não confiam uma na outra, sem que terceiros sejam contratados. Embora o Bitcoin possa ser usado aqui, é improvável que os bancos tornem seus pagamentos mútuos publicamente visíveis. Portanto, ofereceríamos uma blockchain privada onde apenas os próprios bancos podem inserir dados, dar suporte a nós e verificar as transações de todas as outras partes.
Em termos de funcionalidade, este sistema difere de um banco de dados distribuído com controle de acesso? Sim, mas apenas quando se trata de um desacordo entre as partes. Aqui, a questão é: os bancos concordarão com um consenso oferecido pelo sistema ou irão recorrer a um tribunal? Se os bancos puderem escolher a segunda opção (ou seja, nunca assinaram um acordo para aceitar incondicionalmente todas as decisões oferecidas pelo sistema), esse sistema não faz sentido.
Além disso, todo esse caso não fará sentido se os órgãos reguladores proibirem ou restringirem o uso de tais sistemas ou instruirem os tribunais a recusar os dados do sistema.
8. Token por causa do token
Sim está certo! Na verdade, estou escrevendo sobre a OIC no ano de 2019. Para provar sua relevância contínua, deixe-me salientar que em 28 de janeiro, o BitTorrent teve uma OIC bem-sucedida .
O que quero dizer com 'Token por token' é que algumas empresas iniciantes emitem tokens e dizem que lhe dão direito a uma participação nas opções de empresas / lucros / taxas divididas. O problema é:
Blockchain não é IoT!
Ao contrário dos investidores de capital de risco ou órgãos reguladores, o blockchain não responsabilizará uma startup por seus investidores. Uma promessa na forma de um token por si só não obriga os fundadores de uma empresa a fazer qualquer coisa - algo que vimos muitas vezes durante o boom da OIC (lembra-se da Lambos?). Nesse aspecto, uma OIC é mais semelhante ao financiamento coletivo do que uma oferta pública inicial.
Embora instituições pró-descentralizadas e contra o controle regulatório, devo admitir que ainda não existem sistemas nesse campo, o que significa que você deve procurar as ferramentas existentes ou confiar nos fundadores das empresas.
Agora, deixe-me descrever alguns casos de uso promissores.
Blockchain como gatilho
Curiosamente, mesmo casos não úteis podem ser úteis. Digamos que uma empresa use um processo / sistema desatualizado. Em vez de optar por uma solução normal e óbvia, o gerenciamento decide investir no hype (blockchain / big data / AI / IoT) para obter uma vantagem.

É quando um intraempreendedor experiente e responsável pode oferecer um design de sistema adequado, comercializando-o como blockchain. Dependendo da situação, o blockchain pode dar certas vantagens ou não ser o caso de todos os que vivem apenas de slides de apresentação lisos.
Dica: Se você tiver a chance de usar blockchain, verifique se ele é realmente blockchain. No entanto, mesmo que não seja, ainda pode ser uma oferta sensata.
Dinheiro
O Blockchain é perfeito para lidar com dinheiro, principalmente porque foi criado exatamente para esse fim. O Blockchain registra e verifica declarações como 'O valor X pertencente à parte A; A Parte A transferiu o valor X para a Parte B; O Partido B possui um valor X ', pois todas as declarações semelhantes anteriores foram registradas na mesma blockchain.
Na segunda parte da série de seus posts sobre BitTorrent Lessons for Crypto, intitulada 'Se você não está violando regras, está fazendo errado' , Simon Morris diz que o objetivo original da descentralização é violar as regras, como aqueles que observe que essas regras tentarão impedi-lo.
O Bitcoin atende perfeitamente a esse requisito, pois quebra a regra antiga de acordo com a qual apenas o governo emite dinheiro, define os procedimentos de emissão e decide qual transação é válida e qual não é.
Mais importante, acho que o Bitcoin desempenha um papel específico: a transferência de valor que existia muito antes da tecnologia de uma maneira fácil de entender (consulte 'Shelling Out: The Origins of Money' de Nick Szabo). Ao mesmo tempo, a maioria das startups de blockchain precisa explicar, desde o início, quais tarefas eles resolvem e por quê - algo que não faz sentido, mesmo para as startups tradicionais que geralmente procuram clientes, testam hipóteses e tentam ficar em sincronia com o mercado , ou seja, resolver problemas existentes, em vez de inventar novos.
De qualquer forma, o Bitcoin é o único aplicativo blockchain em funcionamento até o momento. É por isso que, no início do meu artigo, questionei a relevância do termo 'uso de blockchain'.
Nota: Eu não incluo casos em que o blockchain não é usado pelos usuários finais, mas sim por outro blockchain que, por sua vez, é usado por trocas descentralizadas em que os tokens do terceiro blockchain estão listados. Quem sabe, a indústria pode realmente conseguir sair do pântano dessa maneira.
Contratos inteligentes
Sejamos honestos: ninguém sabe realmente o que são contratos inteligentes e para que servem, pois esse conceito ainda está em sua infância. O Ethereum está realmente à frente da curva. Quando o Bitcoin descentralizado entrou em cena, as pessoas já sabiam e estavam acostumadas ao dinheiro eletrônico; quando obtivemos contratos inteligentes descentralizados em execução no Ethereum, ainda estávamos lutando para lidar com contratos impressos, enquanto contratos inteligentes centralizados ainda não existem. Podemos tentar dar dois passos ao mesmo tempo, mas para isso precisamos de tempo e de um conceito viável.
Pessoalmente, acredito que os contratos inteligentes encontrarão seu nicho. É por isso que já estou trabalhando em campo. No entanto, essa é minha crença pessoal, que ainda não foi confirmada nem refutada.
Mais exemplos
Os exemplos acima são apenas os que eu conseguia lembrar e resumir. Eu posso ter esquecido ou simplesmente não ter ouvido falar de alguns casos. Então, ficarei grato se você der mais exemplos nos comentários abaixo. Talvez eu continue este artigo.