惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
美团技术团队
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
C
CERT Recently Published Vulnerability Notes
Project Zero
Project Zero
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
博客园 - 聂微东
Forbes - Security
Forbes - Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
T
Threatpost
月光博客
月光博客
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
宝玉的分享
宝玉的分享
Know Your Adversary
Know Your Adversary
Spread Privacy
Spread Privacy
J
Java Code Geeks
Scott Helme
Scott Helme
S
SegmentFault 最新的问题
C
Cybersecurity and Infrastructure Security Agency CISA
H
Hacker News: Front Page
L
LINUX DO - 热门话题
Last Week in AI
Last Week in AI
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tor Project blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园 - 叶小钗
C
Cisco Blogs
小众软件
小众软件
S
Securelist
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - Franky
V
Visual Studio Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
WordPress大学
WordPress大学
博客园 - 司徒正美

愆伏

vue feedback 指令开发 通过webpack对css压缩后所引起的重名问题 NPM 撤回已发布的版本 昆虫有趋光性吗 数组转成字符串(css 属性) 关于grid布局的一些思考 阿里云和腾讯云网站字体族对比 Vue组件抛事件和Function prop的差别 Vue 事件参数传递 Vue Data里面下划线命名无效并报错 使用sublime中的正则处理数据格式 通过nodejs创建目录与文件 macOS 下npm run dev 无法局域网访问 mac 下使用ssh访问非22端口的gitlab 世界是平的,在科学上网之后 使用sublime text3和Markdown来写博客 如果非要给一个标题,那就是2014年非工作总结 不专业呢,就别捣乱 对知乎大号怒撤事件的一点看法 拒绝SB思维 嘀嘀与快的的商业博弈 关于收藏夹功能的思考 你居然都不用微信 一个英语培训机构的外呼电话 智商是硬伤就无解了 扁鹊三兄弟 竖子不足与谋 美丽说、蘑菇街今天一定开了好几个小时的会 个人独立博客会死掉吗? iPad作画 google reader即将关闭,谁来候补? 去年 美国人又火星了 一个简单的flash射击游戏 Draw an angry bird with pure CSS 用css3画一坨屎 一只音箱——漫步者M0pro 瓢虫图标 如果能够收集到世界上所有人的梦 作为一名产品经理 wordpress换域名 程序员和站长之间资源的交换 独角仙饲育日记1 男人是得有点装备的 镇江火车站、新汽车站到香逸渔港大酒店路线 jquery的slideUp、slideDown在IE中的闪动bug 《玩赚你的网站》是本难得的好书 腾讯微博邀请,欢迎自取 福特2010最新款家用普及型车 关于小霸王是否可以玩魔兽世界的问题 君要臣死,臣不得不死 wordpress主题发布:iCake 1.0 脆弱的域名服务 舍身成仁,舍己为人 欲练神功,挥刀自宫——在没有google之后 杯具掉的手作软陶皮卡丘 凶猛的阿凡达 js+css控制字体变换 2009年下半年南艺自考设计素描(本科) 愤怒摔食图——去TMD的xxx 改裤衩 紫金山捉虫记 态度问题还是能力问题 慷慨的饭店老板 南艺自考顺利达标 2009上半年南艺艺术设计自考毕业设计 说说产品经理-前言 在线生成卡通头像 CG weaver 1~3期打包下载 育儿网招聘网页设计师 google calendar的另类用法 互联网产品、运营二三事 小情调 干切牛肉雪菜面加煎蛋x2 永远的龙珠 M8:我不是山寨 终于回来了 还不都为了大客户 古典音乐——冷笑话 豆瓣盈利能力堪忧? 骑马与砍杀(mount&blade)——另类的爽快 溺爱的代价 开心不开心? 超赞的视频广告——wario land shake 神奇的《孢子spore》 该相信用户的话吗? chrome——google浏览器真的来了! 浏览器:web世界之门 赤壁——三国梦 项目管理就是博弈 Pia ji 一声的快感 Memories 拿来主义 一声叹息 禅心 LBS^2转到wordpress2.5 尽我们所能帮助灾区,希望灾民平安度过难关 游高崇寺 Avant Browser的复兴 “知”的提升
中奖到底藏在瓶盖里,还是藏在扫码那一下
tortorse · 2026-05-29 · via 愆伏

最近喝可乐时,我又看到瓶盖里面那个扫码抽奖的二维码。

以前我大概就是顺手一扫,看看能不能中个小奖。这次不知道为什么,我盯着瓶盖多看了几秒,突然冒出一个问题。中奖到底是藏在这个二维码里,还是藏在我扫码的那一下?

瓶盖二维码抽奖示意图

第一种想法很直观。每个二维码自己已经有结果了。厂商提前把一部分码标成中奖,谁买到那个瓶盖,谁就中了。A 扫和 B 扫的区别,只是谁先拿到了这个码。

这种办法听起来很像传统奖券。奖品早就放在某些票里,消费者只是把那张票刮开。它的好处是简单,也容易解释。这个码就是中奖码,你拿到它,就算你运气好。

麻烦也在这里。

如果中奖结果提前写在码上,那瓶盖到消费者手里之前,就有一段不太安稳的路。生产、运输、上架、售卖,中间经过很多人。只要有人能提前看到码,或者能批量把码扫掉,中奖机会就可能被提前拿走。

当然,现实里未必这么容易。瓶盖里的码通常会藏起来,包装也会防拆。但从想象上说,只要结果提前写死,这套玩法就会有一个天然弱点。中奖码像一张摊在桌上的奖券,虽然暂时没人看,但它已经在那里了。

第二种想法就不一样了。二维码本身不决定中奖,它只是一个进门凭证。真正决定结果的是扫码那一刻。

比如说,某一天准备发多少份奖品,某几个时间段放出一部分,或者按访问顺序、请求情况去抽。这样每个二维码都只是一个入口,能证明我确实从一个瓶盖进来。至于中不中,要看我进来的那一瞬间。

这种办法的好处是,提前偷扫就没那么容易直接偷走所有中奖结果。因为码不是奖品本身,只是一张门票。坏处也明显。对用户来说,这件事会更像一个看不见的盒子。概率怎么定,什么时候放奖,异常访问怎么处理,普通人都看不见。

我不知道真实后台到底是哪一种,也可能两种都不是。也许还有更复杂的做法,比如先把码和批次绑在一起,再结合时间、地区、访问频率去判断。可我不想在这里假装知道答案。真正有意思的是,一个小小的瓶盖二维码,竟然能牵出这么多问题。

用户看到的是抽奖,是运气,是“再来一瓶”或者“谢谢参与”。做这件事的人要想的却多得多。奖品不能太容易被提前拿走,规则也不能太像黑箱。太笨了,会被人薅。太暗了,会让人不信。

抽奖这件事最微妙的地方就在这里。它表面上卖的是随机,背后一直在跟人的小心思较劲。只要有奖品,就会有人想知道哪里能提前看到结果,哪里能批量尝试,哪里能比普通人快一步。

写到这里,我都觉得自己有点扫兴。明明只是喝一瓶可乐,却开始替瓶盖操心。

不过我也挺喜欢这种念头。生活里很多东西就是这样,表面上是一件很轻的小事,往里面多看两眼,就能看到一套人和规则之间的拉扯。一个二维码,一个按钮,一行“谢谢参与”,背后都可能藏着很多判断。

下次再拧开瓶盖,我大概还是会扫一下。中不中另说,反正我已经多拿到一个小乐子。一个人站在冰柜旁边喝可乐,顺手想了想二维码到底怎么抽奖,这种无聊念头,也算给这瓶可乐回了一点本。