Post
Topic
Board Progetti
Re: Lotteria fine anno in Bitcoin
by
yanez72
on 24/11/2014, 15:11:52 UTC
se come dici tu uno fa una transazione di 0.20 XBT per assicurarsi 20 biglietti e nello stesso momento qualcun altro facesse la stessa cosa, come si può evitare che i numeri del primo non siano riassegnati la seconda volta?
Perché il "numero di biglietto" viene assegnato (calcolato) a posteriori, direi anche dopo l'estrazione del blocco usato per stabilire i premi.

Ciao!
Esatto. Alla fine e solo allora sapremo quante sono le giocate, si ordinano per hash le transazioni, la piu' bassa prende il numero 0, se è di 0.1 BTC prende i numeri da 0 a 9, la seconda il numero 2 o 10 a seconda di quante ne aveva la prima (piu' bassa in numero) e via dicendo.
I resti per arrivare a 0.01 fanno montepremi o beneficenza come vogliamo.

Bene chiaro e mi pare un'ottima idea per l'assegnazione.
Personalmente chiuderei le giocate il giorno prima dell'estrazione del blocco chiamiamolo vincente, che per me potrebbe benissimo essere il primo "blocco del 2015 con id minore" (ora italiana). Oppure determinare approssivativamente, il giorno prima dell'estrazione il numero del blocco scelto, a quel punto dovremmo solo determinare il giorno fregandocene di tutti gli altri dettagli... tanto un blocco vale l'altro ai fini dell'estrazione.
Dico fermare il giorno prima le giocate in quanto un pò di lavoro di assegnazione numeri e relativa pubblicazione va necessariamente fatto.
Per l'algoritmo di determinazione dei numeri si potrebbe compilare il tutto con un foglio di excel che ordini iltutto e produca i valori da pubblicare, sul forum in modo trasparente, coiè ad esempio:
la transazione 38af769cb360d961464cb3295331bd9b10e69ca7c0oec55d58308b25d6e7fff7 si aggiudica i numeri 0-1-2-3-4-5 (0.06 XBT)
la transazione 3f86dd26be7fe820f3a1df890b929c129e4b7c258a2a585efd6e84b1dc89ea2asi aggiudica i numeri 6-7 (0.02 XBT)
e così via fino a deteminare il numero totale dei biglietti venduti.
A questo punto dovremmo stabilire il modulo di divisione da applicare all'hash del blocco vincente, e trasformare tali valori alfanumerici in numeri esadecimali giusto o mi son perso qualcosa?
ciao