导航:首页 > 比特币区 > 比特币私钥格式

比特币私钥格式

发布时间:2024-04-02 03:52:55

比特币钱包能转让吗 私钥是什么 安装了安卓bitcoin软件 怎么知道自己的私钥

钱包的转让其实就是把钱包里面的BTC转让,所以直接汇款最方便,可以选择不付费转账,虽然慢一点,但通常可接受。私钥实际上是一个字符串,简单这么理解,f(DATA,私钥)=SecDATA,其中f(x,y)可以是RSA算法,反过来f(secDATA,公钥)=DATA,也就是说,你用私钥加密的数据能且只能被拥有对应公钥的人解密,你自己也解不了(除非你也有公钥,当然通常你是有的)这一点除了加密作用还有“防抵赖”作用,如果使用你的公钥加密一个数据,只有拥有对应私钥的人能解开,这通常只有私钥归属人一个人拥有。公钥私钥对(key pairs)一定是同时产生的,具体在bitcoin软件中是安装时候自动产生的,这个私钥在软件中会自动使用,但通常还不是直接使用,以为RSA这类非对称算法比较消耗资源,所以通常是先用一个对称算法加密,再用RSA加密那个对称算法的随机密钥,然后两部分加在一起传输,所以你所谓知道自己的私钥也没有什么可操作性的必要,除非是研究用,日常的备份工作,软件中已经处理了密钥、bitcoin数据链的备份,至少windows版是这样的,用户只需要备份钱包就相当于导出了全部需要的信息,稍早一点的时候BTC还有个问题,一次备份后,如果你经历了100次以上的汇款操作,一定要重新备份,否则会丢失BTC,不知道现在是否完全修复了,但多备份一次也不麻烦,而且安全。

Ⅱ 比特币压缩格式私钥你理解对了吗

压缩格式私钥: 大家看到压缩格式私钥这几个字是不是认为这个私钥是被压缩了的?其实我一开始是这么认为的,但随着对概念的深入学习与理解,我发现我理解错了,因为 私钥 本身并 不能被压缩 ,压缩格式私钥反而比非压缩格式私钥 多了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(压缩私钥):

Ⅲ 物理比特币如何得到里面的私匙

比特币的私钥就是随机的256位数字,由0和1组成的二进制数字。这串数字是由可靠的随机数生成器生成。
然后把这些2进制数转换成16进制,再转换成大写字母就获得了现在比特币钱包客户端中导出的私钥格式.
或者对这个256位二进制数再进行哈希256得到的结果也可以用来当作私钥。

Ⅳ 比特币的地址、公钥、私钥,你都了解了吗

了解比特币,就不可避免地要掌握什么是比特币的地址、公钥、私钥,下面我们一个一个来解释。

地址,就好比是银行账(卡)号,在创建数字钱包后就会自动生成,简单来说,就是创建钱包的时候,先产生一对私钥和公钥,然后公钥通过一套算法生成地址,这个地址实质上是一串字符,比如。

像银行账(卡)号可以用来收款一样,比特币地址也可以用来接收比特币。

这个比特币地址不单单给你转币的人知道,连整个比特币网络的人都能查看,可以说,全球所有用户的地址都可以被任何人知道。为什么这样说呢?因为比特币本质就是一个大型的公开账本,所有交易对所有人都是可见的。而交易记录中包括了交易流水单号、发币人的发币地址、收币人地址、发币人的找零地址。

私钥,可以看作是银行密码,是一串很长的由钱包生成的随机数,比如, LBB9ZXMCJ。私钥是唯一能够证明你拥有的比特币是属于你的,也只有用私钥才能转账、交易和使用数字钱包里的比特币。

我们都知道了,银行密码绝对不能泄露给别人,私钥也一样,打死也不要告诉他人,否则你的比特币很容易就被转走。银行的钱被盗了,因为有国家监管和第三方信用,还有可能被追回,但比特币是去中心化的,没有第三方,自己的币只能自己负责看管,丢了,或被他人转走了,就永远拿不回来了。所以千万千万不要把私钥告诉他人,不要把私钥保存在手机或者电脑上,不要通过网络传输你的私钥,那怎么办?记住了,要用笔写在纸上,写两到三份分别放在不同的地方,保管好。

公钥,顾名思义,是可以公开的,也是像地址和私钥一样,是一串长长的字符。公钥由私钥通过椭圆曲线加密算法生成,通过私钥可以算出唯一一个公钥,但公钥不能逆向推导出私钥。

那到底比特币地址、公钥、私钥在交易中起什么作用的呢?

首先,钱包通过加密算法把私钥加密成字符串(也叫作签名),然后把这个字符串,和公钥一起写到交易信息里,再发给矿工。矿工收到信息后,就会将签名、公钥写入一个验证函数,如果得出的结果为“true”,那么这个交易会被确认为真实有效,就能被验证通过。而结果为“false”,则说明这笔交易存在问题,不能被验证通过。

通过以上浅显的文字,希望能帮到你对比特币的地址、公钥和私钥有一个初步的了解吧!感谢你的阅读!

Ⅳ 比特币的私钥怎么生成的

私钥是密文持有人设置的随机的数字。
私钥的生成是随机的数字,通过抛硬币将正面向上的计为0,反面向上计为1,连续抛256次,就随机得到一个256位的二进制数字。生成了私钥,就可以通过加密函数来生成一个地址。私钥是一个64个字符长的代码,包括字母a到f和数字1到9的任何混合。

Ⅵ 破解一个比特币钱包到底要花多长时间

这要看你破解人的水平如何,能力高的人可能也就几十分钟吧。

Ⅶ 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个字符,那么计算量将无法想象。

Ⅷ 管好你的“钱包”

Kiwi(WeChat:Kiwind)

一:什么是私钥?助记词?什么是明文私钥?以及什么是keystore ?

1、私钥: 随机生成的,用来解锁对应(钱包)地址的一串字符。生成一个比特币地址的同时就会有一个私钥被生成,严格来说是, 先生成私钥,然后通过私钥使用加密函数来计算出地址 。作为用户,我们很少会直接看到私钥,一般情况下,私钥是被存储在钱包文件里,由钱包软件进行管理。下面就是一个比特币私钥:



这是对应私钥生成的地址:



2、助记词: 其实是 明文私钥的另一种表现形式 ,因为私钥是一个64位的哈希值,非常复杂。所以通过助记词将其简化。

3、明文私钥:未加密的私钥。这意味着任何人只要拿到你的明文私钥,就可以控制你的钱包资产。 我们时常会听说用户被盗币了,其实就是私钥泄露,币被转走。有时候我们会把地址比作银行卡号,私钥比作银行卡密码。所以说保护好自己的私钥有多重要。

4、keystore : 是 加密过后的私钥 ,需要用用户生成这个文件时设置的密码解开,才能够进行交易操作。如果你备份了keystore 但是忘记了自设密码,那么就尴尬了。所以keystore 的同时,也要记住密码。

二:如何导入钱包?

以imToken为例:

1、官方钱包导入

2、助记词导入

3、私钥导入

注意 :

1、imToken目前无法导出明文私钥,只能导出助记词和Keystore,但是可以导入明文私钥。

2、明文私钥可以去MyEtherWallet,先将Keystore导入,然后导出明文私钥。具体操作步骤如下:

(1)登陆 myetherwallet.com

(2)点击View Wallet Info(查看钱包信息),后选择Keystore File,在右侧的灰色区域上传Keystore文本信息,注意要.txt格式。

(3)上传完成,输入imToken上设置的钱包密码,点击Unlock解锁。

(4)导出明文私钥(切记安全保存)。

3、使用imToken的ETH钱包时,用Keystore导入钱包时,输入的是之前的密码。用助记词和私钥导入钱包时,输入的是新的密码。所以一旦助记词被盗,黑客是可以设置新的密码的!

具体说明请看下这篇来自“乌托邦皮条社”彭皓的文章:

http://mp.weixin.qq.com/s/5uNosRiiqpeTYOVR7i2TrQ

Ⅸ 离线生成的比特币地址是如何避免冲突的

BTC的地址生成过程如下,完整的可以查一下比特币中文维基:
比特币地址的生成过程

(说明: 有些数字以"0x"开头,意思是此数字使用十六进制表示法。"0x"本身没有任何含义,它是C语言流传下来的,约定俗成的写法,比如0xA就是十进制的10。另外,1个字节 = 8位二进制 = 2位十六进制)。

第一步,随机选取一个32字节的数、大小介于1 ~ 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之间,作为私钥。


第二步,使用椭圆曲线加密算法(ECDSA-secp256k1)计算私钥所对应的非压缩公钥。 (共65字节, 1字节 0x04, 32字节为x坐标,32字节为y坐标)关于公钥压缩、非压缩的问题另文说明。
第三步,计算公钥的 SHA-256 哈希值


第四步,取上一步结果,计算 RIPEMD-160 哈希值


第五步,取上一步结果,前面加入地址版本号(比特币主网版本号“0x00”)
00

第六步,取上一步结果,计算 SHA-256 哈希值


第七步,取上一步结果,再计算一下 SHA-256 哈希值(哈哈)


第八步,取上一步结果的前4个字节(8位十六进制)
D61967F6

第九步,把这4个字节加在第五步的结果后面,作为校验(这就是比特币地址的16进制形态)。
00D61967F6

第十步,用base58表示法变换一下地址(这就是最常见的比特币地址形态)。

Ⅹ 比特币私钥是52位还是64

比特币私钥是64位,WIFI格式是52位
比特币私钥是一个256位的随机数,通过SHA-256算法产生。比特币私钥的定义非常简单,一个是256位(256个二进制数字)另一个是随机数,意思是这个数的产生没有规律。
比特币私钥是一个数字,这个数字可以取从0到2___-1之间的任意值。

阅读全文

与比特币私钥格式相关的资料

热点内容
亚洲博鳌区块链论坛 浏览:494
区块链传销马来西亚 浏览:468
区块链开发相关名词 浏览:261
世联虚拟货币 浏览:131
莱特币挖矿收益计算器比特范6 浏览:353
比特币概念股票龙头股票 浏览:420
手机挖矿需要充钱吗 浏览:854
旺旺区块链基地 浏览:36
蓝鲸矿机官网 浏览:865
在uas数字货币交易平台被骗 浏览:48
数字货币市场价 浏览:627
挖矿怎么开启 浏览:332
区块链骗局何其多 浏览:970
风险预警区块链 浏览:92
钻石dc数字货币 浏览:959
蚂蚁矿池误删除了子账户 浏览:327
莱特币算力最大的矿池 浏览:871
中国区块链政策2019年 浏览:740
ipfs合营矿机 浏览:749
哈希顿挖矿 浏览:561