主页 > token.im官网 > 三个例子,Joan告诉你什么是区块链私钥、公钥、地址!

三个例子,Joan告诉你什么是区块链私钥、公钥、地址!

token.im官网 2023-07-07 05:10:21

Eversafe Exchange 概要:

1、什么是私钥?

2. 什么是公钥?

3. 什么是地址?

私钥、公钥、合约是比特币中经常出现的三个词比特币公钥和私钥,那么它们分别是什么意思呢? 他们之间是什么关系? 今天久安交易所就来为大家讲解一下!

比特币 私钥 密码_比特币公钥和私钥_比特币私钥是什么

什么是私钥?

5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss 是私钥。

比特币 私钥 密码_比特币私钥是什么_比特币公钥和私钥

只要应用正确支持比特币协议,就可以将这个字符串识别为私钥,转换为公钥,再转换为地址。 如果对应的地址有比特币,就可以用这个私钥来消费上面的比特币。 货币。

公钥和地址的生成依赖于私钥,所以私钥在比特币世界中是最重要的。 有了私钥,就可以生成公钥和地址,就可以消费对应地址上的比特币了。

私钥花费比特币的方式是通过签名(加密)这个私钥拥有的未花费的交易。

私钥本质上是一个32字节的数组,1字节等于8位二进制,而一个二进制只有0或1两种可能,所以私钥总数为2^(8*32)=2 ^256,这个数字已经超过了宇宙中原子的总数。 不可能遍历所有的私钥,耗尽整个太阳的能量。

我们所说的比特币私钥在密码学上是安全的。 私钥重复不是不可以,但是通过遍历所有私钥或者其他方法是不可能找到带有比特币的私钥的。 密钥,因此私钥是加密安全的。

私钥的总数非常大,但是私钥的生成依赖于随机性。 不依赖随机性会大大降低私钥生成的概率空间。 密码学中的安全随机性意味着随机性是不可预测的,随机结果是不可遍历的。

比特币公钥和私钥_比特币私钥是什么_比特币 私钥 密码

只有加密安全的随机生成的私钥才能用于存入比特币。 如果随机性不安全,你得到的私钥可能和别人的一样,你的比特币就可能丢失。

32字节组成的数组由256个0或1组成。 如果显示的话,不仅识别率太差,而且时间也太长了。

因此,私钥会转换成上面的。 上面的私钥被转换为 Base58 为 32 字节数组。 Base58是比特币使用的一种独特的编码方式,主要用于生成比特币。 钱包地址和私钥。

与Base64相比比特币公钥和私钥,Base58不使用数字'0'、大写'O'、大写'I'和小写'l',以及'+'和'/'符号。

主要是肉眼容易识别,输入时不容易出错。 但是,我更喜欢使用二维码扫描私钥。 毕竟输入上面的不规则字符串还是比较费力的。

什么是公钥?

比特币公钥和私钥_比特币私钥是什么_比特币 私钥 密码

除了5开头的私钥,我们看到的私钥还有“L”和“K”开头的私钥。 为什么会这样?

5. L带和K带代表什么? 这部分的内容是关于公钥的。

公钥由私钥通过椭圆曲线(ECPoint)生成。 私钥经过椭圆曲线变换后,会生成一个65字节的数组。 一般我们会看到这样一个公钥:

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字节的数组。 得到的数组就是得到的hash160,例如:

9a1c78a507689f6f54b847ad1cef1e614ee23f1e

在这个20位的字节数组前面加上一个字节,就是地址的版本信息(当前为0)得到一个21位的字节数组,对其进行Base58转换,得到我们看到的地址,即比方说,hash160 并且可以与地址互换。

一个私钥可以有一个压缩的公钥和一个未压缩的公钥。 每个公钥都会生成一个地址,上面的私钥会有两个地址:

1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN(未压缩公钥)

1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV(压缩公钥)

这两个地址就是这个私钥的地址,每个地址上的钱都可以用这个私钥来消费。 但目前大多数应用程序都支持压缩格式的私钥。