![]()
前几天周董演唱会抢票又上了新闻。
我始终觉得这种比手速的抢票规则就像比特币挖矿,纯粹严重内耗地球资源,浪费大家的精神与时间,是种没效率又不环保的制度。
站方宣称开了一万台 VM,用了一堆电、烧了一堆钱。(至于为什么会设计成每台 VM 只服务 89 位使用者是个谜)
近百万歌迷要花时间事前演练、准备设备,挪出时间严阵以待再铩羽而归,若一个人浪费半小时,总共耗去一万八千人天。(往好处想,有帮宽带跟 PC 厂商促销)
为何不给两周时间预先登记,再电脑抽签就好?
至于电脑抽签怎么做到公平?我还是觉得“算法公开,乱数种子随机”是最完美的公平公正公开抽奖机制。
若 D 日 14:00 抽签 ,D-14 到 D 日 12:00 开放登记,登记后取得流水序号。
D 日 13:30 台股收盘,用台股所有成份股的股票代号,股价与成交量组成 CSV 字串算 SHA256 Hash,用 Hash 值当乱数种子给每个流水序号一个权重值,依权重值排序再跟选填志愿一样分发配票。
由台股资料产生乱数种子、产生乱数及为序号配权重的程式码放上 Github,不相信结果的人可以 Clone 回去自己验算。
这样子不到十台 Server 就足以应付整套程序了,超环保,又不用劳民伤财。
但最大的缺点:你很难跟非资讯背景的人解释清楚,为什么这个做法绝对公平,不可能被人为操控,只能用在开源年会之类只有资讯人员参加的活动吧,哈。
-
所以我就问要让非资讯相关背景出身的了解
”用台股所有成份股的股票代号,股价与成交量组成 CSV 字串算 SHA256 Hash,用 Hash 值当乱数种子给每个流水序号一个权重值,依权重值排序再跟选填志愿一样分发配票”
这是一种可以重现但是无法预测的随机分配结果
有多难?