在開源晶片與 Xous 作業系統上執行以太坊簽署器
Getting Ethereum Signer running on open-source operating system and chip
場次摘要
這場工作坊以開源晶片上的以太坊簽署器,介紹硬體檢查、啟動流程與應用程式開發。講者說明,晶片設計與封裝可供檢視,啟動程式也能透過可重現建置比對雜湊。不過,載入開發應用程式會觸發開發者模式,改變原有信任條件,因此應先執行稽核並保存結果;事後再稽核,不能取代這份初始紀錄。 Xous 作業系統透過記憶體管理單元隔離應用程式,並以頁面映射傳遞資料。共用的 Rust 簽署套件負責以太坊交易解碼與簽署,可搭配不同裝置介面。示範則是開機產生種子、收到指令就簽署的暫用錢包,沒有螢幕確認流程,不應存放真實資金。加入螢幕、按鈕確認或手機遠端顯示,都是講者提出的後續改作方向,而非範例既有功能。
值得記下的 5 件事
- [12:20]
實體晶片檢查與啟動程式比對是不同步驟 講者表示,晶片與封裝設計可供檢視,開發者能比對開源設計與實體晶片
軟體端則可依版本重建啟動程式,再核對稽核輸出的雜湊,也就是用來比對程式內容的摘要值;兩者檢查的對象不同。
- [7:00]
先保存稽核結果,再載入開發應用程式 講者提醒,載入軟體會觸發旗標,改變後續稽核資料的可信條件
開發者模式無法退出,其他人也能載入應用程式讀取記憶體內容;因此應先保存稽核結果,也不應直接以開發者模式部署商用產品。
- [14:00]
Xous 以記憶體隔離與訊息傳遞管理應用程式 Xous 透過記憶體管理單元(MMU)隔離多個應用程式,並讓它們以訊息互通
講者說明,資料傳遞可藉由改變記憶體頁面的映射與所有權,避免複製內容。目前尚無動態應用程式載入器,變更應用仍須重新建置並燒錄映像檔;若只修改應用程式,則不必重燒作業系統。
- [33:20]
共用簽署套件分離以太坊邏輯與裝置介面 講者介紹的 Rust 套件處理交易解碼,以及交易、型別化資料與一般資料的簽署,不綁定特定作業系統
不同裝置可共用這些功能,再各自處理畫面與傳輸;透過可共用的描述檔呈現易懂的簽署內容,則仍是他希望加入的方向。
- [31:40]
暫用錢包範例不適合保管真實資金 範例沒有螢幕,開機時產生種子,收到指令便直接簽署,講者明確警告不要放入真實資金
螢幕、按鈕確認,以及透過加密通道連接手機顯示,都是可供開發者嘗試的擴充,不是這次範例已具備的安全流程。
更多來自 DEVCON 8
Arrow 的硬體 DAO 實驗:AI 協作、在地製造與責任分工
A DAO Shipped an Aircraft: What It Takes to Coordinate Atoms with Tokens
Thomas Garrison
Kohaku:以 SDK 將隱私與安全功能帶入以太坊錢包
Kohaku : privacy for everyone, by default
Nico、Vitalik
私密區塊鏈的取捨:隱私、去中心化與合約協作
Private State, Public Network: The Tradeoffs Behind Privacy
Zachary Williamson