WEB3DEV

ViniBlack
ViniBlack

Posted on

Leituras adicionais sobre UTXOs

Transações reais

Podemos dar uma olhada no Bloco Genesis e ver que houve uma transação coinbase enviada para 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa que nunca foi gasta!

Aqui estão mais algumas informações sobre o Genesis Block. Ele scriptPubKey também é chamado de "Witness Script" ou "Locking Script".

Para cada Locking Script deve haver um Unlocking Script que desbloqueará o UTXO e permitirá que ele seja gasto. Normalmente, tudo o que o unlocking script precisa fornecer é uma assinatura que verifique a propriedade de uma chave pública, e então a chave pública precisa corresponder ao endereço após ser hash duas vezes.

📖 Se você olhar para baixo naquele artigo wiki, verá que o Genesis Block Coinbase UTXO não está incluído no banco de dados do cliente, então não pode ser gasto! Para mais informações sobre isso, veja aqui.

Script de Bitcoin

A linguagem Bitcoin Script foi criada para ser uma linguagem simples baseada em pilha que não tem loops, então ela sempre resolverá e não haverá ataques de negação de serviço. A linguagem é basicamente uma lista de códigos de operação do tipo função, que retiram argumentos da pilha e operam neles. Veja a lista completa de códigos de operação aqui.

Você pode encontrar algum histórico interessante sobre o Bitcoin Script nesta resposta do Stack Overflow aqui. O autor dessa resposta menciona um bug com OP_RETURN e concatenando os scripts de desbloqueio e bloqueio. Você pode encontrar mais informações básicas sobre isso aqui

📖 Alguém fez uma implementação JavaScript de Script. Muito legal!

Duas formas comuns de scripts de transação para Bitcoin são o Pay-to-Pubkey Hash e o Pay-to-Script Hash.

Top comments (0)