Играть на деньги в онлайн-казино могут решиться, пожалуй, только самые отчаянные люди. Невозможно проверить исход “случайного” события, неизвестна вероятность выигрыша заложенная в алгоритм, не понятно кто за всем этим стоит, и вообще, отдадут ли выигрыш? На мой взгляд слишком много неизвестности. В конце концов, онлайн-казино виртуальны в своей основе. Это просто биты и байты на каком-то удаленном сервере, которыми можно просто манипулировать, подгоняя “случайность” под свой бизнес-план.
С приходом криптовалют, пришла и невиданная ранее свобода. Теперь можно легко переводить любые суммы из пункта А в пункт Б, банк не способен заблокировать счет по желанию клерка, а транзакции публичны и необратимы. Революция должна была прийти и в мир гемблинга, ведь со свободой и анонимностью появились новые возможности и для мошенников различных мастей.
Казино, как известно, работает со случайностями и вероятностями. Как устроители азартных игр могли бы показать собственную прозрачность и убедить игроков в независимости случайных процессов? Ответ на поставленный вопрос дает криптография.
Минимальные основы криптографии
В основе технологии Bitcoin, как известно, лежит криптография. Именно она обеспечивает невозможность подделки кошельков и транзакций. Криптография — это наука о сокрытии информации при помощи шифров. Одним из побочных эффектов развития алгоритмов шифрования явилось изобретение функций хеширования (хеш-функций или попросту хешей).
Говоря простым языком, функция хеширования — это разновидность цифровой подписи. Исходный текст не запутывается, как в случае с шифрованием, а проходит ряд необратимых криптографических преобразований, на выходе которых появляется другой текст, часто называемый также хешем. Основные свойства хешей:
- из хеша нельзя получить исходный текст
- для одного и того же текста хеш будет всегда одинаковым
- малейшее изменение исходного текста повлечет за собой вычисление нового хеша
- для двух уникальных текстов хеши также уникальны
Таким образом можно говорить, что хеш как бы “подписывает” исходный текст, уникально его идентифицирует.
Хеширование лежит в основе Интернет-безопасности. Например, сервис, в котором вы храните свою переписку, хранит ваш пароль, как правило, именно в виде хеша. Из хеша невозможно получить исходный пароль, а значит при взломе сервера ваш пароль не “уплывет” (другое дело, что взлом сервера как правило автоматически означает свободный доступ к вашей переписке, в обход вашего пароля, но это не имеет никакого отношения к криптографии). Когда вы вводите пароль для доступа к своему ящику, сервер вычисляет хеш от введенного пароля и сравнивает с хешем исходного пароля в своих записях, и, если происходит совпадение хешей — вам предоставляется доступ, если совпадения нет — введенный и исходный пароли не эквивалентны.
Криптография и азартные игры
Итак, мы выяснили, что одному и тому же тексту всегда соответствует один и тот же хеш, разным текстам разные хеши, а по хешу нельзя узнать исходный текст. Что если если исходный текст — это случайным образом перемешанная колода карт? Количество возможных комбинаций колоды из 52-ух карт — это примерно 8 с 68-ю нулями (факториал от 52), т.е. очень-очень много, а значит у нас именно столько уникальных вариантов текста. Пронумеруем карты числами от 1 до 52, перемешаем и запишем эту последовательность. Назовем эту комбинацию текстом и пропустим через хеш-функцию (например, такую как SHA256). Полученный в итоге хеш является уникальным для данной комбинации, или ее “подписью”.
Перед раундом игры, например в Блек-джек, сервер онлайн-казино перемешивает колоду, но естественно не сообщает эту комбинацию игрокам. Далее программа вычисляет хеш колоды, а вот его уже публично объявляет. Когда вся колода вышла, изначальный порядок карт в колоде становится известен и игрокам представляется возможность проследить ход игры, а чтобы убедиться, что вмешательства не произошло — достаточно вычислить хеш изначальной колоды и сравнить с объявленным перед раундом игры.
Описаный принцип называется “доказуемой честностью” (provably fair). Его можно применить для игры в блек-джек, покер, рулетку, для лото, и вообще, в любых играх со случайностью.
В заключение приведем список гемблинговых сайтов, следующих “честному” принципу:
От себя пожелаем, чтобы этот список увеличивался, а в одной из следующих статей мы расскажем подробнее как пользоваться этими гемблинговыми сервисами.