Para todos / Como funciona

O modelo de confiança

Uma descrição do mecanismo sem o modelo de confiança é marketing. Esta página enuncia em que um usuário da Pickle se apoia, e nomeia as três propriedades de que a cadeia precisaria antes de poder se dizer algo mais.

Em que um usuário se apoia

Um computador, operado por uma equipe, decide o que acontece na cadeia e em que ordem. Se ele for honesto e estiver ligado, tudo funciona. Se algo desse errado, ele poderia passar as próprias ações primeiro, deixar as suas de fora ou parar de vez, e nada na rede o impediria. O que ele não pode fazer é mentir sobre o passado sem ser pego: uma cópia de cada bloco vai para a Ethereum, e qualquer pessoa pode reproduzi-la e ver a diferença. Ser pego não é o mesmo que ser impedido, e nada age sobre isso automaticamente.

Um usuário se apoia na honestidade do operador, mais o fato de que os dados necessários para verificá-la são públicos. Um só sequenciador ordena toda transação e pode reordenar ou censurar. Não há caminho de inclusão forçada a partir da Ethereum. Não há provas de fraude nem de validade; a exatidão é verificada por reexecução, e toda réplica que encontra uma divergência entre os dados publicados e o hash de bloco comprometido para, mas nada on-chain arbitra a divergência. O que torna isso significativo são os dados: tudo o que é necessário para reconstruir a cadeia está na Ethereum ou comprometido a partir da Ethereum.

Um único sequenciador detém a ordenação e a vivacidade; a sua chave é guardada num registro on-chain e pode ser rotacionada, com efeito no bloco seguinte. Não há fila de inclusão forçada na L1. A exatidão é a reexecução: as réplicas derivam a partir dos eventos da caixa de entrada e das cargas, e uma divergência de hash é terminal para a réplica e não arbitrada on-chain. Um minibloco assinado que um bloco posterior contradissesse seria prova, e o projeto registra essa prova; ele ainda não age sobre ela. As chaves do batcher e do mensageiro são distintas, imposto na inicialização, e o mensageiro não pode forjar nem repetir porque os identificadores de mensagem são derivados do evento de origem e gravados uma vez finalizados.

Ordenação, vivacidade, exatidão, dados, bridge

PropriedadeQuem ou o quê
Ordenaçãoum só sequenciadorele pode reordenar e pode censurar. Não há caminho de inclusão forçada a partir da Ethereum
Vivacidadea do sequenciadorse ele parar, os miniblocos param e a cadeia deixa de executar coisas novas; as réplicas continuam servindo o histórico derivado
Exatidãoverificada por reexecuçãosem provas de fraude nem de validade. Uma réplica detecta uma divergência e para; nada on-chain a arbitra
Dadosna Ethereum, ou comprometidos a partir delatudo o que é necessário para reconstruir a cadeia é público
Bridgeuma chave de mensageiro confiávelela não pode forjar nem repetir uma mensagem, mas pode atrasar
  • Ordenação. Um só sequenciador ordena toda transação. Ele pode reordenar e pode censurar. Não há caminho de inclusão forçada pelo qual uma transação recusada pelo sequenciador possa ser incluída a partir da Ethereum.
  • Vivacidade. Se o sequenciador parar, os miniblocos param e a cadeia deixa de executar coisas novas. As réplicas continuam servindo o histórico derivado. A chave do sequenciador é guardada num registro on-chain e pode ser rotacionada, com efeito no bloco seguinte.
  • Exatidão. Não há provas de fraude nem de validade. A exatidão é verificada por reexecução: qualquer réplica pode detectar uma divergência entre os dados publicados e o hash de bloco comprometido, e para quando o faz. Nada on-chain arbitra tal divergência. Um minibloco assinado que um bloco posterior contradissesse seria prova, e o projeto registra essa prova; ele ainda não age sobre ela.
  • Dados. Tudo o que é necessário para reconstruir a cadeia está na Ethereum ou comprometido a partir da Ethereum. Esta é a propriedade que dá sentido ao ponto anterior.
  • Bridge. O mensageiro da bridge é uma chave confiável. Ele não pode forjar nem repetir uma mensagem, porque os identificadores são derivados do evento de origem e gravados uma vez finalizados, mas pode atrasar. As chaves do batcher e do mensageiro são distintas, imposto na inicialização.

As chaves

  • A chave do sequenciador assina os miniblocos e é a identidade do operador. Ela vive num registro on-chain e rotaciona com um bloco de aviso.
  • A chave do batcher é o único endereço do qual a caixa de entrada na Ethereum aceita anexos. Um batcher comprometido poderia parar de publicar, o que trava a liquidação, mas não pode forjar uma carga que uma réplica aceitasse: o hash não bateria.
  • A chave do mensageiro finaliza as transferências da bridge nas duas direções. Ela pode atrasar; não pode inventar uma mensagem que os contratos nunca emitiram nem repetir uma já processada.

O que a descentralização exigiria

A Pickle não usa a palavra descentralizada para se descrever

As propriedades precisas que teriam de valer antes que ela pudesse são estas: redundância e rotação de sequenciadores, para que a vivacidade de um único operador não seja a vivacidade da cadeia; um caminho de inclusão forçada a partir da Ethereum, para que nenhum operador sozinho possa censurar; e um caminho de contestação ou de prova, para que uma divergência detectada por uma réplica seja arbitrada em vez de meramente reportada.

Enquanto as três não valerem, um usuário se apoia na honestidade do operador mais os dados públicos necessários para verificá-la. A página da governança lista as resistências a ataques que o projeto de fato possui, e o seu limite.