在互聯網計算機上,用戶可以使用互聯網身份密碼認證系統登錄各種dapp,如NNSdapp、OpenChat等。這樣做時,他們相信該服務會妥善保管他們的憑據-但他們可能想直接確認互聯網身份真的沒有跟蹤他們。互聯網身份是否真的在運行它聲稱運行的代碼?為了幫助回答這個問題,我們將完成驗證步驟。
當然,以下內容也適用于其他容器,但在這種情況下,我們將堅持使用互聯網身份。
找出正在運行的內容
互聯網計算機上的智能合約,即容器智能合約,是一個WebAssembly模塊。
互聯網計算機故意不會讓你只需要下載任何容器的WASM代碼,因為也許有些開發商想保持其代碼私有。但它確實公開了Wasm模塊的哈希值,最簡單的方法是使用dfx:
DFINITY:ICP鏈上區塊數突破20億:5月30日消息,DFINITY發推稱,ICP鏈上區塊數突破20億,達到重要里程碑。ICP瀏覽器顯示,截至發稿區塊高度為2019886279,交易吞吐量為5225.2 TPS。[2023/5/30 11:48:14]
這里的“控制器”是治理容器的容器ID,這告訴您互聯網身份由網絡神經系統(NNS)控制,并且其代碼只能通過投票的提案進行更改。這很好,如果控制器只是,比如說,我,我可以更改互聯網身份代碼并接管您的所有身份。
“模塊哈希”是部署的.wasm的SHA-256哈希,所以讓我們跟隨那個蹤跡。
找到正確的提交
由于互聯網身份的升級是通過向NNS提出的提案完成的,我們應該在https://github.com/ic-association/nns-proposals存儲庫中的proposals/network_canister_management目錄中找到對此類提案的描述。
DFINITY基金會:網絡神經系統提案已超過21,000:9月23日消息,DFINITY Foundation表示,網絡神經系統(Network Nervous System,NNS)提案已超過21,000。NNS控制著互聯網計算機及其節點,允許以開放、無需許可和安全的方式管理網絡。[2021/9/23 17:00:13]
Github的近期NNS提案列表
我們必須找到升級互聯網身份的最新提案,不幸的是,該文件夾包含許多容器的建議,并且文件命名不是很有幫助。我通常從底部瀏覽列表并查看第二列,其中包含創建或修改文件的最新提交的標題。
在這種情況下,倒數第二個是我們關心的:
Goldfinch在A輪融資中籌集1100萬美元:去中心化借貸協議Goldfinch在由風險投資巨頭 Andreessen Horowitz(a16z)牽頭的A輪融資中籌集了1100萬美元。這輪融資的其他投資者包括Mercy Corps Ventures、A Capital、Access Ventures和Divergence Ventures。資金注入將使Goldfinch能夠建立一個可以使用該協議的貸方和借方社區,以擴大知名度并進行招聘。(Coindesk)[2021/6/16 23:42:09]
https://github.com/ic-association/nns-proposals/blob/main/proposals/network_canister_management/20210527T2203Z.md。
該文件列出了基本原理,概述了更改,最重要的是,它表示這bd51eab是我們要升級到的提交。
DFINITY上線技術文檔,包括開源鏈接、白皮書等:官方消息,DFINITY上線技術文檔(Technical Library),包括開源鏈接、長篇深入探討鏈關鍵技術、NNS等、白皮書和出版物、視頻學院課程。[2021/5/29 22:54:54]
該文件還說wasm哈希是d4a...c04,它與我們上面看到的相匹配。這很好,看來我們真的找到了最新的升級互聯網身份的提案,而且提案實際上通過了。
警告:如果你是偏執狂,不要相信這個文件。沒有什么可以阻止提案提議者創建一個指向一個修訂的文件,同時實際上在提案中包含不同的代碼。這就是為什么需要進行下一步驗證的原因。
獲取源
現在我們有了修訂版,我們可以獲取源代碼并查看修訂版bd51eab:
在最后一行中,您會看到互聯網身份團隊使用包含提案描述文件名的標記名稱標記了該修訂。很整齊!
重現構建
README.md具有以下構建指令:
實際上,運行第一個命令就足夠了,因為它還打印了哈希值:
成功!哈希匹配。
你不相信我?自己嘗試一下。如果您沒有為Docker配置足夠的RAM,這可能會失敗,8GB應該夠了。
此時,您擁有了從您面前的代碼到運行在https://identity.ic0.app的互聯網身份的信任路徑,包括前端代碼,您可以開始審核源代碼。
容器ID呢?
如果您密切注意,您可能已經注意到我們獲得了容器rdmx6-jaaaa-aaaaa-aaadq-cai的模塊,但我們正在訪問https://identity.ic0.app上的Web應用程序。那么這個聯系在哪里呢?
將來,我希望互聯網計算機上有某種形式的類似于DNS的“好主機名注冊表”,用于存儲從好名稱到容器ID的映射,并且您將能夠查詢“哪個容器以安全的方式服務rdmx6-jaaaa-aaaaa-aaadq-cai”。
但是由于我們還沒有那個,但仍然希望您能夠為互聯網身份使用一個好聽的名稱,我們現在對這個映射進行了硬編碼。
這里的相關代碼是您的瀏覽器在訪問任何*.ic0.appURL時下載的“CertifyingServiceWorker”。然后,這段代碼將攔截對該域的所有請求,將其映射到查詢調用,然后使用認證變量來驗證響應。事實上,映射在代碼中:
其他容器呢?
原則上,相同的方法適用于其他容器,無論是OpenChat、NNS容器等。但細節會有所不同,因為每個容器開發人員可能有自己的方式:
傳達其容器的來源的位置和修訂版建造容器特別是,如果沒有可重復的方式來構建容器,這將失敗,這就是為什么像https://reproducible-builds.org/這樣的項目通常如此重要的原因。
最近一段時間,行情波動,很多朋友有一些沮喪,炒幣盈利變得困難,而虧損變得容易,我們今天簡單說一下,我對目前行情的看法,以及對后市的基本判斷.
1900/1/1 0:00:00以太坊開發者TimBeiko更新以太坊測試網Ropsten壓力測試結果,沒有任何問題,下圖是baseFeePerGas隨時間變化的圖表.
1900/1/1 0:00:001.什么是Swarm?它能解決什么問題?Swarm是一個能集中提供去中心化儲存和溝通服務的點對點節點網絡.
1900/1/1 0:00:00|合規聯盟原創出品?| 由于中國對區塊鏈基金的嚴格限制,不少基金管理人瞄準了海外。綜合基金架構靈活度、當地基金監管規范程度、投資人的接受和熟悉度、專業服務市場成熟度、稅收政策、投資人要求、項目所.
1900/1/1 0:00:00GavinWood在柏林Web3峰會上作為一個天生好奇的小孩,當Gavin的母親自作主張給他弄來一臺鄰居的舊電腦時,9歲的Gavin非常興奮.
1900/1/1 0:00:00巴比特訊,7月8日,隱私瀏覽器Brave發推宣布路線圖2.0,其中包含有關正在開發的新BraveWallet、BraveSwap及THEMIS協議.
1900/1/1 0:00:00