Sistema justo
Entenda como garantimos a integridade dos nossos jogos utilizando o sistema justo
Como funciona?

Sistema justo

O sistema justo, também conhecido como "provably fair", é um método de transparência que garante que os resultados de jogos de sorte são justos e imparciais. Esse método utiliza tecnologias de criptografia para garantir que o resultado dos jogos não podem ser manipulados, e garante uma experiência de jogo segura e justa para todos os jogadores.

Porque usamos o sistema justo?

Nós utilizamos o sistema justo para trazer confiança e transparência para os nossos jogadores. Nessa página, iremos explicar como o sistema funciona e como você pode verificar a integridade de forma independente.

Esse método é confiável?

Entendemos que se o método não for confiável, o sistema não terá integridade. Por isso, o método usa de criptografia para disponibilizar as chaves usadas para gerar os resultados antes mesmo dos jogos acontecerem.
Criptografia

O que é criptografia?

A criptografia é uma técnica de segurança digital, que "embaralha" uma informação para um formato codificado.

Essa mesma tecnologia é utilizada globamente para trazer segurança para suas senhas. Por exemplo, quando você cria uma conta em qualquer site, a sua senha é criptografada antes de ser armazenada no banco de dados do serviço utilizado, e apenas você, com a sua senha, terá a possibilidade de descriptografar essa informação.
Comprovação de resultados

Auditoria

Nós utilizamos o sistema justo na abertura de pacotes, onde a carta recebida depende da sorte. Outras apostas que podem ser realizadas na plataforma são baseado no resultado real de eventos esportivos, onde o resultado é imprevisível e não pode ser manipulado.

A aplicação do sistema justo é baseado em três propriedades: a chave do servidor, a chave do usuário e um número arbitrário que poderá ser utilizado apenas uma vez.

Chave do servidor: uma chave, ou senha, que o servidor vai utilizar para gerar os resultados aleatórios. Essa informação é disponível para você antes do jogo, porém de forma criptografada. Após o jogo, você terá acesso a chave descriptografada, e poderá usar o mesmo algoritmo de criptografia para verificar a integridade do resultado. Para garantir que nós não vamos alterar a chave do servidor para manipular o resultado, você não apenas terá acesso a chave do servidor atual, porém também a chave futura. A chave futura será utilizada após a atual, fazendo impossível para nós alterarmos essa chave para manipular os resultados dos jogos, a não ser que possamos prever o futuro. Você pode verificar a chave atual e futura do servidor no painel de comprovação de resultados.

Chave do usuário: uma chave, ou senha, definida por você. Caso você optar por não definir essa chave, ela será gerada automaticamente. Porém, recomendamos que você defina a sua própria chave para não haver dúvidas da integridade dos jogos. Você pode definir a sua chave no painel de comprovação de resultados. Sua chave poderá ser alterada a qualquer momento, inclusive após receber a chave do servidor, isso garante que não poderemos manipular o resultado de suas apostas, afinal, você terá a nossa chave com antecedência, e poderá mudar a sua a qualquer momento.

Número arbitrário: Esse número, também conhecido como nonce, é um número que só pode ser utilizado uma vez. Isso garante que mesmo que você abra milhares de pacotes, os resultados sempre serão diferentes. Esse número é definido pela quantidade de vezes que você já abriu um pacote. Caso nunca tenha aberto, ele será 1, e posteriormente será incrementado para cada pacote aberto.
Verificação independente

Verificando na prática

Vamos utilizar um exemplo prático de como você pode verificar os resultados de forma independente. Primeiramente, vamos acessar o painel de comprovação de resultados e atualizar a chave de usuário e verificar a chave do servidor:Provably fair dashboardAqui teremos acesso a sua chave e as chaves do servidor:
Chave atual do servidor:6e43a09751aaa1e298b36a7f23bf7d4c4e9aacd81e36593baf20cd1053d13866
Chave futura do servidor:f141044ea1b1704157a314ace3329bfd2b4118e30e65a3e72ec1ca00acf47ffc
Chave do usuário:piperbet_is_fun!

Abrindo um pacote

Nesse momento temos acesso a todas as chaves que serão utilizadas para gerar o resultado. O número atual de apostas (nonce) desse exemplo é 153. Com todos esses valores, vamos à abertura de um pacote. Para esse exemplo, vamos abrir um pacote do FC Barcelona pela La Liga.Provably fair dashboard

Obtendo a chave descriptografa do servidor

Uma vez que o pacote foi aberto e recebemos nossa carta, teremos agora acesso a chave descriptografada do servidor. Para acessar essa informação basta entrar no painel de usuário e acessar o histórico de abertura de pacotes e clicar no botão "comprovação de resultado".Provably fair dashboardAgora temos acesso a chave descriptografada do servidor, e também o resultado do jogo:
Chave do servidor descriptografada:c8939c21a7400f7523f86b5e8342eb00198d12a41a88d2e90036a870824bf1b6
Resultado:17178730

Calculando o resultado

O resultado é efetivamente a carta que você recebeu. Essa é a etapa mais crucial do processo, onde vamos calcular de forma independente se o resultado está correto.

Para realizar esse cálculo, será utilizado as três informações citadas acima separados por um hífen, sendo primeiro a chave do servidor descriptografada, seguido pela chave do usuário e o nonce: c8939c21a7400f7523f86b5e8342eb00198d12a41a88d2e90036a870824bf1b6-piperbet_is_fun!-153

Agora vamos transformar essa chave final em um valor numérico. Para isso, usamos um algoritmo de autenticação de mensagem com chave hash (HMAC SHA256) em base hexadecimal. Posteriormente esse resultado é dinamicamente traduzido para um número inteiro.

Entendemos que essa parte pode ser complexa sem conhecimento técnico prévio. Nesse momento, é importante você validar essa informação fora de nossa plataforma. Para lhe auxiliar, disponibilizamos abertamente o código fonte desse algoritmo. De forma alternativa, você poderá copiar o código e executar em qualquer ambiente de execução online. Não será necessário utilizar o nosso código em si, basta entender como ele é feito para poder replicar o resultado de forma independente.

Traduzindo o resultado

Para traduzir o resultado numérico para a carta efetivamente recebida, precisamos acessar novamente a página do pacote. Clique em cima da carta recebida, e você terá acesso a dois números: início e fim. O resultado estará dentro desse intervalo.Provably fair dashboardCada carta no pacote terá um intervalo diferente, definido pela sua probabilidade em uma escala de 1 até 100 milhões de números. Isso significa que existe 100 milhões de possibilidades diferentes para o seu resultado.
Último passo

Validando a chave do servidor

Agora você garantiu que o resultado foi de fato aleatório sem a possibilidade de manipulação. Porém, a chave do servidor inicialmente verificada estava criptografada, e para garantir que não houve interferência, você precisa garantir que a chave do servidor descriptografada corresponde ao que foi fornecido.

Para isso, basta fazer o processo inverso, realizando novamente uma encriptação da chave descriptografada fornecida no seu histórico usando um algoritmo SHA256, e garantir que o resultado encontrado é de fato a chave fornecida previamente como chave criptografada.

Para realizar esse processo você pode usar qualquer ferramenta online para fazer criptografia de um texto usando o algoritmo SHA256. Preferimos não recomendar nenhuma ferramenta específica para evitar interferência na sua auditoria, porém você facilmente poderá encontrar uma ferramenta online pesquisando por "SHA256 online".