¿Qué es un método simple y seguro para transferir activos virtuales?

3

Considere un MMORPG donde los usuarios poseen activos virtuales como espadas mágicas o anillos que pueden ser utilizados por el jugador. Este sistema necesita un método seguro para transferir activos de Alicia a Bob.

Un requisito que aumenta la complejidad es el hecho de que debería permitirle a Alice transferir un artículo a Bob antes de que Bob se registre. Esto es parte de una campaña de marketing para atraer usuarios al juego.

En una solución, Alicia inicia la transferencia escribiendo el número de teléfono o correo electrónico de Bob. Esto está sujeto a error humano. Para evitar que Alice transfiera accidentalmente el elemento a un extraño, queremos que Alice valide la transferencia obligando a Bob a enviar cierta información que solo Alice conoce.

El protocolo actual es el siguiente:

  1. Alice inicia la transferencia especificando el contacto de Bob (correo electrónico o teléfono) y una pregunta que Bob debe responder. Alice no dice la respuesta (es decir, el juego no puede filtrar esto).
  2. El sistema utiliza el contacto de Bob para enviar un enlace. Cuando Bob hace clic en él, se le pide que inicie sesión o se registre. Esta acción está asociada con la transferencia.
  3. Después de que Bob haya iniciado sesión correctamente, se le presenta la pregunta de Alice.
  4. Bob escribe la respuesta y la envía.
  5. Cuando Alice inicia sesión, recibe la respuesta, la valida y la transferencia finaliza. Ahora Bob puede usar el artículo.
  6. En caso de que Bob no termine este proceso en 7 días, Alice recupera el artículo.

Los administradores piensan que todo este proceso es demasiado complejo para el usuario promedio.

Un cambio es permitir que Alice especifique la respuesta junto con la pregunta. Al menos, Bob puede usar el elemento de inmediato (es decir, sin esperar a Alice primero). Sin embargo, esto también le permite a Alice quejarse de que filtramos la respuesta y que alguien más obtuvo el artículo.

¿Cuáles son los métodos existentes para transferir activos que pueden considerarse? Una vez más, el requisito principal es permitir que Alice inicie la transferencia antes de que Bob se registre ...

    
pregunta fernacolo 18.11.2018 - 21:56
fuente

3 respuestas

1

Hay tres formas de hacer esto:

  1. Puedes transferir la responsabilidad a Alice. Dale a Alice un enlace / código para compartir y haz que ella comparta ese enlace con Bob. Si Alice envió el enlace al correo electrónico incorrecto, es culpa suya por completo. Sin embargo, es probable que Alice tenga a Bob en la libreta de direcciones de su cliente de correo o que haya recibido un correo electrónico con Bob previamente donde el cliente de correo recogía la dirección de Bob o donde puede pulsar Responder, por lo que la posibilidad de errores tipográficos se reduce significativamente.

  2. Podrías usar el tiempo. Simplemente requiere que Bob tenga que jugar el juego hasta que alcance cierto nivel o que esté activo durante un cierto tiempo antes de que Bob reciba dicho elemento. Envía a Alice una notificación de que Bob se ha registrado usando su referencia y agrega automáticamente a Bob a la lista de amigos de Alice. Si a Alice le importa entregar el artículo al Bob correcto, es probable que se encuentre pronto con el Bob en el juego y se dé cuenta si ese no es el Bob que esperaba. Puede presentar un boleto para respaldar y recuperar el elemento antes de que expire el temporizador y Bob obtenga el elemento. Si desea que Bob pueda usar el elemento inmediatamente después del registro, simplemente haga que el elemento no se pueda seleccionar / no se pueda transferir por un período de tiempo, de modo que si Alice presenta un boleto dentro de ese período, solo tendrá que lidiar con dos cuentas.

  3. Este es un juego, en el que estás vendiendo productos digitales, en un servidor que controlas. Los jugadores realmente no son "dueños" de estos buenos, ya que el maestro del juego puede hacer prácticamente todo lo que quiera y emitir un juicio como mejor le parezca. El costo de que usted cree el artículo es casi nulo, por lo que en los casos en los que cree que es un error honesto, puede devolver el artículo a Alice y dejar que Bob se quede con una copia. Sí, esto es abusable, pero mientras esto no ocurra muy a menudo, no debería afectar mucho a la economía del juego. Entonces, ¿qué pasa si algunos jugadores abusaron de él? se encoge de hombros , solo puede prohibirlos si alguna vez se convierte en un problema. Además, para limitar el abuso, puedes restringir, por lo que solo los elementos comunes pueden transferirse de esta manera, esto limita aún más los posibles daños que pueden duplicar elementos muy raros en la economía del juego. En cualquier caso, es poco probable que desee que los nuevos jugadores tengan ese +1000 Mega Hyper God Excalibur Mk. 100 de todos modos, ya que eso romperá el juego en la mayoría de los juegos.

respondido por el Lie Ryan 29.11.2018 - 11:49
fuente
1

Estoy de acuerdo con los gerentes en que el proceso es demasiado complejo. Creo que podría hacer esto bastante sencillo imitando el proceso utilizado para enviar tarjetas de regalo electrónicas.

  1. Alice entrega el artículo a (el NPC de reclutamiento de tu MMO) y da la dirección de correo electrónico de Bob.
  2. Bob recibe un correo electrónico con un código alfanumérico de 12 dígitos que se puede ingresar en el formulario web utilizado para registrarse.
  3. Cuando Bob inicie sesión por primera vez, el artículo aparecerá en su inventario o banco.

Incluso puedes ir un paso más y tener un enlace directo en el correo electrónico cuando se haga clic en él, que asociará automáticamente el registro de Bob con el artículo.

    
respondido por el noslenkwah 28.11.2018 - 19:49
fuente
1

Hay algunos escollos en tu diseño pero veo lo que quieres decir. El error humano es algo de lo que debe preocuparse y no desea que algún dominio ilegal con @ gnail.com atrape todos los elementos de sus jugadores.

Problema

Al parecer, Alice tiene una forma de enviar de forma segura la respuesta de la pregunta a Bob. Si este es el caso, Alice también podría enviar alguna clave de registro a la que esté vinculado su artículo. Tenga en cuenta la similitud con la implementación de un One Time Pad .

Solución

Puede generar criptografía de clave pública para que Alice genere un par de claves y:

  • Envíe un valor aleatorio al servidor junto con su clave pública.
  • Envía una firma del valor aleatorio a Bob y que Bob lo use como clave de registro. El servidor puede verificar si la firma es correcta. Este método también evita que el servidor pierda el valor correcto para el registro.

Otras soluciones

  • Una forma muy común de evitar el error tipográfico es que las personas simplemente ingresen una dirección de correo electrónico o un número de teléfono dos veces.
  • Puede darle a Alice el poder de revocar el artículo por x cantidad de días. Sin embargo, esto podría volverse desagradable si Alice se mete en una pelea de la vida real con Bob y se lleva sus cosas de vuelta.
respondido por el Graa 28.11.2018 - 22:23
fuente

Lea otras preguntas en las etiquetas