๋ณต๊ถŒ์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์ž‘์œ„ ์˜ค๋ผํด ์‚ฌ์šฉ

์–ด๋Š ๋‚  ์•„์นจ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์‚ฌ๋ฅผ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ Waves ํ”Œ๋žซํผ ๋ธ”๋ก์ฒด์ธ์—์„œ.

์ „์ฒด์ ์ธ ๊ทธ๋ฆผ์€ ๋ช…ํ™•ํ–ˆ์ง€๋งŒ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ๊ทธ๋ ‡์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ฝ”๋“œ, ์„œ๋ช…, ๋ฌด์—‡์„, ์–ด๋””์„œ, ์™œ?

์˜ค๋ผํด ์ž‘์„ฑ์ž์™€ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ํ˜‘์˜ํ•œ ๊ฒฐ๊ณผ ๊ทธ๋ฆฌ๊ธฐ ๋กœ์ง(PHP๋กœ ๊ตฌํ˜„๋จ)๊ณผ ๋‚œ์ˆ˜๋ฅผ ์–ป๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

  1. ํ† ๋„ˆ๋จผํŠธ/๋ผ์šด๋“œ ์‹œ์ž‘ ์‹œ ์˜ค๋ผํด์— ์ฝ”๋“œ(R ์ฝ”๋“œ)์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

    ํ˜„์žฌ๋กœ์„œ๋Š” ํ”Œ๋ ˆ์ด์–ด ์ˆ˜, ๊ฒฝํ’ˆ ์žฅ์†Œ ์ˆ˜, ์ƒ๊ธˆ ์ง€๊ธ‰ ๊ทœ๋ชจ ๋˜๋Š” ๋ณต๊ถŒ์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์˜ค๋ผํด์€ ๊ฑฐ๋ž˜๋ฅผ ํ†ตํ•ด ๊ฐœ์ธ ๋žœ๋ค ์ฝ”๋“œ๋ฅผ ๋ฐœํ–‰ํ•˜๋ฉฐ, ์ด ์ฝ”๋“œ๋Š” ์š”์ฒญํ•œ ์‚ฌ๋žŒ๋งŒ ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ R ์ฝ”๋“œ๋Š” "๊ตฌ๋งค"ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์š”์ฒญ ํŠธ๋žœ์žญ์…˜ ๋น„์šฉ + ์‘๋‹ต ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•œ ์˜ค๋ผํด์— ๋Œ€ํ•œ ๋ณด์ƒ์„ ์˜๋ฏธํ•˜๋ฉฐ ์ด๋Š” ํ˜„์žฌ ํ™˜์œจ๋กœ ์•ฝ $0.015์˜ ๊ธˆ์•ก์ด๋ฉฐ ์ฝ”๋“œ ์ž์ฒด๋Š” ๋ฌด๋ฃŒ๋กœ ๋ฐœํ–‰๋ฉ๋‹ˆ๋‹ค. ) ๋‚˜์ค‘์— ์‘๋‹ต ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜์‹ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋„๋ก ๋ฏธ๋ฆฌ ์—ฌ๋Ÿฌ โ€‹โ€‹๋ฒˆ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์ž‘์€ ๋ฒ„ํผ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

  2. ํ† ๋„ˆ๋จผํŠธ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Waves ํ”Œ๋žซํผ ๋ธ”๋ก์ฒด์ธ์˜ 60๊ฐœ ๋ธ”๋ก์—์„œ ์ง„ํ–‰๋˜๋ฉฐ ํ˜„์žฌ ์•ฝ 1์‹œ๊ฐ„ ๋™์•ˆ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. 60๊ฐœ ๋ธ”๋ก ์ดํ›„ ์ตœ์†Œ 60๊ฐœ์˜ ํ‹ฐ์ผ“์ด ์žˆ์œผ๋ฉด ํ† ๋„ˆ๋จผํŠธ๋Š” ์™„๋ฃŒ๋˜๊ณ  ์ข…๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ XNUMX๊ฐœ ๋ธ”๋ก์— ๋Œ€ํ•ด ํ† ๋„ˆ๋จผํŠธ ํ™œ๋™ ์‹œ๊ฐ„์ด ์—ฐ์žฅ๋ฉ๋‹ˆ๋‹ค.
  3. ํ† ๋„ˆ๋จผํŠธ๊ฐ€ ์ข…๋ฃŒ๋œ ์งํ›„, ์šฐ๋ฆฌ๋Š” ๋‚ ์งœ ํŠธ๋žœ์žญ์…˜(์•ฝ $0.005์˜ ์ˆ˜์ˆ˜๋ฃŒ๋„ ์ง€๋ถˆํ•จ)์„ ์ƒ์„ฑํ•˜์—ฌ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ถ”์ฒจ์˜ ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ธฐ๋ก๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜๊ณผ ์ฃผ๋ฌธํ•œ ํ”Œ๋ ˆ์ด์–ด ๋ชฉ๋ก(ํ‹ฐ์ผ“)์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ ์Šน์ž๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์ด๋ฏธ ์ฝ”๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„(R ์ฝ”๋“œ)๊ณผ ๊ฑฐ๋ž˜ ๋‚ ์งœ ID(TXID)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์„œ๋ช…์„ ์œ„ํ•ด ์—ฐ๊ฒฐ(R ์ฝ”๋“œ + TXID) ํ˜•์‹์œผ๋กœ ์˜ค๋ผํด์— ์ „์†กํ•˜๊ณ  ๋‹ค์‹œ ์ˆ˜์ˆ˜๋ฃŒ + ๋ณด์ƒ์„ ์ง€๋ถˆํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ผํด์€ ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ์˜ ๊ณ ์œ ์„ฑ๊ณผ ์†Œ์† ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ์˜ ์‹œ์ž‘์ ์ธ sha256 ํ˜•์‹์˜ ์ฝ”๋“œ(S ์ฝ”๋“œ)์˜ ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  5. ๋‹น์ฒจ ํ‹ฐ์ผ“์˜ ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‚œ์ˆ˜๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด sha256 ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ์˜ S ์ฝ”๋“œ๋ฅผ 1์ง„์ˆ˜(HEX) ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฒฐ๊ณผ HEX ๋ฌธ์ž์—ด์—์„œ ์ˆซ์ž๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ์ˆซ์ž๋ฅผ ํ‹ฐ์ผ“ ์ˆ˜(all_tickets)๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๊ณ  ๊ฒฐ๊ณผ์— 1์„ ๋”ํ•ฉ๋‹ˆ๋‹ค(all_tickets ์•ž์— ์ˆซ์ž XNUMX์„ ์–ป์œผ๋ ค๋ฉด). ๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ์Šน์ž์˜ ์ผ๋ จ ๋ฒˆํ˜ธ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.
  6. ์ถ”์ฒจ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์šฐ์Šน์ž๊ฐ€ ์—ฌ๋Ÿฌ ๋ช…์ธ ๊ฒฝ์šฐ ๊ฒฝํ’ˆ ์ˆ˜์™€ ๋™์ผํ•œ ๊ธˆ์•ก์œผ๋กœ ์ด์ „ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ด๋ฏธ ๋‹น์ฒจ๋œ ํ‹ฐ์ผ“์„ ๋ชฉ๋ก์—์„œ ์ œ๊ฑฐํ•˜๊ณ  all_tickets๋ฅผ 1์”ฉ ์ค„์ผ ๋•Œ๋งˆ๋‹ค S ์ฝ”๋“œ ๋Œ€์‹  ์ด์ „์— ๋ฐ›์€ ํ‹ฐ์ผ“ ๋ฒˆํ˜ธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์ธ ์‹ค์ œ ์˜ˆ์ธ ํ† ๋„ˆ๋จผํŠธ ๋ฒˆํ˜ธ 119๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด 7๋งค(all_tickets)
ํ‹ฐ์ผ“ ๋น„์šฉ 50์ฝ”์ธ(๋ฒ ํŒ…)
๊ฒŒ์ž„ ์ˆ˜์ˆ˜๋ฃŒ 10% (์ˆ˜์ˆ˜๋ฃŒ)

๋ณต๊ถŒ ์กฐ๊ฑด์— ๋”ฐ๋ผ 30%๊ฐ€ ์ƒ๊ธˆ์œผ๋กœ ์ง€๊ธ‰๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ 2์žฅ์˜ ํ‹ฐ์ผ“์ด ์ƒํ’ˆ์„ ๋ฐ›์•„์•ผ ํ•˜๋ฉฐ ๊ทธ ํฌ๊ธฐ๋Š” (Bet*all_tickets-Fee)/2 ๊ณต์‹์— ๋”ฐ๋ผ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

1. ์ˆ˜์‹ ๋œ R ์ฝ”๋“œ: RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE

2. ํ† ๋„ˆ๋จผํŠธ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ๋ฒˆํ˜ธ + ์ฃผ์†Œ(ํ† ๋„ˆ๋จผํŠธ ์ฐธ๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆํ•œ ์ง€๊ฐ‘ ์ฃผ์†Œ) ์Œ ํ˜•ํƒœ์˜ ํ‹ฐ์ผ“ ๋ชฉ๋ก์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ๊ฐ€ ๋ฐ˜๋ณต๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ์ด๋Š” ํ•œ ์ฐธ๊ฐ€์ž๊ฐ€ ํ•œ ํ† ๋„ˆ๋จผํŠธ์˜ ํ‹ฐ์ผ“์„ ์—ฌ๋Ÿฌ ์žฅ ๊ตฌ์ž…ํ–ˆ์Œ์„ ์˜๋ฏธํ•˜๋ฉฐ ์ด๋Š” ๊ทœ์น™์— ์˜ํ•ด ๊ธˆ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ „์†ก๋œ ๊ฑฐ๋ž˜ ๋‚ ์งœ: 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

3. ์š”์ฒญ๋œ S ์ฝ”๋“œ: FTF3uRyaa4F2uAyD6z5a3CNbTXbQLc7fSR6CFNVjgZYV ์„ค๋ช… ํฌํ•จ(R ์ฝ”๋“œ + TXID):
RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

4. ์ˆ˜์‹ ๋œ S ์ฝ”๋“œ: Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC

5. ์Šน์ž๊ฐ€ ๊ฒฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

6. ์ง€๋ถˆ๊ธˆ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค

๊ทธ ๊ฒฐ๊ณผ, ์šฐ๋ฆฌ๋Š” ์–ธ์ œ๋“ ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ๋ธ”๋ก์ฒด์ธ์— ๊ฒฝํ’ˆ ์ถ”์ฒจ ์ ˆ์ฐจ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ๊ธฐ๋กํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์ตœ์ž๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ ์–ด๋„ ๋” ์ด์ƒ ๋ˆˆ์— ๋„์ง€ ์•Š๊ฒŒ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

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.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€