###### tags: `PUBTA`, `PUBTA_BTC` BTC 001 密碼學原理 === video: https://www.youtube.com/watch?v=0XbzvsuPmzI&list=PLnTPdMjBRmAYehJkVbAXqxO-0cc9ALC6V&index=2 # Cryptocurrency - 加密貨幣是不加密的,區塊鏈上的交易內容(帳戶地址、轉帳金額)都是公開的 # 比特幣使用密碼學中兩個功能 ## 哈希:***cryptographic hash function(SHA-256)*** - **collision resistance**: - 用途:可用來對 message 取 digest,用來檢測對 message 的竄改 - 理論無法證明 - **hiding**:哈希函數的計算過程是單向、不可逆的,即哈希值無洩漏有關輸入的任何資訊 - 前提:輸入空間要足夠大、分布要比較均勻 - 輸入後加 nonce 再取哈希:H(x || nonce) - 用途:可和 collision resistance 性質結合來實現 digital commitment(digital equivalent of a sealed envelope) - **puzzle friendly**:哈希值的計算事先無法預測,因此,若希望計算出的哈希值落在某個範圍內,只能一個一個試 - 比特幣挖礦的 Proof-of-Work:H(block header) $\leq$ target - difficult to solve, but easy to verify ## 簽名 - 比特幣開戶:創立一組公私鑰對(public key, private key),源自 **asymmetric encryption** algorithm - ***簽名用私鑰,驗證簽名用公鑰*** - 假設:產生公私鑰時,有 a good source of randomness(簽名時也需要)
{"metaMigratedAt":"2023-06-14T23:31:03.948Z","metaMigratedFrom":"Content","title":"BTC 001 密碼學原理","breaks":true,"contributors":"[{\"id\":\"0e71eb5d-50d3-4ad7-930f-2871ad460aa4\",\"add\":1041,\"del\":128}]"}
Expand menu