Oráculos, ou por que contratos inteligentes ainda não mudaram o mundo?

Para aqueles que estão interessados ​​no tópico de contratos inteligentes, a resposta à pergunta feita no cabeçalho está na superfície: hoje, os contratos não possuem uma fonte confiável e completa de informações sobre o que está acontecendo no mundo real. Como resultado disso, uma situação terrível está surgindo: podemos descrever lógica complexa em um contrato inteligente, e o blockchain nos fornecerá sua execução incondicional. E agora, ao que parece, estamos a um passo de eliminar a necessidade de terceiros na celebração de contratos - é isso que as palavras “mudar o mundo” significam no título. No entanto, qualquer lógica que descreva os processos do mundo real precisa saber o que está acontecendo neste mundo. Assim, o último obstáculo nos separa da “revolução da confiança” na forma da ausência de provedores de informação ou oráculos , como são chamados no mundo dos contratos inteligentes. Uma solução para esse problema daria um tremendo impulso à prevalência e aplicabilidade de contratos inteligentes. Caso contrário, essa tecnologia corre o risco de permanecer para sempre apenas uma plataforma para a implementação da OIC.



Habilidades que não encontram aplicação se transformam em nada.
Sten Nadolny

Oráculos


A Oracle é um provedor de informações que, mediante solicitação de um contrato, fornece da cadeia offline do mundo dados confiáveis ​​necessários para a operação correta do contrato. Os principais requisitos para o oráculo são a confiabilidade e a integridade das informações fornecidas. Aqui, confiabilidade significa a capacidade de confirmar / verificar a validade dos dados, e integridade significa a capacidade de fornecer dados sobre uma ampla gama de eventos do mundo real. Observamos separadamente que o oráculo não é uma fonte de informação, é seu fornecedor da blockchain . Assim, a escolha da fonte de informação é um dos principais parâmetros do oráculo, porque, para que o oráculo seja confiável e completo, a fonte também deve ser confiável e completa (falaremos sobre as fontes na próxima seção).



Vamos começar com a propriedade de confiança do oracle. Hoje, existem duas abordagens principais para alcançar a confiabilidade dos oráculos. O primeiro é o consenso dos oráculos . Como o nome sugere, o consenso de vários validadores independentes é usado nessa abordagem. O principal problema dessa abordagem (em termos de confiabilidade) é a criação de uma rede de validadores independentes. Por um lado, se selecionarmos / nomearmos participantes de consenso (oráculos), eles dependerão do mecanismo de seleção / nomeação. Assim, a centralização continuará, embora, é claro, em menor grau e com um disfarce diferente. Por outro lado, se alguém pode se tornar um participante de consenso, o sistema fica vulnerável a um ataque de Sybil . Além disso, existe uma opinião de que comprometer (hackear, subornar) vários participantes pequenos de consenso pode ser mais fácil do que comprometer um validador grande, já que um grande player possui medidas de segurança significativamente mais sérias e os custos de reputação são muito mais altos.

O Oraclize fornece uma alternativa à solução de consenso da oracle: o usuário escolhe a fonte de informações na Internet. E para provar o correto funcionamento do oráculo, são usadas as provas TLSNotary . Essa é uma evidência criptográfica de que os dados recebidos da fonte selecionada são transferidos para o contrato inteligente de forma inalterada.



No momento, você pode verificar essas evidências na Internet usando um monitor de rede para o Ethereum (é instável no momento da redação). No futuro, está planejado realizar a possibilidade de verificar as evidências TLSNotary diretamente pelo contrato na rede Ethereum.

É importante observar que ambas as abordagens têm um problema de confiar na fonte de informação / -kam: ambas garantem, em certa medida, a honestidade de transferir dados da fonte para o contrato, mas não garantem a honestidade da fonte (mesmo que nós a tenhamos escolhido).

Fontes de informação


No início desta seção, abordaremos a integridade dos dados fornecidos pelo oráculo. Atingir a integridade significa expandir o círculo de fontes de informação, e isso implica em questões ainda maiores para a confiabilidade desses dados. Vamos considerar dois exemplos simples: se o seu contrato precisa de informações sobre a taxa atual de ETH / USD, você pode considerar grandes trocas de criptomoedas como fontes, cujo consenso será bastante confiável. E se o contrato precisar saber se a luz está acesa no seu quarto, será extremamente difícil encontrar testemunhas oculares independentes. Você pode usar uma fonte física, por exemplo, uma câmera no quarto, mas se desejar, é fácil enganar: coloque uma bolsa na câmera e ela sempre estará escura no seu quarto. Assim, com um aumento na integridade das informações fornecidas pelo oráculo, o problema de encontrar fontes confiáveis ​​é ainda mais agudo.

A fonte mais natural de informação é centralizada . Estamos acostumados a essa abordagem na vida cotidiana: aprendemos as notícias em nosso site favorito, a taxa de câmbio do dólar no site do Banco Central. A maioria de nós acredita cegamente nessas fontes centralizadas, e essa crença é mais frequentemente justificada, porque os custos de reputação para empresas tão grandes excedem os benefícios potenciais que podem ser obtidos fornecendo informações falsas. Existem dois buts. Em primeiro lugar, confiabilidade: mesmo quando lidamos com uma fonte centralizada confiável, ainda operamos com fé, não com conhecimento. Em segundo lugar, e mais importante, a integridade: o uso de uma fonte centralizada pode ser considerado uma abordagem confiável apenas para um círculo estreito de eventos ressonantes.

A primeira maneira de contornar as desvantagens de uma fonte centralizada é usar fontes de consenso . Já discutimos uma abordagem semelhante acima quando falamos sobre o consenso de oráculos. Como no caso dos oráculos, essa abordagem melhora a confiabilidade e a integridade das informações fornecidas, no entanto, seu efeito positivo é limitado e apresenta suas desvantagens (consulte a seção anterior).

Outra abordagem para resolver o problema das fontes de informação é um método indireto . A idéia é extrair informações sobre o evento de interesse de fontes indiretas.



Essas fontes serão diferentes para cada tipo de evento: para a temperatura em Moscou - uma foto do Instagram com a localização geográfica e a data apropriadas, para o resultado da partida - postagens nas redes sociais com as tags e a data correspondentes, etc. Os sucessos dos últimos anos no campo do aprendizado de máquina provavelmente nos permitirão determinar o resultado de eventos passados ​​com razoável precisão de fontes indiretas. Quais modelos de aprendizado de máquina são aplicáveis ​​para isso, qual será a precisão, se as fontes indiretas são independentes - todas essas questões devem ser consideradas separadamente para cada evento específico e o fato de sua solvabilidade ser o critério para a aplicabilidade do método indireto para esse evento.

Para tarefas relativamente simples, como determinar o resultado de uma partida por uma seleção suficiente de postagens de fãs de esportes, esses problemas parecem estar resolvidos. Supõe-se que o contrato se refira ao nó no qual os cálculos são realizados (extraindo a previsão de fontes indiretas). A confiabilidade dos cálculos é proposta para confirmar criptograficamente, como é implementado, por exemplo, no projeto Golem .



Essa abordagem é o segundo passo em direção à completude dos oráculos. Não se trata da luz do quarto, mas do clima, dos resultados das eleições, do lançamento bem-sucedido do Falcon Heavy .

Por uma questão de integridade, abordaremos o tópico de mercados de previsão como o Augur . O mercado usa a "sabedoria da multidão" para prever eventos futuros. Os usuários preveem o possível resultado desses eventos comprando ações da remuneração por um resultado adivinhado corretamente (os vencedores compartilharão o prêmio na proporção do tamanho de suas apostas). Assim, essa abordagem implica motivação econômica para os participantes da previsão: para a previsão correta, o usuário recebe uma recompensa e, no caso de uma previsão incorreta, perde os fundos investidos. A previsão neste caso é a expectativa média ponderada de todos os usuários. O uso de mercados de previsão aumenta muito a integridade das informações fornecidas, porque você pode prever qualquer coisa (se houver disponibilidade suficiente), e a confiabilidade fornece a motivação econômica dos participantes na previsão.

No entanto, nem tudo é tão róseo quanto parece à primeira vista. Primeiro, a previsão é apenas a expectativa dos participantes do mercado (muitos exemplos de eventos podem ser citados que ninguém espera que ocorra). Em segundo lugar, nesse modelo, a manipulação da previsão é possível se os custos de alterar a previsão por falso forem menores que o lucro da operação incorreta do contrato. Por exemplo, se o contrato assumir um grande pagamento no caso do evento A, e o fato da ocorrência desse evento determinar o mercado preditivo com uma pequena rotatividade de fundos, o atacante poderá falsificar o evento A, gastando apenas parte do benefício obtido na manipulação da previsão.

Conclusão


É difícil superestimar a importância dos oráculos para a tecnologia de contrato inteligente. O Oracle atua como provedor de informações da fonte ao contrato. E se as soluções existentes hoje fornecerem uma transferência bastante confiável dessas informações, o problema com sua confiabilidade original ainda não foi resolvido. Criar / selecionar fontes de informações confiáveis ​​e completas é a última fronteira que separa os contratos inteligentes da distribuição onipresente. Dado o desenvolvimento ativo das tecnologias blockchain, podemos contar com pelo menos uma superação parcial desse marco nos próximos anos.

Source: https://habr.com/ru/post/pt418791/


All Articles