在10月13日杭州举行的第二次迅雷链技术沙龙上,迅雷链研发工程师郭加楼详细解析了业界广受关注的迅雷链文件系统(TCFS)。
郭加楼从技术角度,对外公布了TCFS的内部框架、安全策略以及实现过程。至此,这个“为区块链而生的”文件系统,终于显现出它的若干技术细节。
为区块链而生的文件系统是全新架构
郭加楼详细介绍了TCFS的内部框架,整体由3部分组成。处于中心位置的是数量高达150万的存储节点,它构成了整个TCFS的存储基础。所有上传到TCFS的文件,都会被分成36个切片,在这150万个节点中,择优挑选36个来进行保存。在任何情况下,只要有任意18个节点保持有效,就可以让原始文件恢复。
其次是用户模块,用户要上传文件,登陆到这个模块就可以了。通过该模块,用户先是实现对存储空间的备份,然后获取一批可用的存储节点,再对文件进行切片编码,接下来还要通过PTV增加可用节点。在文件上传之前,这些存储节点还要进行校验,分发成功之后提供文件的索引,至此完成整个文件上传过程。
下载过程是与之类似的,只是从36个切片里面任意找18个节点把这个获取回来,然后进行解密恢复。
另一个重要的模块是对150万节点进行调度的模块。TCFS有超过150万个节点,这就需要对资源合理的利用,才能实现效率的最大化,因此调度非常重要。但分布式存储的调度跟scheduler调度有很大的不同,分布式存储是按照区域调度的,在不同城市选用一些可用的存储节点,这样可以达到最高等的效果,而这一功能就是依靠调度模块来实现完成。
郭加楼解释说,这其中使用到了TCFS的冗余编码技术,这一技术能够在保证文件安全性的前提下,实现效率的最大化。
安全策略强调多重验证、权益保护
作为一个分布式开放性文件系统,安全性是TCFS最关注的部分之一。据郭加楼介绍,TCFS的安全策略是多重验证,以及权益保护。
文件安全首先需要确定的就是文件的真实有效,TCFS会对文件拥有者上传的数据进行校验,确保文件的真实性,然后在下载时,又会对下载者的身份进行校验,确认具备下载权限后才会通过。此外,在数据交互过程中,采用的是加密数据进行传输。
虽然文件是分成36个切片,存放在36个不同节点上,但切片编码出来的数据经过天然加密,用于存储的节点得不到原始数据,只有拿到至少18个节点的所有切片后,进行编码翻译才能得到原始文件内容。而这些节点的选择,又是随机指定的,150万节点保证了这个指定的随机性,由此实现了文件存放的安全。
同时,用户也可以对自己的文件进行加密,使用密钥上传,由此实现多重保护,确保数据安全无忧。
郭加楼特别谈到,TCFS有专门的机制设置,允许用户对上传的文件进行授权,以满足用户有偿分享和出售文件的需求。该机制的结构中,包含了有效期,以及被授权人的地址、签名、授权文件的路径等关键信息。
这是非常符合区块链特性的一个机制,藉此TCFS实现了对用户个人数据的权益保护。
还有特别重要的一点是,TCFS结合迅雷链的链克体系,以其作为激励机制,从而保护每个节点的可靠性,并充分利用了社会的闲置的带宽和存储,实现了低成本同时高可用,并且跟迅雷链紧密结合,有利于开发者快速进行区块链应用开发。