Glossário
Certificado, fold, omissão, avalista, célula. Vários destes significam aqui algo mais estreito do que em outros lugares, e alguns nomeiam eventos para os quais a maioria das cadeias não tem palavra.
O vocabulário que este protocolo usa, no sentido em que ele o usa. Várias destas palavras significam algo mais estreito aqui do que em outros lugares, e duas delas — omissão e descarte — nomeiam eventos para os quais a maioria das cadeias não tem palavra porque não têm equivalente.
Certificado#
O único tipo de transação no Zycord. Um certificado carrega o estado que leu e o estado que escreveu, mais o programa que os conecta, as assinaturas que o autorizam, um avalista, um TTL, e um lance em cada um dos dois mercados de taxas. Como ele carrega suas próprias entradas e saídas, verificar se é válido não exige estado algum.
Fold#
O laço determinístico que faz o livro-razão avançar. Ele percorre os certificados de um bloco em uma ordem total, e para cada um verifica se suas leituras declaradas ainda valem: se valem, ele compromete as escritas, e se não valem, ele faz a omissão. O fold realiza comparações, adições e escritas sobre um conjunto de trabalho chave-valor quente — sem execução de código, sem verificação de assinatura, sem reexecução, e sem aritmética de curvas elípticas. É o único estágio do sistema que não paraleliza.
Omissão#
O que acontece com um certificado cujas leituras declaradas não valem mais. Sua taxa é cobrada de seu avalista, e o bloco continua válido. A omissão é semântica, não falha: inclusão e aplicação são eventos diferentes, e é isso que permite que um produtor de blocos seja cego — ele nunca pode produzir um bloco inválido ao incluir um certificado obsoleto.
Descarte#
Um não-evento sem cobrança, e o termo que a implementação acrescenta ao vocabulário do whitepaper. Um certificado que chega à aplicação com seu depósito já consumido sofre descarte: sem cobrança, sem ser marcado como visto, e livre para reenvio contra um depósito novo. Usuários honestos, portanto, não perdem nada em disputas sobre sua própria célula de depósito.
Avalista#
A parte cujos fundos vinculados respondem por um certificado. Nenhum certificado existe sem um. A omissão não pode ser grátis, ou o mempool se afoga — mas o certificado omitido nunca tocou o saldo do remetente, então não há o que cobrar do remetente. O avalista é o que dá a todo conflito um dono. Na Era 0 o único modo é o autossegurado: o remetente anexa um pequeno depósito de uma célula desonerada.
Célula#
O valor em um slot — um inteiro de 256 bits sem sinal armazenado em big-endian em 32 bytes. Zero é ausência: um slot nunca escrito e um slot escrito com zero são o mesmo slot. Isso é um requisito de consenso, não uma conveniência: mantém a raiz de estado uma função do estado em vez do histórico que a produziu.
Endereço de uso único (0x01)#
Um endereço cuja autoridade de assinatura é queimada permanentemente por seu primeiro débito. Pagar a um endereço de uso único recém-derivado é o caminho rápido sem disputa, e derivar um novo por pagamento é o que torna um pagamento não vinculável ao seguinte. O custo é que “gastar uma parte dele” não é algo que um endereço de uso único possa fazer — veja a regra 1 da carteira.
Endereço persistente (0x02)#
Um endereço reutilizável. Ele nunca pode entrar no registro de gastos, então não tem superfície alguma de dano por queima. Comerciantes, endereços de doação e pagamentos de mineração precisam usar um; o zycordd --payout recusa qualquer outro.
Registro de endereços gastos#
O conjunto de consenso permanente de endereços de uso único cuja autoridade foi queimada. Os valores de célula sob um endereço gasto podem ser podados após o horizonte de desfazer, mas a entrada do registro nunca é — é ela que impede que o endereço seja ressuscitado. Cerca de 33 bytes por endereço, para sempre: o problema em aberto que o protocolo assume honestamente, compartilhado estruturalmente com todo design de conjunto de nullifiers.
Válido vs. aplicável#
Dois predicados que uma cadeia convencional confunde. Válido é sem estado, paralelo, e verificável por qualquer um apenas a partir dos bytes do certificado. Aplicável é com estado, sequencial, e decidido apenas pela posição no livro-razão. Dois certificados válidos podem declarar o mesmo valor de entrada para o mesmo slot; no máximo um pode ser aplicável.
Delta com guarda#
Uma disciplina de acesso na qual um certificado afirma um predicado sobre um slot — balance ≥ 10 — sem ler o valor para dentro da computação, e escreve um delta com sinal. Qualquer número de débitos e créditos com guarda ao mesmo slot comuta, então uma omissão ocorre apenas em um saque a descoberto real e não meramente porque o saldo mudou. Esta única disciplina cobre transferências, emissões com teto de oferta, permissões e cotas de cofre.
Delta puro#
Um delta com sinal e sem guarda. Ele nunca pode entrar em conflito e nunca sofre omissão. Gorjetas, contadores, acumuladores, contagens de recompensa.
Leitura exata#
A disciplina no estilo SLOAD: a leitura retorna o valor do slot para dentro da computação e prende o certificado a ele. Lógica arbitrária, conflitos em slots quentes, e o domínio dos sequenciadores de aplicação.
Beacon de época#
Um slot reservado que o protocolo escreve uma vez por época. Os programas não podem ler valores ambientes como o timestamp ou a altura diretamente — isso tornaria a execução uma função de algo que não as leituras declaradas — então eles leem o beacon como qualquer outro slot, idealmente com uma guarda de faixa. Ele é saída de proof of work e é inadequado para loterias de alto valor até que um VRF chegue.
Época#
2.880 blocos — cerca de um dia com blocos de 30 segundos. A unidade na qual o subsídio decresce por degraus, o alvo de capacidade sequencial se move, e o beacon é renovado.
TTL#
A altura até a qual um certificado precisa ser comprometido para ser válido. Limitado por consenso a 240 blocos (cerca de duas horas), que é o que mantém o conjunto de vistos podável. Incluir um certificado já visto ou expirado torna o bloco inválido — então uma assinatura é cobrável no máximo uma vez, e apenas em uma posição que seu assinante aceitou ao assinar.
Gas sequencial e paralelo#
As taxas se dividem em dois mercados: um para mutação sequencial de estado, que é escassa, e um para verificação paralela, que não é. Uma verificação de assinatura, portanto, não compete no mesmo leilão que uma escrita de armazenamento, e é isso que torna a criptografia pesada barata por design.
Era#
Um estágio do lançamento, disparado por limiares medidos na cadeia — altura de bloco e stake sustentado — nunca por data de calendário nem por voto. A Era 0 é mineração e ativos nativos, e duas alturas dentro dela ligam as cauções (40.320) e depois a cEVM, os sequenciadores e a inclusão forçada (80.640); a Era 1 acrescenta finalização por checkpoints assim que o stake caucionado sustenta 1% do fornecimento; a Era 2 move a proposição para um comitê de stake; a Era S acrescenta pagamentos confidenciais, e só depois de auditorias publicadas.
RandomX#
A função de proof of work, otimizada para CPUs de uso geral para que hardware comum permaneça competitivo. Ela é um parâmetro de consenso, não uma configuração: um binário que não consegue computar o pow_engine de uma rede se recusa a iniciar em vez de recorrer a outro.
Tesouraria#
A célula de saldo do próprio endereço do protocolo, creditada com 3% de cada subsídio de bloco desde o bloco 0. Ela não tem chave, não tem endereço e não tem quórum na gênese e não pode ser aberta antes da Era 2, quando um conjunto de chaves 3 de 5 pode ser fixado por hard fork. Se ninguém jamais aparecer publicamente para reivindicá-la, as moedas nunca são emitidas.
Raiz de estado#
O compromisso com a totalidade do estado em uma altura. Um nó a recomputa ao iniciar e se recusa a rodar se a armazenada divergir, e ela funciona também como uma guarda diferencial em tempo de produção entre nós: duas implementações que chegam a raízes diferentes a partir de uma mesma sequência de blocos encontraram um bug em uma delas.
Onde cada termo é definido normativamente#
Esta página é um auxílio de leitura. As definições que vinculam estão na especificação e nos vetores dourados; o raciocínio está no whitepaper, e a própria seção de vocabulário da implementação está em docs/ARCHITECTURE.md.