Quando comecei a experimentar com
@Plasma fiquei imediatamente curioso sobre contratos inteligentes. O principal apelo do Ethereum é a capacidade de executar lógica complexa na rede, então, naturalmente, eu queria ver como o Plasma poderia lidar com tarefas semelhantes fora da cadeia. O que descobri foi fascinante e, às vezes, frustrante. As primeiras variantes do Plasma, embora excelentes para escalonar pagamentos, introduziram uma série de limitações para a execução de contratos inteligentes que todo desenvolvedor e usuário deve entender.
A primeira coisa que percebi é que as cadeias do Plasma inicial são projetadas principalmente para transferências simples de tokens. O Plasma focado em pagamentos funciona lindamente quando as transações são simples, mas no momento em que você introduz contratos inteligentes complexos, as coisas ficam complicadas. Minha tentativa inicial foi implantar um contrato de troca de tokens simples em uma cadeia filha do Plasma. Rápido, encontrei um problema: o Plasma não suporta inerentemente a execução arbitrária de contratos fora da cadeia. As transações são principalmente operações lineares, semelhantes a UTXO, o que significa que você não pode facilmente implementar lógica dependente de estado, como contratos de múltiplas etapas. Aquele momento foi uma verificação da realidade. Percebi que o design do Plasma prioriza escalabilidade e segurança em detrimento da programabilidade na cadeia.