Embora seja um tema relativamente novo, aqueles que estão buscando aprimoramento e atualização através do estudo desse assunto se deparam com alguns nomes que podem gerar muita confusão. Especialmente se estes conceitos estiverem no contexto de algum artigo escrito por quem não é especialista no tema do ponto de vista jurídico.
No PK Advogados, nossos profissionais não apenas estudam Blockchain desde 2013, como também aprendem a programar em Blockchain. Entendemos que para dominar o assunto e orientar nossos clientes de maneira proativa e orientada a negócios, é necessário compreender como a tecnologia funciona de fato, suas características, possibilidades e limitações.
O artigo de hoje é sobre uma dessas lições aprendidas durante o curso de programação em Blockchain.
Quer saber mais detalhes sobre esse assunto? Então continue lendo e entenda o que são os Smart Contracts, quais suas vantagens, desvantagens, sua validade jurídica e como utilizá-los de forma segura.
De onde veio essa ideia?
Nos anos 90 um cientista da computação norte-americano chamado Nick Szabo teve esta ideia: criar digitalmente um contrato que auto executa as condições nele estabelecidas pelas partes. Szabo observava o funcionamento das “vending machines” e inventou o termo “Smart Contracts” em artigos como o que ele escreveu em 1997 para a revista acadêmica First Monday[1] e que foram catalogados posteriormente[2].
Em resumo, em seu artigo ele defendia a ideia da criação de um sistema derivado de princípios legais, teoria econômica e teorias de protocolos confiáveis e seguros para ser utilizado no comércio eletrônico, por exemplo.
Porque somente agora a ideia está sendo utilizada?
Szabo até que tentou colocar em prática a hipótese que desenvolveu em seus artigos. Em 1998 ele criou um sistema chamado “Bit Gold”, mas que não chegou a ser implementado efetivamente.
Apenas em 2008, depois da divulgação de um paper chamado “Bitcoin: A Peer-to-Peer Electronic Cash System”[3] que as condições técnicas para a implementação dos Smart Contracts passaram a existir realmente.
Esse paper deu origem ao Bitcoin, a primeira e mais famosa “moeda virtual” (outro nome inadequado que podemos discutir em um artigo). Porém, ganhou força depois de se perceber que a estrutura por trás do Bitcoin oferecia muitas outras possibilidades, além da criação de moedas virtuais. A ela foi dado o nome de “Blockchain”.
O que é a Blockchain?
Deixando de lado as tecnicidades, conceituamos a Blockchain como “uma estrutura de base de dados que realiza o registro de transações enquanto garante segurança, transparência e descentralização.
Ou seja, é uma cadeia de blocos (daí a literalidade do nome Blockchain) que armazena as transações numa espécie de sistema de registro coletivo. As informações não estão armazenadas em um único lugar, nem possuem um ponto central, são distribuídas entre os diversos computadores ligados à rede, daí as características marcantes de transparência e descentralização.
É essencial entender: Bitcoin e Blockchain não são a mesma coisa. Blockchain é gênero, Bitcoin é espécie. Existem hoje várias outras estruturas Blockchain, como o Ethereum.
O que é o Ethereum?
Depois que o conceito foi lançado com o Bitcoin, vários programadores e desenvolvedores pelo mundo todo começaram a usar o mesmo conceito como base para criar outras estruturas de Blockchain, na maioria das vezes acrescentando funcionalidades e recursos para atribuir um diferencial para cada nova proposta.
E uma dessas iniciativas foi o Ethereum, criado em 2013 por Vitalik Buterin. Trata-se de uma Blockchain que proporciona condições especiais para a criação e execução dos Smart Contracts, pois cria uma espécie de máquina virtual (EVM) onde terceiros podem desenvolver e rodar suas aplicações.
Por que os Smart Contracts não são inteligentes e não são contratos?
Embora não pareça, conceituação e terminologia são muito importantes, especialmente do ponto de vista jurídico. O que muitas vezes oferece uma forma mais simples de identificar algo ou possui um apelo de marketing, também pode oferecer riscos à medida em que a falta de discernimento do que é analogia e do que é realidade induz algumas pessoas ao erro.
Primeiramente, é preciso explicar que o termo “smart” ou “inteligente” foi utilizado em um contexto de comparação com os velhos e tradicionais modelos de contrato, impressos em papel e assinados manualmente pelas partes, onde a execução de todas as condições pactuadas, como a realização do pagamento do preço, por exemplo, dependia da ação de uma das partes.
No entanto, não se pode acreditar que o Smart Contract seja tão “esperto” a ponto de fazer tudo isso sozinho. Pelo contrário, para que ele funcione é necessária a ação especializada de um desenvolvedor com experiência na linguagem de programação que será utilizada (as mais usadas são Solidity, Vyper, Serpent, Mutan e LLL), contando sempre com o apoio de um advogado que entenda de contratos, tecnologia e, claro, de Blockchain.
Ou seja, os Smart Contracts executam apenas o que foi definido por quem o programou. Eles não aprendem e nem executam nenhuma tarefa sozinhos.
E nesse ponto, jurídico, reside a outra controvérsia em relação à terminologia. Mais uma vez, o uso da analogia do termo “contract” ou “contrato” para fazer referência a uma transação entre duas partes é, até certo ponto, compreensível.
Entretanto, contrato é um instrumento jurídico que exige certas formalidades que os Smart Contracts não possuem. Embora a lei permita que os contratos sejam feitos de diversas formas (quando não prescrita ou proibida por lei), inclusive verbalmente e por meios eletrônicos, os Smart Contracts constituem, na verdade, apenas uma das etapas de uma relação jurídica contratual.
Uma relação contratual começa com uma fase de negociação entre as partes, então passa para uma fase de preliminares onde são apresentadas as primeiras tratativas de uma maneira mais formal, daí passamos para uma proposta efetivamente, a aceitação dessa proposta, a elaboração e assinatura pelas partes e pelas testemunhas da versão final do contrato e, por fim, sua execução.
Os Smart Contracts refletem apenas a última fase, ou seja, a execução do contrato.
Em outras palavras, seria uma forma de duas ou mais partes estabelecerem através de linguagem de programação uma forma de executar as condições contratuais em uma Blockchain. Neste caso, as testemunhas são os outros integrantes da rede Blockchain.
Podemos dizer, ainda, que um Smart Contract nada mais é do que um código de programação (algoritmos, regras, etc.) que se executa imediatamente e de forma autônoma. Ele foi criado para facilitar a execução de um contrato, proporcionando confiabilidade à medida em que se utiliza do registro em Blockchain, que não pode ser perdido ou adulterado.
As regras e consequências estritas da relação jurídica, tais como obrigações, direitos, deveres e penalidades em caso de descumprimento, ainda continuam exigindo uma formalização através do modelo tradicional de contrato, por escrito, em linguagem natural.
Quais as vantagens de usar Smart Contracts?
Como permite a implementação sem envolvimento humano, sendo executado ou se fazendo cumprir por si só, os Smart Contracts são seguros, ágeis e econômicos.
Vamos imaginar a situação onde o comprador, mesmo tendo recebido a mercadoria e verificado que ela está nas perfeitas condições acordadas, decide descumprir o contrato não efetuando o pagamento do preço. Ao vendedor, só restaria buscar os seus direitos em juízo, levando anos e uma boa quantidade de recursos financeiros.
Se esta condição estivesse prevista em um Smart Contract, o pagamento seria automaticamente realizado, de forma totalmente digital, uma vez que a condição ali pactuada é imutável e não poderia ter a sua execução obstruída aleatoriamente pelo comprador.
Como utilizar corretamente os Smart Contracts?
Como ficou claro, um dos grandes diferenciais dos Smart Contracts é a sua imutabilidade. Porém, esse também é o seu maior risco.
Isso porque, se não forem muito bem elaborados, podem se tornar um pesadelo para as partes.
A lógica e a sequência exata das operações que serão realizadas devem ser programadas com cuidado. Uma vez registrado na Blockchain, ele se tornará imutável e o código não mais poderá ser modificado ou corrigido.
Alguns cuidados podem ser adotados, como a previsão de uma “saída” quando forem identificadas situações em que as condições configuram um obstáculo insuperável.
É possível também que o programador preveja, por exemplo, funções que permitem alterar dados. Nesse caso, a informação será registrada em um bloco da Blockchain e poderá ser apagada em outro bloco posterior, mas o histórico não será alterado, permitindo que o fato alterado seja auditado.
Para ilustrar a importância de adotar esses cuidados ao elaborar um Smart Contract, podemos lembrar do caso da “The DAO”. Criada para ser uma Organização Autônoma Descentralizada que funcionaria com base em Smart Contracts, pretendia oferecer uma espécie de fundo de venture capital para o mundo cripto. A plataforma permitiria que qualquer pessoa com um projeto fizesse um pitch da sua ideia para a comunidade e obtivesse um financiamento.
No entanto, um hacker descobriu uma brecha no código que permitiu o desvio de aproximadamente USD $ 70 milhões. Os desenvolvedores não perceberam que ao programar no Smart Contract da The DAO um fluxo onde primeiro eram enviados os fundos e depois era feita a contabilidade, permitiria que alguém fizesse inúmeros pedidos seguidos rapidamente e recebesse milhões antes que a contabilidade que identificaria fraudes fosse feita.
Daí a importância de contar com um grupo multidisciplinar de especialistas para desenvolver um Smart Contract realmente seguro.
Conclusão
Diante da revolução digital que estamos vivendo, é bastante provável que o uso dos Smart Contracts se acentuará nos próximos anos, especialmente no comércio eletrônico e em outras transações em plataformas digitais.
Para que essa solução seja utilizada de forma adequada, proporcionando agilidade e economia de dinheiro para as partes, e também tranquilidade e segurança jurídica, é necessário contar com profissionais programadores que compreendam essas nuances jurídicas, e também com advogados que consigam orientar o programador, apontando erros ou lacunas no código.
Os Smart Contracts podem ser disruptivos em muitos segmentos: votações, gestão, mercado imobiliário, sistemas de saúde, cadeias de fornecimento. Sua capacidade de ter várias partes cooperando sem poderem manipular ou usar o sistema em seu favor, sendo difícil de hackear e transparente, não apenas abre caminho para inovação e colaboração que não eram possíveis antes, como também torna os procedimentos muito mais eficientes.
Por essa razão, que o PK Advogados criou a iniciativa PK Tech Lab, onde 15 dos nossos advogados estão aprendendo a programar Smart Contracts e outras ciências e tecnologias como Phyton, Data Analysis e Artificial Intelligence.
Caso queira conhecer mais sobre essa iniciativa ou sobre as novas tecnologias, estamos à disposição.
E, por fim, o conselho mais importante: testar, testar e testar!
Autores
[1] https://firstmonday.org/ojs/index.php/fm/article/view/548
[2] http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/index.html
Prezados
Autores
Mauro Martins
Maristela Marquiafave
Henriete Fejes
Hélio Moraes
teachablemachine.withgoogle.com
Os autores conhece alguma plataforma de alto nivel que permita implementar SC com a msma simplicidade e velocidade com que treinamos modelo IA e deep learnging?
Grato