{"id":34823,"date":"2019-10-31T22:00:35","date_gmt":"2019-10-31T19:00:35","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ispolzovanie-sluchajnogo-orakula-na-primere-loterei\/"},"modified":"2019-10-31T22:00:35","modified_gmt":"2019-10-31T19:00:35","slug":"ispolzovanie-sluchajnogo-orakula-na-primere-loterei","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ispolzovanie-sluchajnogo-orakula-na-primere-loterei","title":{"rendered":"Utilizzo di un oracolo casuale, prendendo come esempio una lotteria","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Una mattina ho notato un articolo su <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449340\/\">un generatore di numeri casuali verificabile<\/a><\/noindex> sulla piattaforma Waves. <\/p>\n<p>Il quadro generale era chiaro, ma il modo specifico di attuazione no. Qualcosa riguardo codici, firme, cosa, dove, perch\u00e9?<\/p>\n<p>Dopo alcune consultazioni con l'autore dell'oracolo, siamo riusciti a combinare la logica del sorteggio (realizzata in PHP) con l'algoritmo per generare numeri casuali. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ol>\n<li>Al momento dell'avvio del torneo\/round, chiediamo all'oracolo la prima parte del codice (R-code).\n<p>In quel momento non ci sono informazioni n\u00e9 sul numero di giocatori, n\u00e9 sul numero di premi, n\u00e9 sull'importo delle vincite e nemmeno sull'esistenza della lotteria. L'oracolo fornisce tramite una transazione un codice casuale personale, che pu\u00f2 essere utilizzato solo una volta e solo da chi l'ha richiesto. A proposito, il R-code pu\u00f2 essere \"acquistato\" in anticipo (si intende il costo della transazione di richiesta + compenso all'oracolo per la transazione di risposta, che \u00e8 una somma di circa $0,015 al tasso attuale; il codice stesso viene fornito gratuitamente) in diverse unit\u00e0, in modo da non dover aspettare la risposta della transazione. Ho creato un piccolo buffer regolarmente aggiornato nel database.<\/li>\n<li> Il torneo dura standard 60 blocchi della piattaforma blockchain Waves, attualmente circa 1 ora. Il torneo \u00e8 considerato valido e chiuso se, dopo 60 blocchi, ci sono almeno due biglietti; in caso contrario, il periodo di attivazione del torneo viene esteso per altri 60 blocchi.<\/li>\n<li>Subito dopo la chiusura del torneo, generiamo e inviamo una transazione di dati (per la quale paghiamo anche una commissione di circa $0.005). Se necessario, possiamo inviare pi\u00f9 transazioni, nelle quali sono registrati tutti i termini del sorteggio e un elenco ordinato di giocatori (biglietti) da cui dobbiamo selezionare i vincitori.<\/li>\n<li>A questo punto abbiamo gi\u00e0 la prima parte del codice (R-code) pi\u00f9 l'ID della transazione (TXID). Li inviamo per la firma all'oracolo concatenando (R-code + TXID), pagando nuovamente commissioni e compensazioni. L'oracolo verifica i dati ricevuti per unicit\u00e0 e appartenenza, e in risposta ci invia la seconda parte del codice (S-code) in formato sha256, che rappresenta il punto di partenza per il generatore di numeri casuali.<\/li>\n<li> Per ottenere un numero casuale che indichi la posizione del biglietto vincente, trasformiamo il S-code da dati binari sha256 in una rappresentazione esadecimale (HEX). Dopodich\u00e9, dall'HEX ottenuto, ricaviamo un numero. Facciamo il resto della divisione del numero risultante per il numero totale di biglietti (all_tickets) e aggiungiamo 1 al risultato (per ottenere un valore da 1 a all_tickets). Alla fine, otteniamo il numero di posizione del vincitore.<\/li>\n<li>Se le condizioni del sorteggio prevedono pi\u00f9 vincitori, ripetiamo le operazioni precedenti per il numero corrispondente ai posti premiati. Ad ogni iterazione, rimuoviamo dalla lista il biglietto che ha gi\u00e0 vinto e riduciamo all_tickets di 1, sostituendo il S-code con il numero ottenuto precedentemente.<\/li>\n<\/ol>\n<p>\nAnalizziamo un caso reale concreto, torneo n. 119:<\/p>\n<p>Totale 7 biglietti (all_tickets)<br \/>\nPrezzo del biglietto 50 monete (Bet)<br \/>\nRaccolta di gioco 10% (Fee)<\/p>\n<p>In base alle condizioni della lotteria, il 30% va ai premi, quindi in questo caso 2 biglietti devono ricevere un premio il cui valore si calcola con la formula (Bet*all_tickets-Fee) \/ 2.<\/p>\n<p>1. Abbiamo ottenuto il R-code: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/8t7M7eWnK1b5CF2Y2TVSqyuD3dg35Az71Cf9uCdaR1X9\">RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE<\/a><\/noindex><\/p>\n<p>2. Dopo la chiusura del torneo, abbiamo un elenco di biglietti sotto forma di coppie: numero + indirizzo (indirizzo del portafoglio da cui \u00e8 stato effettuato il pagamento per partecipare al torneo). Nota che gli indirizzi possono ripetersi, ci\u00f2 significa che un partecipante ha acquistato pi\u00f9 biglietti per lo stesso torneo, questo non \u00e8 vietato dalle regole.<\/p>\n<p>Abbiamo inviato la data della transazione: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S\">82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S<\/a><\/noindex><\/p>\n<p>3. Abbiamo richiesto il S-code: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/FTF3uRyaa4F2uAyD6z5a3CNbTXbQLc7fSR6CFNVjgZYV\">FTF3uRyaa4F2uAyD6z5a3CNbTXbQLc7fSR6CFNVjgZYV<\/a><\/noindex> con il commento (R-code + TXID):<br \/>\nRdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S<\/p>\n<p>4. Abbiamo ricevuto il S-code: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/Go8nx2f4uurHXmETTVcMKDWX9nh98t4TgjuKHmJ2uVSH\">Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC<\/a><\/noindex><\/p>\n<p>5. Abbiamo determinato i vincitori.<\/p>\n<p>6. <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/5dVheZrRUDagoD65HErTQhJhJXLcFHcT8fqoFfgHDj2T\">Abbiamo inviato i pagamenti.<\/a><\/noindex><\/p>\n<p>Di conseguenza, abbiamo nel blockchain una registrazione passo-passo della procedura di estrazione dei premi, con la possibilit\u00e0 di verificarla in qualsiasi momento. Manipolare i risultati da parte dell'organizzatore \u00e8 praticamente impossibile, almeno non sar\u00e0 pi\u00f9 possibile farlo in modo invisibile.<\/p>\n<pre><code class=\"plaintext\">determinare il vincitore n. 1\n\nTutti_i_biglietti:\nIndice: 1 Biglietto:139\nIndice: 2 Biglietto:141\nIndice: 3 Biglietto:143\nIndice: 4 Biglietto:145\nIndice: 5 Biglietto:147\nIndice: 6 Biglietto:149\nIndice: 7 Biglietto:151\n\n1. bin -&gt; hex ( bin2hex(sha256(S-code)) ): Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC -&gt; 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596\n\n2. hex -&gt; numero gmp: 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -&gt; 99037963059744689166154019807924045947962565922868104113173478160267437352342\n\n3. gmp -&gt; modulo (mod=7): 99037963059744689166154019807924045947962565922868104113173478160267437352342 -&gt; 4\n\n4. modulo -&gt; biglietto: 4 -&gt; 145\n\ndeterminare il vincitore n. 2\n\nTutti_i_biglietti:\n\nIndice: 1 Biglietto:139\nIndice: 2 Biglietto:141\nIndice: 3 Biglietto:143\nIndice: 4 Biglietto:147\nIndice: 5 Biglietto:149\nIndice: 6 Biglietto:151\n\n1. bin -&gt; hex ( bin2hex(sha256(hex precedente)) ): daf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -&gt; 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0\n2. hex -&gt; numero gmp: 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0 -&gt; 67565829218838067182838043983962684143266386786567427968312120473742580659360\n3. gmp -&gt; modulo (mod=6): 67565829218838067182838043983962684143266386786567427968312120473742580659360 -&gt; 1\n4. modulo -&gt; biglietto: 1 -&gt; 139\n\nFine.<\/code><\/pre>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/454102\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a-\u0442\u043e \u0443\u0442\u0440\u043e\u043c \u043d\u0430 \u0433\u043b\u0430\u0437\u0430 \u043f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u0441\u0442\u0430\u0442\u044c\u044f \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u043d\u0430 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 Waves platform. \u041e\u0431\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u0430 \u0432\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u043d\u0435\u0442. \u041a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u0434\u044b, \u043f\u043e\u0434\u043f\u0438\u0441\u0438, \u0447\u0442\u043e, \u043a\u0443\u0434\u0430, \u0437\u0430\u0447\u0435\u043c? \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u0439 \u0443 \u0430\u0432\u0442\u043e\u0440\u0430 \u043e\u0440\u0430\u043a\u0443\u043b\u0430, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u043e\u0437\u044b\u0433\u0440\u044b\u0448\u0430 (\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 PHP) \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430. \u0412 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0442\u0430 \u0442\u0443\u0440\u043d\u0438\u0440\u0430\/\u0440\u0430\u0443\u043d\u0434\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34823","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0443\u0442\u0440\u043e\u043c \u043d\u0430 \u0433\u043b\u0430\u0437\u0430 \u043f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u0441\u0442\u0430\u0442\u044c\u044f \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u043d\u0430 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 Waves platform. \u041e\u0431\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u0430 \u0432\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u043d\u0435\u0442. \u041a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u0434\u044b, \u043f\u043e\u0434\u043f\u0438\u0441\u0438, \u0447\u0442\u043e, \u043a\u0443\u0434\u0430, \u0437\u0430\u0447\u0435\u043c? \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u0439 \u0443 \u0430\u0432\u0442\u043e\u0440\u0430 \u043e\u0440\u0430\u043a\u0443\u043b\u0430, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u043e\u0437\u044b\u0433\u0440\u044b\u0448\u0430 (\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 PHP) \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430. \u0412 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0442\u0430 \u0442\u0443\u0440\u043d\u0438\u0440\u0430\/\u0440\u0430\u0443\u043d\u0434\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ispolzovanie-sluchajnogo-orakula-na-primere-loterei\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u043e\u0440\u0430\u043a\u0443\u043b\u0430 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043b\u043e\u0442\u0435\u0440\u0435\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0443\u0442\u0440\u043e\u043c \u043d\u0430 \u0433\u043b\u0430\u0437\u0430 \u043f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u0441\u0442\u0430\u0442\u044c\u044f \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u043d\u0430 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 Waves platform. \u041e\u0431\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u0430 \u0432\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u043d\u0435\u0442. \u041a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u0434\u044b, \u043f\u043e\u0434\u043f\u0438\u0441\u0438, \u0447\u0442\u043e, \u043a\u0443\u0434\u0430, \u0437\u0430\u0447\u0435\u043c? \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u0439 \u0443 \u0430\u0432\u0442\u043e\u0440\u0430 \u043e\u0440\u0430\u043a\u0443\u043b\u0430, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u043e\u0437\u044b\u0433\u0440\u044b\u0448\u0430 (\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 PHP) \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430. \u0412 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0442\u0430 \u0442\u0443\u0440\u043d\u0438\u0440\u0430\/\u0440\u0430\u0443\u043d\u0434\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ispolzovanie-sluchajnogo-orakula-na-primere-loterei\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:00:35+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:35+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Utilizzo di un oracolo casuale come esempio di lotteria | ProHoster","description":"Una mattina ho visto un articolo su un generatore di numeri casuali verificabile sulla piattaforma Waves. L'idea generale era chiara, ma il modo specifico di implementazione non lo era. Codici, firme, cosa, dove, perch\u00e9? Dopo alcune consultazioni con l'autore dell'oracolo, sono riuscito a unire la logica del sorteggio (realizzata in PHP) con l'algoritmo per ottenere un numero casuale. Al momento dell'inizio del torneo\/round.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ispolzovanie-sluchajnogo-orakula-na-primere-loterei","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u043e\u0440\u0430\u043a\u0443\u043b\u0430 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043b\u043e\u0442\u0435\u0440\u0435\u0438 | ProHoster","og:description":"\u041a\u0430\u043a-\u0442\u043e \u0443\u0442\u0440\u043e\u043c \u043d\u0430 \u0433\u043b\u0430\u0437\u0430 \u043f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u0441\u0442\u0430\u0442\u044c\u044f \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u043d\u0430 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 Waves platform. \u041e\u0431\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u0430 \u0432\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u043d\u0435\u0442. \u041a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u0434\u044b, \u043f\u043e\u0434\u043f\u0438\u0441\u0438, \u0447\u0442\u043e, \u043a\u0443\u0434\u0430, \u0437\u0430\u0447\u0435\u043c? \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u0439 \u0443 \u0430\u0432\u0442\u043e\u0440\u0430 \u043e\u0440\u0430\u043a\u0443\u043b\u0430, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u043e\u0437\u044b\u0433\u0440\u044b\u0448\u0430 (\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 PHP) \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430. \u0412 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0442\u0430 \u0442\u0443\u0440\u043d\u0438\u0440\u0430\/\u0440\u0430\u0443\u043d\u0434\u0430","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ispolzovanie-sluchajnogo-orakula-na-primere-loterei","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:00:35+00:00","article:modified_time":"2019-10-31T19:00:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34823","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:44:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:14:06","updated":"2026-01-21 20:44:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=34823"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34823\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=34823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=34823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=34823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}