Amfani da bazuwar magana ta amfani da misalin irin caca

Wata rana da safe na ci karo da labarin janareta bazuwar lamba mai iya tabbatarwa a kan dandalin Waves blockchain.

Hoton gabaɗaya ya bayyana a sarari, amma takamaiman hanyar aiwatarwa ba ta kasance ba. Wasu lambobi, sa hannu, menene, a ina, me yasa?

Shawarwari da yawa tare da marubucin oracle, sakamakon haka, yana yiwuwa a haɗa dabarun zane (wanda aka aiwatar a cikin PHP) tare da algorithm don samun lambar bazuwar.

  1. A farkon gasar/zagaye, muna buƙatar ɓangaren farko na lambar (R-code) daga oracle.

    A halin yanzu, babu bayanai game da adadin ’yan wasa, adadin wuraren kyaututtuka, girman biyan kyaututtuka, ko kasancewar caca gaba ɗaya. Maganar, ta hanyar ma'amala, tana fitar da lambar bazuwar mutum, wacce za a iya amfani da ita sau ɗaya kawai kuma waɗanda suka buƙace ta. Af, R-code za a iya "sayi" (ma'ana farashin ciniki na buƙatun + ramuwa ga magana don ma'amalar amsa, wannan adadin kusan $ 0.015 ne a halin yanzu, lambar kanta tana ba da kyauta kyauta. ) sau da yawa a gaba, don kada a jira karɓar ma'amalar amsa daga baya. Na yi ƙaramin buffer akai-akai a cikin ma'ajin bayanai.

  2. Gasar yawanci tana ɗaukar tubalan 60 na dandalin Waves blockchain, a halin yanzu yana da kusan awa 1. An yi la'akari da kammala gasar kuma an rufe idan bayan shinge 60 aƙalla tikiti biyu a ciki, in ba haka ba an tsawaita lokacin ayyukan gasa don shinge 60 na gaba.
  3. Nan da nan bayan an rufe gasar, muna samarwa da aika ma'amalar kwanan wata (muna kuma biya wani kwamiti na kusan $ 0.005 don shi), idan ya cancanta, da yawa, wanda aka rubuta duk yanayin zane da jerin sunayen 'yan wasa (tikiti) daga ciki muna bukatar mu zabi wadanda suka yi nasara.
  4. A wannan matakin, mun riga mun sami ɓangaren farko na lambar (R-code) da ID ɗin kwanan wata na ciniki (TXID). Mun aika su don sa hannu zuwa ga baka a cikin hanyar haɗin gwiwa (R-code + TXID), kuma muna biyan kwamiti + diyya. Oracle yana bincika bayanan da aka karɓa don keɓantacce da mallakarsu, kuma a cikin martani ya aiko mana da kashi na biyu na lambar (S-code) a cikin tsarin sha256, wanda shine farkon farkon janareta na lambar bazuwar.
  5. Don samun lambar bazuwar da za ta nuna jerin jerin tikitin cin nasara, muna canza lambar S daga bayanan binary sha256 zuwa wakilcin hexadecimal (HEX). Sa'an nan daga sakamakon HEX kirtani, muna samun lamba. Muna samun ragowar raba sakamakon lambar da adadin tikiti (all_tickets) kuma mu ƙara 1 zuwa sakamakon (don samun lamba 1 kafin all_tickets). A sakamakon haka, muna samun lambar serial na mai nasara.
  6. Idan, bisa ga yanayin zane, akwai masu cin nasara da yawa, to, muna maimaita ayyukan da suka gabata a cikin adadin daidai da adadin wuraren kyaututtuka. A wannan yanayin, duk lokacin da muka cire tikitin da ya riga ya ci nasara daga lissafin kuma rage duk_tikiti da 1, kuma maimakon S-code muna nuna lambar da ta gabata da aka karɓa.

Bari mu kalli takamaiman misali na gaske, gasa No. 119:

Jimlar tikiti 7 (duk_tikiti)
Kudin tikitin tsabar kudi 50 (Bet)
Farashin wasa 10% (Kudaden kuɗi)

Dangane da sharuddan caca, kashi 30% na zuwa ga kyautar kyautar, watau. a wannan yanayin, tikiti 2 dole ne su sami kyauta, girman wanda aka ƙididdige su bisa ga dabara (Bet * all_tickets-Fee)/2.

1. An Karɓi R-code: RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE

2. Bayan an rufe gasar, muna da jerin tikiti a cikin nau'i-nau'i: lamba + adireshin (adireshin jakar da aka biya don shiga gasar). Lura cewa ana iya maimaita adireshi, wannan yana nufin cewa ɗan takara ɗaya ya sayi tikiti da yawa zuwa gasa ɗaya; wannan ba doka ta hana shi ba.

An aika ranar ciniki: 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

3. Lambar S da ake nema: FTF3uRyaa4F2uAyD6z5a3CNbTXbQLc7fSR6CFNVjgZYV tare da sharhi (R-code + TXID):
RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

4. An Karɓi S-code: Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC

5. An tantance wadanda suka yi nasara.

6. An aika biyan kuɗi

A sakamakon haka, muna da rikodin mataki-mataki na hanyar zana kyauta a cikin blockchain tare da ikon duba shi a kowane lokaci. Kusan ba zai yiwu ba ga mai shiryawa ya yi amfani da sakamakon; aƙalla, ba zai yiwu a sake yin shi ba tare da annabta ba.

determine the winner № 1

All_tickets:
Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:145
Index: 5 Ticket:147
Index: 6 Ticket:149
Index: 7 Ticket:151

1. bin -> hex ( bin2hex(sha256(S-code)) ): Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC -> 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596

2. hex -> gmp number: 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 99037963059744689166154019807924045947962565922868104113173478160267437352342

3. gmp -> modulo (mod=7): 99037963059744689166154019807924045947962565922868104113173478160267437352342 -> 4

4. modulo -> ticket: 4 -> 145

determine the winner № 2

All_tickets:

Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:147
Index: 5 Ticket:149
Index: 6 Ticket:151

1. bin -> hex ( bin2hex(sha256(previous hex)) ): daf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0
2. hex -> gmp number: 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0 -> 67565829218838067182838043983962684143266386786567427968312120473742580659360
3. gmp -> modulo (mod=6): 67565829218838067182838043983962684143266386786567427968312120473742580659360 -> 1
4. modulo -> ticket: 1 -> 139

End.

source: www.habr.com

Add a comment