加密貨幣的交易機制

當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)

Base58和十進位數字的對應表

RIPEMD wikipedia: https://en.wikipedia.org/wiki/RIPEMD

Base58和 Base64的差別: https://en.wikipedia.org/wiki/RIPEMD

閱讀更多虛擬貨幣相關文章: 連結

Tags:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。