Artigos

Contratos inteligentes em linguagem natural

Os contratos inteligentes realizam transações no Blockchain que vão além de simples transações de compra / venda de moeda virtual

 

Um contrato no sentido tradicional é um acordo entre duas ou mais partes para fazer ou não fazer algo em troca de outra coisa. Cada parte deve confiar na outra parte para cumprir o seu lado da obrigação. Nick Szabo propôs, em 1997, a ideia de contratos inteligentes capazes de representar cláusulas contratuais tais como garantia, vinculação, delineação de direitos de propriedade através de hardware e software, de modo a tornar a quebra de contrato cara para o infrator.

No contexto do Blockchain, contratos inteligentes realizam transações no Blockchain que vão além de simples transações de compra / venda de moeda virtual e podem ter instruções mais extensas incorporadas a elas. Um contrato inteligente é um programa que é executado por um conjunto de nós de uma rede Blockchain e tem sua execução correta imposta pelo protocolo de consenso da rede.

Os contratos inteligentes apresentam o mesmo tipo de acordo para agir ou não, mas eliminam a necessidade de um tipo de confiança entre as partes. Isso ocorre porque um contrato inteligente é definido pelo código e executado (ou imposto) pelo código, automaticamente sem discrição.

Um contrato inteligente pode codificar qualquer conjunto de regras representadas em sua linguagem de programação, como executar transferências quando certos eventos acontecem (por exemplo, pagamento de depósitos em um sistema de garantia). Assim, os contratos inteligentes podem implementar uma ampla gama de aplicações, incluindo instrumentos financeiros (por exemplo, sub-moedas, derivativos financeiros, carteiras).

Contratos inteligentes já foram usados em muitos aplicações de Blockchain incluindo Logística, Finanças e Agricultura. Contratos inteligentes são geralmente criados usando linguagens de programação como Solidity ou Golang. Atualmente, parte do processo de criação dos contratos inteligentes é a tradução das cláusulas de contratos legais em um modelo computacional.

O Hyperledger Accord é um framework de código aberto que visa aproximar os contratos jurídicos, com os contratos inteligentes. O objetivo do projeto é migrar de processos manuais baseados em papel para um processo digitalizado em um ambiente orientado a dados. O Accord fornece uma especificação e implementação aberta, voltada para o setor, para contratos jurídicos inteligentes que incluem as principais firmas de advocacia e organizações de tecnologia de blockchain do mundo.

Os modelos executáveis reutilizáveis para contratos e cláusulas são fornecidos por modelos Cícero. Um modelo Cícero é composto de três elementos: A gramática de modelo representa o texto da linguagem natural para o modelo. É um texto UTF-8 com marcação para introduzir variáveis; O template é um modelo de dados que apoia o contrato.

Os templates são expressos usando o Hyperledger Composer Modeling Language, uma linguagem de definição de dados. Já a lógica do contrato é escrita como um conjunto de funções do Ergo. As funções do Ergo são invocadas pelo mecanismo do Cicero quando as transações são recebidas para processamento e retornam uma resposta.

Figura 1 – Gramática de Modelo de um contrato inteligente

 

Um contrato pode ser instanciado pela análise de texto em linguagem natural que esteja de acordo com a estrutura da gramática do modelo ou pode ser instanciado a partir de um objeto JSON que seja uma instância do template de dados do modelo. Muitos contratos exigem estado, por exemplo, para lembrar a última vez que uma parte contratante fez um pagamento. Um contrato pode opcionalmente ser anexado a um objeto de estado, dando à lógica do contrato acesso de leitura e gravação ao estado do contrato

Figura 2 – Fluxo de  Execução  de um contrato

 

O Hyperledger Accord pode ser integrado com  o Hyperledger Composer e é compatível com o serviço de Blockchain da IBM . Para um tutorial detalhado de integração das ferramentas siga este link.  Veja aqui também, mais sobre o serviço de Blockchain da IBM.

Percival Lucena

é mestre em Ciência da Computação pela USP e atua como pesquisador do IBM Research Lab Brazil para projetos em blockchain. Trabalhou por 14 anos em projetos de desenvolvimento de software para diversas indústrias, como telecomunicações, finanças, varejo e agricultura. Desde 2016 em projetos de blockchain e novos modelos de negócios para Agropecuária, Finanças e Identidade Digital.

Comentários

PUBLICIDADE

RECEBA NOVIDADES

Fique por dentro de todas as novidades, eventos, cursos, conteúdos exclusivos e muito mais.

Oferecimento:
Projeto mantido por:
Media Partners: