朱杰:用区块链投一票

e医疗专栏作家:朱杰

医渡云高级产品总监

五一假期快到了,用铁道部12306网站订过票的同学们是否还有着早年间被浏览器警告页面支配的恐怖记忆呢?

大家知道,网站为了实现HTTPS加密传输,会在需要用户输入敏感信息(比如用户名、密码)的页面上挂载一个SSL证书。证书一方面用来做加密传输的参数,一方面在浏览器里面用来给网页验明正身,保护用户不是把密码敲在了一个假冒的钓鱼网页上。

当年因为某种原因,铁道部没有去公认的根证书发行商那里申请一个SSL证书,而是桀骜不驯地自己建立了一个根证书发行服务器SRCA(中国铁路数字证书中心),给自己发了个证书:我自己证明自己是铁老大响当当的购票网站,别无分号。技术上来说这样做当然没有问题,实验室里很多小伙伴都这么玩儿过。但现实是残酷的,各大浏览器厂商只会内置全球商业机构认可的几个少数根证书发行商(VeriSign,GlobalSign,Symantec等等),SRCA这样横空出世的毛头小伙子当然不会被认可:你有钱,你壮没有用,麻烦你到村口张大爷那里登记一下,我这里只认张大爷的戳。

结果用户登录12306的时候被浏览器的各种安全警告折腾得不胜其烦,兵荒马乱的用户体验直逼“某门网上某场”。各种修改浏览器设置的应对指南,竟然在百度知道上成了热帖。

去年12306悄然放弃了自己的那份倔强,从DigiCert买了一个SSL证书装在自己主页上,消解了全国数以亿计网上订票用户的那份不安。

这就是现有公钥基础设施(PKI)体系严重依赖中心化设计的一个副作用。任你铁老大有上亿用户,CA证书根节点这个东西还是要回到最初的那几个发行服务器那里去,否则浏览器厂商没法支持。类似的情况还发生在DNS服务器根节点上,一旦能够攻破和篡改DNS服务器就能瘫痪整个互联网的域名服务。

在区块链的世界里面没有“中心”这个概念,所有参与者都在玩儿着一个叫“POW”的击鼓传花游戏,从第一块创世区块开始每个交易者都在区块上追加自己的痕迹,并将交易信息广播出去交由下一个交易者传递。同时用一套分布式区块链账本机制,让所有参与者都得到这份击鼓传花游戏的现场录像,这样即便有人别有用心修改了自己手里的那份现场录像也还要再串联超过51%的游戏者才可能真正影像“账本”(只有理论可能性)。由于是广播传花,所以有可能出现两个人手里同时有花的局面,好在区块链机制要求接受花的人要自动抛弃较小的花束(累计POW较小的区块链),由此保证游戏可以继续。

区块链技术解决了数字加密货币长期以来存在的两个问题:

(1)如何避免利用货币的数字特性多次支付—分布账本机制;

(2)分布式节点之间如何达成共识和建立互信——51%机制。

比特币作为区块链技术的第一个应用,在区块链基础上又加入了适度的经济激励机制(以矿机计算力换取新的比特币)和智能合约脚本能力,给互联网技术带来一阵新风,甚至在2017年的某些时段还带来了局部龙卷风。

抛开人类贪婪的本性带来的比特币丑闻不谈,区块链还可以完成很多正经任务

如果用区块链来解决证书发行问题,就会变成另外一个故事。12306可以将每一次成功的售票交易作为一次区块链业务的延伸,每天上百万次的车票订单成为购票者在主链上增加的一个个区块,每一个新增区块都成为网站可信度的一张选票。以12306的交易量,任何人想利用51%原则击败它都是不太现实的。

(↓ 小编)

有趣的是虽然12306目前换用了国外的商用SSL证书,但是SRCA证书下载的链接仍然保留在其页面上,隐隐透着些不服。不知道铁老大是不是还想着有朝一日借用新技术夺回自己的根证书认证权,也许正在研究自己的区块链CA机制吧。

-END-

文章来源:e医疗2018年第3期

基本按时间先后顺序

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180419B1GZRL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券