自從公鑰加密被發明之后,一些合適的數學函數被提出,譬如:素數冪和橢圓曲線乘法。這些數學函數都是不可逆的,就是說很容易向一個方向計算,但不可以向相反方向倒推。基于這些數學函數的密碼學,使得生成數字密鑰和不可偽造的數字簽名成為可能。比特幣正是使用橢圓曲線乘法作為其公鑰加密的基礎算法。在比特幣系統中,我們用公鑰加密創建一個密鑰對,用于控制比特幣的獲取。密鑰對包括一個私鑰,和由其衍生出的唯一的公鑰。公鑰用于接收比特幣,而私鑰用于比特幣支付時的交易簽名。
公鑰和私鑰之間的數學關系,使得私鑰可用于生成特定消息的簽名。此簽名可以在不泄露私鑰的同時對公鑰進行驗證。
支付比特幣時,比特幣的當前所有者需要在交易中提交其公鑰和簽名(每次交易的簽名都不同,但均從同一個私鑰生成)。比特幣網絡中的所有人都可以通過所提交的公鑰和簽名進行驗證,并確認該交易是否有效,即確認支付者在該時刻對所交易的比特幣擁有所有權。
大多數比特幣錢包工具為了方便會將私鑰和公鑰以密鑰對的形式存儲在一起。然而,公鑰可以由私鑰計算得到,所以只存儲私鑰也是可以的。








