Vurto Private Contract
O pagamento direto mostra as duas carteiras na rede, para quem quiser abrir. Com o Vurto Private Contract, quem paga deposita num contrato na blockchain, e quem recebe saca depois, assinando com a própria carteira. A rede mostra um depósito e um saque, não uma transferência entre os dois.
O Vurto sabe quem depositou e quem sacou, verifica a identidade dos dois e guarda os registros por 10 anos. O contrato esconde do público a ligação entre as duas carteiras. Ele não é esconderijo.
Onde funciona
| Rede | Tokens |
|---|---|
| Ethereum | USDC, USDT, USD1, PYUSD, USDG |
| Optimism | USDC, USDT, USDT0 |
| BNB Chain | USDC, USDT, USD1 |
| Polygon | USDC, USDT0, PYUSD |
| Base | USDC, USDT |
| Arbitrum One | USDC, USDT0, PYUSD, USDG |
| Solana | USDC, USDT, USD1 |
Existe um cofre por token. O Send já funciona pelo contrato. A Invoice privada ainda não abriu Em breve
Como funciona
- Assine os termos. Na primeira vez, a sua carteira assina os riscos e os termos do contrato. Eles estão na página Riscos do app.
- Verifique a sua identidade. A carteira que paga precisa de uma verificação de identidade aprovada na Didit. Veja Verificação de identidade.
- Passe nas checagens. A checagem grátis roda nas duas carteiras, e a carteira que paga passa pelas duas análises pagas, Scorechain e Merkle Science, por US$ 0,50 em USDC. A entrada recusa nota da Merkle Science de 40 ou mais. Antes de receber qualquer coisa, o Vurto também confere o próprio token: token pausado, que bloqueia a carteira, ou que mudou de código desde a medição é recusado.
- Deposite. Com tudo aprovado, o Vurto assina um bilhete de uso único que deixa aquela carteira depositar aquele valor exato, por 10 minutos. A sua carteira aprova o valor exato e deposita. O contrato não tira taxa: o valor inteiro vira uma nota.
- Quem recebe saca. No site, quem recebe verifica a identidade, vê o dinheiro em Saldo privado e saca tudo ou parte, sempre para a própria carteira, assinando a transação e pagando a taxa da rede dela.
A nota
Cada depósito vira uma nota secreta, com um valor e uma carteira dona. Para sacar, o contrato exige uma prova de conhecimento zero válida para a nota e uma transação enviada pela própria carteira dona.
- Só a dona saca. O segredo sem a carteira não saca, e a carteira sem o segredo também não.
- Só para a dona. Não existe campo de destino: o dinheiro vai para a carteira que envia o saque.
- Tudo ou parte. O saque parcial deixa uma nota de troco com a mesma dona. Duas notas da mesma dona podem ser sacadas juntas.
- Não vence. Os 10 minutos são só do bilhete de depósito.
- Quem guarda. No Send, o Vurto guarda a nota cifrada e gera a prova no servidor dele, então quem recebe nunca vê a nota.
O que fica privado, e o que não fica
| Público na rede | Escondido do público |
|---|---|
| A carteira que deposita, e o valor | Qual depósito pagou qual saque |
| A carteira que saca, e o valor | Uma transferência entre as duas carteiras, porque ela não existe |
| Quando cada um aconteceu |
A ligação ainda pode ser achada de fora:
- Valor e horário. Um saque de valor único casa com o único depósito daquele valor. Valores redondos são mais difíceis de casar.
- Somas. Sacar a soma exata de dois pagamentos pode identificá-los e ligar os dois pagadores à sua carteira. Deixar troco no cofre esconde a soma.
- Partes. Sacar em partes não esconde o depósito: as partes somam o valor dele.
- Quem recebe no Send sabe o valor, e com um valor único pode achar o depósito de quem enviou.
Quem pode fazer o quê
- O cofre no EVM é imutável: sem dono, sem pausa, sem resgate. Na Solana um programa só faz os papéis de entrada e de cofre, e foi publicado sem autoridade de atualização, então o código dele nunca muda.
- A entrada tem dois donos, em carteiras de hardware. Eles podem pausar novos depósitos na hora, trocar a chave que assina os bilhetes (com 48 horas de aviso) e resgatar token parado na própria entrada. Eles não têm poder nenhum sobre o cofre nem sobre os saques: mesmo com a entrada pausada, o saque continua funcionando.
- O Vurto decide quem recebe bilhete para depositar. No site, ele também pede a verificação de identidade de quem recebe antes de montar um saque, e segura a nota cuja dona não passa na checagem grátis.
- O emissor do token ainda pode agir sobre o próprio token, por exemplo congelando. A página Riscos lista o que cada emissor pode fazer.
Sacar sem o Vurto
Se o Vurto um dia não estiver disponível, o saque não depende dele. Uma queda curta só atrasa o site.
- Quem envia guarda uma cópia. Antes de cada envio privado, a carteira de quem envia assina uma mensagem fixa, e a nota é cifrada com uma chave tirada dessa assinatura. O Vurto guarda a cópia como ela veio e não consegue abri-la. Ela fica em Seus envios privados, no histórico, para baixar.
- A cópia abre com a mesma carteira. Quem enviou assina a mesma mensagem de novo, e a ferramenta de saque abre a cópia e acha o depósito na rede.
- Quem recebe saca. Com a nota, a carteira dona e um nó da rede que tenha o histórico inteiro da pool, quem recebe saca com a ferramenta, para a própria carteira. A partir daí, quem recebe sabe quem enviou.
Carteira que dá uma assinatura diferente a cada vez não consegue guardar cópia, então não envia em privado. A Ledger na Solana não assina mensagem: ela assina um memo fixo que nunca pousa, e reabrir essa cópia ainda depende de código do Vurto. Se a nota do Vurto e a cópia de quem enviou se perderem, o saldo fica travado para sempre.
Bom saber
- Token mandado direto para o endereço do cofre, fora de um depósito, não vira crédito de ninguém e fica lá.
- Quem recebe precisa de um pouco da moeda da rede para pagar o saque.
- O contrato só confere sanção no depósito, e só de quem paga. Uma dona sancionada depois ainda consegue sacar pelo contrato, fora do site.
- O contrato é de passagem: saque logo.