Вход | Регистрация


Информационные технологии ::

Метки: 

Нужно придумать условия для онлайн подбрасывания монетки

Я
   Доктор Кто
 
14.09.18 - 20:17
Пример: Для чувака из разных городов решают спор подбрасыванием монетки. Но у них медленный или дорогой интернет, по скайпу не могут подбросить монетку, или не хотят.
Нужно придумать такой онлайн сервис, чтобы можно было его использовать для бросания монетки. Например один из чуваков зашел на сайт, нажал "бросить монетку", получил результат, и отправил этот результат корешу в доказательство.
Важно, чтобы было невозможно смухлевать, то есть бросить монетку несколько раз с разных IP или компов и отправить только выгодный для себя вариант.
Как это можно сделать? Или может уже существует?
 
 
   Cyberhawk
 
1 - 14.09.18 - 20:23
Надо чтоб это происходило в онлайне для обеих сторон, а не для одной
   Доктор Кто
 
2 - 14.09.18 - 20:25
(1) Онлайн конечно.
Есть вариант как это можно сделать не в реальном времени?
Например один бросил монетку сегодня, а второй проверил результат завтра.
   Базис
 
3 - 14.09.18 - 20:26
Счётчик бросков каждого и лог.
Двухуровневая блокировка.
   Злопчинский
 
4 - 14.09.18 - 20:31
а как же блокчейн
   Asmody
 
5 - 14.09.18 - 20:31
На аккувевере оба подписываются на почасовой прогноз в каком-нибудь Кейптауне. И берут показания на 12 дня. Если градус температуры нечетный - "орел", иначе - "решка"
   Доктор Кто
 
6 - 14.09.18 - 20:32
(3) А поподробнее?
(4) не окупится.
   Denis_CFO
 
7 - 14.09.18 - 20:34
(0) Любой тотализатор, где динамика большая.
   Доктор Кто
 
8 - 14.09.18 - 20:34
(5) Придется большой срок выбирать. Прогноз на ближайшее время можно с какой-то вероятностью предсказать.
   Доктор Кто
 
9 - 14.09.18 - 20:35
(7) Желательно самим решать когда бросить монетку, а не ждать чего-то.
   Доктор Кто
 
10 - 14.09.18 - 20:37
Я заранее придумал, но пока не скажу. Интересно кто еще что-то придумает
 
 Рекламное место пустует
   Denis_CFO
 
11 - 14.09.18 - 20:38
(10) а чем (4) не устраивает?
   Доктор Кто
 
12 - 14.09.18 - 20:40
(11) Устраивает. Интересуют более дешевые варианты
   Denis_CFO
 
13 - 14.09.18 - 20:47
(12) а что там дорого? Сервер на не заинтересованной стороне и (3)
   Garykom
 
14 - 14.09.18 - 21:22
1-й "выбирает" (гуид на сайте генерит) монетку, 2-й ее "бросает" (по заданному гуид формирует случайное число), результат с гуидом сохраняются на сайте.

Как гуид от одного к другому передавать придумай сам, простейше через пинкод уникальный который первый сказал второму.
По пинкоду можно получить гуид+результат с момента выдачи до какого то срока (неделю или более).
   Garykom
 
15 - 14.09.18 - 21:24
Еще лучше камень-ножницы-бумага реализовать, более интересно будет.
   RomanYS
 
16 - 14.09.18 - 21:26
(9) Ну возьми котировки чего-нибудь, что торгуется круглосуточно. Последний знак - непредсказуем
   Доктор Кто
 
17 - 14.09.18 - 22:16
(14) Да, с сохранением данных на сервере можно придумать очень много вариантов. С регистрацией пользователей, бросков монеты, и прочего.

А можно ли сделать без сохранения чего-либо на стороне сервера?
   Доктор Кто
 
18 - 14.09.18 - 22:17
(15) Хорошая идея
   Доктор Кто
 
19 - 14.09.18 - 22:18
(16) Было уже подобное два раза. Но хочу свой собственный сервис. Чтобы не зависел от чужих
   RomanYS
 
20 - 14.09.18 - 22:28
(17) Есть ассиметричное шифрование, даже банального хеша достаточно. Загадали числа, обменялись хешами, обменялись числами, сложили - получили результат, проверили хеши.
   Sapiens_bru
 
21 - 14.09.18 - 22:37
(0) Относительно просто.
1) Просим пользователя номер 1 зарегистрироватся в сервисе. Например указать свой е-мейл.
2) Юзер 1 жмет кнопку "бросить монетку" и получает на свой емейл ссылку с описанием "Попросите друга перейти по ссылке и нажать кнопку орел или кнопку решка"
3) Юзер 2 переходит по ссылке, жмёт вариант. В этот момент происходит вычисление вероятности и результат одновременно отражается на экране юзер2 и отправляется в почту юзер1

Хакать систему бессмысленно. Вероятность вычисляется случайно и рассылается двум юзерам одновременно. Второй видит свою победу или поражение сразу, первый - когда проверит почту.
   Доктор Кто
 
22 - 14.09.18 - 22:40
(20) Да, подходит
   Доктор Кто
 
23 - 14.09.18 - 22:44
(21) Да, можно. Но это хранение данных на сервере.
Можно упростить так:
Пользователь 1 дает свой имейл пользователю 2.
Пользователь 2 вводит его на сайте и получает результат сразу, а Пользователь 1 получает результат по имейлу.
   Доктор Кто
 
24 - 14.09.18 - 22:46
+(23) Но это тоже вариант хранение данных на сервере, в данном случае на почтовом.
   RomanYS
 
25 - 14.09.18 - 23:12
(21) (23) А если сервис выдаст не случайное число, а заказанный одним из участников результат. Типа джентльменам принято верить на слово?
   Доктор Кто
 
26 - 14.09.18 - 23:17
(25) Типа того. А если числа загадывать, то очень большие? Иначе перебором можно узнать какое число загадал противник.
   RomanYS
 
27 - 14.09.18 - 23:26
(26)
>> Типа того.  
так фигня же полная
>>А если числа загадывать, то очень большие?
что мешает к загаданному биту (0 или 1) добавить килобайт мусора. Перебор 2^(8*1024) вариантов задача абсолютно нереальная, а передача килобайта - абсолютно банальная
   Доктор Кто
 
28 - 14.09.18 - 23:41
(27) Считаем что сервис независимый и ему можно доверять.
   exwill
 
29 - 15.09.18 - 10:37
(0) Ответ специалиста по блокчейну.
Участник А "загадывает число", т.е. генерит произвольную последовательность из 64 байт (величина 64 не принципиальна, можно больше, можно меньше).
Участник А получает хэш этой последовательности, например по алгоритму SHA256.
Хэш отсылается участнику Б.
Участник Б пишет в ответ: "я добавляю к твоему загаданному числу 0" или "я добавляю к твоему загаданному числу 1"
Участник А отсылает участнику Б загаданную последовательность.

Монета подброшена.

У каждого из участников на руках результат (начальная последовательность плюс 0 или 1).
Каждый из участников может быть уверен в том, что этот результат был непредсказуем для обеих сторон.
   exwill
 
30 - 15.09.18 - 10:38
+(29) Все это достаточно просто реализуется средствами 1С.
   Cyberhawk
 
31 - 15.09.18 - 10:39
(29) Давай попроще и на конкретном примере
   exwill
 
32 - 15.09.18 - 10:41
(31) Не понимаю - что здесь можно упростить.
Я описал - проще некуда. Какой момент тебе непонятен?
   exwill
 
33 - 15.09.18 - 10:48
(28) В данном случае сервис делать бессмысленно. Два участника обойдутся без сервиса. Можно, разве что, сделать приложение, которое будет им помогать генерить произвольные последовательности и проверять хэши.
 
 
   bse
 
34 - 15.09.18 - 10:48
Random.org
   Cyberhawk
 
35 - 15.09.18 - 10:49
(32) Обойдись без слов "хэш" и "последовательность". Чтоб любой дошкольник мог понять.
   exwill
 
36 - 15.09.18 - 10:51
(35) Замени "хэш" на "функция", а "последовательность" на "набор". Теперь все понятно?
   Cyberhawk
 
37 - 15.09.18 - 10:53
Нет. Ты что-то тупишь - орел и решка понятно и ребенку, и старику. Объясни так же, чтоб им это было понятно.
   Доктор Кто
 
38 - 15.09.18 - 10:54
(29) Это RomanYS ты называешь специалистом по блокчейну? ))
   exwill
 
39 - 15.09.18 - 10:55
(38) Странный вопрос. Специалистом я называю себя.
   Доктор Кто
 
40 - 15.09.18 - 10:58
(39) Но привет пример ответа Romanа
   exwill
 
41 - 15.09.18 - 10:59
(37) Умному ребенку и умному старику должно быть понятно словосочетание "результат вычисления функции". Объяснять что-то неумному я не возьмусь, времени жаль.
   exwill
 
42 - 15.09.18 - 11:00
(40) Так бывает.
   RomanYS
 
43 - 15.09.18 - 11:06
(35) При таком подходе тебе придётся просто согласиться с (28)   :)
   exwill
 
44 - 15.09.18 - 11:14
(37) Впрочем, ты прав.
Начальный пост (29) следует дополнить словами:

Участник А не может схитрить и отправить участнику Б не загаданный им набор байтов, а другой, выгодный ему. У участника Б есть результат вычисления функции SHA256. И он может проверить присланный ему набор байтов, вычислив результат функции SHA256 и сравнив с полученным ранее.

Хотя я и уверен, что 90 процентов детей и стариков оскорбились бы, читая это дополнение, но ты защитил права оставшихся 10.
   Cyberhawk
 
45 - 15.09.18 - 11:15
(43) Нет, просто нужно, чтоб любой пользователь сервиса мог без напрягов понять, как этот сервис работает, чтобы ему можно было безоговорочно доверять
   RomanYS
 
46 - 15.09.18 - 11:20
(45) Как раз (20) и (29) не предполагает наличие сервиса, но предполагает понимание смысла хэш-функции.
   Cyberhawk
 
47 - 15.09.18 - 11:21
(46) Это не для народа (широких масс), поэтому неинтересно
   RomanYS
 
48 - 15.09.18 - 11:23
(47) так и не спрашивай тогда, здесь в среднем одинесники))
   PuhUfa
 
49 - 15.09.18 - 11:26
(0) пусть в Discord'е это делают. Там есть боты реализующие бросание кубиков (возможно даже и с монеткой есть)
 
 Рекламное место пустует
   Cyberhawk
 
50 - 15.09.18 - 11:42
(48) Что не спрашивать?
   Доктор Кто
 
51 - 15.09.18 - 12:43
(49) А в скайпе есть такие боты?



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует