http://i.imgur.com/ZSiEcM6.jpg
前幾天周董演唱會搶票又上了新聞。
我始終覺得這種比手速的搶票規則就像比特幣挖礦,純粹嚴重內耗地球資源,浪費大家的精神與時間,是種沒效率又不環保的制度。
站方宣稱開了一萬台 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 值當亂數種子給每個流水序號一個權重值,依權重值排序再跟選填志願一樣分發配票”
這是一種可以重現但是無法預測的隨機分配結果
有多難?