演算法集成模塊未啟用不能編譯
1. Aleo主網倒計時 | Aleo最新Puzzle謎題演算法深度解析!
官方於2024年6月25日在Aleo官方的Github上發布最新的謎題演算法,引發各界討論。我們將從多個角度深入解析此演算法。
1. 最新謎題演算法的性質是什麼?
人們普遍認為它基於CPU,確實如此。然而,其本質在於Aleo程序部署流程的一部分,與傳統的以MSM和NTT為主的演算法有所不同。Aleo晶元、Aleo ASIC、Aleo純GPU等計算資源均能支持此演算法。
2. 能否用GPU執行此演算法?
理論上可行,但需時間進行移植、適配和優化。過去,GPU演算法在測試階段被延遲,直到激勵臨近才正式啟用,最終優化出純GPU版本。當前是否也會有純GPU版本,我們暫無定論,但從效率角度看,GPU無疑更優。
3. 為何未集成GPU演算法?
所謂GPU演算法實際上指優化過的MSM演算法。本次演算法更新可能未集成MSM,推測原因在於MSM已優化至較高水平,且與Aleo底層零知識證明演算法緊密相關。
4. 是否會將MSM和NTT演算法加入後續演算法?
我們預計會考慮集成,因為MSM和NTT是零知識證明的核心計算元素,其加入將提高演算法效率。此外,MSM已優化完成,集成過程相對快速。
5. 為何選擇CPU演算法?
官方解釋表明,此次演算法更新是必然之舉,以優化至良好水平的MSM演算法為基礎。新演算法與Aleo虛擬機(vm)緊密關聯。此設計旨在優化vm,即zkvm。
6. 主網後演算法是否還會變化?
基於當前設計,演算法已模塊化,未來可靈活替換。當當前演算法無法滿足需求時,官方將啟用其他演算法進一步提升性能。理論上,主網後演算法調整主要針對小改,如指令集更改,而非大范圍變動。
7. 為何設計為模塊化?
當前Aleo項目的核心優化方向為零知識證明生成速度與zkvm。演算法模塊化適應不同需求,以促進ZK演算法與實際應用的發展。
8. 官方意圖為何?
官方旨在推動ZK演算法及實際應用發展,避免演算法僅作為無意義的驗證過程。零知識證明生成與zkvm緊密相關。Aleo尋求在底層基礎設施領域突破,未來ZPU(零知識證明處理單元)的實現值得期待。
2. win11系統TPM20BIOS設置開啟方法
win11 tpm是什麼?近日,「TPM 2.0」成為了大家討論的熱點,很多用戶之前都不了解這個功能作用,而現在它竟然成為了Windows 11升級的必要條件。下面帶來了TPM 2.0功能的簡單介紹及使用方法,各位用戶可以看一下。
TPM是什麼?
TPM指的是可信平台模塊(Trusted Platform Mole,TPM),通常會集成在CPU、主板等硬體中,主要用於提升系統的安全性。TPM是通過其內置的各種加密演算法,生成或是核驗系統里的密鑰,同時也能存儲重要密鑰。簡單來說就是可以用來檢測 Windows 11 系統的完整性,防止被惡意程序篡改,還有就是面部識別、指紋識別、磁碟加密等安全功能,早期密鑰文件是存儲在硬碟里中,容易被破解掉,而現在存儲在TPM模塊中,安全性就大幅提高了。
TPM 2.0常見問題解答
1、根據微軟官方介紹,Windows11正式版發布後只支持TPM 2.0版本以上,早期的TPM 1.2是不支持的。
2、TPM 2.0標準的制定實施時間是2016年,而早於這個時間購買的硬體是不支持TPM 2.0的。
3、繞過TPM驗證安裝win11,但後期使用有可能出現各種意想不到的問題(官方說法)。
4、不支持TPM 2.0怎麼辦,目前泄露版可進入PE安裝(appraiserres.dll替換法),公測時應該會有萬能的Ghost版。
怎樣判斷電腦是否支持TPM 2.0?
1、按下鍵盤上的Win+R組合鍵,在「運行」對話框中輸入「tpm.msc」命令,最後「確認」即可。
2、在「本地計算機上受信任的平台模塊(TPM)管理」界面,如果顯示「找不到兼容的TPM」說明不支持或未開啟,如下圖顯示"TPM已就緒,可以使用",並且「規范版本」大於或等於2.0,升級Windows11是完全沒問題的。
3、如果顯示「找不到兼容的TPM」也有可能是BIOS設置中沒有啟用CPU里的TPM功能。如果CPU處理器的型號是2016年後發布的,例如:Intel(11代、10代、9代、8代酷睿)、AMD(銳龍5000、4000、3000、2000系列)可以在開機的時候按F2或者Del鍵進入BIOS界面,然後找到TPM功能開啟(不同BIOS的名稱有些不一樣,例如常見的Trust Computing/可信計算/TPM Embedded security/PTT/fTPM)。
華碩主板在「高級」選項卡「PCH-FW Configuration」選項中,開啟「PTT(Platform Trust Technology,平台可信技術)」。
微星主板在「SETTING」選項卡」Security「選項中,找到」Trusted Computing「,然後將「Security Device Support」選項打開
3. 【Opencascade】OCCT wasm系列(二) —— 多線程開發
啟用多線程WebAssembly需面對多重挑戰。現代CPU,包括移動端CPU,通常具有6個或更多核心,高性能處理已成為應用標准,OCCT在幾何網格劃分、解碼壓縮gltf文件等演算法中已採用多線程加速,旨在提高在Draw Harness中的操作性能。
然而,WebAssembly 1.0版本並不支持多線程。此功能需通過擴展實現,如Threads and atomics extension。Emscripten SDK默認不啟用此功能,使用-pthread標志可配置啟用。在OCCT倉庫的adm/scripts目錄下,通過wasm_build.bat腳本中的USE_PTHREADS選項實現。
盡管編譯時未使用-pthread選項,Emscripten SDK仍實現POSIX threads API,若未啟用此選項,SDK將僅使用單線程模擬。若配置正確,WASM構建多線程模式與單線程模式類似,但會多出一個「DRAWEXE.worker.js」文件,表示依賴web workers API。
跨域頭設置是多線程WASM構建的關鍵。此設置為保護web應用程序及其用戶免受惡意代碼影響。Spectre和Meltdown漏洞允許同一進程線程讀取另一個線程內存,這在桌面程序中常見,但瀏覽器中可能引發嚴重風險。瀏覽器通過創建專用進程來實施隔離,這帶來額外成本,限制了跨源文件載入。為了強制執行這些限制,伺服器需配置跨域隔離頭。
在本地測試中,使用Python HTTP Server可以簡單設置跨域頭。通過「test_server.py」腳本,運行命令在工作目錄啟用伺服器。配置完成後,通過瀏覽器訪問 http://localhost:8080 應能打開多線程WASM構建的網頁。然而,實際部署時需使用支持HTTPS的託管服務。
GitHub Pages服務曾被用於託管WebAssembly網站,效果良好,但無法管理跨域頭信息。Apache HTTP server提供了一個解決方案,通過調整.htaccess文件設置跨源頭,但需對技術細節有深入理解。最終,作者排除了.js文件的NGINX緩存問題,解決了實際部署挑戰。
使用Firefox 92進行測試,驗證跨域隔離頭對網站執行的影響。結果顯示,瀏覽器在不同標簽頁中打開同一網站時,會啟動專用進程,這在低速和內存受限硬體中可能影響性能。瀏覽器在默認啟用更強的隔離狀態時,即使在不同標簽頁中打開同一網站,Edge也會啟動一個專門進程。
多線程WebAssembly的動態載入面臨兼容性問題。瀏覽器不支持多線程功能,導致無法在同一環境下使用多線程和單線程WASM模塊。為確保兼容性,Web應用程序需存儲多個不同編譯器標記構建的WASM模塊,並動態選擇載入。