O Ethereum é “Turing–completo”, o que significa essencialmente que você pode escrever programas (contratos) que podem (na maior parte) resolver qualquer problema computacional razoável e, para provar isso, uma equipe construiu todo um mecanismo de renderização 3D, tudo on-chain e baseado exclusivamente em contratos inteligentes.
Alan Turing foi um matemático que basicamente inventou o computador — sem construir um — na década de 1930, a chamada máquina de turing.
Era um conceito matemático de uma máquina que poderia calcular qualquer coisa desde que você tenha memória ilimitada disponível.
Turing-completude, portanto, refere-se a qualquer dispositivo ou sistema que, em teoria, pode calcular tudo, assumindo que há memória suficiente disponível. E como o software é apenas programado e a programação é apenas um encadeamento de declarações matemáticas, tudo pode ser implementado em um ambiente completo.
A blockchain do Ethereum é basicamente uma máquina de turing distribuída.
“Você meio que usa o ethereum como sua própria placa de vídeo, o que é interessante”, diz Ike Smith, da Spectra Art.
A Spectra Art é “um grupo de tecnólogos, pesquisadores, cientistas e inovadores, empenhados em redefinir o que é possível no espaço da arte generativa”.
Eles construíram o Shackled, que renderiza entradas 3D para jpegs 2D usando servidores (nós) e maquinas virtuais de Ethereum.
“Shackled é baseado no trabalho dos primeiros pioneiros gráficos, usando tecnologia de quase 50 anos atrás (que é mais adequada para implementação on-chain hoje).
Especificamente, modificamos as versões dos modelos originais de iluminação e renderização 3D de Bui Tong Phuong [Pho75] e Jim Blinn [Bli77] e os usamos para criar uma versão do Solidity de um pipeline de renderização simples inspirado no OpenGL [SA99].”
Assim diz a equipe em um artigo apresentando este desenvolvimento do primeiro mecanismo de renderização 3D conhecido no Ethereum. Eles afirmam:
“A Shackled não exige o gasto de gás (taxas) para realizar as operações de renderização. Toda a operação de renderização é implementada em uma chamada de leitura e, portanto, não grava nenhum dado na blockchain Ethereum.”
Você pode usar o recurso e testar, embora a imagem acima possa parecer estranha e complicada, Smith simplifica tudo em um tutorial.
O mecanismo de renderização apenas renderiza. Ele não coloca o jpeg na blockchain, mas mesmo assim o processo é interessante.
Isso ocorre principalmente porque fomos apresentados ao json, uma linguagem de programação de dados com a qual a maioria dos desenvolvedores está familiarizada, e é por meio desse tipo de código que falaremos sobre o contrato inteligente.
A codificação manual desse arquivo json é uma tortura. Então Smith projeta o que ele quer no Blender, um conhecido software de design 3D, e então o próprio Blender traduz a imagem em um arquivo de código json onde coisas como cores são dadas em números RGB.
Em seguida, apenas colocamos o arquivo Json e obtemos a imagem. A imagem em si não está na blockchain, você só pode vê-la em sua interface de usuário, mas os nós da blockchain processaram a imagem, e esse é o desenvolvimento que você pode usar para fazer esse processamento.
Mas, como temos esse arquivo json e os nós podem processá-lo, não podemos carregar o código json na blockchain em um contrato inteligente tokenizado e agora a própria imagem ou o NFT está na blockchain?
Esse é o potencial desenvolvimento adicional desse experimento dos anos 1970 que, de alguma forma, traz gráficos para a criptografia de uma forma que a Internet mudou pela primeira vez de palavras para JPEGs.
Isso significaria não mais necessidade de IPFS, não mais salvar com o botão direito do mouse, mas não abordaria necessariamente a questão do que significa exatamente a propriedade do código-fonte aberto que qualquer pessoa pode acessar.
O que significa um token vinculado a algum código? Bem, como o ethereum é Turing completo, pode significar o que o codificador quiser, inclusive em teoria que o token concede acesso a algum outro código que tenha arte oculta, mesmo que esteja oculta à vista de todos.
Os desenvolvimentos em tal experimentação, portanto, parecem continuar e, embora esta seja a aplicação da tecnologia dos anos 70, é presumivelmente por meio dessa aplicação que podemos descobrir exatamente do que o ethereum é capaz e exatamente o que significa propriedade de código.