# Cold Wallet with M2354: (Project) ## week 20 ### Report : https://www.canva.com/design/DAF1jS8C7J4/0mXU3JtS-bpNTsDx0l3TXA/view ### Question: ### 11/29 用論文常用的名詞大家才聽得懂 network wallet, hardware wallet 要確定要如何傳到區塊練上面(拆解區塊練transaction) 確認qrcode 真的有比較安全嗎?? (優缺點,和其他方法比較看看,再去做research) 點指紋才能invoke camera ?? 不會一直收到一些垃圾 為什麼選擇 fingerprint (可以先寫他是一個管道,再去做research) sentry init 要用準確一點的詞(看多億點文獻) 就算private key 存在裡面不會leakage,但 recovery (註記詞)會存在leakage的可能性 ### 12/13 找現有商用成品。 找survey paper,(survey of blockchain wallet)比較的paper google -> 技術文件 -> survey paper -> 其他文獻 pros and cons of paper. PPT 要漂亮好懂。 ### 12/27 用甚麼secure element,晶片優點缺點。 找hardware survey survey paper 要找大神的或者大機構,還是要以Citation為主,期刊有名的(ieee, dependable)。 期刊分數(impact factor) device 要有自己的private key 拿來加密自己的東西(ex: scureBoot 要加密) trezor顯然搞不清楚甚麼是安全 ### 1/17 [c++ signer library for web3.0 ethereum](https://github.com/trustwallet/wallet-core/blob/master/tests/chains/Ethereum/TWAnySignerTests.cpp) [c library for ethereum](https://github.com/mhw0/libethc) ledger 確認transaction顯示甚麼 去研究Ledger所有功能 把目前的spec畫出來(包含交互的protocol) ### 1/24 1. User flow 建議分成offline、online,再分成實際顯示、背後作業。 2. 列一個預定完成list(依照priority) ``` 1. Signature 2. offline and online wallet connection 3. Display address 4. PIN code (research) 5. recovery phrase (research) 6. security between offline and online wallet (research) ``` 3. 確定哪邊是authenticator, device(research) 4. 確定是不是RLP的問題(找現成的code 來看) ### 2/21 為甚麼要用你們的冷錢包(TrustZone的好處) 先介紹差別 ### 3/5 keystore架構廠商,有沒有共通的架構 opensource ### 3/14 1. 左中用電腦代替 2. Config/Init 要透過u票 3. voter的身份驗證 ```python= #init create_simulated_comm_connection(self.cloud_server_dm, self.iot_device) self.cloud_server_dm.flow_apply_u_ticket.holder_apply_u_ticket(id_for_initialization_u_ticket) wait_simulated_comm_completed(self.cloud_server_dm, self.iot_device) ``` ```python= #ownerShip create_simulated_comm_connection(self.user_agent_do, self.iot_device) self.user_agent_do.flow_apply_u_ticket.holder_apply_u_ticket(target_device_id) wait_simulated_comm_completed(self.user_agent_do, self.iot_device) ``` ```python= #access create_simulated_comm_connection(self.user_agent_do, self.iot_device) generated_command = "HELLO-1" self.user_agent_do.flow_apply_u_ticket.holder_apply_u_ticket( target_device_id, generated_command) wait_simulated_comm_completed(self.user_agent_do, self.iot_device) ``` ### 3/20 教授郝 trace code 還有看完整體運作 (flow, stage) 分析完覺得device controller 要先下手 寫成c/c++ 還在考慮因為class voting machine 討論完學長希望我們把整個ureka都寫成c語言, 拆成小目標、顯示先用電腦(PuTTy)當monitor、接下來會跟隔壁組作連接互動作投票,如果覺得用電腦不安全再用其他方式呈現(LCD)教授你覺得呢? 學長也希望另一組把ureka 寫成 java的code讓他的博論更豐富。 ### 3/28 鮮血document 流程定出來->去看柏翰的code 要記得寫testcase 鮮血部分在寫全部ㄡ 先在電腦跑,在load在板子上。都要testcase ### 4/2 zp