12306尸检报告:『洋博士建土高炉型』先天性免疫缺失黄牛并发症致死

brucegong 2014-01-26 12:13:26
  死亡现场
  【假设案例】北京开往广州的火车第一个经停站是石家庄。如果一个黄牛获取了石家庄到广州的车票,那么他不用退票即可实现盈利。旅客购买北京到石家庄的短途票或者站票以及黄牛手上的车票,从北京上车,到了石家庄之后就可以安稳地坐在座位上一直到广州。如果卖不掉,黄牛可以退票。

  ——论断:只要黄牛可以拿到车票,就不可能阻止他们盈利。不能阻止黄牛拿票的系统,必死。
  ——原理:数学上已有证明“公平的竞争环境,除非选手犯错,否则先手者胜”。围棋黑子先走,最后让白子半目就是这个原因。黄牛拿到了票就是得了“先手”。后续的“抓黄牛的补丁”不仅于事无补,反而能被黄牛利用。

  病症分析
  病根在“公平公正”上。
  除了梁山上的那一群疯子,恐怕没有其他人真拿公平公正当饭吃。世上最道德的行为也仅限于“保障个人追求公平公正、幸福自由的权力”。一个国家的宪法都仅限于此,让一台电脑、一个程序实现所谓公平公正显然是痴人说梦。何况电脑软件绝大多数的算法都是基于优先级的。
  如果破处掉“公平公正”这条巫术,整个系统就可以豁然开朗。
  首先,黄牛买票卖票但并不坐车,真正的旅客是要坐车的。所以可以通过旅客账户累计坐车次数作为优先级,轻易识别出哪个账户是黄牛,哪个账户是旅客——除非黄牛平时没事就坐火车累积分。此为基本原则,算法可以继续细化。黄牛拿不到票,后面的戏就没法唱了。
  其次,很多人都说到过,用“预约——放票”的办法来阻隔黄牛。在前一条的基础上,黄牛的实际可操作空间就只剩下两条路——要么在约票阶段持续攻击服务器,要么黑掉用户服务器盗取账号。这个是网警的职责所在。需特别说明一下,旅客的账户和身份证应该是对应关系而不是绑定关系,以防止黄牛通过黑市的个人信息交易劫持旅客账户。
  第三,现在所谓的公平公正,其实质依然是通过看起来很公平的策略悄悄计算优先级。只不过这个计算过程复杂得连设计者都以为是公平的。优先级约票虽然看起来不够公平公正,但它的操作过程可以完全公开透明,旅客清楚自己如何提高优先级,比一群三观各异的程序员暗箱操作要有意义得多。

  用一个暗地里计算优先级的算法去保障公平公正,给了黄牛以可趁之机,然后用一摞一摞的补丁试图挽回局面——这就是典型的有病乱吃药,想不死都难。

  病理分析

  中国的程序员有个职称考试,现在不怎么流行了。表面上看起来是中国自主的,其实是中外合办的。也就是说,这个考试考出来的证书去外企找工作是被承认的。国内考试分为“初级程序员”“程序员”(也有人嫌不过瘾,称为“高级程序员”),“软件设计师”“系统分析员(师)”
  但老外在设立这个考试的时候留了一手——“系统分析员”之上其实还有一个“系统测试员”。当然,这个头衔在国外一般也不是考的,往往是资深系统分析员担任的。但在国内,你考出来的证书出去嚣张,人家就总能找到一个系统测试员来压你一头。系统测试员的工作是审核系统分析员的方案,设立项目的考核节点和考核方法。在“委托开发”的案例中,还需对项目进展和健康状况进行评估,为委托方向受托方分阶段付款提供依据。


  12306病发之后,网上的技术流呈现明显两派:一派是洗地僧,满口技术名词为12306辩护,认为“已经做得很好了”“不可能再好了”;另一派也是满口技术名词,一开口就是系统构架、服务器……很高端的样子。而无论是12306本身、洗地僧一派还是其他的技术派,显然都无视了“系统测试员”这个岗位的作用,甚至脑子里根本就没有“需要系统测试员”的意识。

  缺少了“系统测试员”这一环,设计12306的系统分析员就像是『洋博士砌土高炉』——技术名词一定是高端大气上档次的、硬件一定是国际领先的、方案拿出来也必然是高大全的。而实质效果和土高炉炼钢无异,因为在最关键的一点上缺失了。

  没有系统测试员发现现有系统的病根,无论程序员们多努力,也只可能在错误的道路上越走越远。现在甚至已经公开要求公安系统开放公民个人信息数据库,接下来银行和电信似乎也难以幸免——自己死了就死了,何必祸害别人?


  还魂药方

  依然是我之前发帖写过的5条,不解释。能看懂的就自己暗爽,看不懂的回去找自己的老师逐条解释。

  1、系统目标:安全、稳定售卖完所有车票。也就是说,并不是为了保证每个人都有票,只是保证每张票都能卖给真正需要乘车的人。所以卖票其实并不需要遵守什么公平原则,而是可以按照一定的优先级出票——例如优先卖给帐号上已经有成功购票乘车记录的人。事实上这些人就足够消费掉所有的车票,而不会让黄牛新注册的海量假身份得逞。

  2、防饱和攻击:黄牛注册新帐号刷票的手段,第一条基本可以搞定。但黄牛还有一招——对系统进行饱和攻击。这是目前商用技术条件无法解决的,因为这是IPV4的固有毛病。但是IPV6提供了Qos保证。如果实施完整的IPV6协议并在Qos方面进行适当的安全定制,并辅以隔离手段,就可以克制住饱和攻击。这是IPV6商用的大好契机,完全可以和工信部联手实施。

  3、交易系统:在2的基础上,寻求mozilla的帮助。mozilla是目前在安全和网络交易方面走在最前端的公司。

  4、票务系统的分布式构架——这个其实很多人已经说了,不多说。原则上就是以车次为单位提供基础服务,这样可以很方便地增减车次和服务器容量

  5、逐步实现卖票服务外包。既然各大电商都有兴趣卖票,为何不让它们卖?铁总只需要保证自己的座位全都卖出即可。各个卖票者,可以包下一节车厢、一个车次的车票,铁总只管卖票给这些服务商,不接受退票。谁有本事当这个黄牛,大可以去当。不过最好不要让一个机构垄断一条线路或者一个片区的所有业务,否则没有竞争的后果很严重。
...全文
202 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
猴头 2014-01-26
  • 打赏
  • 举报
回复
没拦住車 2014-01-26
  • 打赏
  • 举报
回复
_Gx 2014-01-26
  • 打赏
  • 举报
回复
先天性免疫缺失黄牛并发症致死
gogogo 2014-01-26
  • 打赏
  • 举报
回复

587

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧