DjinnDjinn2x
FlashbackFlashback
Bunsen BurnerBunsen Burner
Aces HighAces High
ApocalyptoApocalypto
JusticeJustice
Condition ZeroCondition Zero
Blue StreakBlue Streak
MarinaMarina
Urban DDPATUrban DDPAT
Orange CrashOrange Crash
HideoutHideout
CapillaryCapillary
ConnexionConnexion
ValenceValence
System LockSystem Lock
TeardownTeardown
Urban RubbleUrban Rubble
FlashbackFlashback
SweeperSweeper
TriarchTriarch
SWAG-7SWAG-7
Flora CarnivoraFlora Carnivora
CapillaryCapillary
busterbuster
EcoEco

WAS IST DAS TRANSPARENZSYSTEM?

Das von uns verwendete Transparenzsystem ermöglicht es, die Korrektheit jeder Öffnung zu überprüfen.

Das Ergebnis der Öffnung ist nicht zufällig, sondern wird anhand von drei Werten berechnet:

  • Server Seed – ein vom Server festgelegter Begriff,

  • Client Seed – ein vom Benutzer festgelegter Begriff,

  • Nonce – eine eindeutige Nummer zur Gewährleistung der Rechensicherheit.

Der Begriff "Server Seed" ist für den Benutzer verborgen und wird nur als ("Public Hash") angezeigt, um Vorhersagen über den Inhalt der nächsten Box zu verhindern.

Durch die Nutzung von Daten sowohl vom Server als auch vom Benutzer kann die Transparenz der geöffneten Box sichergestellt und eine Manipulation von beiden Seiten ausgeschlossen werden.

KONFIGURATION

CLIENT SEED

SERVER SEED

Verschlüsselter Server-Seed mit der HMAC SHA-512-Methode.

NONCE

CODE ZUR ÜBERPRÜFUNG DER ÖFFNUNGSTRANSPARENZ

Sobald der Server Seed offengelegt ist, kannst du den folgenden Code verwenden, um die Transparenz der Öffnung zu überprüfen. Du kannst ihn direkt in deinem Browser mit einem beliebigen JavaScript-Compiler ausführen. Verwende den folgenden Code, um dein eigenes Verifizierungsskript zu erstellen, und klicke dann auf "Ausführen". Nach der Ausführung wird das Öffnungsergebnis angezeigt, das mit dem Ergebnis auf unserer Website übereinstimmen sollte.



async function getRoll(serverSeed, serverNonce, clientSeed) {
	const enc = new TextEncoder();
	const key = enc.encode(serverSeed);
	const message = enc.encode(clientSeed + '-' + serverNonce.toString());

	const cryptoKey = await crypto.subtle.importKey(
		'raw',
		key,
		{ name: 'HMAC', hash: 'SHA-512' },
		false,
		['sign']
	);

	const signature = await crypto.subtle.sign('HMAC', cryptoKey, message);
	const hashArray = Array.from(new Uint8Array(signature));
	const hex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
	const rollHex = hex.substring(0, 7);
	const number = parseInt(rollHex.replace(/[^a-f0-9]/gi, ''), 16);

	return (number % 100000) + 1;
}

serverSeed = '';
serverNonce = 1;
clientSeed = '';

getRoll(serverSeed, serverNonce, clientSeed).then(roll => console.log('Roll result:', roll));

ÖFFNUNG ÜBERPRÜFEN