Crittografia nei contests di Steem

in #contest5 years ago

Alcuni contests di Steem premiano i concorrenti se indovinano correttamente la risposta, ma se la risposta non è oggettivamente verificabile ma rivelata alla fine del contest dall'autore, dobbiamo fidarci.
Non abbiamo la certezza che la risposta sia quella pensata inizialmente. Confidiamo nell'onestà dell'autore, ma in questo caso la crittografia potrebbe fornire la dovuta trasparenza.
Ma come?
L' autore dovrebbe riportare già nel post iniziale la risposta crittografata, per poi confermare nel post conclusivo la risposta data inizialmente ma questa volta in chiaro.

SHA256

Ci viene in aiuto la funzione hash che, dato in ingresso una stringa alfanumerica di una qualsiasi lunghezza, fornisce in uscita una stringa di una lunghezza ben precisa.
Per questo scopo possiamo utilizzare la funzione SHA256 che, come indica il nome, fornisce in uscita sempre una stringa di 256 bit. È una funzione utilizzata nel sistema di chiavi asimmetriche e in diversi sistemi di crittografia.
L' autore prepara una frase che descrive la risposta e la utilizza come ingresso della funzione.
È sufficiente andare in un sito che calcola SHA256 come ad esempio questo e inserire la frase. La sequenza alfanumerica in esadecimale di 64 caratteri è ciò che identifica univocamente la stringa in ingresso e che riporterà nel post iniziale del contest. Per chiarezza vediamo degli esempi.

Contest con indovinello

Un contest con un indovinello che potrebbe avere più di una risposta corretta perché volutamente vago, deve forniremo già una risposta criptata nel post di presentazione.
Ad esempio

La si cerca ovunque
Senza di essa la vita non è la stessa
Se si può la si condivide con altri

L' autore scrive già la risposta criptata:

ffbb36c0bbe5a3bd623dd4722f6112f5d4cccd254272837a9540c65fef7e881f

Nel post conclusivo riporterà la frase esatta che ha generato il codice criptato:
La risposta per questo indovinello è Acqua!
N.B. Notate come cambiando anche solo la A di acqua in a, il codice risultante cambia completamente.
A questo punto tutti possono verificare che inserendo quella frase nel sito sopra indicato, verrà fornito il codice esadecimale riportato nel primo post.
Chi aveva ad esempio risposto Amicizia, ha la sicurezza che, pur essendo una risposta accettabile, non è quella che ha pensato l'autore fin dall'inizio.

Contest con più vincitori

A volte si vorrebbe premiare tutti coloro che rispondono correttamente, ma vedendo le risposte in chiaro nei commenti, non è possibile capire se coloro che hanno risposto correttamente siano stati influenzati o meno da chi ha risposto precedentemente.
Sì può chiedere allora ai partecipanti di non inserire la risposta, ma la sua versione criptata. Sarebbe meglio inserire una frase e non solo la risposta. Per il caso precedente si potrebbe usare la frase secondo me è acqua, io direi Acqua ecc., e non semplicemente acqua.
Alla fine del contest i partecipanti commenteranno le proprie risposte con la frase originale che hanno crittografato così da permettere all'autore di verificare la risposta.

Contest con vincitori ad estrazione

Ci possono essere dei contests dove il vincitore è estratto a sorte tra i partecipanti.
In questo caso l'autore crea già una sequenza casuale di numeri e nel post iniziale scrive la sua versione criptata. Ad ogni partecipante verrà assegnato un numero secondo il regolamento previsto e il vincitore sarà quello il cui numero compare per primo nella sequenza.
A fine contest riporta la sequenza in chiaro così che tutti possano verificare che corrisponda alla versione criptata inizialmente.

Contest con risposta a scelta da una lista

Nei casi in cui la risposta sia una tra una lista prescelta, si elabora come nei casi precedenti una risposta che non contenga solo la parola corretta, ma qualcosa di più elaborato. Ad esempio se il quesito è:
Quale dei quattro elementi ho trovato rappresentato su una caverna?
Terra
Aria
Acqua
Fuoco

La risposta non sarà semplicemente "acqua" ma
Vi posso garantire che in questo caso la risposta è: acqua
In questo modo se qualcuno cerca per tentativi le quattro risposte non riuscirà a trovare il codice criptato facilmente.
Se vuole documentare la risposta con una immagine, allora potrebbe criptare anche il link all'immagine:
La risposta è acqua e infatti potete verificare qui:files.steempeak.com/file/steempeak/massrado/dUfHgf.jpg

Consigli

  1. Una volta scritto il post iniziale del contest che contiene la soluzione criptata, evitate di editarlo, anche se per correggere un qualsiasi errore nel testo.
    Infatti il post editato potrebbe insinuare il dubbio che possa essere stata cambiata la soluzione;
  2. Quando avete formulato la frase da criptare, copiatela in una bozza del vostro editor di Steem, così da averla pronta ed esatta per riportarla nel post finale;
  3. Non mettete la frase tra virgolette, altrimenti non è chiaro se la frase sia con o senza le virgolette;
  4. Non mettete spazi all'inizio o alla fine della frase.

E con questo, buoni Contests a tutti !!!

Sort:  

Questo post è stato condiviso e votato dal team di curatori di discovery-it.

This post was shared and voted by the curators team of discovery-it


Congratulations @massrado! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 3000 upvotes. Your next target is to reach 4000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Ciao @massrado, mi sembra tutto molto chiaro.
Ho fatto un test e funziona, quindi dalla prossima edizione del Contest of Contests #16, userò questo metodo per l'estrazione del vincitore.

Grazie!

Grande!!! Che ideona!

Ti consiglio @ilnegro di creare una sequenza di numeri separata da virgole o punti e virgola, non da spazi.
Potrebbe capitare che tra un numero e l'altro ci siano 2 spazi e non se ne viene fuori.

This content has earned some GEEK. 100.000 GEEK tokens has been transferred to your steem-engine.com account.
Geek Rewards (GEEK) is a steem engine token that rewards content creators for their geeky contributions to the community.

Congratulations @massrado! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You received more than 100 as payout for your posts. Your next target is to reach a total payout of 250

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP