Che cos'è un metodo semplice e sicuro per trasferire asset virtuali?

3

Considera un MMORPG in cui gli utenti dispongono di risorse virtuali come spade magiche o anelli che possono essere utilizzati dal giocatore. Questo sistema richiede un metodo sicuro per il trasferimento di risorse da Alice a Bob.

Un requisito che aumenta la complessità è il fatto che dovrebbe consentire ad Alice di trasferire un oggetto a Bob prima che Bob si registri. Questo fa parte di una campagna di marketing per attirare gli utenti nel gioco.

In una soluzione, Alice avvia il trasferimento digitando l'e-mail o il numero di telefono di Bob. Questo è soggetto a errore umano. Per impedire ad Alice di trasferire accidentalmente l'articolo a un estraneo, desideriamo che Alice convalidi il trasferimento forzando Bob a inviare alcune informazioni che solo Alice conosce.

Il protocollo corrente è il seguente:

  1. Alice avvia il trasferimento specificando il contatto di Bob (email o telefono) e una domanda a cui Bob ha bisogno di rispondere. Alice non dice la risposta (cioè il gioco non può perdere questo).
  2. Il sistema utilizza il contatto di Mario per inviare un collegamento. Quando Bob fa clic su di esso, gli viene chiesto di accedere o registrarsi. Questa azione è associata al trasferimento.
  3. Dopo che Bob ha eseguito correttamente l'accesso, viene presentata la domanda di Alice.
  4. Bob digita la risposta e invia.
  5. Quando Alice accede, riceve la risposta, conferma e il trasferimento è terminato. Adesso Bob può usare l'oggetto.
  6. Nel caso in cui Bob non riesca a completare questo processo in 7 giorni, Alice recupera l'elemento.

I gestori pensano che l'intero processo sia troppo complesso per l'utente medio.

Un cambiamento è consentire a Alice di specificare la risposta insieme alla domanda. Almeno Bob è in grado di utilizzare immediatamente l'oggetto (cioè senza aspettare prima Alice). Tuttavia, questo consente anche ad Alice di lamentarsi del fatto che abbiamo divulgato la risposta e che qualcun altro ha ricevuto l'articolo.

Quali sono i metodi esistenti per il trasferimento di beni che possono essere considerati? Ancora una volta, il requisito principale è consentire ad Alice di avviare il trasferimento prima che Bob sia registrato ...

    
posta fernacolo 18.11.2018 - 21:56
fonte

3 risposte

1

Ci sono tre modi in cui puoi fare questo:

  1. È possibile trasferire la responsabilità ad Alice. Dai a Alice un link / codice di condivisione e chiedi alla sua condivisione quel link con Bob. Se Alice ha inviato il link all'email sbagliata, è colpa sua. Tuttavia, è probabile che Alice abbia inserito Bob nella sua rubrica del client di posta o che abbia ricevuto un'email con Bob in precedenza, dove il client di posta ha raccolto l'indirizzo di Bob o dove può colpire Rispondi, quindi la possibilità di errore di battitura è notevolmente ridotta.

  2. Potresti usare il tempo. Devi semplicemente chiedere a Bob di giocare fino a quando non ha raggiunto un certo livello o essere attivo per un certo periodo di tempo prima che Bob riceva l'oggetto. Invia ad Alice una notifica che Bob si è registrato utilizzando il suo riferimento e aggiunge automaticamente Mario all'elenco degli amici di Alice. Se Alice si preoccupa di consegnare l'oggetto a destra Bob, è probabile che si incontrerà presto con Bob in-game e si renderà conto se questo non è il Bob che si aspettava. Può depositare un biglietto per sostenere e recuperare l'oggetto prima che il timer scada e Bob ottenga l'oggetto. Se vuoi che Bob sia in grado di utilizzare l'elemento immediatamente dopo la registrazione, basta rendere l'articolo invendibile / non trasferibile per un periodo di tempo, in modo che se Alice archivi un ticket entro quel periodo, avresti solo bisogno di occuparti di due conti.

  3. Questo è un gioco, in cui stai trattando beni digitali, su un server che controlli. I giocatori non "possiedono" veramente questo bene, dato che il maestro del gioco può fare praticamente qualsiasi cosa tu voglia e dare un giudizio come meglio credi. Il costo di creare l'oggetto non è vicino a nessuno, quindi in caso di ciò che ritieni sia un errore sincero, puoi semplicemente restituire l'oggetto ad Alice e lasciare che Bob ne conservi una copia. Sì, questo è abusivo, ma finché ciò non accade troppo spesso, non dovrebbe influenzare molto l'economia del gioco. Quindi, se alcuni giocatori lo violassero, scrollando le spalle puoi semplicemente mettere al bando quei giocatori se mai dovesse diventare un problema. Inoltre, per limitare gli abusi, puoi limitare in modo che solo gli oggetti abbastanza comuni possano essere trasferiti in questo modo, questo limita ulteriormente il possibile danno che duplica elementi molto rari all'economia del gioco. In ogni caso, è improbabile che tu voglia che i nuovi giocatori abbiano quel 1000 Mega Hyper God Excalibur Mk. 100 in ogni caso, in quanto ciò interromperà il gameplay nella maggior parte dei giochi.

risposta data 29.11.2018 - 11:49
fonte
1

Sarei d'accordo con i gestori sul fatto che il processo è complesso. Penso che potresti renderlo abbastanza semplice imitando la procedura utilizzata per inviare le carte regalo elettroniche.

  1. Alice consegna l'articolo a (NPC di reclutamento del MMO) e fornisce l'indirizzo email di Bob.
  2. Bob riceve un'e-mail con un codice alfanumerico di 12 cifre che può essere digitato nel modulo Web utilizzato per la registrazione.
  3. Quando Bob accede per la prima volta, l'articolo verrà visualizzato nel suo inventario o banca.

Puoi anche fare un ulteriore passo avanti e avere un collegamento diretto nell'e-mail quando cliccato che associerà automaticamente la registrazione di Bob all'elemento.

    
risposta data 28.11.2018 - 19:49
fonte
1

Ci sono alcune trappole nel tuo design ma vedo cosa intendi. L'errore umano è davvero qualcosa di cui preoccuparsi e non vuoi che qualche dominio squatter con @ gnail.com catturi tutti gli elementi dei tuoi giocatori.

problema

Apparentemente Alice ha un modo per inviare in modo sicuro la risposta della domanda a Bob. In tal caso, Alice potrebbe anche inviare una chiave di registrazione a cui è collegato il suo articolo. Nota la somiglianza con l'implementazione di un One Time Pad .

Soluzione

Potresti ottenere una crittografia a chiave pubblica per far generare ad Alice una coppia di chiavi e:

  • Invia un valore casuale al server insieme alla sua chiave pubblica.
  • Invia una firma del valore casuale a Bob e chiedi a Bob di usarlo come chiave di registrazione. Il server può quindi verificare se la firma è corretta. Questo metodo impedisce inoltre al server di perdere il valore corretto per la registrazione.

Altre soluzioni

  • Un modo molto comune per evitare errori di battitura è che le persone inseriscano semplicemente un indirizzo email o un numero di telefono due volte.
  • Puoi dare a Alice il potere di revocare l'oggetto per x quantità di giorni. Tuttavia, questo potrebbe diventare sgradevole se Alice entra in una vera lotta con Bob e riprende le sue cose.
risposta data 28.11.2018 - 22:23
fonte