比特币可以修改钥匙吗(比特币可以交易吗)

静香

比特币可以修改钥匙吗(比特币可以交易吗)


比特币定义和用途分别是什么?


                



比特币(BTC)是一种总量恒定2100万的数字货币,和互联网一样具有去中心化、全球化、匿名性等特性。意思就是向地球另一端转账比特币,就像发送电子邮件一样简单,低成本、无限制,比特币也因此被用于跨境贸易、支付、汇款等领域。


比特币的流通性和有限性,决定了比特币是可以充当相当于一般等价物的货币功能,或者充当货币的衡量物,只不过这种衡量不是像黄金一样的实体衡量,而是一种数字产品。


相关概念:


1、地址


比特币世界的地址大概长得像这样:1EnvYExAb3JEkreirBufUhdeXSMyYyeNcC。地址本身只是一串代码,就像你的银行账号3210000003288372一样,用来标示一个账户。每个人可以有无数个地址。地址是公开的。


2、比特币记录


银行账号里面有多少钱,是银行记录的。
比特币地址里面存有多少钱,是整个比特币网络共同记录的。每一份完整的比特币数据,都会记录着1EnvYExAb3JEkreirBufUhdeXSMyYyeNcC这个地址里面存了多少个比特币。
每个参与比特币网络的节点都可以保存一份完整的比特币数据,人人手头都有备份,防止造假。


3、密钥(私钥)


密钥是你自己才知道的另一串字符,密钥用来操作比特币地址里面的钱。密钥和地址是一把钥匙一把锁的关系,每个地址只有一个密码,每个密码也操作一个比特币地址。


有了密钥以后,你就可以控制比特币地址里面的钱,支付给任何人。密钥要绝对安全,丢失、删除的密钥永远找不回来,对应比特币地址里面的钱也就永远不能用了。


密钥需要绝对保密,任何知道密钥的人都可以偷走你的所有比特币。


4、钱包


比特币的交易过程会涉及很多复杂计算,为了简化操作,大家制作了钱包。钱包有计算机上的客户端软件,也有在线网页版的。钱包的功能是轻轻一点就可以付钱,背后的复杂计算交给钱包去完成


5、安全性


如果使用计算机客户端软件的话,推荐MultiBit,也可以用Bitcoin-QT。这两个都是比特币社区的官方推荐软件。安装这两个软件一定只能从官方网站直接下载,下载前后一定要检查校验码。这么做是为了防止有人篡改钱包软件、盗窃密钥。


6、挖矿


大约每10分钟,比特币网络中都会新出现一些比特币,可以想象成天上在撒钱。这些撒下来的钱落到谁的口袋里,主要看谁的电脑算得快。算得越快,就越有可能捡到这些钱。挖矿就是用电脑拼命算,去捡这些钱。


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


比特币怎么修改密保


                
比特币是不需要修改密码的,也不存在修改密码这一说。如果修改,那你修改的可能是你注册的在线钱包账号或者交易平台账号。

比特币是一个共识网络,促成了一个全新的支付系统和一种完全数字化的货币。它是第一个去中心化的对等支付网络,由其用户自己掌控而无须中央管理机构或中间人。从用户的角度来看,比特币很像互联网的现金。比特币也可以看作是目前最杰出的三式簿记系统。

比特币是可以破解的吗


                
首先讲一下背景,比特币“账户”的基本原理就是 密钥-公钥-地址,你可以大致理解为“钥匙-箱子-箱子编号”。现在就是要从箱子编号或者箱子入手破解到钥匙。
攻击手段基本上就两种,一种字典攻击所谓脑钱包,另外一种就是暴力破解。
字典攻击就是把常用的密码以及其简单变种,组合作为钥匙一个一个试。只要你的pass phrase不过硬,这种手段攻击成功的可能性很高。所以要用这个的话,需要先普及一下密码学知识,不要以为密码很长再加个&就很安全了。
如果你不是用pass phrase生成的钱包,就只能暴力破解了,相当于枚举所有可能的钥匙,目前来看这个是不可能的,哪怕电子计算机越来越强大。但是,量子计算机理论上是可以做到的,不过不用太担心,真的有这么强大的量子计算机出来的话,不仅仅危及到比特币而已。
同时,比特币还有第二层防护:如果一个地址只接受而还没有输出比特币的话,他的公钥都是保密的,就是说箱子别人都看不到只能看到箱子编号。目前来看从箱子编号反推箱子这个过程连量子计算机也做不到。换句话说,真的有量子计算机的话,比特币还有最后一道防线:把你的钱转移到一个全新的地址就暂时安全了。
最后,前一段时间,Android上的客户端生成的钱包被攻击了,这个是因为底层随机数生成器有bug。其实就是这个函数不随机SecureRandom,Google很快承认并修复了这个问题。这种事情会不会再有也不好说,不过我觉得不用太过担心。

比特币有没有可能被破解?


                

比特币的破解是有可能但几乎不可能的,仅仅存在理论可能。

  

从背景和基本原理上来讲,比特币账户购物城是通过秘钥-公钥-地址的结构形式来构成的,可以大致理解成钥匙-箱子-箱子编号的基本模式,比特币的破解实际上就是从箱子编号或者从箱子入手破解到钥匙。

    

破解比特币的攻击手段一般意义上只有两种,一种是通过字典的方式进行攻击,也就是通过脑钱包直接破解。这种破解方式并非直接破解比特币持有者的比特币秘钥,而是去破解比特币持有者为记忆比特币秘钥而新设置的便捷密码,也就是脑钱包。如果是这种方式的话,首先需要比特币持有者通过脑账户设置一个新密码,同时需要对包含别的比特币持有者的个人生活信息十分了解才能破解。如果比特币持有者不设置脑账户的话,那么就无法通过这个方式进行破解。

  

其次是通过暴力破解的手段进行破解,也就是通过枚举法列举出所有可能的数字字母与符号的排列组合。以这些全部的组合一一进行尝试破解。但通过这种方式破解出比特币秘钥的可能性就更低了,因为比特币的秘钥是由256位二进制数字组成的。这是一个非常大的数字,使用十进制进行表示大约是十的77次方。目前市面上绝大多数的电脑算力是无法完成这个计算过程的,即便完成也需要花费几千年甚至上万年的时间。只有科研机构与高校内的部分量子计算机才可能实现这一目标。

更多交易所入口

一站式注册各大交易所、点击进入加密世界、永不失联,币安Binance/欧易OKX/GATE.IO芝麻开门/Bitget/抹茶MEXC/火币Huobi

点击进入 永不失联

目录[+]