Passando de grandes cadeias de blocos

Nó Fonte: 1168648

O que ganhamos em flexibilidade ao perder a prova de trabalho

Quando se trata de usar blockchains para coordenação entre empresas, há um problema do tamanho de um elefante na sala. Na minha opinião, ninguém está falando sobre esse assunto o suficiente, seja por negação ou pela necessidade de manter o hype. O problema, em poucas palavras, é confidencialidade.

Para recapitular o que eu explicado anteriormente, um blockchain permite que um banco de dados seja compartilhado entre entidades que não confiam totalmente umas nas outras, sem a necessidade de um administrador central. Em vez disso, um banco de dados baseado em blockchain é baseado em um conjunto de “nós” que são propriedade das entidades participantes. Os nós enviam transações entre si de forma ponto a ponto, com cada nó verificando independentemente cada transação. Grupos de transações são então confirmados em “blocos” criados por nós especiais chamados “mineradores”. Esses blocos são vinculados para formar uma “cadeia de blocos” que atua como um log de transações unificado, garantindo que todos os nós cheguem a um consenso sobre o estado do banco de dados.

Neste ponto, blockchains são uma tecnologia comprovada, tanto em criptomoedas públicas como bitcoin e seus equivalentes privados. Mas eles ainda sofrem de um problema fundamental. Pondo de lado a criptografia avançada (por enquanto), os blockchains revelam o conteúdo de cada transação para cada participante. Por quê? Porque, para verificar uma transação, cada nó deve veja aquela transação. Isso torna os blockchains fundamentalmente diferentes dos bancos de dados centralizados, nos quais as transações são visíveis apenas para seus criadores e o administrador do banco de dados.

Portanto, se você está considerando um blockchain para um projeto, deve ter em mente este princípio simples:

Blockchains são para bancos de dados compartilhados nos quais todos veem o que os outros estão fazendo.

Para ser claro, vendo o que alguem esta fazendo não significa necessariamente que você sabe quem está fazendo isso. Blockchains representam identidade usando “endereços” alfanuméricos sem sentido, e a maioria dos participantes não precisa saber a quem pertencem. No entanto, muito pode ser aprendido analisando o comportamento de um endereço e, especialmente, de como ele faz transações com outros endereços. Em termos formais, isso significa que blockchains fornecem pseudonimato em vez de anonimato, porque as identidades persistem com o tempo. No caso do bitcoin, várias empresas estão venda Serviços que mineram o “gráfico de transação” para revelar informações sobre os proprietários de endereços bitcoin.

O resultado final é que blockchains são mais adequados para bancos de dados compartilhados que são controlado por escrita mas a sem controle de leitura. Ou, para colocá-lo mais poeticamente, blockchains são máquinas de transparência.

A economia da mineração

Blockchains começaram com bitcoin - uma forma de dinheiro digital, descentralizada e à prova de censura. Um dos principais objetivos do design do bitcoin era permitir que qualquer pessoa "minerasse" um bloco que confirma transações, para evitar que governos ou bancos controlassem quem pode pagar quem. Em teoria, a mineração aberta parece democrática, mas por si só leva à ditadura furtivamente. Por quê? Porque na Internet é possível que uma entidade use muitas identidades diferentes, um problema conhecido como Ataque Sybil. Isso significa que alguém poderia assumir o controle da mineração em bloco, decidindo unilateralmente quais transações seriam confirmadas, sem que ninguém mais soubesse do que aconteceu.

O Bitcoin habilmente resolve esse problema por meio de prova de trabalho. A mineração de bitcoins pode ser aberta, mas também é extremamente difícil. Para criar um bloco, um minerador deve vencer uma corrida global para resolver um problema computacional inútil e complicado, que consome muita eletricidade (e, portanto, dinheiro). Hoje em dia, a mineração é realizada por hardware especialmente otimizado, mas isso não a torna mais barata, porque a rede ajusta regularmente o dificuldade do problema para manter uma taxa constante de 1 bloco a cada 10 minutos. Isso torna difícil para qualquer ator assumir o controle da cadeia e, pelo menos até agora, o esquema funcionou.

Em troca do trabalho duro e despesas, o mineiro vencedor recebe uma recompensa, atualmente 25 bitcoins recém-cunhados por bloco (para reduzir pela metade durante 2016). Os mineiros também recebem um pouco mais das taxas associadas às transações, embora por enquanto estas desempenhem um papel menor. E aqui estão alguns números chocantes: Durante 2015, os mineiros de bitcoin arrecadaram $ 375 milhões em recompensas e taxas, em troca da confirmação de 45 milhões de transações. Isso sai para mais de $ 8 por transação, mesmo ignorando o fato de que muitas dessas não eram transferências de fundos genuínas.

Quem diabos está pagando por tudo isso? A resposta é: investidores em bitcoin. Na maioria das vezes, os mineiros trocam seus novos bitcoins por moedas normais como dólares e yuans, porque precisam desse dinheiro para pagar o hardware de mineração e a eletricidade. E o que vai acontecer se os investidores pararem de vir? Bem, o preço do bitcoin vai cair, pois os mineiros são forçados a se desfazer de seus bitcoins com uma perda significativa. Na verdade, olhando para histórico de preços do bitcoin, houve vários períodos durante os quais o preço caiu gradual e não dramaticamente, devido ao fornecimento constante de bitcoins para serem vendidos.

Nesse ínterim, como o primeiro e mais importante blockchain, o bitcoin continua a atrair um nível impressionante de investimento. É claro que há espaço para apenas um punhado de tais blockchains públicos de alto nível, porque a economia da mineração aberta leva inevitavelmente à consolidação. Qualquer novo blockchain protegido por uma baixa quantidade de energia de mineração não será atraente para os usuários finais, devido à sua insegurança inerente. Isso manterá o valor de sua moeda baixo, o que a impedirá de atrair mais mineiros. Em outras palavras, o círculo virtuoso subjacente ao crescimento explosivo do bitcoin será difícil de repetir. Na minha opinião, as únicas exceções prováveis ​​serão os recém-chegados, como Ethereum e Dash que oferecem uma mudança radical em termos de funcionalidade. (Estou ignorando os chamados mineração unida bem como ideias como prova de participação, porque eles têm ainda não foi provado para trabalhar em grande escala.)

Por sorte, os blockchains privados evitam todos esses problemas. Em vez de mineração aberta, as redes privadas contam com uma lista de permissões de mineradores permitidos, com todos os blocos assinados digitalmente pelo minerador de origem. Isso é combinado com alguma forma de esquema de consenso distribuído que evita que um pequeno grupo desses mineiros monopolize o processo. Se quiser, é democracia para os privilegiados, ao invés de democracia para todos. Como os blockchains privados não precisam de prova de trabalho para impor a diversidade, eles também não precisam incentivar os mineradores com uma recompensa financeira. Em vez de, um blockchain privado não custa mais para ser executado do que um banco de dados replicado regular. A recompensa é simplesmente o benefício imediato e suficiente de poder fazer uso da corrente.

Com a economia da mineração aberta fora do caminho, um universo de possibilidades se abre. Uma organização pode participar de milhares de blockchains, da mesma forma que acessa milhares de bancos de dados (internos ou externos) hoje. E globalmente pode haver milhões (ou bilhões) de blockchains, todos atendendo a diferentes propósitos e conjuntos de usuários. Mas se o mundo será preenchido por tantos blockchains, é seguro assumir que cada um deles vai ser pequeno.

De monolítico a pequenas cadeias de blocos

O que quero dizer especificamente por “pequeno blockchain”? Quero dizer um blockchain cujo escopo é restrito a um propósito estreito e específico. Este é o extremo oposto de blockchains públicos abrangentes, como bitcoin e Ethereum, ou mesmo os blockchain do banco global que alguns pensam que está próximo. É, na verdade, mais parecido com um banco de dados regular, mas com um modelo diferente de compartilhamento e confiança.

Obviamente, há muitas maneiras de restringir o escopo de um blockchain, então vou me concentrar aqui em três exemplos simples: (a) blockchains por pedido, (b) blockchains bilaterais e (c) notarização por hash.

Blockchains por pedido

Vamos imaginar um blockchain projetado para gerenciar o ciclo de vida de um único contêiner de produtos de marca, fabricado na China e vendido nos Estados Unidos. Pode haver um número surpreendente de partes envolvidas neste processo, como um varejista, agente, distribuidor, importador, empresa de transporte, fabricante, licenciador e designer, bem como vários subcontratados, portos de transporte, bancos, agências alfandegárias e autoridades fiscais. Uma grande quantidade de informação tem que fluir para frente e para trás entre essas partes, levando a atrasos burocráticos, erros e despesas. Em teoria, tudo isso poderia ser simplificado usando um banco de dados centralizado, mas a questão é: quem vai executá-lo? Considerando a lacuna na geografia, cultura e sistemas jurídicos, pode não ser fácil encontrar alguém em que todas as partes possam confiar.

Agora, muito tem já foi dito sobre como os blockchains podem simplificar a coordenação em cadeias de suprimentos. Um blockchain pode ser usado para registrar documentação importante, assinada digitalmente conforme apropriado, bem como permitir a transferência de equivalentes digitais de ativos-chave, como um conhecimento de embarque or carta de crédito. No entanto, colocar todos esses dados em um blockchain monolítico pode vazar informações confidenciais. Por exemplo, se dois fabricantes concorrentes usam a mesma empresa de transporte e banco, eles podem aprender muito sobre as atividades um do outro a partir de transações que envolvem essas contrapartes, mas não são suas.

Uma solução é manter todas as informações relacionadas a um único pedido em um blockchain que é dedicado apenas a esse pedido. Nesse caso, o problema de confidencialidade é muito reduzido. Por exemplo, dois fabricantes concorrentes nunca participarão da mesma cadeia. No início do processo, um novo blockchain privado pode ser configurado e conectado por todos os participantes. Este blockchain torna o estado do pedido visível para todos os usuários em tempo real. E uma vez que é entregue com segurança e pago, o blockchain do pedido pode ser descomissionado e arquivado, apenas para ser reaberto em caso de disputa.

Um problema com blockchains por pedido é o gerenciamento de identidade. Ao usar um blockchain para coordenação entre empresas, cada participante precisa saber a identidade do mundo real por trás de muitos dos outros endereços usados ​​na cadeia. Obter esse mapeamento com segurança é um processo potencialmente inconveniente, envolvendo troca direta de informações (por fax?) Ou um administrador confiável que as fornece. Mas a boa notícia é que não há necessidade desse processo ocorrer toda vez que um novo blockchain é configurado. Em vez disso, os participantes podem ter o mesmo endereço em todas as redes que usam. Como alternativa, um blockchain de longa duração separado pode ser usado exclusivamente para gerenciamento de identidade, permitindo que cada entidade distribua com segurança seu endereço para cada nova cadeia.

Blockchains bilaterais

Agora vamos considerar um blockchain que é usado para a liquidação rápida de trocas de ativos financeiros, como moedas apoiadas pelo governo. Esta cadeia envolveria pelo menos três tipos de participantes: (a) as partes comerciais que estão realizando as transações, (b) o banco de custódia que mantém as moedas e emite tokens na cadeia para representá-los, (c) reguladores e / ou auditores que recebem uma exibição somente leitura da atividade que está ocorrendo.

Esta é uma aplicação perfeitamente natural de blockchains e já é totalmente suportada por plataformas de prateleira, como MultiChain (nosso próprio). Mas, novamente, o problema da confidencialidade aumenta. Se as partes comerciais estiverem travadas em intensa competição, elas podem observar umas às outras a fim de inferir:

  • Quanto de cada moeda é mantido por cada comerciante.
  • Quais moedas eles negociam ativamente, com que frequência e quantidade.
  • Com quem mais eles negociam no blockchain e a que preços.

Mesmo se presumirmos que as partes não sabem quem está usando qual endereço (ou vários endereços), não demorará muito para descobrirem. Concorrentes ferozes em um mercado tendem a saber muito uns sobre os outros, e esse conhecimento prévio pode ser correlacionado com padrões de transações de blockchain para aprender mais. Para muitos casos de uso financeiro, o risco desse vazamento é simplesmente um assassino de negócios, porque a eficiência ganha é superada pela perda de confidencialidade.

No entanto, os blockchains ainda podem fornecer alguma ajuda neste cenário - ou seja, registrar o fluxo de transações e mensagens em cada canal de comunicação bilateral entre o negociador e o custodiante. Ao combinar transações assinadas com compromissos assinados, o blockchain fornece reconciliação em tempo real por meio deste canal, garantindo que não haja nenhuma diferença entre as partes sobre o que foi feito e quando. Além disso, os reguladores e / ou auditores podem ter acesso somente leitura a muitos ou todos esses blockchains de pares, dando-lhes uma visão abrangente da atividade em um determinado mercado, sem a necessidade de solicitar explicitamente os dados de seus participantes.

Notarização por hash

Como espero que agora esteja claro, o blockchains pode ser usado para assinar digitalmente, armazenar e registrar a hora de qualquer dado importante, incluindo texto, documentos, imagens e entradas de banco de dados. Contanto que os mineiros da blockchain não conspirem maliciosamente, a cadeia se torna uma trilha de auditoria irreversível e incontestável para todas as informações internas. Por exemplo, todos os e-mails enviados entre os membros de um grupo podem ser gravados em um blockchain, com cada mensagem assinada pelo remetente e pelo destinatário.

Mas mais uma vez nos deparamos com o problema da confidencialidade. Em muitos casos, as duas partes em uma correspondência não querem que seu conteúdo seja visível para ninguém. Seu único propósito ao usar o blockchain é prevenir futuras disputas, de forma que eles não possam discordar sobre o que foi dito, por quem e quando.

Nesse caso, a solução é simples. Em vez de armazenar o texto completo das mensagens dentro do blockchain, um “hash” (ou impressão digital) de seu conteúdo é incorporado. Um hash é baseado em um função unidirecional, o que significa uma função cuja saída é fácil de calcular para uma determinada entrada, mas que é praticamente impossível de reverter. Ao incorporar e assinar colaborativamente o hash do conteúdo de uma mensagem em um blockchain, as partes podem “bloquear” esse conteúdo de uma forma auditável, sem revelá-lo aos outros participantes.

Em paralelo à incorporação desse hash, ambos os correspondentes armazenam o conteúdo completo da mensagem em seus próprios sistemas. Se uma disputa surgir no futuro, qualquer uma das partes pode revelar esse conteúdo a uma parte independente, que pode calcular seu hash e confirmar se ele corresponde ao hash na cadeia. Nesse caso, não há como negar a correspondência ocorrida. Na verdade, este mesmo princípio já é aplicado por muitos Serviços para autenticar documentos no blockchain público de bitcoins. Fazer isso em cadeias de blocos privadas oferece maior escalabilidade, menores custos de transação e oculta todo o processo do mundo externo.

Provas de conhecimento zero

Então aí está - três exemplos de como blockchains podem ser usados, dadas as limitações impostas pela transparência radical. Mas antes de terminar, é importante mencionar algumas técnicas criptográficas emergentes. Nomes esportivos como criptografia homomórfica e provas de conhecimento zero, estes prometem desatar o nó da confidencialidade gorda. No contexto de um blockchain, eles oferecem uma separação aparentemente impossível de visibilidade e verificação. Uma transação parcialmente criptografada pode ser incorporada em um blockchain, junto com uma prova de sua validade, sem revelar o conteúdo da transação. Cada participante pode então verificar a prova, enquanto ainda vê apenas a transação de forma criptografada. E a versão não criptografada é revelada com base na necessidade de conhecimento, presumivelmente apenas para o destinatário da transação.

Embora tenha havido algum progresso real neste espaço, essas tecnologias ainda não amadureceram. Ainda não é computacionalmente viável gerar e verificar uma prova a respeito da validade de uma transação de blockchain, mantendo seu conteúdo totalmente privado. No entanto, vamos supor que, em algum momento no futuro, este técnico problema resolvido. Eu ainda acho que podemos ter um psicológico XNUMX. Você vê, na forma atual de fazer as coisas, um CIO sabe que os dados confidenciais de seu empregador são protegidos por barreiras físicas e organizacionais. Os dados só podem escapar se alguém for negligente ou deliberadamente cometer um crime. Mas quando se trata de criptografia avançada, a imagem é bem diferente, com o CIO contando com matemática avançada e a solidez de geradores de números aleatórios.

Portanto, mesmo quando o problema de tecnologia for resolvido, acho que ainda pode levar muito tempo para superar a barreira emocional. Nesse ínterim, onde isso nos deixa? Com a suposição absoluta de que cada participante de uma blockchain vê tudo o que está acontecendo. Embora essa suposição possa restringir a esfera de aplicações viáveis, também evita que tempo seja desperdiçado em projetos que nunca serão movidos para produção. E como outros disseram antes de mim, 2016 é o ano de transição de pensar e falar sobre blockchains para a construção de alguns aplicativos reais.

Por favor, poste comentários no LinkedIn.

Carimbo de hora:

Mais de Multichain