① 怎样查看比特币钱包私钥
比特币钱包私钥在线无法查看,比特币存在平台要下载core 或者classic才是真正的钱包,然后就可以查看了。
【比特币钱包私钥的说明】:
1、钱包加密是指对储存有私钥的钱包进行自动加密存储。 比特币官方客户端从0.4.0 版本开始支持钱包加密。加密的钱包在每次付款的时候,都会提示您输入密码。如果密码错误,客户端会拒绝付款。
2、如果用最早备份的钱包(wallet.dat)替换回来,还是一样可以正常交易。考虑到比特币的原理应该也可得出,只要有私钥(钱包)存在,就可以证明你是这个钱包的合法拥有者,不管对这个钱包(核心就是某个地址对应的私钥)是进行了加密还是删除,都不能否定它。
3、备份比特币钱包时,还需注意由于比特币支付找零机制的存在(比如把一个完整的100 btc中的50 btc发送给某个地址,系统会发送其中的50 btc到对方的地址,并退回50 btc到你客户端的一个新地址上,这个地址不会直接显示在你的地址列表中)。
4、每发送了100次比特币给其它地址或者使用了100个不同的地址接收比特币后,请重新备份钱包,否则后面交易退回的和接收到的比特币会永久丢失。 除了给钱包加密外,用户还可以自行生成离线的纸钱包和脑钱包。
② 比特币压缩格式私钥你理解对了吗
压缩格式私钥: 大家看到压缩格式私钥这几个字是不是认为这个私钥是被压缩了的?其实我一开始是这么认为的,但随着对概念的深入学习与理解,我发现我理解错了,因为 私钥 本身并 不能被压缩 ,压缩格式私钥反而比非压缩格式私钥 多了1个字节 ,这多出来的1个字节是私钥被加了 后缀"01" ,用以表明该私钥是来自于一个较新版本的钱包,只能用于生成压缩格式的公钥。就是说该私钥只能用于生成压缩格式的公钥,其本身并不是压缩格式。反之,非压缩格式私钥是只能用于生成非压缩格式的公钥。具体转换关系如图所示:
从上面的定义和图示,大家可以看出压缩格式私钥这个词用得不太恰当,容易让人产生误解,让人误以为私钥是可以被压缩的,其实这种理解是不对的,如上述概念给出的,压缩格式私钥其实比非压缩格式私钥还多了1个字节,在非压缩格式私钥的基础上添加后缀"01"用以表示为压缩格式私钥,压缩格式私钥提出的作用是为了节省钱包存储空间而新研制出的一种私钥编码格式。
如果一个比特币钱包实现了压缩格式公钥,那么它将会在所有交易中使用该压格式缩公钥。钱包中的私钥将会被用来生成压缩格式公钥,压缩格式公钥然后被用来生成交易中的比特币地址。当从一个实现了压缩格式公钥的比特币钱包导出私钥时,钱包导入格式(WIF)将会被修改为WIF压缩格式,该格式将会在私钥的后面附加一个字节大小的后缀01。最终的Base58Check编码格式的私钥被称作WIF(“压缩”)私钥,以字母“K”或“L”开头。而以“5”开头的是从较老的钱包中以WIF(非压缩)格式导出的私钥。
表4-4展示了同样的私钥使用不同的WIF和WIF压缩格式编码。
Hex(十六进制):
WIF(非压缩私钥):
Hex-compressed(压缩十六进制):01
WIF-compressed(压缩私钥):
③ 入门科普:比特币的私钥、公钥和地址是什么
上一篇,我们讲到了币圈要注意防范传销、洗钱等一类的骗局,保护好自己的资产。这一篇,我要告诉大家,进行比特币交易时,都会用到的私钥、公钥与地址,如果你还不了解它们的重要性,随便交易,很容易弄丢自己的资产。那什么是私钥、公钥与地址?三者之间有着什么样的关系呢?
01
私钥
1.导出:
创建钱包后,输入密码可以导出私钥,私钥由很长的字符串组成,且是随机生成的, 一个地址只有一个私钥。
2.用途:
用于控制交易时的签名,拥有私钥才能控制账户的资金,相当于银行账户的交易密码,用来解密公钥加密的信息。
3.注意事项:
私钥是用来证明这笔交易的发起人确实是比特币的所有者。所以 私钥一定不能曝光,私钥一旦泄露,你的比特币将会有被盗的风险。 用户必须保管好私钥,防止泄露或丢失。
02
公钥
1.导出:
公钥是由私钥通过算法生成的,使用了椭圆曲线加密, 通过私钥可以计算出唯一的公钥。
2.用途:
公钥是用来验证交易的签名,一个私钥签名的数据,只有对应的公钥才能对其进行验证,公钥相当于银行账户,公开后无风险。
03
地址
1.导出:
地址由公钥生成的,使用了哈希运算。创建钱包后会生成一个以“0x” 开头的 42 位字符串,这个字符串就是钱包地址,一个钱包对应一个钱包地址, 地址唯一且不能修改,也就是说一个钱包中所有代币的转账收款地址都是一样的。
2.用途:
由于公钥太长,在交易中不方便使用,所以就有了地址,地址是由公钥生成的,地址相当于银行卡号,用来发送和接收比特币。
3.注意事项:
平台上不同代币的转账收款地址一般都不同,因此,转币到交易平台前一定要确认好地址。
总结
私钥 → 公钥 → 钱包地址 (不可逆)
私钥用来签名交易,公钥用来验证私钥签名的交易,地址用来收款。
公钥、私钥以及地址都在比特币交易中起到了不同的作用,所以才能顺利的完成一笔数字货币的交易。 所以用户必须好好保存,防止泄露重要信息。
④ 物理比特币如何得到里面的私匙
比特币的私钥就是随机的256位数字,由0和1组成的二进制数字。这串数字是由可靠的随机数生成器生成。
然后把这些2进制数转换成16进制,再转换成大写字母就获得了现在比特币钱包客户端中导出的私钥格式.
或者对这个256位二进制数再进行哈希256得到的结果也可以用来当作私钥。
⑤ 比特币的地址、公钥、私钥,你都了解了吗
了解比特币,就不可避免地要掌握什么是比特币的地址、公钥、私钥,下面我们一个一个来解释。
地址,就好比是银行账(卡)号,在创建数字钱包后就会自动生成,简单来说,就是创建钱包的时候,先产生一对私钥和公钥,然后公钥通过一套算法生成地址,这个地址实质上是一串字符,比如。
像银行账(卡)号可以用来收款一样,比特币地址也可以用来接收比特币。
这个比特币地址不单单给你转币的人知道,连整个比特币网络的人都能查看,可以说,全球所有用户的地址都可以被任何人知道。为什么这样说呢?因为比特币本质就是一个大型的公开账本,所有交易对所有人都是可见的。而交易记录中包括了交易流水单号、发币人的发币地址、收币人地址、发币人的找零地址。
私钥,可以看作是银行密码,是一串很长的由钱包生成的随机数,比如, LBB9ZXMCJ。私钥是唯一能够证明你拥有的比特币是属于你的,也只有用私钥才能转账、交易和使用数字钱包里的比特币。
我们都知道了,银行密码绝对不能泄露给别人,私钥也一样,打死也不要告诉他人,否则你的比特币很容易就被转走。银行的钱被盗了,因为有国家监管和第三方信用,还有可能被追回,但比特币是去中心化的,没有第三方,自己的币只能自己负责看管,丢了,或被他人转走了,就永远拿不回来了。所以千万千万不要把私钥告诉他人,不要把私钥保存在手机或者电脑上,不要通过网络传输你的私钥,那怎么办?记住了,要用笔写在纸上,写两到三份分别放在不同的地方,保管好。
公钥,顾名思义,是可以公开的,也是像地址和私钥一样,是一串长长的字符。公钥由私钥通过椭圆曲线加密算法生成,通过私钥可以算出唯一一个公钥,但公钥不能逆向推导出私钥。
那到底比特币地址、公钥、私钥在交易中起什么作用的呢?
首先,钱包通过加密算法把私钥加密成字符串(也叫作签名),然后把这个字符串,和公钥一起写到交易信息里,再发给矿工。矿工收到信息后,就会将签名、公钥写入一个验证函数,如果得出的结果为“true”,那么这个交易会被确认为真实有效,就能被验证通过。而结果为“false”,则说明这笔交易存在问题,不能被验证通过。
通过以上浅显的文字,希望能帮到你对比特币的地址、公钥和私钥有一个初步的了解吧!感谢你的阅读!
⑥ bitcoin私钥是如何产生的
比特币地址和私钥是怎样生成的?比特币使用椭圆曲线算法生成公钥和私钥,选择的是secp256k1曲线。生成的公钥是33字节的大数,私钥是32字节的大数,钱包文件wallet.dat中直接保存了公钥和私钥。我们在接收和发送比特币时用到的比特币地址是公钥经过算法处理后得到的,具体过程是公钥先经过SHA-256算法处理得到32字节的哈希结果,再经过RIPEMED算法处理后得到20字节的摘要结果,再经过字符转换过程得到我们看到的地址。这个字符转换过程与私钥的字符转换过程完成相同,步骤是先把输入的内容(对于公钥就是20字节的摘要结果,对于私钥就是32字节的大数)增加版本号,经过连续两次SHA-256算法,取后一次哈希结果的前4字节作为校验码附在输入内容的后面,然后再经过Base58编码,得到字符串。
⑦ 比特币钱包能转让吗 私钥是什么 安装了安卓bitcoin软件 怎么知道自己的私钥
钱包的转让其实就是把钱包里面的BTC转让,所以直接汇款最方便,可以选择不付费转账,虽然慢一点,但通常可接受。私钥实际上是一个字符串,简单这么理解,f(DATA,私钥)=SecDATA,其中f(x,y)可以是RSA算法,反过来f(secDATA,公钥)=DATA,也就是说,你用私钥加密的数据能且只能被拥有对应公钥的人解密,你自己也解不了(除非你也有公钥,当然通常你是有的)这一点除了加密作用还有“防抵赖”作用,如果使用你的公钥加密一个数据,只有拥有对应私钥的人能解开,这通常只有私钥归属人一个人拥有。公钥私钥对(key pairs)一定是同时产生的,具体在bitcoin软件中是安装时候自动产生的,这个私钥在软件中会自动使用,但通常还不是直接使用,以为RSA这类非对称算法比较消耗资源,所以通常是先用一个对称算法加密,再用RSA加密那个对称算法的随机密钥,然后两部分加在一起传输,所以你所谓知道自己的私钥也没有什么可操作性的必要,除非是研究用,日常的备份工作,软件中已经处理了密钥、bitcoin数据链的备份,至少windows版是这样的,用户只需要备份钱包就相当于导出了全部需要的信息,稍早一点的时候BTC还有个问题,一次备份后,如果你经历了100次以上的汇款操作,一定要重新备份,否则会丢失BTC,不知道现在是否完全修复了,但多备份一次也不麻烦,而且安全。
⑧ 姣旂壒甯侀挶鍖呮庝箞鏍风敓鎴愮
姣旂壒甯侀挶鍖呮庝箞鐢熸垚绉佸寵
姣旂壒甯侀挶鍖呯敓鎴愮侀挜鐨勮繃绋嬪寘鍚浠ヤ笅鍑犱釜姝ラわ細
棣栧厛锛屾偍闇瑕侀夋嫨涓娆惧彲淇$殑姣旂壒甯侀挶鍖呰蒋浠躲傛湁璁稿氫笉鍚岀被鍨嬬殑閽卞寘杞浠跺彲渚涢夋嫨锛屼緥濡傦細妗岄潰閽卞寘銆佺Щ鍔ㄩ挶鍖呫佺‖浠堕挶鍖呯瓑绛夈傛偍鍙浠ラ氳繃浜掕仈缃戞悳绱銆佸挩璇㈠叾浠栨瘮鐗瑰竵鐢ㄦ埛鎴栭槄璇绘湁鍏虫瘮鐗瑰竵閽卞寘璇勬祴鏂囩珷鏉ラ夋嫨涓涓閫傚悎鎮ㄧ殑閽卞寘杞浠躲
涓嬩竴姝ワ紝鎮ㄩ渶瑕佸惎鍔ㄦ偍鐨勯挶鍖呰蒋浠跺苟鍒涘缓涓涓鏂扮殑姣旂壒甯侀挶鍖呫備竴鏃︽偍鍒涘缓浜嗕竴涓鏂伴挶鍖咃紝杞浠跺皢鐢熸垚涓涓鍏閽ュ拰涓涓绉侀挜瀵广
鍦ㄦ瘮鐗瑰竵缃戠粶涓锛屾瘡涓鐢ㄦ埛閮芥湁涓涓涓庝箣鐩稿叧鐨勫叕閽ュ拰绉侀挜瀵广傚叕閽ュ氨鍍忎竴涓閾惰岃处鎴凤紝鍙浠ュ悜鍏朵粬浜哄叕寮灞曠ず锛屼互鎺ユ敹姣旂壒甯佷粯娆俱傜侀挜鏄涓绉嶇樺瘑浠g爜锛屽彧鏈夋偍鑷宸辩煡閬擄紝鍙浠ョ敤鏉ュ规瘮鐗瑰竵杩涜岀惧悕锛屼粠鑰岃瘉鏄庢偍鏄璇ユ瘮鐗瑰竵鍦板潃鐨勬墍鏈夎呫
閽卞寘杞浠朵娇鐢ㄩ殢鏈烘暟鐢熸垚鍣ㄦ潵鐢熸垚绉侀挜銆傝繖涓闅忔満鏁扮敓鎴愬櫒鏄鐢遍挶鍖呰蒋浠舵彁渚涚殑锛岀‘淇濈侀挜鏄闅忔満鐢熸垚鐨勩佸畨鍏ㄧ殑鍜屼笉鍙棰勬祴鐨勩
绉侀挜鏄鐢变竴涓查殢鏈虹殑鏁板瓧鍜屽瓧姣嶇粍鎴愮殑銆傚湪閽卞寘杞浠朵腑锛屽畠閫氬父浠ヤ竴绉嶇О涓篧IF锛圵alletImportFormat锛夌殑鏍煎紡杩涜屽瓨鍌ㄣ俉IF鏍煎紡鍖呭惈涓涓鐗堟湰瀛楄妭銆佷竴涓鍘嬬缉鏍囧織銆佷竴涓32瀛楄妭鐨勭侀挜鍜屼竴涓鏍¢獙鍜屻傞氳繃WIF鏍煎紡瀛樺偍绉侀挜鍙浠ョ‘淇濆叾鏄撲簬澶囦唤鍜屽煎叆鍏朵粬閽卞寘杞浠躲
涓鏃︽偍鐢熸垚浜嗙侀挜锛屾偍搴旇ュ皢鍏跺囦唤鍒颁竴涓瀹夊叏鐨勫湴鏂癸紝渚嬪傜焊璐ㄥ囦唤鎴栫‖浠堕挶鍖呭囦唤銆傝繖鏍凤紝鍗充娇鎮ㄧ殑璁$畻鏈烘垨绉诲姩璁惧囪鐩楁垨閬鍙楁崯鍧忥紝鎮ㄤ篃鍙浠ユ仮澶嶆偍鐨勬瘮鐗瑰竵閽卞寘骞惰块棶鎮ㄧ殑绉侀挜銆傝板緱涓嶈佹妸绉侀挜閫忛湶缁欏叾浠栦汉锛屽洜涓鸿繖鍙鑳戒細瀵艰嚧鎮ㄧ殑姣旂壒甯佽鐩椼
⑨ 4. 比特币的密钥、地址和钱包 - 精通比特币笔记
比特币的所有权是通过密钥、比特币地址和数字签名共同确定的。密钥不存在于比特币网络中,而是用户自己保存,或者利用管理私钥的软件-钱包来生成及管理。
比特币的交易必须有有效签名才会被存储在区块中,因此拥有密钥就拥有对应账户中的比特币。密钥都是成对出现的,由一个公钥和一个私钥组成。公钥相当于银行账号,私钥就相当于银行卡密码。通常情况下密钥由钱包软件管理,用户不直接使用密钥。
比特币地址通常是由公钥计算得来,也可以由比特币脚本得来。
比特币私钥通常是数字,由比特币系统随机( 因为算法的可靠性与随机性正相关,所以随机性必须是真随机,不是伪随机,因此比特币系统可以作为随机源来使用 )生成,然后将私钥作为输入,使用椭圆曲线算法这个单向加密函数生成对应的公钥,再将公钥作为输入,使用单向加密哈希函数生成地址。例如,通过公钥K得到地址A的计算方式为:
其中SHA256和PIPEMD160被称为双哈希或者HASH160,Base58Check是带有验证功能的Base58编码,验证方式为先计算原始数据(编码前)的验证码,再比较编码后数据的验证码,相同则地址有效,否则无效。而在使用Base58Check编码前,需要对数据做处理。
处理方式为: 版本前缀 + 双哈希后的数据 + 校验码
其中版本前缀是自定义的,如比特币私钥的前缀是0x80,校验码是把版本前缀和双哈希后的数据拼接起来,进行两次SHA256计算,取前4字节。得到处理的数据后,再进行Base58编码,得到最终的结果。
下图是Base58Check版本前缀和Base58编码后的结果
密钥可以采用不同的编码格式,得到的编码后结果虽然不同,但密钥本身没有任何变化,采用哪种编码格式,就看情况而论了,最终目的都是方便人们准确无误的使用和识别密钥。
下图是相同私钥采用不同编码方式的结果:
公钥也有很多种格式,不过最重要的是公钥被分为压缩格式和非压缩格式,带04前缀的公钥为非压缩格式的公钥,而03,02开头的标识压缩格式的公钥。
前面说过,公钥是椭圆曲线上的一个点,由一对坐标(x, y)表示,再加上前缀,公钥可以表示为:前缀 x y。
比如一个公钥的坐标为:
以非压缩格式为例,公钥为(略长):
压缩格式的公钥可以节省一定的存储,对于每天成千上万的比特币交易记录来说,这一点点的节省能起到很大效果。
因为椭圆曲线实际上是一个方程(y2 mod p = (x3 + 7)mod P, y2是y的平方,x3是x的立方),而公钥是椭圆曲线上的一个点,那么公钥即为方程的一个解,如果公钥中只保留x,那么可以通过解方程得到y,而压缩公钥格式有两个前缀是因为对y2开方,会得到正负两个解,在素数p阶的有限域上使用二进制算术计算椭圆曲线的时候,y坐标或奇或偶,所以用02表示y为奇数,03表示y为偶数。
所以压缩格式的公钥可以表示为:前缀x
以上述公钥的坐标为准,y为奇数为例,公钥K为:
不知道大家发现没有,这种压缩方式存在一个问题,即一个私钥可以得出两个公钥,压缩和非压缩公钥,而这两个公钥都对应同一个私钥,都合法,但生成的比特币地址却不相同,这就涉及到钱包软件的实现方式,是使用压缩公钥还是非压缩公钥,或者二者皆用,这个问题后面来介绍。
比特币钱包最主要的功能就是替用户保管比特币私钥,比特币钱包有很多种,比如非确定性(随机)钱包,确定性(种子)钱包。所谓的非确定性是指钱包运行时会生成足够的私钥(比如100个私钥),每个私钥仅会使用一次,这样私钥管理就很麻烦。确定性钱包拥有一个公共种子,单向离散方程使用种子生成私钥,种子足够回收所有私钥,所以在钱包创建时,简单备份下,就可以在钱包之间转移输入。
这里要特别介绍下助记码词汇。助记码词汇是英文单词序列,在BIP0039中提出。这些序列对应着钱包中的种子,种子可以生成随机数,随机数生成私钥,私钥生成公钥,便有了你需要的一切。所以单词的顺序就是钱包的备份,通过助记码词汇能重建钱包,这比记下一串随机数要强的多。
BIP0039定义助记码和种子的创建过程如下:
另外一种重要的钱包叫做HD钱包。HD钱包提供了随机(不确定性) 钥匙有两个主要的优势。
第一,树状结构可以被用来表达额外的组织含义。比如当一个特定分支的子密钥被用来接收交易收入并且有另一个分支的子密钥用来负责支付花费。不同分支的密钥都可以被用在企业环境中,这就可以支配不同的分支部门,子公司,具体功能以及会计类别。
第二,它可以允许让使用者去建立一个公共密钥的序列而不需要访问相对应的私钥。这可允许HD钱包在不安全的服务器中使用或者在每笔交易中发行不同的公共钥匙。公共钥匙不需要被预先加载或者提前衍生,但是在服务器中不具有可用来支付的私钥。
BIP0038提出了一个通用标准,使用一个口令加密私钥并使用Base58Check对加密的私钥进行编码,这样加密的私钥就可以安全地保存在备份介质里,安全地在钱包间传输,保持密钥在任何可能被暴露情况下的安全性。这个加密标准使用了AES,这个标准由NIST建立,并广泛应用于商业和军事应用的数据加密。
BIP0038加密方案是: 输入一个比特币私钥,通常使用WIF编码过,base58chek字符串的前缀“5”。此外BIP0038加密方案需要一个长密码作为口令,通常由多个单词或一段复杂的数字字母字符串组成。BIP0038加密方案的结果是一个由base58check编码过的加密私钥,前缀为6P。如果你看到一个6P开头的的密钥,这就意味着该密钥是被加密过,并需个口令来转换(解码) 该密钥回到可被用在任何钱包WIF格式的私钥(前缀为5)。许多钱包APP现在能够识别BIP0038加密过的私钥,会要求用户提供口令解码并导入密钥。
最通常使用BIP0038加密的密钥用例是纸钱包一一张纸张上备份私钥。只要用户选择了强口令,使用BIP0038加密的私钥的纸钱包就无比的安全,这也是一种很棒的比特币离线存储方式(也被称作“冷存储”)。
P2SH函数最常见的实现时用于多重签名地址脚本。顾名思义,底层脚本需要多个签名来证明所有权,然后才能消费资金。这类似在银行开设一个联合账户。
你可以通过计算,生成特殊的比特币地址,例如我需要一个Hello开头的地址,你可以通过脚本来生成这样一个地址。但是每增加一个字符,计算量会增加58倍,超过7个字符,需要专门的硬件或者矿机来生成,如果是8~10个字符,那么计算量将无法想象。