FameBet

Apa itu dapat dibuktikan adil?

Dapat dibuktikan adil berarti bahwa hasil setiap game dihasilkan oleh nilai acak yang dapat diverifikasi secara independen oleh pemain. Ini menjamin transparansi dan keadilan, memastikan bahwa baik pemain maupun kasino tidak dapat memanipulasi hasilnya.

Bagaimana cara kerjanya?

VRF (fungsi acak yang dapat diverifikasi) untuk menghasilkan nilai yang benar-benar acak, kami menggunakan VRF. Fungsi ini mengambil beberapa input, termasuk ID pengguna, nama game, nonce game, dan kunci rahasia kasino. Ini melakukan komputasi kriptografi dan mengeluarkan nilai acak dan bukti. Bukti ini memungkinkan siapa saja untuk memverifikasi bahwa nilai dihasilkan secara adil dan tidak diubah. Kami mengikuti implementasi RFC6979 VRF menggunakan cipher suite SECP256K1_SHA256_TAI untuk keacakan yang aman dan dapat diverifikasi.

Memverifikasi keadilan

Pemain dapat memverifikasi nilai acak secara independen menggunakan kode berikut:

const { verify } = require('@roamin/ecvrf')
const toHex = require('string-hex')

const publicKey = '03c41192ba26b7efafa9c69c941f759690d4fd46761c8424edbad1d5fc2c5c0947'
const request = 'e1bc2c47-9b42-4409-8a21-d4c4f46455be|rollbit:mines|25|1234costam'
const random = 'e2983665217b5aaebf11c886ef31e001c9615362b0aa6c3e49de9057f8979e1d'
const proof = '03008cd333b153dddcffc64abf357222d31cd6e6f85ddbbe9227a60d2d0edcf9e6ab0f088c1f4402e6b4fa0ef430612d3ca86a686fc857ff412a8fe1553c821f47fcc21f4b2ca1d4c3b09b59a7e4fe1b8a'

try {
  const result = verify(publicKey, proof, toHex(request))
  console.log(result === random ? 'Is Verified' : 'Not Verified')
} catch (error) {
  console.log(error)
}

Menghitung hasil game

Setelah nilai acak diverifikasi, itu dikonversi menjadi angka:

import * as crypto from 'crypto';
function bytesToUniformFloat(xs) {
    const hash = crypto.createHash('blake2b512').update(xs).digest();
    const value = hash.readBigUInt64LE(0);
    return Number(value) / Number(BigInt(2 ** 64 - 1));
  }

Angka yang dikonversi ini kemudian digunakan untuk menghasilkan hasil game akhir berdasarkan logika khusus game.

function calcMinesIxs({ size, mines, randomValue }) {
  const remainingIxs = Array.from({ length: size }, (_, i) => i);
  const mineIxs = [];
  for (let i = 0; i < mines; i++) {
    const seedI = Buffer.from(randomValue + '-' + i, 'ascii');
    const ixI = Math.floor(bytesToUniformFloat(seedI) * remainingIxs.length);
    mineIxs.push(remainingIxs[ixI]);
    remainingIxs.splice(ixI, 1);
  }
  return mineIxs;
}

const calcMinesWin = ({ size, mines, reveals, bet }) => {
  let mult = 1.0;
  for (let i = 0; i < reveals; i++) {
    const lossProbability = mines / (size - i);
    mult *= 1.0 / (1.0 - lossProbability);
  }
  return Math.floor(100.0 * bet * mult * 0.98) / 100.0;
};

function generateBoard({ size, mines, randomValue }) {
  const mineIxs = calcMinesIxs({ size, mines, randomValue });
  const sizeSqrt = Math.sqrt(size);
  const board = Array.from({ length: sizeSqrt }).map(() => Array(sizeSqrt).fill(0));
  for (const index of mineIxs) {
    const row = Math.floor(index / sizeSqrt);
    const col = index % sizeSqrt;
    if (row < sizeSqrt && col < sizeSqrt) {
      board[row][col] = -1;
    }
  }
  console.log('Board:', board);
  return board;
}

generateBoard({ size: 25, mines: 2, randomValue: 'be87e890f696aad0aad28bef78a3f2322c7687a76ff6f86b6dadb4f2aa00eeb9' });
console.log('Multipliers:');
for (let i = 1; i < 24; i++) {
  console.log(i, ': ', calcMinesWin({ size: 25, mines: 2, reveals: i, bet: 1 }));
}
Famebet

Famebet.com dimiliki dan dioperasikan oleh Better Fame LTD. nomor registrasi: 15907, alamat terdaftar: Hamchako, Mutsamudu, Autonomous Island of Anjouan, Union of Comoros. Hubungi kami support@famebet.com. Famebet.com dilisensikan dan diatur oleh Pemerintah Autonomous Island of Anjouan, Union of Comoros dan beroperasi di bawah Lisensi No. ALSI-202509070-FI2. Famebet.com telah lulus semua kepatuhan peraturan dan secara hukum berwenang untuk melakukan operasi permainan untuk semua permainan kesempatan dan taruhan.

DiscordTelegramTikTokYouTubeInstagramX

Kontak

support@famebet.com

Mitra

partners@famebet.com

Afiliasi

18+

© 2025 Famebet. Semua hak dilindungi.