Glossário / Nós e software
Signet
- O que é a signet?
- A signet é uma rede de testes cujos blocos só são válidos se um assinante designado os tiver assinado, o que mantém seu cronograma de blocos de dez minutos estável em vez de errático.
Especificação no BIP-325.
A signet troca a mineração sem permissão por previsibilidade. O Bitcoin Core a adicionou na versão 0.21.0, lançada em janeiro de 2021, e a signet pública padrão produz blocos em um ritmo de aproximadamente dez minutos desde então. Para testar uma carteira, um canal Lightning ou o checkout de um comerciante em condições que se parecem com a mainnet, esta é a rede a procurar.
Como funciona
A signet adiciona exatamente um requisito às verificações normais de validade do bitcoin: um bloco deve carregar uma assinatura válida.
O BIP325, escrito por Karl-Johan Alm e Anthony Towns, define um desafio de signet, que é simplesmente um script de bitcoin que a solução do bloco precisa satisfazer. A solução é anexada ao compromisso segwit do bloco, dentro da transação coinbase, então nada no formato do bloco muda e o software existente consegue analisar um bloco de signet sem modificação. A prova de trabalho ainda é realizada, mas com dificuldade baixa, porque é a assinatura, e não o hashrate, que decide quando um bloco conta.
Como o desafio é um script comum, ele pode ser qualquer coisa, de uma única chave pública a uma multiassinatura de limiar. A signet pública padrão, aquela à qual você se junta passando a opção signet sem mais nenhuma configuração, é operada por esses dois autores sob uma multiassinatura 1 de 2, e escuta na porta 38333. Os endereços reutilizam os prefixos da testnet, então uma carteira que já entende strings tb1 geralmente lida com a signet sem nenhuma mudança.
Qualquer um pode iniciar uma privada. Passar um script de desafio personalizado cria uma rede separada cujo magic de mensagem é derivado desse script, o que significa que duas signets personalizadas não podem conversar entre si por acidente. Essa é a característica que separa a signet de todas as outras opções: você tem uma rede genuína com vários participantes, com várias máquinas e atrasos de propagação reais, sem pedir permissão a ninguém e sem comprar hardware de mineração.
Onde você a vê
A signet é onde novos recursos de consenso são exercitados em público antes que a mainnet os veja.
O Taproot já estava ativo na signet padrão bem antes de ser ativado na mainnet no bloco 709.632, em novembro de 2021, o que explica em grande parte por que as carteiras puderam oferecer suporte ao taproot já na ativação, e não meses depois. O mesmo padrão se repete a cada proposta que chega à implementação: o código roda primeiro em algum lugar onde as pessoas podem quebrá-lo a baixo custo.
Signets personalizadas encontraram usos próprios. A Mutinynet é uma signet pública que produz um bloco a cada 30 segundos, criada para que os desenvolvedores de Lightning não passem o dia de trabalho esperando confirmações. Outras existem para ensaiar cenários específicos, já que quem tem a chave de assinatura também pode produzir uma reorganização deliberada sob demanda e observar o que as carteiras fazem a respeito.
Para quem compra bitcoin, a signet é invisível e ainda assim relevante. Os faucets distribuem as criptomoedas da rede de graça, então nada nesta rede tem valor, mas o lançamento do Sparrow, do Core ou de um nó Lightning que você instala quase certamente passou por ela primeiro.
Signet vs regtest
A signet é uma rede compartilhada com desconhecidos; a regtest é uma cadeia que existe apenas dentro do seu próprio computador. Na regtest você mesmo minera blocos com um único comando e pode conjurar cem confirmações em um segundo. Na signet você espera pelos assinantes como todo mundo, suas transações se propagam por pares que você não controla, e a estimativa de taxas se comporta como na mainnet. A regtest responde se seu código roda; a signet responde se ele sobrevive ao contato com uma rede.