Como funcionam os smart contracts do Ethereum?

Como ocorre com muitas ideias da indústria do blockchain, confusão circunda os chamados smart contracts.

Leia mais: Opinião: felizmente, nós estamos chegando ao fim de outra tendência de baixa das criptomoedas

Esta nova tecnologia, possibilitada pelos blockchain públicos, é difícil de entender pelo fato do termo central confundir as pessoas em relação à sua interação.

Enquanto um contrato tradicional dita os termos de uma relação, que é assegurada pela lei, o smart contract cria uma relação assegurada por códigos criptografados.

Colocando de forma diferente, smart contracts são programas que executam exatamente aquilo que seus criadores estipularam.

O conceito surgiu em 1993, originalmente descrito pelo cientista da computação e criptógrafo, Nick Szabo, como uma máquina de vendas digital. Em seu famoso exemplo, ele descreveu como usuários podem colocar dados ou valores, e receber uma quantidade finita de algo de uma máquina – como uma barra de chocolate ou uma lata de refrigerante.

Em um exemplo simples, um usuário de ethereum pode enviar 10 ethers a um amigo em uma certa data, utilizando um smart contract.

Nesse caso, ele criaria um contrato, estipulando a data deste a fim de executar a ação acima descrita no dia que ele desejasse.

Ethereum é uma plataforma construída especificamente para criar smart contracts.

Contudo, estas novas ferramentas não foram desenvolvidas para serem utilizadas isoladamente. Acredita-se que os smart contracts podem ser utilizados na construção de blocos para aplicativos descentralizados, podendo até mesmo criar companhias autônomas descentralizadas.

Leia mais: Rússia bane Telegram após empresa negar acesso às mensagens de alguns usuários

Screen Shot 2017 03 28 at 5.43.08 PM

Como funcionam?

É válido ressaltar que o bitcoin foi o primeiro a suportar smart contracts básicos, no sentido de que a rede permitia transferir valores de uma pessoa a outra. Os nós da rede validam as transações, caso algumas condições sejam atendidas.

Entretanto, o uso do bitcoin está limitado às moedas.

Em contraste, o ethereum substitui a linguagem restritiva do bitcoin (uma linguagem de script que contem cem ou mais scripts), dando lugar a uma nova linguagem que permite aos desenvolvedores criarem seus próprios programas.

Ethereum permite que desenvolvedores programem seus próprios smart contracts, ou “agentes autônomos”, como o white paper do ethereum os chama. A linguagem possui completude Turing, significando que ela suporta uma gama maior de instruções computacionais.

Os smart contracts podem:

  • Funcionar como contas com “multi assinaturas”, de forma que os fundos sejam gastos apenas quando uma certa porcentagem de pessoas concordem sobre isso;
  • Gerenciar acordos entre usuários, por exemplo, caso um compre algo de outro;
  • Fornecer utilidade a outros contratos;
  • Armazenar informações sobre um aplicativo, como uma informação de registro de domínio ou registros de associação.

Leia mais: Yahoo do Japão comprará 40% de participação em exchange de criptomoedas

Vires in numeris

Extrapolando o último ponto, smart contracts geralmente precisam de auxílio de outros smart contracts.

Quando alguém faz uma aposta sobre a temperatura em um dia quente de verão, ela pode desencadear uma sequência de contratos.

Por exemplo, um contrato poderia usar dados externos para determinar o tempo, enquanto outro contrato poderia adequar a aposta baseado na informação recebida do primeiro contrato, caso as condições fossem atendidas.

Executar cada contrato requer taxas de transação pagas em ether, definidas pelo montante de poder de computação requerido.

Ethereum executa o código de smart contracts quando um usuário ou outro contrato envia uma mensagem com uma quantidade suficiente de ether para pagar as taxas de transação.

A Ethereum Virtual Machine então executa os smart contracts em “bytecode”, ou uma série de números “um” e “zero”, que podem ser lidos e interpretados pela rede.

Fonte: CoinDesk