一个私钥(Private Key)就是一串随机提取的数字,拥有和控制私钥是用户控制与比特币地址相关联的资金的根本。用户交易时想证明使用的资金是他自己的,必须使用其私钥对交易进行签名。在任何时候均必须保证私钥的私密性,将私钥透露给第三方,等同于把由它保护的比特币的控制权交给了第三方。私钥同样要进行备份、保护,防止意外丢失。如果私钥丢失,将是不可恢复的,受它保护的资金也就彻底丢失了。
更准确地说,私钥是从1到n-1之间的任意数字,其中n是一个常量(n=1.158×1077,这个数比2256略小),在比特币中这个常量是作为椭圆曲线的幂来定义的。为了生成这样一个密钥,我们随机取一个256位长度的数字,并验证其是否小于n-1。以程序的术语,这通常是从一个密码学安全的随机源中抽取一长段字符串,并通过SHA256哈希算法进行计算,这样就可以很方便地生成一个256比特长度的数字。如果上述步骤结果小于n-1,我们就得到了一个合适的私钥。否则,我们需要重复以上步骤,直到最终得到一个合适的私钥。
私钥对于密码学货币来说意味着什么
归根结底,持有密码学货币就是持有私钥。在现实世界中,拥有实物财产通常指的是拥有写有你的名字的契据或收据,但是在密码学货币世界中,拥有某个资产就是掌握某个信息。简言之,掌握了私钥就等于拥有了(这把私钥所能掌控的)密码学资产。
所有资产都可以通过交易来操控。在现实世界,交易通常都需要签名授权。然而,在密码学货币世界,所有交易的授权都必须使用相关的私钥。私钥的作用是配合密码学算法,生成一笔交易的数字签名。签过名的交易表示私钥持有人许可了他人对自己所持有资产的权限。虽然任何人都能生成与你的数字资产相关的交易,但是只有持有对应私钥的人才能签署该交易。
币圈有句名言 “没有私钥,币就不是你的”,这是因为签名交易、转移资产的能力完全系之于私钥,拿到一把私钥之后,不管是谁,都能转走这把私钥对应的资产。