Organizar los pagos de depósitos de clientes recibidos

¿Cuál es la mejor forma de organizar los pagos recibidos?
¿La única posibilidad es asignar una nueva dirección de pago a cada cliente o es posible identificar a los clientes de manera confiable en la carga útil de datos de la transacción o cualquier otro método? (No quiero usar direcciones de remitente para identificación).
¿Cómo organizarías una billetera para los pagos? ¿Existe una buena implementación de billetera HD segura para node.js o debería usar una billetera no determinista? ¿Es posible implementar una "billetera" como un contrato inteligente, por lo que no necesito almacenar claves en el servidor?

Respuestas (1)

Como mencioné en mi comentario a su pregunta anterior , exigir a sus clientes que llenen la datacarga útil garantizaría que casi nadie pueda realizar pagos ETH correctos.

La solución que estoy implementando actualmente para aceptar pagos ETH de manera segura y escalable es usar Ledger Nano S como administrador de claves privadas:

  • Hice un script que genera decenas de miles de direcciones ETH
  • Hice otro script que verifica sus saldos ETH y ERC20
  • Hice otro script que puede generar un pago desde una de las direcciones anteriores, lo envía para firmar al Ledger Nano S y luego lo transmite.

Puede que no sea la forma más elegante y fácil de usar para administrar estos pagos (se debe hacer clic en el dispositivo para cada pago que se canjea), pero es bastante seguro: los piratas informáticos tendrían que obtener acceso físico al Ledger Nano S (o encontrar las palabras semilla) para gastar los fondos.

Gracias. estamos ejecutando un intercambio, por lo que necesitaría generar millones de billeteras. ¿Sabe cuántos puede manejar una billetera hd (con claves protegidas)? libro mayor no es una opción - hacemos software node.js
por lo que sé, no hay límite en la cantidad de direcciones HD que se pueden derivar. Cuando le dice a Nano S que firme una transacción, le está diciendo la ruta de derivación de la clave privada con la que desea firmar el tx, like 44'/60'/0'/0o 44'/60'/0'/9283742934. Solo tengo curiosidad: ¿por qué dice que Ledger Nano no es una opción?
No sé. Simplemente no puedo imaginar, puedes ejecutar un intercambio criptográfico completo con un nano, pero demuéstrame que estoy equivocado. También tenemos que organizar los pagos. ¿Pueden autenticarse las transacciones con nanofirmas?
No tiene que ser un solo nano. Puede duplicarlos usando las mismas palabras semilla. Cuando se ejecuta un intercambio, lo más sensible al tiempo (con respecto a los pagos) es identificar de manera confiable los fondos entrantes, y eso no depende del Nano. Pero también puede realizar los pagos desde una billetera fría, almacenada en una computadora con espacio de aire si lo desea (y enviar los fondos a esa billetera desde las direcciones de recepción utilizando el libro mayor nano). De hecho, el uso de un Nano agrega gastos generales, pero los gastos generales de 5 años se pagan fácilmente al evitar el robo de una sola billetera.