上個星期直播聽了陳榕老師在清華大學的公開課:互聯(lián)網(wǎng)+區(qū)塊鏈的六個維度(回播鏈接:http://v.youku.com/v_show/id_XMzUzNDQxMjgwOA==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2)
陳榕老師的操作系統(tǒng)魔慷、互聯(lián)網(wǎng)蕉陋、區(qū)塊鏈的理解很深,也解惑了之前一種在思考的區(qū)塊鏈操作系統(tǒng)的問題淑廊。
未來操作系統(tǒng)應(yīng)該是怎樣的?
回答這個問題很難。我們了解下單機操作系統(tǒng)和互聯(lián)網(wǎng)
單機操作系統(tǒng)
我們知道的操作系統(tǒng)有DOS特咆、window季惩、macOS/iOS、unix/linux/android腻格,這些操作系統(tǒng)具體哪些最基本的部分呢画拾?學過操作系統(tǒng)原理的同學可能會說,操作系統(tǒng)包括5大功能菜职,分別是:
(1)進程管理
(2)內(nèi)存管理
(3)設(shè)備管理
(4)文件管理
(5)用戶接口
但是這個是單機的操作系統(tǒng)功能青抛,單機操作系統(tǒng)其實是非常成熟的。unix是1970年開發(fā)酬核,linux是1991年模仿unix開發(fā)的蜜另,dos是1981開發(fā)的,我們常用的window是1995年左右開發(fā)嫡意,也就是說今天我們使用的操作系統(tǒng)架構(gòu)都是40年前的举瑰,雖然操作系統(tǒng)在不斷升級更新,但是功能和架構(gòu)變化不大蔬螟,其實是非常古老的技術(shù)了嘶居。
互聯(lián)網(wǎng)Internet
互聯(lián)網(wǎng)大家都非常熟悉,它是一個比特世界促煮。技術(shù)上邮屁,Internet使用一種專門的計算機協(xié)議,以保證數(shù)據(jù)安全菠齿、可靠地到達指定的目的地佑吝,這個協(xié)議就是TCP/IP。TCP/IP協(xié)議由很多協(xié)議組成绳匀,不同類型的協(xié)議又被放在不同的層芋忿,其中炸客,位于應(yīng)用層的協(xié)議就有很多,比如FTP(文件傳輸協(xié)議)戈钢、SMTP(郵件傳輸協(xié)議)痹仙、HTTP(超文本傳輸協(xié)議)。只要應(yīng)用層使用的是HTTP協(xié)議殉了,就稱為萬維網(wǎng)(World Wide Web)开仰。之所以在瀏覽器里輸入百度網(wǎng)址時,能看見百度網(wǎng)提供的網(wǎng)頁薪铜,就是因為您的個人瀏覽器和百度網(wǎng)的服務(wù)器之間使用的是HTTP協(xié)議在交流众弓。
現(xiàn)在的單機操作系統(tǒng)和互聯(lián)網(wǎng)問題在哪里?
1隔箍、外設(shè)驅(qū)動是導(dǎo)致操作系統(tǒng)藍屏死機最大源頭谓娃。首先這里說的外設(shè)指的是計算機之外的設(shè)備,不包含顯卡蜒滩、聲卡滨达、網(wǎng)卡等已經(jīng)固化在計算機內(nèi)的設(shè)備。比如攝像頭俯艰、打印機弦悉、投影儀、智能音箱等就屬于外設(shè)蟆炊。以前由于cpu比較貴稽莉,這些外設(shè)是沒有cpu的,連接到計算機中需要通過串口涩搓、并口進行連接污秆。驅(qū)動就把第三方的代碼安裝到操作系統(tǒng)里,第三方代碼一崩昧甘,整個系統(tǒng)都崩了良拼。
2、deamon(守護進程)是竊聽隱私的源頭充边。守護進程(daemon)是一類在后臺運行的特殊進程庸推,用于執(zhí)行特定的系統(tǒng)任務(wù)。比如網(wǎng)絡(luò)守護進程浇冰、android系統(tǒng)里面的服務(wù)進程贬媒,一直常駐在后臺。以前deamon的設(shè)計之處是數(shù)據(jù)從磁盤讀取太慢肘习,需要進行數(shù)據(jù)進行緩存际乘,以加快響應(yīng)速度。但是現(xiàn)在deamon主要用來監(jiān)測數(shù)據(jù)漂佩,把數(shù)據(jù)通過socket端口進行收集到中央服務(wù)器脖含,導(dǎo)致隱私數(shù)據(jù)外泄罪塔。
3、任何app可以訪問socket網(wǎng)絡(luò)端口是DDos攻擊源頭养葵。操作系統(tǒng)允許任何程序打開socket端口進行網(wǎng)絡(luò)訪問征堪,包括病毒程序。根據(jù)tcp/ip協(xié)議关拒,端口由兩字節(jié)組成佃蚜,最多只能編碼 0 ~ 65535個端口,也就是說理論上一臺計算機可以同時訪問6萬多個服務(wù)器夏醉,也就是說只有黑客控制了一部分計算機爽锥,就很容易進行DDos攻擊涌韩,導(dǎo)致某個網(wǎng)站或服務(wù)癱瘓畔柔。
4、脆弱的中心化DNS服務(wù)臣樱“胁粒互聯(lián)網(wǎng)發(fā)明的時候,要實現(xiàn)計算機之間進行連接通信雇毫,必須要解決第一個問題是:對每個要進行通信的計算機進行發(fā)ID玄捕,這個ID就是IP地址,ip v4最多是43億多個棚放。當初發(fā)明互聯(lián)網(wǎng)的時候由于只有軟盤還沒有硬盤枚粘,IP還沒有地方來放,同時由于ip可讀性很差飘蚯,所以成立DNS域名管理中心(這是一個中心化的機構(gòu))馍迄,用域名對IP進行映射,域名方便人類進行訪問到某個計算機節(jié)點局骤。大家都知道中心化的節(jié)點攀圈,很容易成為單點,成為攻擊的目標峦甩,采用簡單的DDos攻擊就很容易讓DNS域名服務(wù)器癱瘓赘来,甚至在雙11大流量都很容易讓dns癱瘓,所以DNS是非常脆弱凯傲。
問題怎么解決犬辰?
1、 驅(qū)動 這個問題其實已經(jīng)在慢慢被解決了冰单。以前我們連接打印機忧风,需要把用串口,現(xiàn)在基本上網(wǎng)絡(luò)連接即可球凰。如果把手機狮腿、pad腿宰、網(wǎng)絡(luò)攝像頭都當做外設(shè),現(xiàn)在的外設(shè)都是一臺“小計算機”缘厢,通過標準的連接協(xié)議即可吃度,外設(shè)的范圍擴大了,比如網(wǎng)絡(luò)攝像頭可以是很遠的地方贴硫;我們從局部來看椿每,計算機和這些外設(shè)組成一個網(wǎng)絡(luò)。如果我們提高下我們的視野英遭,這個網(wǎng)絡(luò)就是一臺計算機间护;整個互聯(lián)網(wǎng)也是一臺計算機。
2挖诸、 deamon(守護進程) 汁尺。這個問題其實是單機操作系統(tǒng)給app大多的自由。好比iOS對app的上架非常嚴格多律,給出很多限制的條件痴突,相對來iOS上面的app泄露隱私的幾率就大大減少了,但是Android則自由很多狼荞,導(dǎo)致android的運行不穩(wěn)定辽装,泄露隱私等。google開發(fā)過一個操作系統(tǒng)chromeOS相味,主要思想是所有的app只有一個運行環(huán)境就是chrome瀏覽器拾积,其實就是限制app的自由,去掉deamon丰涉,保證了操作系統(tǒng)的穩(wěn)定性和安全性拓巧。亦來云的ela.runtime其實就個這個概念,但是ela.runtime認識到網(wǎng)絡(luò)攻擊的問題昔搂,去掉了網(wǎng)絡(luò)訪問部分玲销,這是一個非常非常大革命。
3摘符、 socket網(wǎng)絡(luò)端口 贤斜。
socket端口對app開放有兩點:1、單機操作系統(tǒng)給app大多的自由 2逛裤、沒有統(tǒng)一ID
陳榕老師有一個名言是“上網(wǎng)不計算瘩绒,計算不上網(wǎng)”。計算不上網(wǎng)带族,上網(wǎng)不計算這句話不是說真的沒有網(wǎng)絡(luò)锁荔。只是說把計算和網(wǎng)絡(luò)連接進行分離。怎么理解呢蝙砌?比如我們寫數(shù)據(jù)到硬盤阳堕,操作系統(tǒng)會把數(shù)據(jù)從內(nèi)存通過總線傳到cpu跋理,cpu指令會通過總線寫到硬盤,我們不需要告訴cpu通過哪個總線去讀寫硬盤的哪個扇區(qū)恬总、哪個柱面前普。我只需要知道寫到哪個文件目錄、什么文件名即可壹堰。
同理拭卿,我們把整個互聯(lián)網(wǎng)看成是一個計算機,用計算機做比擬的話贱纠,網(wǎng)絡(luò)就是總線峻厚。就好比讓app去打開某個socket端口去訪問某個ip,這里帶來了不安全的源頭谆焊。
怎么解決呢惠桃?
亦來云利用區(qū)塊鏈建立統(tǒng)一訪問資源ID,而不是app某個IP地址訪問計算機懊渡。亦來云架構(gòu)包括P2P網(wǎng)絡(luò)刽射,P2P是實體到實體之間的關(guān)系军拟,而不是物理計算機到計算機的關(guān)系剃执。這個ID就好比硬盤中的文件路徑。
4懈息、 DNS 肾档。
有了統(tǒng)一訪問資源ID,DNS問題已經(jīng)解決了辫继,因為app不需要知道ip怒见,只需要知道id。就好比IPFS的網(wǎng)絡(luò)文件名一樣姑宽。
回到最初的問題:未來操作系統(tǒng)應(yīng)該是怎樣的?
說了這么多遣耍,會到問題本身,未來操作系統(tǒng)應(yīng)該是怎樣的?相信大家有了一個大概的概念了炮车。我做一個大膽的預(yù)測:
未來的單機操作系統(tǒng)應(yīng)該是一個網(wǎng)絡(luò)操作系統(tǒng)舵变,無數(shù)臺個人計算機組成的互聯(lián)網(wǎng)。站在上帝的視野互聯(lián)網(wǎng)是一臺計算機瘦穆,這臺計算機的CPU是由運行pow的礦工計算機組成的纪隙,硬盤是IPFS,操作系統(tǒng)是亦來云扛或。個人計算機只是互聯(lián)網(wǎng)這臺計算機的一個外設(shè)绵咱。
我們知道比特幣是區(qū)塊鏈1.0,以太坊是區(qū)塊鏈2.0熙兔。那么他們分別提供什么功能悲伶,為什么說他們不是操作系統(tǒng)呢艾恼?比特幣提供可信記賬,利用pow共識提供了互聯(lián)網(wǎng)的可信賬本麸锉;以太坊是可信記賬+可信計算蒂萎,智能合約提供了基于鏈上的可信計算功能。比特幣只是一個賬本淮椰,一個特殊的存儲五慈,硬盤都算不上。以太坊在比特幣基礎(chǔ)上增加EVM虛擬機提供了app開發(fā)能力主穗,但是是單進程泻拦,只提供很基礎(chǔ)的鏈服務(wù)設(shè)施,計算能力太差了忽媒。比較熱的EOS也是一樣争拐,只是簡單修改共識算法提高TPS而已,TPS不是操作系統(tǒng)的指標晦雨。
亦來云作為區(qū)塊鏈操作系統(tǒng)架曹,定位是在智能萬維網(wǎng),一是在鏈層面的基礎(chǔ)設(shè)施必須有很強的計算能力闹瞧;二是有很好的可擴展性绑雄;三是有很強的dapp開發(fā)能力;四是由對現(xiàn)有的app有很強的移植能力支持奥邮;五是解決現(xiàn)在單機操作系統(tǒng)或互聯(lián)網(wǎng)的安全問題万牺。
亦來云操作系統(tǒng)是怎么做?
亦來云操作系統(tǒng)結(jié)構(gòu)如下:
從圖中可以看出幾點:
- 可信數(shù)據(jù)保存在區(qū)塊鏈
- 提供sdk方便app開發(fā)
- 所有的程序跑在elastos VM中
- 需要移植app運行在elastos runtime上面
- app不能直接訪問socket端口洽腺,資源ID通過carrier訪問
總結(jié)
本人覺得亦來云和google開發(fā)的chromeOS的很多思想是一樣的脚粟,之前一直對chromeOS理解不夠努潘,chromeOS本身爭議也很大遥缕,chromeOS所有app都運行在chrome瀏覽器上要怎么使用,未來的操作系統(tǒng)應(yīng)該是什么樣的款违,為什么是網(wǎng)絡(luò)操作系統(tǒng)藕坯?這些chromeOS沒有給出答案团南,可能是google自己也沒有明確答案!
顯然亦來云給出了完美的答案堕担!未來操作系統(tǒng)必須是網(wǎng)絡(luò)操作系統(tǒng)已慢;未來操作系統(tǒng)必須限制app開發(fā)的自由;未來操作系統(tǒng)要計算和上網(wǎng)隔離霹购;未來操作系統(tǒng)要有ID佑惠;未來的操作系統(tǒng)要未來操作系統(tǒng)必須結(jié)合上區(qū)塊鏈這個偉大的技術(shù)。
亦來云操作系統(tǒng)結(jié)合區(qū)塊鏈讓chromeOS沒有完成的未來操作系統(tǒng)使命有了落地的可能