加密货币钱包是一种软件程序、服务、设备或物理介质,允许用户存储与区块链交互所需的私钥和公钥,使用户能够发送和接收加密货币并监控其余额。更复杂的加密货币钱包提供额外的功能,包括加密用户信息(如用户的私钥)和签署信息的能力。例如,签署可以导致执行智能合约、加密货币交易、身份识别或合法签署“文档”。[1] [2] [3] [4]
私钥和公钥生成
设置加密货币钱包时,用户将生成一个公钥和一个私钥来存储在钱包中。公钥用于接收加密货币,就像银行帐号可以用来接收法定货币一样。私钥用于发送加密货币和签署交易,就像PIN码或银行密码一样。[5] [6]
要生成私钥,会生成一个随机数,其长度取决于加密货币技术要求的算法大小。然后,使用加密货币密码算法的特定要求将该数字转换为私钥。然后,使用所需的任何密码算法要求从私钥生成公钥。例如,比特币使用椭圆曲线乘法(一种单向密码函数)从私钥生成公钥。[7]