Confiança em ambientes inseguros

A base do capitalismo

Um amigo uma vez me disse:

A confiança é a base do capitalismo.

Gosto deste mantra, acho que faz sentido e o uso com frequência no meu cotidiano, em discussões sobre economia, modelos de sociedade, moral, etc.

Um sistema de trocas voluntárias, livre iniciativa e contratos entre indivíduos como é o capitalista funciona melhor quando partimos da premissa de que uma parte substancial desses indivíduos possuem boa índole e que até certo ponto as pessoas podem confiar umas nas outras.

A partir do momento que o número de espertos é grande o suficiente, ou com poder acumulado o suficiente, as trocas passam a ser arriscadas e injustas, a confiança vai embora e o sistema perde suas vantagens.

Em outras palavras, quando alguém se pergunta coisas como:

  • "Quem garante que se eu emprestar dinheiro para um amigo ele vai me devolver?"
  • "Quem garante que, após eu entregar o site que fui contratado para fazer, meu cliente não vai dar calote?"
  • "Como podem os bancos nos Estados Unidos funcionarem sem portas giratórias e detectores de metais?"
  • "Eu não manjo nada de mecânica, quem garante que meu carro precisa mesmo trocar esta peça e quem me garante que o cara que eu paguei para fazer o serviço de fato a trocou?"
  • "Como saber se a gasolina aqui é batizada? Será que este pãozinho tem bromato? Será que esta bolacha tem gordura trans?"
  • "Como o caixa do supermercado pode saber se o cliente tomou um Yakult da prateleira sem pagar?"
  • "Quem me garante que a Internet que eu contratei por uma velocidade X será entregue com esta velocidade?"
  • "Como pode um posto de estrada no interior funcionar na base da pessoa do caixa me perguntar o que eu consumi apenas, sem fichas de papel ou cartão com código de barras?"
  • "Como assim o carteiro da UPS deixa a encomenda da Amazon na calçada da casa do cara na Califórnia caso ele não esteja lá para receber?"
  • "Como garantir que o passageiro do meu táxi vai me pagar o valor do taxímetro quando a corrida terminar?"

A resposta em maior ou menor grau é mais ou menos a mesma: ninguém garante. A confiança é requisito.

As coisas quando funcionam, funcionam porque existe o fio do bigode, a palavra, a honra, a vergonha, a pressão dos pares, a educação. E algumas convenções sociais e leis que são conhecidas e respeitadas. Na democracia, em última instância, existe também um grupo eleito pelos participantes que está autorizado a usar da força, mas podendo evitá-lo, melhor.

Confiança traz segurança e a falta dela traz vulnerabilidade. O funcionário de um patrão não confiável está sujeito a trabalhar sem ser pago. O mesmo vale para um credor que empresta sem garantias, estabelecimentos comerciais em áreas com ladrões, leigos a mercê de especialistas maliciosos e, numa cultura de impunidade que glorifica o jeitinho, quase todos os honestos.

https://www.youtube.com/watch?v=2ujmpzObjq0


Pausa para um probleminha de teoria dos jogos

Enunciado:

Dado um motorista de táxi M, um passageiro P e uma juiza justa J, formule uma maneira de M receber de P o valor informado pelo taxímetro e P receber de M o transporte até o local combinado (ou uma indenização por quebra de contrato) assumindo que com excessão de J, qualquer um dos outros dois pode ser sacana.

Minha solução

Um possível arranjo/protocolo que eu proporia para resolver este problema seria:

  1. M pede para que P pague um valor Vp à J (Vp é 2 vezes o preço que o M acha que vai dar a corrida)
  2. P pede para que M pague um valor Vm à J (Vm é um valor de indenização que P aceita receber caso M não o transporte para o local combinado)
  3. M e P concordam que ao fim da corrida, se ambos autorizarem, J devolve o calção Vm a M e paga o valor da corrida Vc a M. Todo o resto (Vp - Vc) J devolve a P
  4. M e P concordam que sob qualquer alegação de um dos lados ter sacaneado, J tem a palavra final sobre quem foi o prejudicado e deve dar todo o dinheiro para o lado que foi o lesado.
  5. M paga Vm a J e P paga Vp a J
  6. J confirma que ambos pagaram e autoriza o início da corrida.

Obviamente no dia-a-dia não fazemos contratos semelhantes a este para a compra de produtos ou serviços pequenos, pois assumimos de antemão que o outro lado é confiável e que não precisaremos de um árbitro.


A base da Internet

Na Internet, ninguém sabe que você é um cachorro, e isto é fantástico! A rede é inclusiva, livre e aberta. Pouco é exigido de quem quer conversar em TCP/IP, e sem esta característica fundamental, não teríamos a oportunidade de experimentar este Mundo de Pontas tão incrível que não tem dono, todos podem usar, qualquer um pode melhorá-lo e que "interpreta censura como um defeito e roteia para contorná-la".



"Internet dog" by Peter Steiner.

Estas características tornam também tudo um pouco mais complicado quando o assunto é segurança e confiança. Em redes de computadores (e computação em geral), confiança é um objetivo muito difícil de ser alcançado. Conceitos como "fio do bigode", palavra, honra e vergonha são coisas humanas demais para serem aplicadas ao mundo frio, lógico e exato dos zeros e uns.

A desconfiança é a base da Internet

Uma máquina que se apresente dizendo ser João, deve ser considerada Maria até que se prove o contrário. Um email dizendo que você ganhou um prêmio, ou uma janela popup alegando ser do seu banco e pedindo dados, ou mesmo os nudes da gatinha que você conheceu na rede social não devem ser encarados como sendo verdadeiros e de boa fé, todo cuidado é pouco.

O mesmo vale para sistemas de código fechado. Desconfiança deve ser a norma. Uma empresa que jure que um software faz apenas o que ela diz fazer deve ser encarado como um sistema malicioso que já está fazendo coisas escusas sem sua autorização até que prove-se o contrário, e a maneira mais simples de provar o contrário neste caso é ler o código e compilá-lo você mesmo. Um app de lanterna que diz ser apenas lanterna e pede autorização para ter acesso ao GPS do smartphone não é apenas um app de lanterna, um sistema operacional que oferece checkbox de "não envie dados da minha máquina para o fabricante" deve ser encarado como um que ignora estes checkboxes, uma urna eletrônica, com código-fonte fechado ou com código-fonte não totalmente público, sem voto impresso e que não admite auditoria séria, vendida como justa e segura deve ser encarada como fraude, sempre.

Com isto em mente surge a pergunta: é possível uma rede distribuída ser segura? Dado que não se pode confiar em ninguém, como minimizar a confiança necessária?

A procura por respostas a estas perguntas constitui todo um campo de pesquisa científica e uma área de oportunidades para inovação jovem e efervescente.

Sistemas que alguns chamam de "trustless", ou como o pesquisador Nick Szabo prefere: "trust-minimized", junto com o conceito de "smart contracts", "smart properties" ou ainda "Bitcoin 2.0" (a invenção de Nakamoto com o protocolo bitcoin, as regras de consenso e a "prova de trabalho" abriu muitas portas) são temas quentes!

A idéia por trás do conceito de smart contracts é a de que algorítmos podem ser os juízes em arranjos onde as partes envolvidas não podem confiar umas nas outras. É uma maneira de cortar a necessidade de intermediários como advogados, cartórios ou governos para fazer valer contratos claros e simples (um programa de computador) entre indivíduos.

O exemplo do contratinho acima com 6 passos poderia ser programado facilmente num computador baseado em block chain e utilizado na vida real se a moeda fosse a usada por esse computador (bitcoin e ethereum são dois exemplos de computadores/moedas desse tipo).

Gosto do termo "programmable money" (dinheiro programável) que o Andreas Antonopoulos frequentemente usa para se referir ao Bitcoin e outras criptomoedas que permitem endereços multiassinatura e pagamentos para um script.

https://www.youtube.com/watch?v=44zHvG9Xypo

https://www.youtube.com/watch?v=xUNGFZDO8mM

O artigo The dawn of trustworthy computing foi uma das grandes fontes de inspiração para este post, recomendo. Esta galera está propondo experimentos e plataformas de potencial disruptivo inimaginável, acreditam ser possível unir o melhor destes dois mundos:

A resiliência das redes descentralizadas com uma confiabilidade que não é natural deste meio… e que até pouco tempo atrás se acreditava ser inalcançável.

Foto do cabeçalho: CONTRACT