Relayer

Un servicio que envía las transacciones de retiro en nombre del usuario para que la wallet destino no necesite SOL para recibir fondos.

Un relayer recibe tu prueba Groth16 y la dirección destino por HTTP, firma y difunde la transacción de retiro con su propio keypair, y paga el gas en SOL. A cambio, el programa on-chain le envía una pequeña comisión fija (0,003 SOL por destinatario) descontada del importe del retiro.

Esto resuelve el problema de arranque. Una wallet verdaderamente nueva empieza con cero SOL. Sin relayer, el usuario tendría que enviar una propina de SOL desde su wallet original para cubrir el gas del retiro — re-vinculando ambas direcciones on-chain y deshaciendo todo el sentido de usar SolMask. El relayer rompe ese vínculo porque es él quien paga.

Solo se confía en el relayer para liveness, no para privacidad. Ve tu prueba y tu dirección destino (no le queda otra, para poder enviar la transacción), pero nunca aprende qué depósito gasta tu prueba ni puede censurar una nota concreta sin censurar también todos los retiros que ve. Quien no quiera confiar en el relayer alojado puede correr el suyo: el flujo self-relay usa la misma instrucción con la propia wallet del usuario como destinatario de la comisión.

Términos relacionados

Relayer · Glossary · SolMask