首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
V2EX  ›  奇思妙想

火车票与工作量证明

  •  
  •   EchoUtopia · 2018-01-22 16:45:32 +08:00 · 5449 次点击
    这是一个创建于 490 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前段时间了解到了工作量证明这个概念,我在想现在买春运票完全抢不过那些抢票软件,别人的请求能力是我们的 n 倍,这是有些不公平的。
    如果加入工作量证明,以哈希现金为例,让每个抢票选手计算出正确答案才有资格抢票。
    这样还可以对抢票设备进行动态调整难度值,如果抢票速度过快,次数过多,就增加计算的难度值。

    我又在想比我聪明的人多了去了,肯定有人想过这个问题,既然现在没有这种做法,那肯定是行不通的,
    大伙知道我这个想法哪有问题么
    第 1 条附言  ·  2018-01-23 09:36:31 +08:00
    也许是我表述有误,我想针对的问题是那些票贩子,现在他们几乎不需要任何成本就能抢到很多票,如果加入工作量证明,那么他们再大量抢票的话就得考虑成本的问题了,因为抢票的利润很不像挖到比特币那么高,所以很可能成本很容易超过利润。

    至于普通用户,他们是感知不到多大的差距的,最多就是抢票花费的时间久一点,但是我前段时间抢票也花费了很多时间:每次显示有余票,但是就是抢不到,提示我没票了,这个过程花费的是件也很久,估计是请求并发太高,导致服务器某些环节异常了。如果加入工作量证明,那么服务器的压力也会大大降低,这不是两全其美么。

    现在主要不知道利润和成本的平衡点在哪,综合原因我也不看好这种解决方案了
    40 回复  |  直到 2018-02-03 08:15:44 +08:00
        1
    codermagefox   2018-01-22 16:52:25 +08:00
    出了问题你负责吗?
        2
    Frost   2018-01-22 16:53:01 +08:00
    那实际现在几乎没有个人挖矿了,全是加入矿池,一起挖,一起分。你想成立一个抢火车票的池子吗?
        3
    EchoUtopia   2018-01-22 17:00:22 +08:00
    @Frost #2 这要看成本和收益情况了,但是我突然想起一个问题,普通用户可以把服务器提出的问题发给性能强悍的设备去计算,看来也避免不了被刷了。
        4
    supercaizehua   2018-01-22 17:01:17 +08:00 via Android
    本来好好的抢个票现在还要准备个矿机?有那个钱都去机票了。我觉得那些抢票软件、平台可以给他们这么限制
        5
    am241   2018-01-22 17:06:40 +08:00 via Android   ♥ 1
    直接加价就行,一张票两千
        6
    geelaw   2018-01-22 17:07:10 +08:00   ♥ 1
    那人类要怎么(操作 app )买票?这样不是只有机器才能买票了么?

    希望的结果是只有人类能买票,而不是只有机器能买票。
        7
    xmbaozi   2018-01-22 17:13:34 +08:00
    哈哈哈~想象力可以
        8
    clippit   2018-01-22 17:21:23 +08:00   ♥ 3
    其实理论上是可行的,但是有个现实问题是 12306 是网页版,网页上做 PoW,你得开个 Service Worker 才不卡,但是这货浏览器支持度还不太给力,不过 App 是可以的(耗电量也许是个问题)。

    其实工作量证明的办法早在电子邮件时期就已经用来防止垃圾邮件了,因为人们写邮件需要花一定时间,足够 CPU 在后台进行运算,这套办法一定程度上增加了 Spam 的成本,当成本和收益不能平衡的时候,自然有些发垃圾邮件的人就会放弃。

    所以放到抢火车票上来也是行得通的,正常买火车票的人,不会有那么大的请求量,请求间隔足够 CPU 算出一个合适的值,但是那些狂发请求的抢票工具就会受到影响。所以,楼上有些认为只有机器才能买到票的人其实是误解了。
        9
    clippit   2018-01-22 17:24:17 +08:00
    我很久以前做过一个 JS 实现 Hashcash 的测试,有兴趣的朋友可以参考: https://github.com/clippit/hashcash-benchmark
        10
    we000   2018-01-22 18:06:07 +08:00   ♥ 1
    "我有一把锤子, 看啥都像钉子"

    这条链是全网的话, 资源消耗太多, 同一时间处理太少, 按中国火车票的体量, 大概抢 30 天也买不到票吧.

    这条链是某个子集的话, 你算力太弱就相当于买不到票. 对某个设备做的限制太容易被绕过.

    不用链的话, 服务器给一个随机串, 客户端算 POW, 结果还就是算力强的才有资格买票

    以后就是手机买不到票, 票贩子去租天河二号.

    电子邮件那个就是所有设备都只能间隔固定时间发邮件, 这完全可以做, 但完全和 POW 没关系.
        11
    27149   2018-01-22 18:09:54 +08:00
    你觉得不公平,所以想了一个方法希望更公平一点,那这种方法是最公平的吗?
        12
    wsy2220   2018-01-22 18:11:33 +08:00
    除了浪费电有什么好处
        13
    EchoUtopia   2018-01-22 18:22:39 +08:00
    @we000 #10 这个跟链完全没关系啊。。
    @wsy2220 #12 有实际意义就不会浪费,用手机看一个小时娱乐视频获得了愉悦感,如果这个能解决现有问题,计算哈希现金你抢到了一张火车票。
        14
    tabris17   2018-01-22 18:24:37 +08:00
    这明明是个 captcha 图灵测试的问题,为啥变成了拼硬件了?
        15
    xenme   2018-01-22 18:26:56 +08:00 via iPhone
    不管怎么证明,反正正常人还是要抢,还不如简单点。要买票提前预约,70 天预约,然后 60 天的时候摇号。一个身份证只能一次机会,大家所有人都一样的概率。
        16
    williamx   2018-01-22 18:34:52 +08:00
    应该是稀缺资源,所以你手段无论如何改变,结果还是一样的:有人抢得到,有人抢不到,最多最多,也就是抢到的个体变了一下,连阶层都不会有改变。
        17
    wuhann   2018-01-22 18:46:31 +08:00
    POW 本质上是一个通过多数表决来选择账目的民主制度,它不是用来解决分配公平问题的,POW 只提供了表决机会的公平,即人人都能加入节点。
    你抢不着春运票这事根子上也不在于“怎么才能设计一个公平的抢票机制”,不多说了。
        18
    chenyu8674   2018-01-22 18:57:13 +08:00   ♥ 1
    春运的根本问题在于运力供应无法满足需求,与如何买到票无关
    LZ 真想公平的话所有人一起竞价最公平啊,农民工兄弟保证不打死你
        19
    gclove   2018-01-22 19:05:47 +08:00
    你能抢票, 而我没设备,只能去线下售票点,那就是不公平的。

    最公平的莫过于摇号了
        20
    ryanz91   2018-01-22 19:27:00 +08:00
    我们农民工怎么办?
        21
    xctcc   2018-01-22 19:47:48 +08:00
    本来抢票不就是有人退票看谁网络快能先抢到吗。。
        22
    niubee1   2018-01-22 19:56:08 +08:00
    这样你更抢不过票贩子了
        23
    a1044634486   2018-01-22 20:01:41 +08:00 via Android
    根源在于票不够,瞎鸡巴撤别的就能买到票了吗。。
        24
    helloworld12   2018-01-22 20:39:46 +08:00
    我在想现在买春运票完全抢不过那些抢票软件,别人的请求能力是我们的 n 倍,这是有些不公平的。

    所以有的人,有多台 GPU 计算,那就公平了?
        25
    SuperMild   2018-01-22 20:41:05 +08:00
    上面有人提到摇号,感觉是最公平的了。既然供不应求,同时由于是基础设施不能通过价格来调整,那就摇号啊。
        26
    cuebyte   2018-01-22 21:25:54 +08:00
    填写验证码不就是验证了吗?
        27
    msg7086   2018-01-23 04:01:41 +08:00
    说得难听点,这叫文盲与狗不得购票。
        28
    anasplrt34   2018-01-23 09:54:20 +08:00
    如果抢票速度过快,次数过多,就增加计算的难度值
    你这和单 IP 限购有啥区别 还有这种的话 人家顶多换个账户 /换个矿机 /换个设备 然后你能怎么办呢
        29
    zkungfu123   2018-01-23 10:10:31 +08:00
    这没改变分配方式吧,稀缺的刚需资源,成本上去了,最后也是嫁接到最终消费者的手上
        30
    zjcqoo   2018-01-23 10:39:48 +08:00
    你让还在用 IE67 的人怎么办😰
        31
    mortal   2018-01-23 10:59:55 +08:00
    想法很有趣~
        32
    py2ex   2018-01-23 11:44:54 +08:00
    同意摇号,这样也不需要 12306 像现在这样处理短时间高并发
        33
    shenjixiang   2018-01-23 12:20:32 +08:00 via iPhone
    可以在下单时加真人人脸识别,是不是可以杜绝票贩子,这样也公平
        34
    lht260   2018-01-23 17:49:29 +08:00
    人脸识别或许可以
        35
    ZRS   2018-01-24 13:37:21 +08:00 via iPhone
    区块链越来越像互联网大力丸了…
        36
    EchoUtopia   2018-01-24 13:47:21 +08:00
    @ZRS #35 跟区块链有啥关系。。
        37
    ZRS   2018-01-24 14:50:35 +08:00
    @EchoUtopia 啊的确和链没直接关系,我只是感觉随着区块链所火起来之后这些相关的技术就跟锤子一样,大家拿着看什么都是钉子...
        38
    andrewhxism   2018-01-25 16:28:07 +08:00
    这还不如每个身份证号有两张火车票配额呢,大家一起摇号
        39
    DoctorCat   2018-01-25 19:02:13 +08:00
    对车票做竞拍最公平。
        40
    Izual_Yang   2018-02-03 08:15:44 +08:00
    我不是针对谁,在这里高谈阔论的都是不坐火车的。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3908 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 09:23 · PVG 17:23 · LAX 02:23 · JFK 05:23
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1