
Um smart contract é um contrato implementado por software. Ao contrário dos contratos tradicionais, que obrigam as partes a recorrer ao sistema judicial, um smart contract é autoexecutável (e potencialmente autoaplicável), dependendo do cumprimento de condições específicas monitorizadas por software. É possível construir uma “camada” de suporte a smart contracts sobre a infraestrutura existente da Ethereum. Todos os smart contracts são criados através da linguagem de programação Solidity.
Os smart contracts oferecem diversas vantagens, nomeadamente:
Exemplo de utilização de um smart contract:
Suponha que a Laura e o Michael pretendem jogar pedra, papel, tesoura, e o vencedor de três rondas ganha uma aposta de 1 ETH. Neste cenário, um smart contract pode:
Tudo isto é realizado de forma objetiva, transparente e sem depender da Laura ou do Michael.
Solidity é uma linguagem de programação de tipagem estática, cuja sintaxe é fortemente influenciada por JavaScript, permitindo aos programadores desenvolver smart contracts. Os smart contracts que correm na blockchain Ethereum são escritos em bytecode, executado na EVM.
A Ethereum, tal como a Bitcoin, é uma blockchain que permite a transferência de criptomoedas entre utilizadores sem necessidade de intermediários – como bancos ou empresas de transferências internacionais – para garantir a operação. Programadores em todo o mundo trabalham para criar aplicações e plataformas que trazem o potencial da rede descentralizada Ethereum ao público. Embora o ecossistema blockchain exija tempo para se desenvolver e integrar plenamente nas economias globais, já se observa um número crescente de organizações a lançar aplicações que interagem com a Ethereum, criando novas formas de gerar e trocar valor.
Esta nova geração de aplicações descentralizadas – dApps – está a transformar modelos em setores como finanças, música, gaming e redes sociais, com resultados notáveis, impulsionando a indústria blockchain para uma era menos especulativa e mais orientada para resultados, adoção e melhorias reais na vida dos utilizadores. Exemplos de projetos relevantes:
As blockchains exigem que os participantes da rede cheguem a acordo antes de adicionar novos blocos. O mecanismo de consenso determina se uma transação é legítima, recorrendo a métodos de validação criptográfica específicos da rede. Este mecanismo resolve conflitos entre entradas concorrentes, como quando vários participantes propõem transações distintas sobre o mesmo ativo. Garante a correta sequência das transações e impede que participantes menos eficientes explorem o sistema. Existem vários tipos de mecanismos de consenso, mas a Ethereum aplica:
Proof of Stake (PoS) – O modelo proof of stake permite ao detentor das moedas ganhar novas moedas simplesmente provando que possui determinada quantidade, dispensando a resolução de problemas matemáticos complexos (mineração).
A Ethereum Virtual Machine (EVM) é um ambiente de execução seguro e sustentável, que permite aos programadores trabalhar remotamente e carregar atualizações progressivas para a blockchain Ethereum, originando o aparecimento de inúmeras aplicações descentralizadas (dApps). Na prática, a EVM funciona como um grande computador distribuído pela rede, onde os códigos e dados de cada contrato, designados como códigos e variáveis de estado, são partilhados por todos os nós. A validação de um novo bloco Ethereum determina a atualização de todas as variáveis de estado, incluindo o saldo das contas.
Compreender a tecnologia subjacente à Ethereum é essencial. A maioria dos projetos de referência atuais inspira-se nas tecnologias desenvolvidas para a Ethereum ou foi criada para superar as suas limitações. O conhecimento adquirido neste módulo será fundamental para estudar outros projetos.
Destaques
Artigos Relacionados