top of page

Ata de Reunião: Blockchain Ethereum e Smart Contracts

Atualizado: 20 de jul. de 2020

Grupo de Estudos em Direito e Tecnologia - DTEC-UFMG

Data da reunião: 07/04/2020

Relatores: Giulya Almeida e Luiz Felipe Drummond



Blockchain Ethereum e Smart Contracts


A blockchain é uma tecnologia que possibilita a criação de livros-razão confiáveis, transparentes e distribuídos na internet, de forma peer to peer, com inúmeros servidores voluntários replicam o mesmo trabalho para validar transações. A blockchain é append-only, de forma que o usuário só pode ler ou acrescentar informações. Para modificar qualquer coisa, uma transação nova deve ser realizada, para modificar o estado criado pela transação anterior. O consenso, na blockchain, é formado pelo consenso entre os mineradores que resolvem um desafio criptográfico para criar os blocos de transações. Dessa forma, a tecnologia permite que informações sejam registradas com segurança, já que não há viabilidade computacional para alterá-las sem controlar a maior parte dos computadores que validam as transações.


Embora a popularidade da blockchain tenha sido alcançada como tecnologia subjacente às criptomoedas, sua aplicação mais promissora talvez seja como plataforma para a execução de contratos inteligentes. O contrato é a forma tradicional de formalizar as relações entre as pessoas. Com a revolução digital, surgem novas formas de formalizar essas relações. Nick Szabo, antes mesmo da criação da blockchain, desenvolveu o conceito de smart contracts, conjunto de promessas especificado de forma digital e protocolos por meio dos quais essas promessas são executadas.


A ideia básica dos smart contracts é que muitos tipos de cláusulas contratuais poderiam ser embutidas em um software, de modo a tornar o inadimplemento mais difícil ou, até mesmo, impossível. O exemplo ancestral é a máquina automática de refrigerantes. Esses contratos eliminariam as barreiras jurídicas das relações negociais, ao serem executados automaticamente. Sua segurança seria garantida por protocolos criptográficos, como a utilização de uma combinação de criptografia de chave pública com assinaturas digitais.


O desenvolvimento da blockchain, com a divulgação do white paper do Bitcoin, criou espaço para que as ideias de Szabo fossem concretizadas. No caso do Bitcoin, os scripts disponíveis, embora limitados, já possibilitavam espécies de smart contracts, embora permitissem apenas coisas básicas. Por exemplo, pagamentos com quórum (script multisig) ou Pay-to-Script, em que, para utilizar a transação recebida, o usuário deveria fornecer informações que satisfaçam um script. A blockchain pode ser utilizada para registrar e executar relações contratuais mais complexas. É o que permite a Ethereum, plataforma descentralizada para smart contracts, na qual aplicações funcionam em uma blockchain personalizada que pode mover valores e representar direitos de propriedade (tokens).


A Ethereum disponibiliza um ambiente computacional, a Ethereum Virtual Machine (EVM), em que contratos (scripts) podem ser programados em uma linguagem própria, o bytecode. É como se fosse um computador nas nuvens. Uma plataforma de computação distribuída, de software aberto, pública e na qual há a funcionalidade de fazer scripts. Os programas criados na EVM são registrados na blockchain do Ethereum e, uma vez registrados, seu código não pode ser mudado. Como o bytecode é muito sujeito a erros (linguagem de baixo nível), foi desenvolvida a linguagem Solidity para desenvolver os smart contracts.


A moeda na Ethereum é o ether, que se divide em Wei’s. Para utilizar a EVM, no entanto, o usuário deverá pagar uma taxa para cada recurso utilizado em seu script. Essa taxa é chamada de gas e os valores de cada recurso são predefinidos. Por exemplo, para calcular uma função de hash (SHA-3), o usuário deverá pagar 20 unidades de gas. O valor de gas em ether é especificado pelo usuário na própria transação. Também deverá ser especificada a quantia máxima de gas que a execução do contrato poderá consumidor. Uma vez esgotada essa quantidade, a execução para automaticamente, o que é uma forma de evitar loops infinitos.


São muito diversas as utilidades de smart contracts feitos na EVM. Em um primeiro plano, é possível utilizar smart contracts para substituir serviços financeiros, como contratos de seguro, transferência de valores mobiliários e trade finance em supply chains. Por outro lado, smart contracts podem ser utilizados para a transferência da propriedade de um bem físico, representado por um token. Smart contracts também podem ser utilizados para estabelecer organizações autônomas descentralizadas (DAO). Por fim, há iniciativas que buscam utilizar a blockchain para facilitar transações entre devices conectados na internet (IoT).


REFERÊNCIA BIBLIOGRÁFICA

BAMBARA, Joseph J.; ALLEN, Paul R. Blockchain: A practical guide to developing business, law and technology solutions. New York: McGraw-Hill Education, 2018


SZABO, Nick. Smart Contracts: Building Blocks for Digital Markets. p. 01-23. 1996. Available at: <https://www.alamut.com/subj/economics/nick_szabo/smartContracts.html>. Access Sep. 10, 2019.


KARAME, Ghassan; ANDROULAKI, Elli. Bitcoin and Blockchain Security. Boston: Artech House, 2016.


NARAYANAN, Arvind; et al. Bitcoin and Criptocurrency Technologies: A Comprehensive Introduction. Artech Princeton: Princeton University Press, 2016.

Comments


bottom of page