Kanıtlanabilir adil çekilişler
Commit-and-reveal, EOS blok zinciri çapası ve nasıl doğrulanacağı.
Her Skincash çekilişi, sonradan herkesin bağımsız olarak doğrulayabileceği bir yöntemle yapılır. Skincash ekibi de dahil olmak üzere hiç kimse sonucu tahmin edemez veya etkileyemez.
Çekilişten önce: commit
Bir çekiliş oluşturduğumuzda rastgele 256 bitlik bir sunucu tohumu üretiriz. Tohumun kendisini yayınlamayız — yalnızca SHA-256 hash'ini yayınlarız. Bu hash, commit'tir ve çekiliş yayına girdiği anda veritabanında dondurulur. SHA-256 tek yönlü olduğundan, hash'i bilmek kimsenin tohumu tahmin etmesini sağlamaz.
Harici entropi: EOS bloğu
Çekiliş anında cron işçimiz EOS blok zincirinden en son geri alınamaz bloğu sorgular ve blok hash'ini kaydeder. EOS blokları, bağımsız bir ağ tarafından yarım saniyede bir üretilir, bu nedenle gelecekteki herhangi bir andaki blok hash'i commit anında tahmin edilemez. Bu da Skincash'in bile çekilişi etkileyemeyeceği anlamına gelir.
Reveal ve çekiliş
Kazanan bilet şöyle hesaplanır: winningTicket = (BigInt(sha256(serverSeed + publicSeed + eosBlockId)) mod BigInt(totalTickets)) + 1. Çekilişten sonra sunucu tohumunu, blok kimliğini, public seed'i ve toplam bilet sayısını yayınlarız, böylece herkes hash'i yeniden üretip kazanan bileti doğrulayabilir.
const crypto = require('crypto');
// Yayınlanan veriler (çekiliş kartında görünür)
const serverSeed = '<çekilişten sonra açıklanır>';
const publicSeed = '<çekilişte yayınlanır>';
const eosBlockId = '<çekiliş anındaki EOS blok hash>';
const totalTickets = <satılan toplam>;
const hash = crypto
.createHash('sha256')
.update(serverSeed + publicSeed + eosBlockId)
.digest('hex');
const winning =
(BigInt('0x' + hash) % BigInt(totalTickets)) + 1n;
console.log('Kazanan bilet:', winning.toString());Nasıl doğrulanır
Geçmiş çekiliş kartlarından herhangi birinde Adilliği Doğrula butonuna tıkla. Açılan pencere dört girdinin tamamını gösterir, commit-reveal çiftinin geçerli olduğunu kanıtlamak için istemci tarafında SHA-256 çalıştırır ve Node ya da tarayıcı konsolunda yerel olarak çalıştırıp kazanan bileti yeniden üretebileceğin kopyalanabilir bir kod parçacığı sunar.
Güven ve Güvenlik kategorisinden daha fazlası
Hâlâ yardıma mı ihtiyacın var?
Canlı destek ekibimiz 7/24 çevrimiçi ve ortalama 5 dakikadan kısa sürede yanıt veriyor. Sayfadan doğrudan sohbet aç, gerisini biz hallederiz.