關於區塊鏈(三)
賬戶的所有權
傳統銀行系統:銀行卡 + 密碼
開戶時會記錄個人的資訊用於該賬號的所有權
位元幣系統:
密碼--〉私鑰
私鑰:shshhfihduhdihfihsihfihdihw8ihidhhfieuiu2i374
hash(hash(fun(shshhfihduhdihfihsihfihdihw8ihidhhfieuiu2i374))) --〉279749h8y8690dfohdihiy
對私鑰進行 兩次 hash 運算 即可得到 位址資訊 ; 但位址無法反推得到私鑰的資訊
即私鑰非常重要
如何在不洩漏私鑰的情況下來證明我們擁有某個私鑰?
使用非對稱加密技術(交易簽名)
交易進行hash 得到摘要
用私鑰對摘要進行簽名(要求安全,避免私鑰洩漏)
簽名過程:
hash('') --〉67khhhkhh7 (摘要資訊)
用摘要資訊和私鑰進行簽名運算
# sign(摘要,私鑰)--〉簽名資訊
sign("67khhhkhh7" , "shshhfihduhdihfihsihfihdihw8ihidhhfieuiu2i374" ) --〉'jssofohfhfhe'
迴圈廣播交易告訴所有的節點進行驗證
廣播內容:交易資訊 簽名資訊
解密:
verify(簽名資訊,付款方位址) --〉摘要
關於隱私:
整個過程不包含個人資訊
關於安全:
位元幣系統:只要不洩漏私鑰則賬戶安全
賬戶所有權問題
誰能用 2a38cba2390fde 位址支付,誰就擁有這個賬戶的所有權 私鑰 sdhgkdnhgggsdjuufjlkkhsuhfggdngbf hash hash fun sdhgkdnhgggsdjuufjlkkhsuhfggdngbf 2a38cba2390fde 位元幣中乙個位址對應乙個私...
std move轉換所有權
在c 11中,標準庫在中提供了乙個有用的函式std move,std move並不能移動任何東西,它唯一的功能是將乙個左值強制轉化為右值引用,繼而可以通過右值引用使用該值,以用於移動語義。從實現上講,std move基本等同於乙個型別轉換 static cast lvalue 作用是 轉換所有權,注...
Rust RAII 所有權 引用
raii源自於現代c rust 強制實行 raii resource acquisition is initiallization,資源獲取即初始化 所以任何物件在離開作用域時,它的析構函式 destructor 就被呼叫,然後它占有的資源就被釋放。這種行為避免了資源洩漏 resource leak...