主页 > imtoken手机下载 > 比特币钱包命令区块链公钥格式(解析比特币密钥的格式)

比特币钱包命令区块链公钥格式(解析比特币密钥的格式)

imtoken手机下载 2023-05-15 05:41:43

公钥和私钥都可以用多种格式进行编码。 当一个密钥以不同的格式编码时,密钥中编码的数字不会改变,尽管结果可能看起来不同。 这些不同的编码格式主要是为了方便人们正确使用和识别密钥。

私钥格式

私钥可以用多种不同的格式表示,所有格式都对应于相同的 256 位数字。 .

私钥符号(编码格式)

键入发行说明

数字

: Base58版本

WIF5

128 位和 32 位前缀

上面的WIF-或LA,在表4-3前加上后缀0x01就是这三种格式生成的私钥。

火币网查询自己的比特币钱包地址_比特币怎么比特币钱包_比特币钱包命令

比特币是什么样子_比特币是什么样子的图片?_比特币密钥是什么样子

相同的私钥,不同格式的私钥

C530ED

十六进制

世界互联网论坛

WIF压缩

eyhfsYB 1Jcn gdGW

这些符号都是代表同一个数字、同一个私钥的不同方式。 尽管编码后的字符串看起来不同,但不同的格式可以很容易地相互转换。

解码为十六进制 sx 工具包(参见“和 sx 工具”)可用于编写一些 shell 脚本和命令行“管道”来操作比特币密钥、地址和交易。 您还可以使用 sx 工具从命令行解码格式。

我们使用的命令是-decode:

比特币钱包命令_比特币怎么比特币钱包_火币网查询自己的比特币钱包地址

比特币密钥是什么样子_比特币是什么样子_比特币是什么样子的图片?

$- 526aedd 128

结果是十六进制的密钥,后跟钱包导入格式 (WIF) 版本前缀 128。

要将hex转encoding转encoding(与前面的命令相反),我们需要提供hex格式的私钥和Wallet Import Format (WIF) 128的版本号前缀:

$sx - 编码 526aedd 128

将十六进制(压缩格式密钥)转换为编码

要对一个压缩格式的私钥进行编码(参见“压缩格式的私钥”部分),我们需要在十六进制的私钥末尾添加后缀01,然后使用与上述相同的方法:

$sx - 代码 128

生成的WIF压缩格式私钥以字母“K”开头,表示编码后的私钥后缀为“01”,此私钥只能用于生成压缩公钥(见“公钥”)压缩格式“节”)。

公钥格式

公钥也可以用多种不同的格式表示,最重要的是它们是未压缩或压缩的公钥。

比特币密钥是什么样子_比特币是什么样子_比特币是什么样子的图片?

由上可知,公钥是椭圆曲线上的一个点,由一对坐标(x,y)组成。 公钥通常由前缀 04 后跟两个 256 位数字表示。 其中一个 256 位数字是公钥的 x 坐标,另一个 256 位数字是 y 坐标。 前缀04用于区分未压缩格式的公钥,压缩格式的公钥以02或03开头。

下面是上一节私钥生成的公钥,其坐标x和y如下:

x = 9DC341A

y = E505BDB

下面是相同的公钥,表示为 520 位数字(130 位十六进制数字)。 这个520

位数以前缀 04 开头,后跟格式为 04 xy 的 x 和 y 坐标:

K =

压缩格式的公钥

引入公钥压缩格式以减少比特币交易中的字节数,从而为运行区块链数据库的节点节省磁盘空间。 大多数比特币交易都包含公钥,用于验证用户凭证和支付比特币。 每个公钥有 520 位(包括前缀、x 坐标、y 坐标)。 如果每个区块有数百笔交易,每天发生数千笔交易,就会向区块链写入大量数据。

正如我们在“公钥”部分看到的,公钥是椭圆曲线上的一个点 (x, y)。 椭圆曲线其实就是一个数学方程,曲线上的点其实就是方程的解。 因此比特币密钥是什么样子,如果我们知道公钥的 x 坐标,我们可以通过求解方程 y2mod p = (x3 + 7) mod p 得到 y 坐标。这种方案允许我们只存储 x 坐标

比特币是什么样子的图片?_比特币密钥是什么样子_比特币是什么样子

未压缩的公钥以04为前缀,而压缩的公钥以02或03为前缀。之所以需要这两个不同的前缀是因为椭圆曲线加密公式的左边是y2,这意味着y的解来自平方根,可以是正数也可以是负数。 更形象地说,y 坐标可以高于或低于 x 轴。 从图中的椭圆曲线图可以看出,曲线是对称的,从x轴看,就像是对称镜子的两侧。 因此,如果我们省略 y 坐标,我们必须存储 y 的符号(正或负)。 换句话说,比特币钱包命令,对于给定的 x 值,我们需要知道 y 值是高于还是低于 x 轴,因为它们代表椭圆曲线上的不同点,即不同的公钥。 当我们用二进制算法计算p阶素数有限域上的椭圆曲线时,y坐标可能是奇数也可能是偶数,对应于上面提到的y值的符号。 因此,为了区分y坐标的两种可能值,在生成压缩格式的公钥时,如果y是偶数,我们在前面加上02,如果y是奇数,则在前面加上03。 这样就可以根据公钥中给定的x值正确推导出对应的y坐标,从而将公钥解压成椭圆曲线上一个完整的点坐标。 下图说明了公钥压缩:

下面是上一节生成的公钥,压缩格式为264位(66位十六进制数),其中前缀03表示y坐标为奇数:

K =

这个压缩后的公钥对应同一个私钥,也就是说是由同一个私钥生成的。 但是,压缩公钥和未压缩公钥之间存在很大差异。 更重要的是,如果我们使用双重哈希函数((SHA256(K)))将压缩的公钥转换为比特币地址,得到的地址将与未压缩的公钥生成的地址不同。 这个结果可能会令人困惑,因为一个私钥可以生成两种不同格式的公钥——压缩的和未压缩的——而这两种格式的公钥可以生成两个不同的比特币地址。 然而,这两个不同比特币地址的私钥是相同的。

压缩公钥格式正逐渐成为各种比特币客户端的默认格式,可以大大减少交易所需的字节数,也可以减少存储区块链所需的磁盘空间。 然而比特币密钥是什么样子,并非所有客户端都支持压缩公钥,因此支持压缩公钥的新客户端必须考虑如何处理来自不支持压缩公钥的旧客户端的事务。

当一个钱包应用程序导入另一个钱包应用程序的私钥时,这一点变得更加重要,因为新钱包需要扫描区块链并找到与那些导入的私钥相关的所有交易。 比特币钱包应该扫描哪些比特币地址? 新客户端不知道使用哪个公钥:因为压缩公钥和未压缩公钥生成的比特币地址既是合法的比特币地址,又可以私密访问。 密钥已正确签名,但它们是完全不同的比特币地址。 为了解决这个问题,较新的比特币客户端在从钱包导出私钥时将使用不同的钱包导入格式。 这种新的钱包导入格式可以用来表示私钥已经被用来生成压缩公钥,生成的比特币地址也是基于压缩公钥的。 该方案可以解决导入的私钥是来自旧钱包还是新钱包的问题,​​也可以解决公钥生成的比特币地址是来自压缩公钥还是未压缩公钥的问题。 最后,新钱包在扫描区块链时,可以使用对应的比特币地址,通过比特币地址找出区块链中发生的交易。 我们将在下一节详细解释这种机制是如何工作的。

压缩格式的私钥

其实“压缩私钥”是用词不当,因为使用WIF压缩格式导出私钥时,不仅是未压缩的,而且比“未压缩”的私钥长一个字节。 多出的字节是私钥后缀为01,表示私钥来自较新的钱包,只能用来生成压缩公钥。 私钥是未压缩的,不能压缩。 “压缩私钥”实际上只是指“用于生成压缩公钥的私钥”,而“未压缩私钥”是指“用于生成未压缩公钥的私钥”。 为避免进一步的误解,应该只能说导出格式是“WIF Format”或“WIF”,不能说私钥是“压缩”的。

请注意,这些格式不能互换使用。 在实施压缩公钥的较新钱包中,私钥只能且始终以 WIF 压缩格式(以 K 或 L 为前缀)导出。 对于没有实现压缩公钥的旧钱包,私钥只会以 WIF 格式(前缀为 5)导出。 这样做的目的是向导入这些私钥的钱包发出信号,是使用压缩的公钥和比特币地址扫描区块链,还是使用未压缩的公钥和比特币地址。

如果比特币钱包执行压缩公钥比特币钱包命令,它将在所有交易中使用该压缩公钥。 钱包中的私钥将用于生成压缩公钥,然后用于生成交易中的比特币地址。 从实现压缩公钥的比特币钱包导出私钥时,钱包导入格式(WIF)将被修改为WIF压缩格式,并在私钥后附加一个字节大小的后缀01。 最终编码的私钥称为 WIF(“压缩”)私钥,以字母“K”或“L”开头。 而以“5”开头的是从旧钱包导出的WIF(未压缩)格式的私钥。

比特币是什么样子_比特币密钥是什么样子_比特币是什么样子的图片?

十六进制 WIF

C530EDC

JCN

格式化私钥

十六进制压缩器 C530EDC

DD01

WIF-compr gdGW

“压缩格式的私钥”用词不当! 私钥未压缩。 WIF压缩格式的私钥仅用于表示只能用压缩后的公钥和对应的比特币地址生成。 相比之下,“WIF Compressed”编码的私钥多了一个字节,因为私钥的后缀为“01”。 这个后缀是用来区分“未压缩”私钥和“压缩”私钥的。

挖矿网Ethos中文网拥有简单易用的挖矿系统,为挖矿行业提供教程软件和矿机评测及交易信息,对比计算各种数字货币在挖矿网的挖矿收益,以及介绍矿网挖矿工具,矿场最新动态等。

矿业网络,版权所有丨如未注明,均为原创丨本站采用BY-NC-SA协议授权

转载请注明原文链接:比特币钱包命令区块链公钥格式(比特币密钥格式解析)