Você já ouviu a expressão "código é lei" onde a tecnologia é usada para impor regras? Nesse caso, precisamos mesmo de advogados? Ou talvez possamos viver em um mundo totalmente automatizado onde o código dita o que podemos e o que não podemos fazer. Com o desenvolvimento atual dos contratos inteligentes, esse cenário futurista pode estar mais próximo do que pensamos.
Um contrato inteligente é um pedaço de código que pode ser executado automaticamente e de forma determinística. O código do contrato inteligente geralmente é armazenado e executado na blockchain para torná-lo confiável e seguro. Os contratos inteligentes também têm a capacidade de receber, armazenar e enviar fundos e até mesmo chamar outros contratos inteligentes. Eles seguem a semântica de se-então, o que os torna relativamente fáceis de programar.
Os contratos inteligentes visam remover o fator humano da tomada de decisões. O fator humano é frequentemente provado ser o elemento mais propenso a erros e pouco confiável dos contratos tradicionais.
Ethereum é um bom exemplo de uma blockchain que suporta contratos inteligentes e possibilita que um programador implemente seus próprios contratos inteligentes. Um contrato inteligente pode ser escrito em uma linguagem de programação chamada Solidity, que foi criada especificamente para esse propósito. No Ethereum, todos os contratos inteligentes implantados são imutáveis. Isso significa que, uma vez implantados, não podem ser modificados, o que cria certos riscos que vamos discutir mais adiante. Os contratos inteligentes no Ethereum também são descentralizados, o que significa que não há uma única máquina controlando o contrato. Na verdade, todos os nós da rede Ethereum armazenam o mesmo contrato com exatamente o mesmo estado.