ПрограммированиеФорумСеть

Покер p2p без крупье - возможно? (3 стр)

Страницы: 1 2 3
#30
14:15, 11 ноя 2024

}:+()___ [Smile]
> Чукча не читатель? Посты прямо перед твоим: #23, #24.
Да, алгоритм работает, за исключением того момента, что колоду нужно в начале как-то перетасовать. Что опять приводит к тому, что все последовательности карт будут известны до всех этих манипуляций. Я писал про это еще в первом ответе.

#31
14:59, 11 ноя 2024

Storm54
каждый из игроков тасует зашифрованные хеши, так что информации о том какая последовательность карт ни у кого в итоге нет.

#32
21:14, 12 ноя 2024

Кто тогда валидирует чья очередь тащить карту и сколько их вытащено? Как пасование на этот механизм ложится?

#33
23:29, 12 ноя 2024

MANAB
> Кто тогда валидирует чья очередь тащить карту и сколько их вытащено?

Все "валидируют". Можно рассматривать ситуацию так: тот, кто собирается "вытащить" карту из колоды, говорит всем об этом - "я хочу вытащить карту с таким-то кодом". И каждый должен дать на это "согласие" в виде своего ключа для расшифровки этой карты. Если у тебя нет ключа хотя бы от одного из игроков - считай, что "вытащить" карту ты не можешь (фактически не можешь расшифровать ее, она для тебя остается просто шифром).

#34
5:58, 13 ноя 2024

Все участники создают случайную перестановку, которая используется как функция-соответствие из 1..52 к 1..52 без повторений, назовём их map1, map2, map3, .... Чтобы узнать карту в колоде по равномерно растущему индексу i, нужно вычислить map3(map2(map1(i))) итд, но это возможно только если все участники позволят тому, кто берёт карту, её взять, то есть раскроют ему одно соответствие.

А чтобы не было подделок, нужно заранее обменяться подписями сгенерированных перестановок, и после игры вскрывать их полностью и проверять.

UPD: хм, кажется всё не так просто, последний участник цепочки будет видеть какая конкретно карта кому выпала.

#35
12:02, 13 ноя 2024

Что делать если кто-то в какой-то момент не захочет предоставлять ключ? Вышел в середине из игры или из вредности или предоставил невалидный ключ специально?

#36
13:06, 13 ноя 2024

MANAB
значит он проиграл, остальные могут поделить его ставку.

#37
18:32, 13 ноя 2024

Тогда шифрование нужно и для принятия решений о исключении игроков. И опять же принципиально остается возможность зайти несколькими "своими" клиентами и выходить когда не выгодно, а голосования блочить.

#38
20:17, 13 ноя 2024

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

#39
20:33, 13 ноя 2024

MANAB
> И опять же принципиально остается возможность зайти несколькими "своими" клиентами и выходить когда не выгодно, а голосования блочить.
Решение - оставить покер на 2 игроков (там это жульничество не работает, как Skvoznjak правильно написал игроки сговорившиеся друг с другом и при игре с арбитром смогут жульничать), ну либо заходящие вносят значительный залог (>= число игроков*макс.выигрыш) и теряют его при таком вот выходе.

Страницы: 1 2 3
ПрограммированиеФорумСеть

Тема в архиве.