帮助中心/信任与安全/可证明公平的抽奖
信任与安全4 分钟阅读更新于 2026年4月05日

可证明公平的抽奖

承诺-揭示机制、EOS 区块链锚定,以及如何自行验证。

Skincash 每一场抽奖都采用一种任何人都可以在事后独立验证的机制。Skincash 团队在内的任何人都无法预测或操纵开奖结果。

开奖前:承诺

创建抽奖时,我们会生成一个随机的 256 位服务器种子。我们不会公开种子本身 —— 只公开其 SHA-256 哈希值。该哈希值就是承诺,并在抽奖开始的那一刻被冻结写入数据库。由于 SHA-256 是单向的,知道哈希值也无法反推种子。

外部熵源:EOS 区块

在开奖的那一刻,我们的定时任务会查询 EOS 区块链上最新的不可逆区块,并记录其区块哈希。EOS 区块由一个独立网络每半秒产生一次,因此任何未来时刻的区块哈希在承诺时都是不可预测的。这意味着连 Skincash 本身也无法影响抽奖结果。

揭示与开奖

中奖券的计算公式为:winningTicket = (BigInt(sha256(serverSeed + publicSeed + eosBlockId)) mod BigInt(totalTickets)) + 1。开奖后,我们会公布服务器种子、区块 ID、公共种子和总抽奖券数,任何人都可以复现该哈希并验证中奖券。

js
const crypto = require('crypto');

// Published data (visible on the giveaway card)
const serverSeed   = '<revealed after draw>';
const publicSeed   = '<published at draw>';
const eosBlockId   = '<EOS block hash at draw time>';
const totalTickets = <total sold>;

const hash = crypto
  .createHash('sha256')
  .update(serverSeed + publicSeed + eosBlockId)
  .digest('hex');

const winning =
  (BigInt('0x' + hash) % BigInt(totalTickets)) + 1n;
console.log('Winning ticket:', winning.toString());

如何验证

在任何已结束的抽奖卡片上,点击"验证公平性"。弹窗会显示全部四个输入值,在客户端运行 SHA-256 来证明承诺-揭示对有效,并提供一段可复制粘贴的代码片段,您可以在 Node 或浏览器控制台中运行,以在本地复现中奖券。

这篇文章对您有帮助吗?
您的反馈有助于我们改进帮助中心。

信任与安全中的更多内容

还需要帮助吗?

我们的在线客服团队 24/7 全天候在线。直接从页面打开聊天,剩下的交给我们。