Professor Sebastian Faust, especialista em processos de criptografia. Crédito:Katrin Binner
Blockchains prometem aplicativos de Internet abertos em larga escala que são organizados de forma descentralizada, mas isso tem o preço de um desempenho lento para cada transação processada pelo sistema. Pesquisadores de criptografia trabalhando com o professor Sebastian Faust alcançaram consciência global com sua abordagem para facilitar transações em tempo real usando blockchains como o Ethereum.
O pagamento com cartão de crédito é um processo rápido:a transferência de dinheiro é concluída apenas alguns segundos depois que o cliente coloca o cartão em um leitor ou insere seus dados online. Este processo permite que uma empresa organizada centralmente, como a Visa, lide com mais de 50, 000 transações por segundo em horários de pico. Usando uma criptomoeda, como Bitcoin, onde as transações são processadas localmente por meio de um blockchain, no máximo sete transações podem ser processadas por segundo - uma diferença enorme que dificulta muito a aplicabilidade da tecnologia. Pior ainda, também pode levar vários minutos para processar uma única transação. Essas desvantagens não se aplicam apenas ao Bitcoin. Mesmo os aplicativos mais complexos que são processados usando contratos inteligentes no Ethereum são caros e lentos também.
No entanto, o blockchain é projetado apenas para esses casos. Qualquer usuário pode fazer upload e distribuir algo por meio de um blockchain, e qualquer pessoa pode se tornar parte dela. É descentralizado, neutro e efetivamente a combinação perfeita de intermediário e juiz - mas também é lento. Para interagir com ele de forma econômica e em tempo real - essa é a visão de Sebastian Faust, Professor de criptografia aplicada, e sua equipe. O desafio é que o aumento do desempenho não deve ser feito à custa da segurança. A pesquisa faz parte do Collaborative Research Center CROSSING, que é apoiado pela Fundação Alemã de Pesquisa.
Um blockchain é uma cadeia de blocos que contém o estado do sistema descentralizado. No caso de uma moeda como Bitcoin, isso seria transações de pagamento:quem está pagando quem quanto. Cada bloco também contém um chamado hash de todos os dados do bloco, uma espécie de impressão digital dos dados. Se algum dos dados for alterado, isso muda o valor do hash. Além disso, cada bloco contém um hash criptográfico do bloco anterior. Isso resulta em uma cadeia interligada. Um novo bloco de Bitcoin é criado por um participante da rede - conhecido como minerador - em média a cada dez minutos. Este bloco é então verificado por todos os outros participantes e aceito como um novo bloco na cadeia se todas as transações e cálculos estiverem corretos. Isso torna o bloco parte do blockchain, com base no qual todos os mineiros tentam encontrar o próximo bloco. Se o bloco estiver incorreto, ele será ignorado. Uma transação em um bloco só é aceita se tiver sido publicada no blockchain e, de preferência, confirmada por vários blocos, geralmente seis. Isso evita que um invasor publique transações ou bloqueios incorretos. Embora esse processo ofereça fortes garantias de segurança, uma de suas principais deficiências é que os usuários podem ter que esperar até 60 minutos pela confirmação de novas transações.
Transações mais complexas usando contratos inteligentes
Os contratos inteligentes permitem que os participantes realizem transações que são significativamente mais complexas do que pagamentos simples. Essas regras complexas podem ser escritas em uma linguagem de programação, onde os pagamentos são efetuados dependendo da execução do código. "Esses são contratos processados pelo blockchain, "explica Sebastian Faust." Inteligente significa que os contratos contêm condições lógicas. Se, por exemplo, alguém quer vender um arquivo online, então, o contrato inteligente contém a condição de que o dinheiro não será pago até que o arquivo correto seja entregue. "Isso acontece automaticamente, o que é seguro para ambas as partes. O dinheiro permanece no blockchain até que o arquivo seja enviado, mas o vendedor não pode gastá-lo em outro lugar.
Outro exemplo de contratos inteligentes são os aplicativos de comunicação entre veículos autônomos. Alguns caminhões são capazes de circular autonomamente nas estradas. Contudo, eles são caros porque requerem uma grande quantidade de tecnologia de sensor. Um caminhão semi-autônomo não pode se dirigir sozinho, mas poderia ser co-controlado por um autônomo. Para que isso funcione, o motorista do camião semi-autónomo teria de celebrar um contrato com o camião autónomo. O motorista pode dormir durante esse tempo sem ter que fazer uma pausa para fazê-lo especificamente. Um contrato inteligente poderia fazer tudo isso se não houvesse o problema de que o blockchain está atualmente muito lento para transações rápidas na estrada.
"Nossa ideia não é mover tudo para o blockchain, "diz Faust. Isso significa que os contratos são primeiro executados diretamente entre as partes envolvidas e apenas em caso de disputa as partes usam o mecanismo de blockchain caro." "É um pouco como estar no tribunal, "diz Fausto." Como os processos no tribunal são lentos e caros, as partes só vão lá se não conseguirem chegar a um acordo entre si. "A vantagem desta abordagem é a escalabilidade. Como as disputas são uma exceção na vida diária normal, milhares de contratos podem ser executados em tempo real, reduzindo significativamente a carga no blockchain.
Programas de computador complexos também podem conter problemas de segurança fatais. "Os contratos inteligentes são frequentemente implementados de forma incorreta, o que torna difícil garantir que eles funcionarão corretamente uma vez integrados em um sistema maior, "diz Sebastian Faust. Um exemplo proeminente é o caso do contrato inteligente" The DAO ". Em" The DAO ", um hacker conseguiu usar um erro de programação para roubar criptomoedas no valor de US $ 50 milhões. Um dos principais objetivos do a pesquisa realizada na TU Darmstadt visa melhorar a eficiência dos sistemas de blockchain e, ao mesmo tempo, oferecer fortes garantias de segurança.
O desenvolvimento de protocolos criptográficos para esses processos é uma tarefa complexa. Os pesquisadores precisam definir os protocolos executados pelas diferentes partes, bem como os contratos inteligentes subjacentes. Um desafio particular é minimizar a interação com o blockchain, enquanto, ao mesmo tempo, a segurança do protocolo deve ser garantida. Usando modelos formais de criptografia, os pesquisadores confirmaram a segurança dos protocolos. As próximas etapas agora são lançar o sistema Perun como um software de código aberto, e integrar sistemas de blockchain que são diferentes de Ethereum.
O sistema é chamado de Perun - em homenagem ao deus eslavo do trovão e da iluminação. E tiveram um impacto:os resultados receberam ampla atenção, tanto da comunidade de segurança acadêmica quanto de empresas como a Bosch e a Fundação Ethereum, cujo blockchain oferece suporte a contratos inteligentes.