Contrato Inteligente (Smart Contract): O Que São e Como Funcionam
Contratos inteligentes são programas autoexecutáveis em blockchains que rodam quando condições predefinidas são atendidas. Entenda como funcionam e suas aplicações.
Definição
Um contrato inteligente é um conjunto de regras de gasto aplicado pelo software da blockchain em vez de uma empresa, banco ou tribunal. No Bitcoin, isso geralmente significa condições escritas com Bitcoin Script, como exigir uma assinatura digital válida, múltiplas assinaturas, uma preimagem de hash ou um timelock antes que as moedas possam ser movimentadas. Os contratos inteligentes do Bitcoin são intencionalmente limitados em comparação com plataformas de uso geral, mas não são recursos extras opcionais. Toda transação de Bitcoin depende de regras de script que definem quem pode gastar cada saída.
Como Funciona
Quando um usuário de Bitcoin gasta moedas, a nova transação precisa satisfazer as condições de bloqueio vinculadas à saída da transação anterior. Um pagamento simples, na prática, diz que apenas o dono de uma chave pública específica pode gastar as moedas. Scripts mais avançados podem exigir duas de três assinaturas, adiar o gasto até uma determinada altura de bloco ou dar suporte a canais de pagamento como a Lightning Network.
Mineradores não executam código de aplicação arbitrário enquanto mineram. Sua principal tarefa é reunir transações válidas, construir um bloco candidato e realizar hashing de prova-de-trabalho até que o cabeçalho do bloco fique abaixo do alvo atual. Antes de um pool minerar sobre um template de bloco, seu node verifica se cada entrada não foi gasta, se os scripts são avaliados com sucesso e se as regras de consenso não foram violadas. Se um gasto inválido de contrato inteligente for incluído, outros nodes rejeitam o bloco, tornando inúteis o trabalho do minerador e a recompensa esperada.
Por Que Isso Importa
Contratos inteligentes importam para a mineração de Bitcoin porque os mineradores só são pagos quando a rede aceita seus blocos. A taxa de hash ajuda um minerador a encontrar um cabeçalho de bloco válido, mas a validação determina se esse bloco vale alguma coisa. Um bloco pode ter Proof of Work válida e ainda assim ser rejeitado se contiver uma transação que falhe nas verificações de script ou gaste moedas antes que um timelock expire.
Para usuários e mineradores, o modelo restrito de contratos do Bitcoin é uma troca. Ele evita muitos riscos de programas on-chain complexos, ao mesmo tempo em que permite controles de custódia, arranjos semelhantes a escrow, designs de vault, canais de pagamento e transações de pagamento de pools. Pools de mineração podem usar regras de contabilidade off-chain para rastrear shares e calcular recompensas, mas o próprio Bitcoin aplica apenas as transações on-chain finais que aparecem em blocos aceitos.
Termos Relacionados
Contratos inteligentes conectam regras de transação com incentivos de mineração. Ideias relacionadas incluem validação de transações, templates de bloco, timelocks, carteiras multisignature e taxas de transação. Para situar o termo no fluxo mais amplo da mineração, leia O que é Mineração de Bitcoin?, que cobre construção de blocos, recompensas e competição entre mineradores. Também ajuda entender carteiras, chaves privadas e assinaturas digitais, porque a maioria dos scripts de Bitcoin, no fim das contas, prova que quem está gastando tem autoridade para movimentar moedas específicas.