Uma das grandes frases que são sempre evocadas pelos libertários de cripto é a ideia de que o que está no código é imutável e ele deveria ser a lei que rege tudo. A frase “the code is the law” é sempre evocada nesse sentido, e parece uma coisa fenomenal e que resolveria tudo. Será? Vamos aos pontos.
Bem, a primeira coisa é definir o que a palavra CODE quer dizer. No intuito dessa frase ela sempre faz referência a códigos computacionais. Regras pré-definidas e em curso e que fazem parte da operacionalização de protocolos, blockchains e outros sistemas computacionais. Essa segunda parte é importante para diferenciá-los dos códigos jurídicos que temos hoje, que também determinam regras, mas que não são implementados em códigos computacionais.
A ideia por trás desses códigos computacionais é que a partir do princípio de que estejam implementados eles deveriam ser imutáveis e daí sim virar a “lei” que rege.
Dois pontos já me saltam aos olhos.
O primeiro é a questão da imutabilidade. Ok que um código depois de escrito e operacional está lá e funcionará para o que foi feito. Mas e as atualizações dele? não o alteram? Mesmo o software do bitcoin, que tem sofrido poucas mudanças nos últimos anos, tem atualizações frequentes de versão. Ok, não alteram o core do que ele faz e como funciona, mas a questão de imutabilidade aqui já fica mais ambígua.
Outro exemplo foi o que aconteceu no Hack da fundação Ethereum em 2016, no qual um grupo dominante dentro dela decidiu retroagir alguns blocos para neutralizar o ataque. Na época houve uma discussão enorme na comunidade se isso deveria ser feito ou não, ou em outras palavras, se o código era ou não a lei. O que foi decidido é que os blocos seriam retroagidos e quem não gostasse que fizesse um fork da Ethereum e continuasse como quisesse. Diga-se de passagem, esse episódio foi o que criou a Ethereum Classic.
Aqui vale um parêntese sobre essa questão dos Forks das redes públicas de blockchain. Dado que todo o código dessas redes é aberto e que todos tem acesso, isso cria uma forma de resolução de conflitos muito eficiente. A maioria vota por seguir determinado caminho e caso alguém não goste tem todo o direito de “forkar” da rede e seguir com a rede como bem entender. Nos últimos anos isso criou vários “filhos” das redes principais tais como Bitcoin Cash, Ethereum classic etc.
O segundo ponto é sobre a parte da lei. Isso é muito diferente do que já temos hoje? Temos na parte jurídica vários códigos que direcionam o tratamento de várias questões; de disputas tributarias a questões trabalhistas, criminais e civis. São códigos imutáveis? Certamente não. E, de tempos em tempos, há discussões legislativas para alterar alguns deles. Até aí igual ao que acontece com os códigos computacionais como descritos acima.
A diferença aqui está na previsibilidade do resultado a “rodar” esse “código”. No caso dos códigos computacionais qualquer pessoa com algum conhecimento de computação e que consiga ler o código e rodá-lo consegue saber qual o resultado esperado. No campo jurídico me parece que a coisa sempre é mais nebulosa. Seus códigos, em muitos casos, acabam à mercê de interpretações de pessoas (juízes, desembargadores…) e que tem um grau de liberdade de interpretação razoável. Obvio que o mecanismo de instâncias tenta linearizar isso e deixar essa interpretação mais linear, mas mesmo assim, ainda temos inúmeros caso públicos de imensa discussão. Não preciso ir longe para encontrar várias decisões recentes polemicas das últimas instancias jurídicas no Brasil.
Se a mutabilidade do código não é o ponto, será então sua previsibilidade o ponto central a ser discutido aqui? Me parece que sim. Quando evocam o the code is the law, a preocupação é menos com o código em si do que com a previsibilidade que ele traz. Nesse sentido não tenho como discordar, muito embora, essa visão acaba sendo restrita aos poucos do mundo que conseguem ler e interpretar esses códigos.
As leis que seguimos hoje estão escritas em linguagem que conseguimos entender (português, inglês, holandês…) enquanto os códigos estão escritos em linguagem que poucos conseguem interpretar (C+, Python, Solidy…). E nesse sentido acabam sendo muito menos democráticas, já que poucos conseguem entender o seu resultado.
Chegaremos ao momento é que tudo será programado e estará em código computacional e daí conseguiremos “prever” todos os resultados. Com o aumento da capacidade computacional e com as inovações trazidas por Inteligência Artificial (AI) talvez cheguemos, mas dadas as características sociais que nós, humanos, temos acho que ainda estamos longe disso. O que AI pode ajudar e muito é na transformação de linguagens computacionais em linguagens que entendamos. Isso é a base dos modelos que temos interagido hoje. Se todos conseguirmos entender os códigos de computador de forma a saber os seus resultados isso já seria um grande avanço rumo a uma situação em que teríamos modelos mais previsíveis de “leis”.
Por fim, que estamos rumando para um mundo onde cada vez mais o código é a lei, não tenho dúvidas e cada vez mais essa reflexão sobre imutabilidade e previsibilidade se mostrará presente. Ela se relaciona com flexibilidade e capacidade de adaptação ao mesmo tempo que requer algum engessamento para que seja previsível e que as outras pessoas consigam se juntar, acreditar e colaborar.
Se gostou e quer contribuir para a continuidade da discussão não deixe de comentar abaixo.
Abraços,
Gustavo Cunha
Seguimos em contato nos links abaixo:
FinTrender.com, YouTube, LinkedIn, Instagram, Twitter, Facebook e podcast FinTrender
Será que do ponto de vista interpretativo o código computacional escrito em linguagem de programação que pode ser traduzido em linguagem de alto nível não é mais democrático que o código jurídico escrito em juridiquês, dentro de um conjunto complexo de leis e normas infra legais à mercê de várias instâncias de interpretação (tribunais administrativos e judiciais)?