技術》什麼是 Vitalik 推崇的 RISC-V?CKB-VM 為什麼選擇 RISC-V?

本文源自 CKB 所著文章,由 wublockchain 轉載。 (前情提要:拆解 Vitalik 想用「RISC-V 取代 EVM」重構以太坊執行層的戰略野心 ) (背景補充:EVM該退場了!Vitalik提案改用RISC-V,ZK證明效能可提升百倍以上 ) 區塊鏈的出現使得智慧合約得到了更好的實現和發展,而區塊鏈和智慧合約之間,還存在著一個重要的角色:虛擬機器(Virtual Machine) 。 虛擬機器的概念在上個世紀六十年代就被提出來,而到九十年代才開始流行。當時的網路跨越了眾多不同的作業系統、瀏覽器,如果開發者想要製作一個應用,就需要去適配所有不同的作業系統。大家知道現在 App 開發就分為安卓和蘋果系統,而當時局面更加複雜。恰好 Java 程式語言開始流行,Java 構建的虛擬機器能夠讓程式只需要寫一次,依託 Java 虛擬機器就能夠在多個平臺上執行,所以當時提出的口號就是: 一處編譯、到處執行 。 我們知道比特幣是沒有虛擬機器的,因為比特幣就是把一段數位(也就是「比特幣」)從地址 A 轉移到地址 B,而以太坊則提出,區塊鏈上執行的為什麼不能是一套程式碼,能夠實現更多複雜多樣的東西?這就是我們所說的智慧合約平臺,所有節點執行一樣的合約程式碼得到完全一樣的結果。 在區塊鏈上,虛擬機器就是智慧合約的執行環境,是一個可以完全對外隔離的完整電腦體系。區塊鏈通過虛擬機器來呼叫和執行智慧合約,並要求所有節點都達成一致。而節點用的是不同的系統,有些機器是 64 位的,有些是 32 位的,傳統的 Java 虛擬機器容忍計算結果有少量的差異,但是在區塊鏈上所有結果必須一樣,因此,一個新的、適用於區塊鏈的虛擬機器是必不可少的。 理想中的區塊鏈虛擬機器 每個區塊鏈專案的虛擬機器設計,都會有自身的藝術追求,在追求眾多的特性同時做不同層次上的取捨。在做了大量的研究之後,我們認為理想中的區塊鏈虛擬機器應該是這樣的: 執行時有足夠的確定性,在呼叫同樣的智慧合約輸入時,應該返回相同的輸出結果,輸出結果不依賴於時間、執行環境等外部的條件; 執行時有足夠的安全性,虛擬機器的執行不會對平臺本身帶來負面影響;對更新足夠的靈活,讓區塊鏈不用通過硬分叉,就可以實現加密演算法的升級或新增(回想一下以太坊硬分叉升級的痛苦); 資訊足夠的透明,可以讓虛擬機器上執行的智慧合約充分發揮虛擬機器的潛力;費用機制足夠的合理,能夠確保虛擬機器執行時資源消耗的計算方式更加合理準確; 可以支援不同的語言編譯,讓開發者能夠自由地開發,將最新的科技運用其中。 在設計 Nervos CKB 虛擬機器之前,我們發現很多區塊鏈專案都不是用真實的 CPU 指令集來構造自己的虛擬機器的,他們更多的是選擇了 WASM 來構造自己的虛擬機器。 而我們更傾向於採用真實的 CPU 指令集來構造自己的虛擬機器,因為在任何精巧複雜的虛擬機器的最底層,都需要將操作轉變為原始的彙編指令來執行對 CPU 的操作。另外,採用真實 CPU 指令集就不會在設計層面引入一些語義約束,束縛虛擬機器的靈活性。 做一個不恰當的比喻,操作 CPU 需要有一套語言體系,使用真實的 CPU 指令集就如同能直接用這套語言體系和 CPU「說話」,那就非常方便。否則,就好像先說中文,再轉換為英文,不論多完美的翻譯水平,都會有一定的偏差和束縛。 通過真實的 CPU 指令集,虛擬機器可以根據需要增加任意型別的資料結構或演算法,可以最大限度的讓開發者寫出任何滿足要求的合約。於是我們決定大膽的嘗試使用真實的 CPU 指令集來構造自己的虛擬機器 CKB-VM。 在 CPU 指令集的選擇中,我們選擇了精簡的開源指令集 RISC-V。RISC-V 可以滿足從低功耗小型微處理器,到高效能資料中心(DC)處理器的實現要求,並且有著透明性、精簡性、模組化、支援的廣泛性和成熟性的特點。這些特性都和 CKB-VM 的設計需求完美契合。那麼 RISC-V 又是什麼呢? RISC-V RISC-V 是一個清晰、簡約、開源的 CPU 指令集架構,誕生於美國加州大學伯克利分校。 2010 年,由於其他商業閉源指令集的侷限性,該校的一個研究團隊在啟動一個新專案時,從零開始設計了一套全新的開源指令集。這套全新的指令集有著大量的暫存器和透明的指令執行速度,能夠幫助編譯器和組合語言程式員將實際的重要問題轉換為適當、高效的程式碼,並且只包含了不到 50 條指令 。這套指令集就是 RISC-V。 架構師們在設計 RISC-V 時,就是希望 RISC-V 在所有的計算裝置上都能夠有效工作。自 2010 年被髮明以來,RISC-V 簡潔的設計贏得了業界和學界的廣泛支援,並且獲得了社群的喜愛。 RISC-V 基金會 RISC-V 指令集的發展主要由 RISC-V 基金會以及社群推動。RISC-V 基金會創立於 2015 年,是一家非營利組織,也是首個開放、協作的軟硬體創新者社群。 RISC-V 基金會目前已經有超過 235 家成員,包括Google、高通、蘋果、IBM、特斯拉、華為等企業。成員可以參與制定並使用 RISC-V 指令集規範,並且參與相關軟、硬體生態系統的發展。 由於精簡、開源的設計,RISC-V 在一些學術機構中大受歡迎,如加州大學伯克利分校、麻省理工學院、普林斯頓大學、中科院計算所等。除此之外,一些政府機構,如印度政府、上海市經濟資訊委等,也大力支援基於 RISC-V 的專案開發。 現有的指令集 RISC-V 是一個非常年輕的指令集,那麼在此之前,主要的指令集都有哪些呢? 在 PC 時代,x86 是不可動搖的霸主,x86 是 CISC (Complex Instruction Set Computer,複雜指令集),和 RISC (Reduced Instruction Set Computer,精簡指令集) 不同,CISC 指令集會隨著發展不斷增多。這樣會使得成本不斷上升,效能和功耗也會受到影響。而且,CISC 指令集長度、執行時...

查看原文
本頁面內容僅供參考,非招攬或要約,也不提供投資、稅務或法律諮詢。詳見聲明了解更多風險披露。
  • 讚賞
  • 1
  • 分享
留言
0/400
人之初信为本vip
· 04-23 13:21
別發這些沒用的了
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate.io APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)