而TOK,,則必須是你跟你的1000個好友都單獨建立聯(lián)系通道,這相當(dāng)于你的手機(jī)就是一個小型的自己的服務(wù)器,,要處理的各種進(jìn)程很多,,它不再依賴中心服務(wù)器。(這也是智能手機(jī)性能越來越強大的證明) 畫個簡圖來展示一下: 由上圖所見,,當(dāng)前的微信,、Facebook等中心化通訊軟件,他們都有極其強大的中心服務(wù)器,,所有人都只跟服務(wù)器直接連接,,A與BCDEF的連接,都必須通過中心服務(wù)器連接,,你發(fā)出去的所有信息,,都得經(jīng)過中心服務(wù)器的轉(zhuǎn)發(fā)、審查,、存儲,,所以你的通信內(nèi)容全是被第三方輕易看到的。 而TOK,,是真正的點對點通信,,A與BCDEF都是直接連接的,不存在所謂的中心服務(wù)器,,只要任何引導(dǎo)節(jié)點活著,,沒有人可以阻止A與其他人通信。 點對點通信的優(yōu)點很明確: 你與他人的通信內(nèi)容只有兩個人知道,,不會被任何人存儲,、審查、分析等,。 但點對點通信的缺點也很突出: 也就是如何用你的手機(jī)設(shè)備,,代替強大的服務(wù)器性能。 這是所有想做點對點通信的團(tuán)隊要花大力氣攻克的難題:速度如何更快,,效率如何更好,,體驗如何更好。 以前有一個很流行的通訊軟件SKYPE也是點對點通信的,,但SKYPE的注冊服務(wù)器是中心化的(如果你用過SKYPE,,應(yīng)該記得你的登錄ID是很短的,但凡很短的ID,,百分百是中心化的服務(wù)器),,而且以前是PC時代,電腦一般不需要考慮耗電的問題,,移動時代要實現(xiàn)點對點還是有相當(dāng)大的難度,。 從目前的來看,,TOK 已經(jīng)做了很好的速度和效率的提升,雖然仍看到有很多人吐槽,,單實際上確實算是移動點對點通信里面做得非常好的了,。希望未來能進(jìn)一步提升用戶體驗。 有興趣進(jìn)一步了解技術(shù)的可以去Google或百度幾個技術(shù)關(guān)鍵詞:DHT網(wǎng)絡(luò),、KAD網(wǎng)絡(luò),,有詳細(xì)解釋沒有中心服務(wù)器的情況下如何通信,TOK通信的基礎(chǔ)原理就是這些基本的點對點方式,。 ------------------------------------------------------------------ DHT全稱叫分布式哈希表(Distributed Hash Table),,是一種分布式存儲方法。在不需要服務(wù)器的情況下,,每個客戶端負(fù)責(zé)一個小范圍的路由,,并負(fù)責(zé)存儲一小部分?jǐn)?shù)據(jù),從而實現(xiàn)整個DHT網(wǎng)絡(luò)的尋址和存儲,。 KAD 是Kademlia的簡稱,,一種基于P2P理念的新型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),主要的目標(biāo)是做用戶不需要連結(jié)服務(wù)器,,而是直接連結(jié)到Clients,。因此,Kad也被稱之為Serverless network(無服務(wù)器網(wǎng)絡(luò)),。Kad具有傳統(tǒng)eD2k所不具備的優(yōu)勢 ------------------------------------------------------- 端到端加密,,是不是確實比較耗電? 是的,,確實端到端的加密是比較耗電的,。 但耗電不只是在加密,還有DHT網(wǎng)絡(luò)的找好友方式,。 先說加密,, 因為你的每條信息,都在你的手機(jī)上要加密和解密,,這些都需要超大的運算來能完成,,所以細(xì)心地TOK 用戶可以感覺到,有時候手機(jī)有點發(fā)熱,,那是因為你的手機(jī)CPU在高速運算,,給你的信息不斷的加密和解密,發(fā)送出去的信息要加密,,收到的信息要解密,,所以,,相對而言TOK 是比較耗電的,,但目前手機(jī)的性能越來越好,,這也不是大問題。 再來說DHT網(wǎng)絡(luò)的連接,, 因為TOK沒有服務(wù)器幫你連接其他人,,所以你需要一直不停的與你的所有好友保持連接,不停的查找對方的Announce確認(rèn)是否在線,,同時不停的宣告(Announce)自己在線,,這個也非常耗電。(注:微信用戶只需要和微信服務(wù)器一個人保持連接,,你的所有好友信息都由微信服務(wù)器代為轉(zhuǎn)達(dá)) 關(guān)于加密實在太專業(yè),,我就不詳解了,問我的人大多是非碼農(nóng),,有興趣的可以去google一下“非對稱加密”算法,。 ------------------------------------------------- 非對稱加密算法是一種密鑰的保密方法。 非對稱加密算法需要兩個密鑰:公開密鑰(publickey:簡稱公鑰)和私有密鑰(privatekey:簡稱私鑰),。公鑰與私鑰是一對,,如果用公鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私鑰才能解密,。因為加密和解密使用的是兩個不同的密鑰,,所以這種算法叫作非對稱加密算法。 非對稱加密算法實現(xiàn)機(jī)密信息交換的基本過程是:甲方生成一對密鑰并將公鑰公開,,需要向甲方發(fā)送信息的其他角色(乙方)使用該密鑰(甲方的公鑰)對機(jī)密信息進(jìn)行加密后再發(fā)送給甲方,;甲方再用自己私鑰對加密后的信息進(jìn)行解密。甲方想要回復(fù)乙方時正好相反,,使用乙方的公鑰對數(shù)據(jù)進(jìn)行加密,,同理,乙方使用自己的私鑰來進(jìn)行解密,。 另一方面,,甲方可以使用自己的私鑰對機(jī)密信息進(jìn)行簽名后再發(fā)送給乙方;乙方再用甲方的公鑰對甲方發(fā)送回來的數(shù)據(jù)進(jìn)行驗簽,。 甲方只能用其私鑰解密由其公鑰加密后的任何信息,。非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要,。 非對稱密碼體制的特點:算法強度復(fù)雜,、安全性依賴于算法與密鑰但是由于其算法復(fù)雜,而使得加密解密速度沒有對稱加密解密的速度快,。對稱密碼體制中只有一種密鑰,,并且是非公開的,如果要解密就得讓對方知道密鑰,。所以保證其安全性就是保證密鑰的安全,,而非對稱密鑰體制有兩種密鑰,,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了,。這樣安全性就大了很多,。 為什么有超長的ID,就不需要注冊服務(wù)器,? TOK ID 又是一個與當(dāng)前主流中心化通訊軟件很不一樣的地方,。 你會發(fā)現(xiàn)TOK ID不需要去任何一個中心服務(wù)器上驗證,你隨便給自己的ID文件取一個名字,,都可以生成你自己的TOK ID,。 你發(fā)現(xiàn)沒有,無論你取一個多簡單的常用的名稱,,都不會提示你此名稱已被注冊,,這是因為,這個ID文件包僅僅存在于你的手機(jī)上,,你只要自己不在自己的手機(jī)上使用相同兩個ID文件名,,就隨便你怎么取名都可以,因為你的好友不是通過文件名來識別你,,而是通過那個在你手機(jī)上生成的隨機(jī)ID 來識別你,。 那吃瓜群眾要繼續(xù)問我,為什么那個隨機(jī)的ID就不用去某個中心化服務(wù)器上去驗證呢,?萬一和別人的相同怎么辦,? 剛才已經(jīng)說過了,這個ID足夠長,,且包含文字和數(shù)字,,這么長的一串隨機(jī)碼,你要碰到重復(fù)的概率,,基本上是不可能,。 那么這個ID有多少種可能性?76位,,每個可以是0---9和ABCDEF 6個字母,,即 76加上16等于10的92次方以上,1后面8個0代表一個億,, 10的92次方,,則表示1后面帶有11個億(92除以8),即 N個億億億億億億億億億億億(好吧,,我也是足夠無聊寫滿了11個億),,這個數(shù)字是一個超級天文數(shù)字,根本無法窮盡,這個概率相當(dāng)于你站在地球上,,想要用你的飛鏢戳中一只月球上你指定的螞蟻,,根本不現(xiàn)實。 在有限的人類使用的情況下,,遇到重復(fù)ID的可能性幾乎沒有,。因此,,TOK就與你常見的其它通訊工具不同,,完全不需要去驗證你的賬號是不是別人早就用了。 所以,,TOK在生成ID賬號的那一刻開始,,就已經(jīng)是去中心化的,因為TOK不需要中心服務(wù)器去驗證ID的唯一性,,它從生成的那一刻開始就是唯一的,。 而其他的所有中心化通訊工具,首先就有一個注冊服務(wù)器,,正因為你要去那個服務(wù)器上注冊,,所以中心服務(wù)器也可以隨時把你刪了,封殺了,。 而TOK ID,,永遠(yuǎn)只在你自己的手機(jī)上,任何其他人都無法把你封鎖,,除非你自己銷毀它,。 你第一次打開TOK ,先要生成自己的TOK ID,,而這個ID有76位字母和數(shù)字,,其中前64位是公鑰(也稱PK,即PublicKey),,有公鑰,,你就可以和其他人進(jìn)行通信了,后面還有12位,,其中8位是隨機(jī)碼和4位驗證碼,,所有信息,只在你的本機(jī)上有效,。 為什么你的TOKID并不能隨意在別的手機(jī)上登錄,? 還在留言區(qū)看到一些很有意思的問題,比如很多人都有兩個手機(jī),,剛剛在一個手機(jī)上登錄了TOK ,,卻發(fā)現(xiàn)想要用這個ID換一個手機(jī)聊天的時候,輸入ID文件名是沒有意義的,而且也沒有地方可以直接輸入ID登錄,,這到底是怎么回事,? 第三個問題已經(jīng)講過了,你的ID只存在于你的手機(jī)上,,只在那個ID文件包里面,,包括公鑰和私鑰,都在那個ID文件包里面,,如果你要在另一臺手機(jī)上使用,,你必須把ID文件包打包出來(我的---設(shè)置---導(dǎo)出文件),自己加密后,,發(fā)送到另一個手機(jī)上,,然后用TOK 打開,你才能登陸你之前那個手機(jī)的TOK ID賬戶,。 而如果是中心服務(wù)器的通訊產(chǎn)品,,則完全不需要這么麻煩,因為你的一切賬戶信息都在中心服務(wù)器上,,你隨時連接就OK了,。當(dāng)然,如果中心服務(wù)器刪除你,,封鎖你,,你也一點辦法都沒有。這就是TOK 與其它中心化產(chǎn)品很不一樣的地方,。 TOKID只在你自己的手中,,其他人沒有權(quán)力刪除封鎖它。這就是TOK的去中心化的體現(xiàn)之一,。 先寫這么多,,下次再繼續(xù)寫相關(guān)問題。有問題也可以到TOK 的星空上加我,,你肯定能識別出我非典型資深碼農(nóng)的味道,,那里來自全世界操各種語言的各種奇奇怪怪的人和各種極客,都在追求Think Different, 喬布斯的第一支廣告語,,是絕大多數(shù)人的默認(rèn)簽名,,歡迎你有different 的問題時,給我留言,。 一個非典型資深碼農(nóng)(所謂資深與否,,主要看頭發(fā)多少) |
|