主页 > 软件下载imtoken > 什么是私钥、公钥和地址

什么是私钥、公钥和地址

软件下载imtoken 2023-02-04 05:26:00

这是比特币中经常出现的三个词,它们是什么意思呢?它们之间是什么关系?

让我们先谈谈私钥。例如,这样的字符串 5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss 就是一个私钥。只要正确支持比特币协议的应用程序可以将此字符串识别为私钥,将其转换为公钥,然后再转换为地址比特币私钥公钥地址,如果对应的地址上有比特币,就可以使用私钥花费以上比特币。公钥和地址的生成依赖于私钥,所以私钥是比特币世界中最重要的。有了私钥,就可以生成公钥和地址,就可以消费对应地址上的比特币了。私钥花费比特币的方式是签署(加密)该私钥拥有的未花费交易。

私钥本质上是一个32字节的数组,1字节等于8位二进制,而一个二进制只有两种可能,0或1,所以私钥总数为2^(8*3 2)@ >=2^256,这个数字已经超过了宇宙中原子的总数,不可能遍历所有的私钥,耗尽整个太阳的能量。我们所说的比特币私钥就是密码学的上面是安全的,不是说不可能有重复的私钥,而是不可能通过遍历所有私钥或者其他方法找到上面有比特币的私钥比特币私钥公钥地址,所以私钥是密码学安全的。私钥的数量非常多,但是私钥的生成依赖于随机性,不依赖随机性会大大降低生成私钥的概率空间。密码学中的安全随机性意味着随机性是不可预测的。是的,随机结果是不可遍历。只有 cryptogr非物理安全和随机生成的私钥可用于存储比特币。如果随机性不安全,你得到的私钥可能和别人的一样,有丢失的可能。

比特币钱包 导入私钥_比特币私钥公钥地址_比特币私钥生成器

由 32 个字节组成的数组由 256 个 0 或 1 组成。如果显示出来,不仅识别率太差,而且时间太长。因此,私钥将转换为上述内容。上述私钥转换为Base58为32字节数组。 Base58是比特币中使用的一种独特的编码方式,主要用于生成比特币。钱包地址和私钥。与Base64相比,Base58不使用数字“0”、大写“O”、大写“I”、小写“l”以及“+”和“/”符号。主要原因是肉眼容易识别,输入时不易出错。但是,我更喜欢使用二维码扫描私钥。毕竟上面的不规则字符串输入起来还是挺费劲的。

除了以5开头的私钥外,还有以“L”和“K”开头的私钥。为什么会这样? 5. L 和 K 波段代表什么?这部分内容是关于公钥的。

比特币钱包 导入私钥_比特币私钥生成器_比特币私钥公钥地址

公钥是由私钥生成的,通过椭圆曲线(ECPoint)生成,一个私钥经过椭圆曲线变换之后会生成一个65个byte的数组,一般我们会看到这样的一个公钥:04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235,公钥一般是字节数组经过hex(十六进制)处理后显示出来的,与私钥的Base58不同,

公钥用于解锁由私钥签名的数据。用私钥签署交易后,它会一起发送自己的公钥。私钥签名的数据可以使用公钥解密。发送公钥后,可通过旷工验证。私钥签名的正确性(能否解锁),私钥和公钥成对出现,私钥签名的数据只能通过对应的公钥解锁,地址也生成来自公钥,这验证了花费的交易属于这个地址。

比特币钱包 导入私钥_比特币私钥生成器_比特币私钥公钥地址

至于为什么会有以5开头或以L和K开头的私钥,问题出在公钥上。例子中的私钥不仅包含了 32 字节数组的信息,还包含了私钥版本和公钥的信息 信息是否被压缩,早期的比特币开发者并不知道生成的公钥密钥可以压缩。压缩后的公钥只有 33 个字节,而未压缩的公钥只有 65 个字节。压缩后的公钥对比特币来说更有意义,因为比特币是一种去中心化的p2p加密货币,每个节点都会有完整的交易记录,除了coinbase(挖出来的比特币),每笔交易都会发送公钥,支持公钥在压缩后的格式,交易数据会减少32字节,这对整个比特币网络非常有意义,整个比特币网络的数据会减少很多。当私钥为Base58编码时,支持未压缩公钥的私钥实际上是一个33位字节数组,第一位存储版本信息,当前值为128。支持压缩公钥的私钥是34位,第一位是版本信息,它的值也是128,额外的位是存储压缩信息的最后一个字节,1表示支持压缩格式公钥,以5开头的私钥为私钥不支持压缩格式,而 L 和 K 是支持压缩格式的私钥。

公钥是否压缩不仅影响私钥的显示,还影响地址。

比特币钱包 导入私钥_比特币私钥公钥地址_比特币私钥生成器

地址由公钥生成。您看到的地址是通过 Base58 编码处理的。地址的生成比较复杂。说地址之前,不得不说一下hash160。地址是由公钥生成的,但是公钥在生成地址的时候会先生成一个hash160。生成过程是先对公钥做SHA256,再对得到的结果做RIPEMD160,然后从结果中取出一个20字节的数组,在20位字节数组前面加一个字节,就是地址。版本信息(当前 0) 获取密钥哈希(hash160) ,然后对密钥哈希执行两次 sha-256 以获取前 4 位(校验和),将校验和连接到密钥哈希,以及然后进行Base58转换就是我们看到的地址的样子,也就是说hash160和可以与地址相互转换。

一个私钥可以有一个压缩的公钥和一个未压缩的公钥,每个公钥会生成一个地址,私钥会有两个地址:1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN(未压缩公钥),1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV(压缩公钥),这些两个地址就是这个私钥的地址,每个地址上的钱都可以用这个私钥花掉。但目前大多数应用程序都支持压缩格式的私钥。

比特币私钥公钥地址_比特币钱包 导入私钥_比特币私钥生成器

这将为您简要介绍私钥、公钥和地址。

PS:

转载地址

可以在这里找到另一篇关于类似技术的文章