Genesis Block é o bloco inicial fixado para o mainnet do Bitcoin. Seu cabeçalho está datado de 3 de janeiro de 2009. Contém uma transação que cria uma saída de 50 BTC com tratamento especial e que não pode ser gasta.
Genesis não tem bloco anterior: o campo correspondente do cabeçalho é zero. Bitcoin Core constrói seus dados a partir dos parâmetros da rede e verifica o hash esperado. Os nós não começam com um bloco arbitrário fornecido por outro participante. O bloco de altura 1 referencia o hash de genesis; mudar o início produziria outra história. [Bitcoin Core v29.0 — chain parameters]
O horário do cabeçalho é 1231006505: 3 de janeiro de 2009 às 18:15:05 UTC. É um valor fornecido pelo criador do bloco, não um registro independente do término da mineração. O texto jornalístico ajuda a situar sua criação historicamente, mas não prova sozinho a hora exata nem a identidade civil do autor. [Bitcoin Core v29.0 — chain parameters] [Bitcoin Developer Reference — Block Chain]
A entrada da única transação contém o texto inglês de uma manchete do The Times sobre um iminente segundo resgate dos bancos. A mensagem integra os dados da transação, não é uma anotação do explorador. Interpretá-la como crítica aos resgates é uma leitura da escolha do texto; o protocolo não extrai regras políticas dela. [Bitcoin Core v29.0 — chain parameters]
Ao conectar genesis, Bitcoin Core pula a conexão de suas transações, e a saída original não entra no conjunto UTXO. Não é a espera normal pela maturação da recompensa de mineração, e novas confirmações não a desbloqueiam. Nem conhecer a chave privada correspondente criaria a saída gastável ausente. [Bitcoin Core v29.0 — genesis validation exception]
Um explorador pode mostrar pagamentos posteriores a um endereço associado a genesis. Não são a saída original do bloco 0: têm identificadores de transação e condições de gasto próprios. A omissão especial de genesis não se aplica automaticamente a eles. O saldo de um endereço não deve ser confundido com a possibilidade de gastar os 50 BTC originais. [Bitcoin Core v29.0 — genesis validation exception] [Bitcoin Developer Reference — Block Chain]
Em um nó próprio de mainnet, getblockhash 0 retorna um identificador começando por 000000000019d668. getblock com esse hash e nível de detalhe 2 exibe o bloco e sua transação decodificada. Os dados podem ser comparados aos parâmetros de Bitcoin Core; uma captura do explorador não substitui a verificação. [Bitcoin Core — getblockhash RPC] [Bitcoin Core — getblock RPC]
Redes de teste e regtest têm parâmetros próprios e hashes de genesis diferentes. Antes de comparar, confira a rede, não apenas a altura 0. Um genesis igual estabelece um começo comum, mas não prova sozinho a validade de todos os blocos posteriores, a segurança de uma carteira ou o controle atual de chaves. [Bitcoin Core v29.0 — chain parameters]
Para ter uma visão mais completa, leia este verbete junto com Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Recompensa de emissão do bloco, Timechain / Blockchain. Também há referências a este verbete em Bitcoin, Satoshi Nakamoto, Timechain / Blockchain, Recompensa de emissão do bloco.