O novo projeto $GM clama ser o primeiro contrato inteligente escrito em Solidity, a linguagem de programação do Ethereum, capaz de rodar na rede do Bitcoin.
Embora o contrato tenha sido implementado no bloco 782474 no dia 25 de março, a história só ganhou atenção nesta semana quando o desenvolvedor anônimo por trás do projeto, @punk3700, fez uma thread no Twitter para explicar o que afirma ser um feito inédito.
Ele conta que a ideia surgiu quando os NFTs começaram a ser implementados no Bitcoin graças à tecnologia Ordinals. Se os tokens não fungíveis, que nasceram na rede Ethereum, poderiam agora fazer parte do Bitcoin, por que contratos inteligentes e aplicativos descentralizados também não poderiam? Com a ideia lançada, o desenvolvedor se dedicou a descobrir como tornar isso realidade.
“Este experimento é uma exploração da combinação do melhor dos dois mundos: EVM como a camada de computação e Bitcoin como a camada de armazenamento. O teste específico seria uma implantação de ponta a ponta de um contrato inteligente ERC20 Solidity ($GM) em execução no Bitcoin”, escreveu o desenvolvedor.
Ele conseguiu fazer isso e implementou na rede do Bitcoin o contrato inteligente do $GM, que ele descreve ser “uma obra de arte conceitual on-chain implementada como um token fungível colecionável”.
Aqui vale fazer uma ressalva: o contrato inteligente não roda no Bitcoin, cuja blockchain, nesse experimento, é usada para armazenar o código. Contudo, o contrato inteligente pode ser funcional à medida que é executado em uma EVM (Ethereum Virtual Machine) programada para captar e transmitir informações para a rede do Bitcoin.
Implementação no Bitcoin
Para que outros pudessem entender como o experimento funcionou na prática, o desenvolvedor @punk3700 mostrou os cinco passos que usou para implementar seu contrato inteligente na rede do Bitcoin.
Passo 1: Rodar um full node (cópia completa da blockchain) do Bitcoin no computador.
5) STEP 1: RUN A BITCOIN FULL NODE
— 3700 🐧 generative.xyz (@punk3700) May 13, 2023
– Download Bitcoin Core: https://t.co/m5urfpGiP4
– Run it: ./bitcoind -server=1
It may take some time for your Bitcoin full node to be fully synced. pic.twitter.com/x5gYttSuE5
Leia Também
Passo 2: Rodar uma EVM.
Existem diferentes EVMs disponíveis no mercado, como a nativa do Ethereum ou a criada pela Polygon. Porém, o desenvolvedor usou a TC EVM, que é customizada para funcionar com Bitcoin e foi criada por sua organização Trustless Computer.
Passo 3: Escrever dados da EVM na blockchain do Bitcoin
Para criar uma conexão entre a EVM e a rede, o dev usa uma técnica semelhante à adotada pelo Ordinals para inscrever dados na blockchain do Bitcoin, incorporando as transações EVM dentro de transações de Bitcoin através do campo Witness Data.
Passo 4: Ler os dados da EVM no Bitcoin
Para cada bloco do Bitcoin, o sistema criado pelo dev filtra as transações EVM, as importando como um novo bloco e atualizando seu estado na EVM.
Como o Bitcoin tem uma ordem imutável e determinística, todo nó EVM que executa uma base de código honesta terá o mesmo estado, segundo ele.
Passo 5: Implementar o contrato inteligente no Bitcoin
O desenvolvedor explica que o seu contrato $GM usa um modelo de token ERC20 padrão da empresa OpenZeppelin. Após criar o código do contrato, foi a vez de implementá-lo usando a plataforma Hardhat.
“É isso! Acabamos de implantar um contrato inteligente Solidity totalmente funcional em Bitcoin. Agora você pode interagir com o contrato”, comemorou @punk3700.
- Não perca dinheiro. No Mercado Bitcoin, você pode fazer staking de Ethereum de maneira segura e simples. Abra sua conta agora e comece a ganhar recompensas sobre seus investimentos em criptomoedas