Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
Um esquema de compromisso cumpre duas propriedades de segurança. A ocultação (hiding) garante que o compromisso não revela informações sobre o valor, e a vinculação (binding) impede abri-lo com um valor diferente do original; não é possível ter ambas em grau perfeito ao mesmo tempo. As construções típicas são o compromisso baseado em hash, commit = H(valor || nonce), e o de Pedersen, C = vG + rH sobre curva elíptica, que é perfeitamente ocultante e homomórfico. As árvores de Merkle e o KZG são suas variantes vetorial e polinomial.
É um bloco fundamental da criptografia de conhecimento zero e de muitos protocolos práticos: leilões de lance fechado em que cada licitante se compromete com seu lance e o revela depois, esquemas commit-reveal para aleatoriedade on-chain, votação e pagamentos confidenciais. Permite separar o momento de decidir do momento de revelar sem possibilidade de manipulação.
O conceito se formaliza na criptografia dos anos oitenta; o esquema de Pedersen vem de Torben Pryds Pedersen (CRYPTO 1991). Não existe um FIPS ou RFC único que o defina como tal: ele é especificado dentro de protocolos concretos. Casos reais: o registro de nomes ENS de Ethereum usa um processo commit-reveal para evitar o front-running ao registrar domínios, e os compromissos de Pedersen são empregados em transações confidenciais como as de Confidential Transactions e no modelo RingCT de Monero para ocultar valores.
Também conhecido como
- commitment scheme





