主页 > imtoken如何安装 > 玩比特币第三部分:自己开一个账户——从私钥生成公钥和地址

玩比特币第三部分:自己开一个账户——从私钥生成公钥和地址

imtoken如何安装 2023-03-09 05:56:45

底漆

我在本系列文章的第一篇:玩转比特币一:私钥/公钥/地址,和玩转比特币二:生成一个self secure private key 给出了具体的生成方法,并给出了Python脚本和一些需要注意的地方。 你可以从中学习。 说实话,我就是用这个方法生成自己的私钥和地址的。

另外,我在第一篇文章中提到过,私钥是很难记住的。 有什么好办法吗? 答案是肯定的。 有一种方法可以生成安全且易于记忆的私钥和地址。 具体方法请期待我的下一篇文章。

这里需要注意的是,我介绍的方法和一般钱包使用的方法是不一样的。 现在大多数钱包都是Deterministic wallets(确定性钱包),它实现了BIP32协议,可以通过一串助记词生成很多很多的私钥和地址,所以你只要记住这12个单词或者汉字就可以了。 但是,请相信我,由于我将在下面描述的原因,这种启示还不够安全。

那么这篇文章,不急,如何通过已有的私钥生成公钥和地址。 其实介绍的文章很多,算法就确定了。 这主要是为了系列文章的完整性,也是为了方便大家。 ,自带python脚本,可以直接使用。

私钥、公钥和地址的生成过程

比特币私钥推算公钥_比特币地址公钥私钥有什么用_比特币 私钥 地址 关系

技术的东西我就不细说了比特币地址公钥私钥有什么用,文章很多,关键点也都说了。 私钥是一个 32 位数字。 为了可读性和安全性,增加了版本、校验和和Base58编码; 公钥通过椭圆曲线算法得到。 ,哈希两次得到私钥。

有兴趣的可以参考这篇文章了解比特币私钥、公钥、钱包地址的由来和关系。 下图也出自这篇文章:

从私钥生成公钥

直接上python脚本,直观简单,基本上一句话就搞定

比特币私钥推算公钥_比特币地址公钥私钥有什么用_比特币 私钥 地址 关系

注1:s为私钥的16进制表示,函数返回16进制表示的公钥

注2:ecdsa是常用的加密签名数据包,SECP256k1是比特币使用的椭圆曲线算法。

生成地址

hash hash,地址生成,或者直接去python脚本。

比特币私钥推算公钥_比特币地址公钥私钥有什么用_比特币 私钥 地址 关系

注1:s为公钥的16进制表示,函数返回base58编码后的地址

注2:hashlib是常用的哈希数据包。 这里使用ripmd160 hash算法做两个总结。

一般来说,公钥不需要记忆和存储,因为可以直接从私钥计算出来,但是需要记下地址,因为需要用它来转账比特币(囤币),那么这个 如果是的话,直接通过私钥生成地址。然后把前面的脚本放在一起

私钥和地址的存储和使用

比特币私钥推算公钥_比特币地址公钥私钥有什么用_比特币 私钥 地址 关系

当你生成了一批私钥和地址后,你的银行账户就开通了,是你自己开的,不依赖任何人。 这些私钥和地址(也就是纸钱包)的主要用途是给你存币,也就是中长期存款。 当然,小额支付、消费和交易,你肯定还需要其他钱包。

使用这些纸钱包的注意事项:

私钥绝对币可以给别人看,自己保管,保密

当您需要进入账户时,将您的地址告知转账方

比特币地址公钥私钥有什么用_比特币私钥推算公钥_比特币 私钥 地址 关系

当您需要向某人转账时,将您一个账户中的所有比特币导入您的一个电子钱包。 大多数钱包都有直接读取私钥转账的功能,然后进行转账

当一个钱包已经被用于导出操作时,最好不要再次使用。即私钥只使用一次

所以比特币地址公钥私钥有什么用,你需要多套私钥地址对长期使用,没关系,你有币,为了安全还是值得的

附:完整脚本

往期文章:

玩比特币之一:私钥/公钥/地址

玩转比特币第 2 部分:自己生成安全私钥