> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/pt-br/canton-zk-evm/trust-model.md).

# Modelo de confiança e limites

As verificações, autoridades, premissas de custódia e limites do lançamento antecipado do Ostia.

Ostia é uma versão inicial em uma rede de teste local. Ela tem um builder, um operador e um confirmador. O código e o ZisK 1.3.1-alpha não foram auditados. tROME é uma moeda de teste sem valor. Não use esta versão para nada de valor.

Esta página descreve o commit `a84e84e439a5cc669c0ae61facf7c8c995d9d564`. Leia o completo [design](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/docs/DESIGN.md) e [política de segurança](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/SECURITY.md).

## Quem verifica o quê

| Parte               | Verificação ou autoridade                                                                                                                                                              |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Convidado           | Valida o bloco da EVM e rejeita uma configuração de cadeia diferente das regras compiladas da Ostia.                                                                                   |
| Sidecar `verificar` | Verifica a prova, o programVK fixado e o rootC, o hash do bloco comprovado, o cabeçalho e a lista de transações.                                                                       |
| Sidecar `pernas`    | Verifica as provas de conta e de armazenamento do gateway e compara as pernas anexadas e ordenadas com o hash comprovado do gateway.                                                   |
| Daml `Avançar`      | Verifica as respostas do sidecar, o pai, o próximo número de bloco, o limite de gás e os contratos usados pelas pernas. Liquida as pernas e cria o próximo head e o registro de bloco. |
| Canton              | Ordena blocos por meio do consumo do único contrato de estado da cadeia e confirma as mudanças da transação em conjunto. Rejeita respostas diferentes da chamada externa.              |
| Builder             | Seleciona transações, verifica os contratos Canton que consegue ver, obtém uma prova e envia o bloco. Ele não pode finalizar um bloco por conta própria.                               |

Um sidecar roda ao lado de cada participante confirmador, inclusive o participante do operador. Cada sidecar calcula suas respostas somente a partir da entrada enviada na chamada externa. O Daml compara suas respostas; ele não executa por si só a verificação criptográfica da prova. O [README do sidecar](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/sidecar/README.md) e [README do Daml](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/daml/README.md) fornecem os requisitos de verificação e de autoridade.

## O que a prova fixa

A chave de programa fixada identifica o convidado e suas regras de cadeia. A prova se compromete com um hash de bloco. Verificar seu cabeçalho vincula a raiz de estado e a raiz de transações. As provas de conta e de armazenamento então vinculam o hash das pernas registrado pelo gateway a essa raiz de estado.

As pernas anexadas devem ter os mesmos campos e a mesma ordem que aquelas registradas pelo gateway. Remover uma perna, adicionar uma ou alterar um destinatário, valor, token ou id faz a comparação de hash falhar. Um bloco sem pernas também precisa provar essa ausência. A comparação das pernas também depende da resistência a colisões do Keccak-256.

A raiz de estado de gênese do registro da cadeia fixa o código do gateway. O contrato do gateway não tem proprietário, chave de administrador, upgrade nem pausa. A parte Canton ainda tem autoridade de custódia sobre os tokens que mantém.

## Autoridade do operador, confirmador e gateway

O operador e o gateway propõem a gênese da cadeia, os pins, o limite de gás e o builder. O confirmador aceita a proposta. Espera-se que ele compare os pins e o código de gênese do gateway com sua própria compilação. Os scripts locais fornecidos propõem valores correspondentes e aceitam imediatamente a proposta em nome do confirmador.

O operador, o confirmador e o gateway assinam `ZkChain`. Eles são a raiz de confiança da cadeia. As opções de liquidação de depósito e saque exigem os três. A liquidação de pagamento exige o operador e o confirmador. `Avançar` fornece sua autoridade conjunta sob o design do Daml. O construtor sozinho não pode exercer as opções de liquidação.

A parte gateway detém os tokens Canton que lastreiam os tokens embrulhados na EVM. Ela é hospedada no participante do operador. Quem quer que execute esse participante pode mover os tokens bloqueados fora das regras de saque. A ausência de uma chave de administrador no contrato do gateway não restringe a capacidade dessa parte Canton de agir por meio de seu participante.

O registro de token é outra decisão de confiança. O operador e o gateway propõem o mapeamento de um instrumento Canton para um token embrulhado da EVM, e o confirmador o aceita. O gateway executa o código de transferência Daml do token registrado com sua própria autoridade. O [README da rede](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/network/README.md#the-canton-network) descreve a hospedagem do participante e as verificações de registro.

## O que pode impedir um bloco

Para incluir uma perna, o construtor precisa de acesso de leitura às suas solicitações, termos, aceitações, alocações, registros de token e posses do gateway. Ele exclui uma transação cujos contratos Canton ele não consegue ver.

Uma alocação pode ser retirada após o construtor verificá-la ou após a prova. Um registro de token também pode recusar a liquidação sob suas próprias regras. Então, Canton recusa o bloco e nada é confirmado. Para uma recusa de registro que o construtor não pudesse prever, a próxima execução precisa `--exclude`; o construtor não se lembra dessa recusa entre execuções.

Cada execução do construtor lida com um bloco; ela não faz loop sobre blocos sucessivos. O construtor não limita as etapas de execução antes de provar. Se o provador não conseguir concluir um bloco, a execução do construtor para. O [README do construtor](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/builder/README.md#not-here) registra esses limites.

## O que esta versão não oferece

A rede local não mantém estado entre execuções. Ela não tem autenticação da Ledger API nem TLS e foi feita para uma única máquina. A rede usa snapshots fixados do Canton 3.6 e um compilador Daml de snapshot para a chamada externa. Suas versões e hashes estão em [PINS](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/PINS).

Vários construtores, inclusão forçada, implantação pública do Canton, privacidade e custódia que exigem mais do que o participante do operador estão fora desta versão. Não há metas de throughput nem de tempo de bloco. A demonstração registrada usou a mesma implementação de sidecar em ambos os participantes confirmadores, na mesma máquina que o Canton.

O leitor pode revalidar as provas do bloco, mas `BlockRecord` não carrega as pernas liquidadas. O botão Verificar do navegador checa a prova, o cabeçalho e as transações; ele não repete as verificações de liquidação das pernas do Canton.

## Relate um problema de segurança

Use o reporte privado de vulnerabilidades do GitHub para `canton-zk-evm`: abra a aba Segurança do repositório e escolha **Reportar uma vulnerabilidade**. Não abra uma issue pública para um problema de segurança.

Inclua o componente afetado, o commit, os passos para reproduzir e o resultado observado. Anexe a prova ou o bloco se isso fizer parte do achado. O [política de segurança](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/SECURITY.md) define o escopo. Não há recompensa por bugs.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/pt-br/canton-zk-evm/trust-model.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
