主页 > imtoken被检测为风险软件 > 28000比特币压私钥,有比特币私钥就拥有比特币了吗?

28000比特币压私钥,有比特币私钥就拥有比特币了吗?

imtoken被检测为风险软件 2023-12-01 05:11:14

ok.com整理了28000个比特币私钥内容供大家阅读,并在其他相关内容上进行了扩展,不管你有没有比特币私钥。 下面就跟随ok.com了解一下28000比特币的私钥吧。

你是否正确理解比特币压缩格式的私钥?

Private key in compressed format:看到private key in compressed format,是不是觉得私钥是压缩过的呢? 其实一开始我也是这么想的,但是随着对概念的深入学习和理解,我发现我理解错了,因为私钥本身是不能压缩的,压缩格式的私钥是1不仅仅是未压缩格式的私钥。 多出的字节是在私钥上加的后缀“01”,表示私钥来自较新版本的钱包,只能用于生成压缩格式的公钥。 也就是说,私钥只能用来生成压缩格式的公钥,而压缩格式本身并不是压缩格式。 相反,未压缩的私钥只能用于生成未压缩的公钥。 具体转换关系如图:

从上面的定义和图解可以看出,“压缩私钥”这个词用的不对,容易造成误解,让人误以为私钥是可以压缩的。 其实,这种认识是错误的。 由上述概念给出,压缩格式的私钥实际上比未压缩格式的私钥多1个字节。 未压缩格式的私钥加上后缀“01”,表示它是压缩格式的私钥。 格式私钥的拟议功能是新开发的私钥编码格式,以节省钱包存储空间。

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

表 4-4 显示了使用不同 WIF 和 WIF 压缩格式编码的相同私钥。

Hex(十六进制):1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD

WIF(未压缩私钥):5J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn

Hex-compressed(压缩十六进制):1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD01

WIF-compressed(压缩私钥):KxFC1jmwwCoACiCAWZ3eXa96mBM6tb3TYzGmf6YwgdGWZgawvrtJ

【区块链】比特币私钥、公钥、签名

在理解区块链的基本名词概念时,提到了地址是由字符和数字组成的,但是并没有说明它是如何产生的。 银行卡号是由银行核心系统生成的,那么比特币地址是如何生成的呢? 看下图:

对于刚接触比特币的小白来说,看到这张图是一头雾水。 什么是私钥和公钥? 为什么生成地址这么麻烦?

现在请记住这句话:私钥乘以椭圆曲线生成公钥,使用公钥无法推导出私钥; 公钥通过哈希函数生成比特币地址,地址不能从公钥推导出来。

地址是通过这么复杂的算法计算出来的,那么私钥和公钥难道只是为了生成地址吗? 不,它们还有其他用途,我们先来了解一下私钥和公钥。

说完地址、挖矿、工作量证明、算力、区块、区块链等概念,大家还有印象吗? 如果忘记了,请复习一下这些概念,因为后面很多地方都会用到这些概念。 明天,我将解释区块链的特点。

参考书:《精通比特币》

区块链知识专题:

比特币记账方法(区块链知识2)

了解区块链基本名词概念(区块链知识1)

为什么比特币的私钥不能被泄露?

Re: 为什么比特币的私钥无法破解?

以下为正文:

要破解比特币私钥,其实需要找到一个介于1和2²⁵⁶之间的数字,这个数字对应一个装有比特币的钱包。

2²⁵⁶ 约等于 10⁷⁷,这是一个很大的数字。 相比之下,人类可观测宇宙的基本粒子也在10⁸⁰数量级。

人类排名前 500 的超级计算机的综合计算能力约为每秒 10^18 次浮点运算。 有兴趣的可以算一算,即使每次浮点运算都能完成一次破解比特币的尝试,完成破解需要多长时间。 简单地说,一年大约有 3.1536 × 10⁷ 秒。 根据上述假设,破解一个比特币所需的时间约为 10⁵¹ 年。

事实上,它需要的时间比这多得多。 比特币网络计算哈希值。 现在整个比特币网络每秒可以做大约 1.51 × 10¹⁸ 哈希运算,这几乎相当于每秒做 1.91 × 10²² 这远远超过现有超级计算机的计算能力(也就是说,超级计算机无法攻击比特币网络,和能力差距太大。这是比特币网络解决的一个特殊问题。计算机本来就是要解决各种不同的问题)。

无论如何,我认为过去 10⁴ 年(即 10,000 年)的时间对我们来说意义不大28000个比特币压缩包,甚至超过 10² 年(即一百年)对我们来说意义不大。 想想看,在不知道钱包里有多少比特币的情况下,破解一个钱包的私钥需要这么多年。 也不可能还清。

多年来,被盗的比特币都来自人类。 他们窃取了持有者的私钥,直接攻击比特币网络试图破解私钥。 这是闻所未闻的。 这是不可能的。

有些人担心量子计算机。 首先,量子计算机还处于早期阶段,它们只解决特定的问题,并没有解决与比特币网络打交道的问题。 其次,量子计算机的计算能力还比较低,远不能威胁到比特币。 网络,第三,即使未来发展出量子计算机,比特币网络也会一起进化,到时候肯定会有针对性的升级。 总之,量子计算机不会对比特币构成威胁。

以下是本文的参考资料;

暴力破解比特币私钥有多难?

超级计算机 500 强

PetaFLOPS 及其与比特币的关系

比特币总哈希率

可观测宇宙(observable universe)

4. 比特币密钥、地址和钱包——精通比特币笔记

比特币的所有权由密钥、比特币地址和数字签名共同决定。 密钥不存在于比特币网络中,而是由用户自己保管,或者由管理私钥的软件钱包生成和管理。

比特币交易必须有一个有效的签名才能存储在区块中,所以拥有密钥就意味着拥有相应账户中的比特币。 密钥成对出现,由公钥和私钥组成。 公钥相当于银行账号,私钥相当于银行卡密码。 通常密钥由钱包软件管理,用户不直接使用密钥。

比特币地址通常根据公钥计算,但也可以从比特币脚本中导出。

比特币私钥通常是一个数字,由比特币系统随机生成(因为算法的可靠性与随机性正相关,随机性必须是真随机,而不是伪随机,所以比特币系统可以作为随机源),然后以私钥为输入,利用椭圆曲线算法的单向加密函数生成对应的公钥,再以公钥为输入,利用单向加密散列函数进行生成地址。 例如通过公钥K获取地址A的计算方法为:

其中SHA256和PIPEMD160称为双哈希或HASH160。 Base58Check是具有校验功能的Base58编码。 验证方式是先计算出原始数据(编码前)的验证码,然后比较编码后数据的验证码。 如果同一地址有效,否则无效。 在使用Base58Check编码之前,需要对数据进行处理。

处理方式为:版本前缀+双哈希数据+校验码

版本前缀是自定义的。 例如,比特币私钥的前缀是 0x80。 验证码是将版本前缀和双重哈希后的数据拼接,进行两次SHA256计算,取前4字节。 得到处理后的数据后,进行Base58编码,得到最终结果。

下图是Base58Check版本前缀和Base58编码的结果

密钥可以使用不同的编码格式。 虽然编码结果不同,但密钥本身并没有改变。 使用哪种编码格式视情况而定。 最终目的是方便人们准确使用和识别密钥。

下图是对同一个私钥使用不同编码方式的结果:

公钥也有多种格式,但最重要的是公钥分为压缩格式和非压缩格式。 04前缀的公钥是非压缩格式的公钥,03、02开头的公钥标识压缩格式。 .

前面说过,公钥是椭圆曲线上的一个点,用一对坐标(x,y)表示,加上一个前缀,公钥可以表示为:前缀xy。

例如,公钥的坐标是:

以未压缩格式为例,公钥为(稍长):

公钥的压缩格式可以节省一定的存储空间28000个比特币压缩包,对于每天数以千计的比特币交易记录来说,这点节省就可以起到很大的作用。

因为椭圆曲线实际上是一个方程(y2 mod p = (x3 + 7) mod P,y2是y的平方,x3是x的立方),公钥是椭圆曲线上的一个点,那么公钥是方程的一个解,如果公钥只保留x,那么解方程可以得到y,压缩公钥格式有两个前缀,因为y2的平方根会得到正负两个解,在素数p阶用二进制算法计算有限域上的椭圆曲线时,y坐标不是奇数就是偶数,所以用02表示y为奇数,用03表示y甚至。

所以压缩格式的公钥可以表示为:prefix x

以上述公钥坐标为准,以y为奇数为例,公钥K为:

不知道大家有没有注意到这种压缩方式有一个问题,就是一个私钥可以得到两个公钥,压缩公钥和非压缩公钥,而这两个公钥对应同一个私钥,两者都是合法的,但是生成的比特币地址不同,这涉及到钱包软件的实现,是使用压缩公钥还是非压缩公钥,或者两者兼而有之,后面会介绍。

比特币钱包的主要功能是为用户保管比特币私钥。 比特币钱包有多种类型,例如非确定性(随机)钱包和确定性(种子)钱包。 所谓非确定性是指钱包运行时会生成足够多的私钥(比如100个私钥),每个私钥只会被使用一次,因此私钥管理非常麻烦。 确定性钱包有一个公共种子,单向离散方程使用种子生成私钥。 种子足以回收所有私钥,因此在创建钱包时,输入可以通过简单的备份在钱包之间转移。

这里专门介绍一下助记词。 助记词表是 BIP0039 中提出的一系列英语单词。 这些序列对应钱包里的种子,种子可以生成随机数,随机数生成私钥,私钥生成公钥,应有尽有。 所以单词的顺序就是钱包的备份,通过助记词表可以重构钱包,这比背一串随机数强多了。

BIP0039定义助记词和种子创建过程如下:

另一种重要的钱包类型称为 HD 钱包。 HD 钱包提供具有两个主要优点的随机(非确定性)密钥。

首先,树结构可以用来表达额外的组织意义。 例如,当一个特定的分叉子项用于接收交易收入而另一个分叉子项负责支付支出时。 在企业环境中可以使用不同的分支密钥,可以管理不同的分支部门、子公司、特定职能和会计类别。

其次,它允许用户创建一系列公钥而无需访问相应的私钥。 这可能允许 HD 钱包在不安全的服务器中使用,或者为每笔交易发布不同的公钥。 公钥不需要预先加载或导出,但是服务器中没有私钥可以用来支付。

BIP0038提出了一个通用标准,使用密码对私钥进行加密,使用Base58Check对加密后的私钥进行编码,使得加密后的私钥可以安全地存储在备份介质中,安全地在钱包之间传输,密钥保存在在任何可能的暴露情况下的安全性。 该加密标准使用 AES,它由 NIST 建立,广泛用于商业和军事应用中的数据加密。

BIP0038 加密方案是:输入比特币私钥,通常使用 WIF 编码,带有 base58chek 字符串的前缀“5”。 此外,BIP0038加密方案需要一个长密码作为密码,通常由多个单词或复杂的字母数字字符串组成。 BIP0038 加密方案的结果是一个前缀为 6P 的 base58check-encoded 加密私钥。 如果您看到以 6P 开头的密钥,则表示该密钥已加密并且需要密码短语才能将密钥转换(解码)回可用于任何钱包 WIF 格式(前缀为 5)的私钥。 现在很多钱包APP都可以识别BIP0038加密的私钥,会要求用户提供密码来解码和导入密钥。

使用 BIP0038 加密的密钥最常见的用例是纸钱包——备份在一张纸上的私钥。 只要用户选择强密码,带有 BIP0038 加密私钥的纸钱包就非常安全,并且是离线存储比特币(也称为“冷存储”)的好方法。

P2SH 函数最常见的实现是用于多重签名地址脚本。 顾名思义,底层脚本需要多个签名来证明所有权,然后才能使用资金。 这类似于在银行开设联名账户。

你可以通过计算生成一个特殊的比特币地址。 例如,我需要一个以 Hello 开头的地址。 您可以通过脚本生成这样的地址。 但是每增加一个字符,计算量就会增加58倍。 如果超过7个字符,需要特殊硬件或矿机生成。 如果是8~10个字符,计算量将是难以想象的。

比特币什么包装成项目的_28000个比特币压缩包_比特币区块和比特币的区别

如何保证比特币私钥、公钥和地址一一对应?

按照你的逻辑,私钥和地址的数量,

也应该是:收到资产后,一个地址不知道资产存放在哪个私钥上。

而不是你说的:当我们生成私钥的时候,...,我们发现这个地址和别人的地址是一样的