加密貨幣的交易機制
當A先生要將比特幣轉移給其他人時,在概念上要用自己的「鑰匙」打開「鎖」,並重新設定一個只有新的擁有者才能打開的「鎖」。在分散式帳本中會呈現這樣的所有權轉換。
具體上,「鑰匙」和「鎖」就是橢圓曲線加密中的私密金鑰和公開金鑰,雖說私密金鑰是由參與者隨機選擇的數字,但大部分都是藉由專用軟體產生。私密金鑰是證明所有權的唯一方式,所以絕對不能將自己的私密金鑰告訴他人,或是疏於管理而遺失、洩漏。若是遺失私密金鑰,將永遠無法證明自己是這些加密貨幣的持有者,而若私密金鑰遭到洩漏,所有權被惡意轉讓給第三方的話,就會失去所有權。
匯款的目的地(位址 Address)
具當A先生要將比特幣匯給B先生時,位址(Address)會被當作匯款的目的地。一般來說地址是將公開金鑰雜湊化所產生。
1. 利用SHA-256將公開金鑰雜湊化。
2. 使用RIPEMD-160將步驟一的雜湊值進行再次雜湊化。
3. 將步驟2所得之雜湊值進行Base58Check編碼以產生位址。
RIPEMD-160
IPEMD是「RACE Integrity Evaluation Message Digest」的縮寫,由天主教魯汶大學的Hans Dobbertin等人在1996年所開發出來的雜湊函數。RIPEMD-160輸出長度為160bit(20 Byte)的雜湊值。
1.利用SHA-256將公開金鑰雜湊化後。
2.再將該值以RIPEMD-160進行二次雜湊化。
如此便可以達到更短的位址。步驟一二可以統稱為「HASH160」。
Base58Check
Base58編碼和電子郵件使用的Base64編碼類似。Base58不使用某些在Base64中使用的字母和數字,也沒有+和/這兩種符號。不使用的理由就是因為這些字母容易看錯。
※數字的0
※大寫字母的O
※大寫字母的l(i)
※小寫字母的l(L)
