Ottimo picchio. Mi piace molto il tuo algoritmo, che permette di effettuare l'estrazione indipendentemente dal numero di biglietti venduti.
Questo algoritmo potrebbe funzionare:
- si predispone un indirizzo al quale inviare la giocata di x BTC (es. 0.01).
Si tratta poi di stabilire cosa fare se viene inviato un importo diverso, minore o maggiore. Una soluzione potrebbe essere: se minore la si considera come una donazione alla causa e stop; se maggiore, la transazione viene conteggiata come biglietto valido e tutto il "di più" come donazione.
... definiamo l'unità minima dove avviene il ragionamento che hai fatto tu (diciamo 0.01 come mio esempio). Se la transazione e' di 0.2 BTC, diciamo che ha comprato 20 biglietti adiacenti, avrà piu' probabilità di vincere! Se minore di 0.01 allora li consideriamo beneficenza (o montepremi).
- Al blocco stabilito: numero e non data.
In realtà non cambia sostanzialmente niente; basta stabilirlo a priori. Io preferirei il primo blocco dell'anno nuovo, piuttosto che uno qualunque scelto arbitrariamente: mi sembra più "evocativo".
Cambia perche' la data non è detto sia esatta. Ossia, un miner potrebbe averla sbagliata e non escluderei che un blocco successivo possa avere la data minore del precedente ... magari è impossibile ma la data puo' cambiare e poi ci sono i fusi orari ... quindi si sceglie un blocco significativo e magari si crea l'indirizzo di invio con un vanity address che ha come prefisso il numero di blocco.
Si contano le transazioni da 0.01 BTC che sono le giocate. Si ordinano per transaction ID e si avra' un numero da 0 a n-1.
Se si vuole decidere per una donazione a qualcosa ma poi nascono altri problemi ...
Che problemi? Io non ne vedo.
Ipotizziamo di destinare il 20% in beneficenza. Si potrebbe ad esempio dare il 43% come primo premio, il 20% come secondo, il 10% come terzo, il 5% come quarto, il 2% come quinto e il resto in beneficenza. Ragionando in termini percentuali non vedo cosa si possa contestare.
Ciao!
Non pensavo a come dividere la posta ma a dove mandare la beneficenza ... piu' un problema sociale che matematico ... SI potrebbero mettere in un sistema ad oracoli che paga solo se, ad esempio, viene riparato il tetto della tal scuola o altro evento di beneficenza ... ma legato ad una situazione utile alla diffusione delle criptomonete Ciao..