一门神奇的剑法
金庸老先生仙逝,作为一名读者,我很痛心。
即便不是金庸小说的爱好者,想必也对《辟邪剑谱》有所耳闻。当我还在上小学的时候,正值央视版笑傲江湖热映,当时一群小孩子家时常开“你是不是姓林,林平之的林”,“林平之虽然后来成为了高手,但是他自宫了,就和太监一样”之类的玩笑。
众所周知,《辟邪剑谱》与其他武学最大的不同,主要有两个。其一在于此剑谱能够速成并量产一流高手,其二在于必须狠下心来挨那一刀。
我们知道,在金庸主流武学体系中,除了少数走了狗屎运的主角外——或打落山崖,或高人传功,或生吃蛇胆云云——绝大多数武者实力的高低和练武的时间通常是正相关的,换句话说,高手都是练出来的,而这个过程费时费力,只有少数人能练成。因此,除主角外,一般厉害的角色都是少林的高僧,武当的掌门,或者“神仙也似的人物”。而辟邪剑谱则不然,它打破了这个规矩,能够短期内速成大幅度提升个人实力。如林平之,练辟邪剑谱前只有五岳剑派一般弟子的水平,练剑后数月内即可压制青城掌门余沧海。
然而,如此厉害的武学,却有一个致命缺陷,那就是“欲练神功,引刀自宫”。这个致命的缺陷使得这门绝学注定不可能广为流传。事实上两个剑谱习练者,岳不群,林平之,前者是为了保全自身和个人野心膨胀,后者是为了报家仇。倘若不是有着非常重要的理由,恐怕少有人付出这么大的代价,去尝试这样一门剑法。
一项优秀的技术
前文提到过TEE技术的作用。通过TEE(Trusted Execution Environment)等可信计算技术,能够将核心机密代码移入可信执行环境中执行,确保其不会受到异常进程/线程/恶意文件等其它系统因素的影响。
就拿英特尔(Intel)推出了SGX(SoftwareGuard Extensions)来举一个例子。顾名思义,它是对英特尔体系(IA)的一个扩展,用于增强软件的安全性。SGX主要用来创建enclave。enclave意为被包围的领土,这里指的就是上文中提到的可信环境,我们暂称之为“小黑匣”。SGX将合法软件对于加密密钥、密码、用户数据等机密数据的操作封装在这样一个“小黑匣”中,使之无法被恶意软件或木马窃取。
在安全领域,TEE是一个非常好的技术,本来应该大有用武之地,但为什么没有得到大规模的推广使用呢?
这是因为,它在应用起来存在明显的问题。因为缺少通用的TEE标准,各大厂商的接口不尽相同,碎片化非常严重,即便有Intel发布的SDK来协助,扔需要开发人员作出大量修改工作。何况,这些问题还不是最重要的。
最要命的是,TEE的环境正确性如何去验证?之前有消息披露,SGX并不完全可靠,其中也存在漏洞。目前对TEE环境的验证,通常是依靠技术提供方(如Intel)的中心化验证服务器,也就是说,由这个服务器来验证这个TEE环境中的程序是否正确的执行。但换言之,此时,这个服务器将成为超级权力拥有者。
TEE技术在应用层面这些不利之处极大的限制了基于TEE的安全应用。从这个角度来看,TEE技术有点像辟邪剑法,它威力巨大,这是大家承认的了,但是再区块链中使用成本略高,且其中存在一些问题。
解决瓶颈的根源
我们知道,《辟邪剑谱》最大的问题就是自宫,倘若不是因为这个先天不足,岳不群大可以光明正大的把剑谱还给林平之,林平之也一定会把剑谱同岳父加师父的岳不群分享,二人本来没有什么私仇,假如辟邪剑谱不用自宫就能修炼,这对二人只有好处。
同样的,TEE原本也是个好技术,只是在区块链使用中难度不小。为了减少区块链中使用TEE的难度,Trias引入了信任传递网,不但极大程度上减少了TEE之间的高频昂贵的互相调用,更重要的是,摆脱了技术提供方的中心化控制。
所谓信任传递网,主要是指在Trias网络中,让具备TEE运行环境的节点互相验证对方的可信程度,并将收集到的信息在其他节点间传播。这样每个TEE共识节点间,就会形成一个互相背书的信誉关系网。由此反复迭代,Trias网络就可以迅速定位到最可信的节点,这样一来,此前单个TEE面对的问题都得以妥善的解决。
有细心的朋友可能会问,不依靠权威的中心机构(如Intel),倘若多个TEE共识节点同时被恶意操控,共同作恶怎么办,Trias网络的可信性是否还能得以延续?
由于Trias系统中信誉关系网的互相证明机制,一旦有一个节点要撒谎,立刻会受到周围的节点指正,而Trias通过多种TEE技术结合来保障系统的安全,攻击方则很难掌握多种技术的漏洞,这些想要撒谎的恶意节点反而会暴露自己,从而实现了系统的高效,健壮,安全的运行环境。