A. 聊聊钱包、私匙、公匙和地址
自从比特币诞生伊始,与此相关的私钥、公钥、地址等名词概念就不断出现在大众眼前,那么这四个概念之间是什么样的关系呢?今天就给大家简单聊一些相关的专业名词和背后的逻辑。
1 这些名词的关系是什么样的?
如果用一句话说明这几个名词的关系,那就是: 钱包生成私钥 → 私钥生成公钥 → 公钥生成公钥哈希 → 公钥哈希生成地址 → 地址用来接受比特币 ,简单吧,能听懂吧。
2 这几个名词究竟是什么东西?
还是一句话概括, 除了钱包是软件以外,剩下的四个都是长度不一的字符串 ,比如私钥是52位的字符串,地址是34位的字符串。
3 这四个字符串分别从哪里来的?
私钥 由钱包软件随机生成,随后用密码算法生成公钥和地址,如果用等式表示的话,可写成如下形式:
公钥=算法1(私钥)
公钥哈希=算法2(公钥)
地址=算法3(公钥哈希)
所以, 地址 =算法3(算法2(算法1(私钥)))
其中,算法1,算法2,算法3都是公开的算法。
4 这几个字符串哪个必须保密,哪个可以公开?
私钥绝对不能公开 ,因为有了它本质上就取得了对应比特币的所有权。
地址可以公开 ,因为它是用来接受比特币的, 公钥和公钥哈希也可以公开 ,不过一般情况下你看不到。
5 为什么地址和公钥可以公开?
因为 即使被别人知道了地址和公钥,对方也推算不出你的私钥,也就掌握不了你的比特币 。
为什么推算不出?
举个例子。电影《模仿游戏》中,英军即使在得到了engima密码机(算法)后仍然无法破解德军的密码,原因就是德军每次发信息都会用一个新的口令(私钥)作为起始点。在不知道口令的前提下,进行反向暴力破解大概需要几千万年,不过最后因为刻板的德国人每次都用同一个口令作为起点,而这个口令还是自然语言,导致密码被破解。
所以,每次交易的时候才会要求生成一个新的私钥,然后得到一个新的地址,这样你的交易安全性就有了很大的保障。
6 做自己开心的事
从上面的描述我们可以推出,私钥的本质是一个复杂数学问题的解,当有人向公开地址发送比特币时,其实是在向全网所有比特币客户端发出了一道数学题,而这道题目的正确解,就是你的私钥。因为那道题是用你的私钥生成的呀,所以只有你能在第一时间回答出答案,于是比特币就归你了,因此 私钥千万不能告诉别人。
如何找到私钥并妥善保管?
在bitcoin-qt软件中,进入windows debug或者调试窗口,在命令行下输入 getaddressbyaccount 命令可以查看所有已经生成的钱包地址。选取其中一个地址,然后用 mpprivkey “地址”命令就能看到私钥了(54位字符串)。
下图是用getaddressbyaccount “”命令查看地址列表,用mpprivkey查看私钥的截图,注意第一张图中由于钱包是加密的,所以直接打mpprivkey命令是看不到私钥的。
输入钱包密码后才能用mpprivkey命令看到私钥。
刚已经说了私钥非常的重要,它是真正决定比特币归谁的证明。私钥在bitcoin-qt客户端里,实际上是存在于一个叫wallet.dat的文件里的,而且刚安装的bitcoin-qt客户端是不设密码的。万一电脑落入不法分子手中或被黑客攻击,导致私钥丢失,就狠尴尬了,所以一定要设置密码,且密码一定要遵守随机复杂大小写字符数字都有的规则。建议用专门的密码生成软件生成,关于密码软件,找机会专门说一下。
特别注意,千万千万千万记住了,一定不要把密码给忘了!因为你 忘了密码就打不开钱包 wallet.dat 文件了,也就找不到私钥了 ,然后,就没有然后了。
我就发生过刚开始倒腾钱包把密码搞错了,然后打不开钱包的尴尬,最后只好怒删wallet.dat文件,让系统再自己生成一个,这时候的感觉大约相当于把一笔钱埋在了宇宙某颗星球上,然后把坐标图搞丢了,因为比特世界只认私钥不认身份证,你掉了就是掉了,再也找不回来了。
不过正因为比特币的所有权是依靠私钥确认的,也就有个最狠的保存办法,老猫也提过,那就是,找到私钥后记在纸上,然后把纸锁在保险柜里,或者干脆记在脑子里,不过54位的字符串谁特么能记住?然后把电脑上的客户端连同钱包文件一起删除。
好了,关于钱包客户端,大概就说这些吧,相关知识我也是刚开始了解,随着了解信息的增加,可能会有更新的认识,到时候会再写出来。
千万注意,千万注意,千万注意不要搞丢了私钥。
B. 入门科普:比特币的私钥、公钥和地址是什么
上一篇,我们讲到了币圈要注意防范传销、洗钱等一类的骗局,保护好自己的资产。这一篇,我要告诉大家,进行比特币交易时,都会用到的私钥、公钥与地址,如果你还不了解它们的重要性,随便交易,很容易弄丢自己的资产。那什么是私钥、公钥与地址?三者之间有着什么样的关系呢?
01
私钥
1.导出:
创建钱包后,输入密码可以导出私钥,私钥由很长的字符串组成,且是随机生成的, 一个地址只有一个私钥。
2.用途:
用于控制交易时的签名,拥有私钥才能控制账户的资金,相当于银行账户的交易密码,用来解密公钥加密的信息。
3.注意事项:
私钥是用来证明这笔交易的发起人确实是比特币的所有者。所以 私钥一定不能曝光,私钥一旦泄露,你的比特币将会有被盗的风险。 用户必须保管好私钥,防止泄露或丢失。
02
公钥
1.导出:
公钥是由私钥通过算法生成的,使用了椭圆曲线加密, 通过私钥可以计算出唯一的公钥。
2.用途:
公钥是用来验证交易的签名,一个私钥签名的数据,只有对应的公钥才能对其进行验证,公钥相当于银行账户,公开后无风险。
03
地址
1.导出:
地址由公钥生成的,使用了哈希运算。创建钱包后会生成一个以“0x” 开头的 42 位字符串,这个字符串就是钱包地址,一个钱包对应一个钱包地址, 地址唯一且不能修改,也就是说一个钱包中所有代币的转账收款地址都是一样的。
2.用途:
由于公钥太长,在交易中不方便使用,所以就有了地址,地址是由公钥生成的,地址相当于银行卡号,用来发送和接收比特币。
3.注意事项:
平台上不同代币的转账收款地址一般都不同,因此,转币到交易平台前一定要确认好地址。
总结
私钥 → 公钥 → 钱包地址 (不可逆)
私钥用来签名交易,公钥用来验证私钥签名的交易,地址用来收款。
公钥、私钥以及地址都在比特币交易中起到了不同的作用,所以才能顺利的完成一笔数字货币的交易。 所以用户必须好好保存,防止泄露重要信息。
C. 比特币的地址、公钥、私钥,你都了解了吗
了解比特币,就不可避免地要掌握什么是比特币的地址、公钥、私钥。下面我们逐一解释这些概念。
1. 地址:类似于银行的账户号码,是在创建数字钱包时自动生成的。简单来说,创建钱包时会生成一对私钥和公钥,然后公钥通过特定算法生成地址。这个地址实质上是一串字符,例如。地址用于接收比特币,就像银行账户用于接收存款一样。
2. 公钥:可以看作是比特币地址的“密码”。它是一串很长的由钱包生成的随机数,例如 LBB9ZXMCJ。公钥用于验证比特币的所有权,并且是公开的。
3. 私钥:相当于银行密码,也是一串很长的随机数。私钥是唯一能够证明你拥有比特币的密钥,只有使用私钥才能进行比特币的转账、交易和使用。私钥必须保密,绝不能泄露给他人。
4. 比特币的交易是透明的,所有的交易记录都存储在一个公开的账本中。每个交易记录包括交易流水单号、发币人的发币地址、收币人地址以及发币人的找零地址。
5. 在比特币交易中,私钥会被加密成签名,并与公钥一起写入交易信息中。矿工会将这些信息放入验证函数中,如果结果为“true”,则交易被认为是真实有效的;如果结果为“false”,则交易存在问题,无法通过验证。
通过以上解释,希望能帮助您对比特币的地址、公钥和私钥有一个初步的了解。感谢您的阅读!
D. 比特币的地址、公钥、私钥,你都了解了吗
了解比特币,就不可避免地要掌握什么是比特币的地址、公钥、私钥,下面我们一个一个来解释。
地址,就好比是银行账(卡)号,在创建数字钱包后就会自动生成,简单来说,就是创建钱包的时候,先产生一对私钥和公钥,然后公钥通过一套算法生成地址,这个地址实质上是一串字符,比如。
像银行账(卡)号可以用来收款一样,比特币地址也可以用来接收比特币。
这个比特币地址不单单给你转币的人知道,连整个比特币网络的人都能查看,可以说,全球所有用户的地址都可以被任何人知道。为什么这样说呢?因为比特币本质就是一个大型的公开账本,所有交易对所有人都是可见的。而交易记录中包括了交易流水单号、发币人的发币地址、收币人地址、发币人的找零地址。
私钥,可以看作是银行密码,是一串很长的由钱包生成的随机数,比如, LBB9ZXMCJ。私钥是唯一能够证明你拥有的比特币是属于你的,也只有用私钥才能转账、交易和使用数字钱包里的比特币。
我们都知道了,银行密码绝对不能泄露给别人,私钥也一样,打死也不要告诉他人,否则你的比特币很容易就被转走。银行的钱被盗了,因为有国家监管和第三方信用,还有可能被追回,但比特币是去中心化的,没有第三方,自己的币只能自己负责看管,丢了,或被他人转走了,就永远拿不回来了。所以千万千万不要把私钥告诉他人,不要把私钥保存在手机或者电脑上,不要通过网络传输你的私钥,那怎么办?记住了,要用笔写在纸上,写两到三份分别放在不同的地方,保管好。
公钥,顾名思义,是可以公开的,也是像地址和私钥一样,是一串长长的字符。公钥由私钥通过椭圆曲线加密算法生成,通过私钥可以算出唯一一个公钥,但公钥不能逆向推导出私钥。
那到底比特币地址、公钥、私钥在交易中起什么作用的呢?
首先,钱包通过加密算法把私钥加密成字符串(也叫作签名),然后把这个字符串,和公钥一起写到交易信息里,再发给矿工。矿工收到信息后,就会将签名、公钥写入一个验证函数,如果得出的结果为“true”,那么这个交易会被确认为真实有效,就能被验证通过。而结果为“false”,则说明这笔交易存在问题,不能被验证通过。
通过以上浅显的文字,希望能帮到你对比特币的地址、公钥和私钥有一个初步的了解吧!感谢你的阅读!
E. 什么是公钥、私钥、密码、助记词、Keystore
1. 公钥:相当于数字货币钱包的地址,可以理解为银行账户。公钥的地址是由公钥通过计算得来,类似于银行开户后给您的银行卡号。钱包地址主要用于接收款项,也可作为转账的凭证,类似于别人向您汇款时需要知道您的银行卡卡号。常见的钱包地址样式包括比特币的普通地址(以1开头)、隔离见证地址(以3开头)、以太坊地址(以0x开头,包括基于以太坊平台的代币)以及瑞波币地址(以r开头)和莱特币地址(以L开头)。
2. 私钥:非常重要,可以看作是银行卡号加上银行卡密码。创建钱包时,输入密码即可导出私钥。私钥由字母和数字组成的字符串构成,每个钱包地址只有一个私钥,且不可更改。私钥应当离线保存,避免进行网络传输,最好将其记录在纸上保存。私钥的主要用途是在同系列的任何一款钱包上导入资产,类似于您在丢失手机后,只要有私钥就可以恢复钱包。
3. 密码:相当于银行卡密码。在创建数字货币钱包时,需要设置一个不少于8个字符的密码。密码主要用于两个方面:一是在转账时需要输入密码,类似于使用银行卡给他人转账时需要输入密码;二是当使用Keystore文件导入钱包时,必须输入这个密码。密码可以进行修改或重置,如果您忘记原密码,可以使用私钥或助记词导入钱包,并设置新的密码。
4. 助记词:等于私钥,也可以理解为银行卡号加上银行卡密码。由于私钥由64位字符串组成,不便于记录,非常容易抄错,因此推出了助记词,方便用户记忆和记录。助记词由12个单词组成,每个单词之间用空格分隔。一个钱包地址只有一套助记词,且不能修改。助记词备份后,在钱包中便不会显示,因此务必在备份时仔细抄写,防止抄写错误,并多次核对。
5. Keystore:Keystore加上密码等于私钥,但Keystore不等同于银行卡号。Keystore文件相当于加密后的私钥。在导入钱包时,只需输入Keystore文件和密码即可。与使用私钥或助记词导入钱包不同,后者不需要原密码,可以直接重置密码。每个Keystore文件都有一个对应的密码,且密码无法更改。但是,可以通过钱包的助记词重新生成Keystore文件,新文件可以用新的密码生成。生成新Keystore后,最好删除旧的Keystore文件以保证安全。
总结:数字货币钱包创建后,公钥和私钥是成对出现的,它们都是由字母和数字组成的字符串。Keystore文件和助记词可以视为私钥的另一种表现形式。助记词作为钱包私钥的友好格式,非常便于备份和导入。钱包地址可以通过私钥、助记词或Keystore加密码导入钱包找回。密码可以通过私钥、助记词导入钱包并重置。如果私钥、助记词或Keystore加密码中的任何信息泄露,别人就可以控制您的钱包,里面的币就会被转移走。私钥可以推导出公钥,公钥可以推导出地址,但无法通过地址或公钥推导出私钥。
在生活中,银行开户是先开设账户,然后得到卡号和设置密码。在数字货币领域,则是先设置密码(私钥),然后得到账户地址(公钥),最后是地址。在钱包安全管理方面,主要要注意防盗和防丢。防止私钥泄露或丢失。注意事项包括:不要泄露私钥、助记词或Keystore加密码的信息;重视备份,并进行多次验证以防止错误;避免在线备份或通过第三方工具传输您的钱包密钥;将备份内容放在安全的地方,并告知家人以防不测。数字货币钱包的主要作用是安全存储资产,这是最重要的。在投资钱包时,应当注重资产的安全和私密性,避免投资失败导致损失。