在10月13日杭州舉行的第二次迅雷鏈技術沙龍上,迅雷鏈研發(fā)工程師郭加樓詳細解析了業(yè)界廣受關注的迅雷鏈文件系統(tǒng)(TCFS)。
郭加樓從技術角度,對外公布了TCFS的內部框架、安全策略以及實現過程。至此,這個“為區(qū)塊鏈而生的”文件系統(tǒng),終于顯現出它的若干技術細節(jié)。
為區(qū)塊鏈而生的文件系統(tǒng)是全新架構
郭加樓詳細介紹了TCFS的內部框架,整體由3部分組成。處于中心位置的是數量高達150萬的存儲節(jié)點,它構成了整個TCFS的存儲基礎。所有上傳到TCFS的文件,都會被分成36個切片,在這150萬個節(jié)點中,擇優(yōu)挑選36個來進行保存。在任何情況下,只要有任意18個節(jié)點保持有效,就可以讓原始文件恢復。
其次是用戶模塊,用戶要上傳文件,登陸到這個模塊就可以了。通過該模塊,用戶先是實現對存儲空間的備份,然后獲取一批可用的存儲節(jié)點,再對文件進行切片編碼,接下來還要通過PTV增加可用節(jié)點。在文件上傳之前,這些存儲節(jié)點還要進行校驗,分發(fā)成功之后提供文件的索引,至此完成整個文件上傳過程。
下載過程是與之類似的,只是從36個切片里面任意找18個節(jié)點把這個獲取回來,然后進行解密恢復。
另一個重要的模塊是對150萬節(jié)點進行調度的模塊。TCFS有超過150萬個節(jié)點,這就需要對資源合理的利用,才能實現效率的最大化,因此調度非常重要。但分布式存儲的調度跟scheduler調度有很大的不同,分布式存儲是按照區(qū)域調度的,在不同城市選用一些可用的存儲節(jié)點,這樣可以達到最高等的效果,而這一功能就是依靠調度模塊來實現完成。
郭加樓解釋說,這其中使用到了TCFS的冗余編碼技術,這一技術能夠在保證文件安全性的前提下,實現效率的最大化。
安全策略強調多重驗證、權益保護
作為一個分布式開放性文件系統(tǒng),安全性是TCFS最關注的部分之一。據郭加樓介紹,TCFS的安全策略是多重驗證,以及權益保護。
文件安全首先需要確定的就是文件的真實有效,TCFS會對文件擁有者上傳的數據進行校驗,確保文件的真實性,然后在下載時,又會對下載者的身份進行校驗,確認具備下載權限后才會通過。此外,在數據交互過程中,采用的是加密數據進行傳輸。
雖然文件是分成36個切片,存放在36個不同節(jié)點上,但切片編碼出來的數據經過天然加密,用于存儲的節(jié)點得不到原始數據,只有拿到至少18個節(jié)點的所有切片后,進行編碼翻譯才能得到原始文件內容。而這些節(jié)點的選擇,又是隨機指定的,150萬節(jié)點保證了這個指定的隨機性,由此實現了文件存放的安全。
同時,用戶也可以對自己的文件進行加密,使用密鑰上傳,由此實現多重保護,確保數據安全無憂。
郭加樓特別談到,TCFS有專門的機制設置,允許用戶對上傳的文件進行授權,以滿足用戶有償分享和出售文件的需求。該機制的結構中,包含了有效期,以及被授權人的地址、簽名、授權文件的路徑等關鍵信息。
這是非常符合區(qū)塊鏈特性的一個機制,藉此TCFS實現了對用戶個人數據的權益保護。
還有特別重要的一點是,TCFS結合迅雷鏈的鏈克體系,以其作為激勵機制,從而保護每個節(jié)點的可靠性,并充分利用了社會的閑置的帶寬和存儲,實現了低成本同時高可用,并且跟迅雷鏈緊密結合,有利于開發(fā)者快速進行區(qū)塊鏈應用開發(fā)。