当前位置:首页 » 比特币问答 » 比特币只知道公匙

比特币只知道公匙

发布时间: 2024-10-21 17:51:03

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

㈡ 比特币使用了区块链技术,为什么还会被盗窃

BTC是一个类似支付宝的系统软件,你有多少币是记录在比特币的区块链账本里的,遍及全世界,操纵你币需要靠公钥。公钥是随机生成的,公钥可形成公匙,再形成详细地址,详细地址就相当于帐户。因为BTC具备群体极化,这也导致BTC在黑市交易非常受欢迎,被黑市交易用于做为交易货币应用;有钱人把其作为转移资产的工具。这种也给BTC在大众印象中导致了许多不良影响。BTC是一个中心化的支付平台,生活中有节点的计算形成。

BTC是一种虚拟货币,这是最开始造成是由挖币机计算产生的一个加密数据精彩片段,消耗的是在网络上网络服务器或是终端设备计算机计算能力。是一种分布式节点做账的方式,来储存的数据。BTC一般都有比特币钱包,这类存储系统又叫区块链技术,储存这组加密数据便是BTC。连接点间做账因买卖产生迁移就产生了比特币的商品流通。发币方为了能创建分布式存储互联网,从而运用挖矿者的计算水平。为了能鼓励或引诱大伙儿进到互联网,提供给发币方计算水平,而采用优化算法,让挖矿者可以中头奖一样得到币特币。发币方创建贸易市场,挖出来的币特币能去交易市场获得真正贷币。

㈢ ​入门科普:比特币的私钥、公钥和地址是什么

上一篇,我们讲到了币圈要注意防范传销、洗钱等一类的骗局,保护好自己的资产。这一篇,我要告诉大家,进行比特币交易时,都会用到的私钥、公钥与地址,如果你还不了解它们的重要性,随便交易,很容易弄丢自己的资产。那什么是私钥、公钥与地址?三者之间有着什么样的关系呢?

01

私钥

1.导出:

创建钱包后,输入密码可以导出私钥,私钥由很长的字符串组成,且是随机生成的, 一个地址只有一个私钥。

2.用途:

用于控制交易时的签名,拥有私钥才能控制账户的资金,相当于银行账户的交易密码,用来解密公钥加密的信息。

3.注意事项:

私钥是用来证明这笔交易的发起人确实是比特币的所有者。所以 私钥一定不能曝光,私钥一旦泄露,你的比特币将会有被盗的风险。 用户必须保管好私钥,防止泄露或丢失。

02

公钥

1.导出:

公钥是由私钥通过算法生成的,使用了椭圆曲线加密, 通过私钥可以计算出唯一的公钥。

2.用途:

公钥是用来验证交易的签名,一个私钥签名的数据,只有对应的公钥才能对其进行验证,公钥相当于银行账户,公开后无风险。

03

地址

1.导出:

地址由公钥生成的,使用了哈希运算。创建钱包后会生成一个以“0x” 开头的 42 位字符串,这个字符串就是钱包地址,一个钱包对应一个钱包地址, 地址唯一且不能修改,也就是说一个钱包中所有代币的转账收款地址都是一样的。

2.用途:

由于公钥太长,在交易中不方便使用,所以就有了地址,地址是由公钥生成的,地址相当于银行卡号,用来发送和接收比特币。

3.注意事项:

平台上不同代币的转账收款地址一般都不同,因此,转币到交易平台前一定要确认好地址。

总结

私钥 → 公钥 → 钱包地址 (不可逆)

私钥用来签名交易,公钥用来验证私钥签名的交易,地址用来收款。

公钥、私钥以及地址都在比特币交易中起到了不同的作用,所以才能顺利的完成一笔数字货币的交易。 所以用户必须好好保存,防止泄露重要信息。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

㈥ 【猫说】打开比特币钱包的两把钥匙:私钥、公钥

如果不了解区块链,不知道公钥、私钥这些最基本的概念,拥有钱包对币圈新人来讲,就好像拿手指头去捅鳄鱼的脑袋,风险极高。此文谨献给币圈新朋友,帮助大家梳理比特币钱包的基本常识。

区块链观察网在 《区块链是什么》 一文中提到过,在区块链世界里,每个人都拥有两把独一无二的虚拟钥匙:公钥和私钥。

“公钥”,可以简单理解为银行卡,这是可以发给交易对方看的,银行卡号则相当于比特币转账中要用到的“地址”。

讲得专业一点,公钥就是一个65字节的字符串,多长呢?130个字母和数字堆在一起。公钥太长的话,第一交易起来忒麻烦,第二干嘛非得暴露公钥的真实内容呢,这就好像把自己的银行卡拿出来到处给人看。因此,我们现在看到的地址,就是经过摘要算法生成的、更短一点的公钥。

对方知道你的地址才能给你打钱;而且,任何人有了你的地址,都能在Blockchain.info官网查询这个钱包地址交易了多少次(No. Transactions),收过多少个比特币(Total Received),以及钱包里还剩下多少个比特币(Final Balance),如下图:

“私钥”,就像打死不能告诉别人的银行卡密码。它是一串256位的随机数。因为让非IT用户去记住这个满屏0 和 1的二进制私钥是特别不人道的事儿,所以对这一大串私钥进行了处理,最后私钥就以5 / K / L 开头的字符串呈现在我们面前。

公钥、私钥、地址之间的关系是:

1)私钥 → 公钥 → 地址

私钥生成唯一对应的公钥,公钥再生成唯一对应的地址;

2)私钥加密,公钥解密

也就是说,A使用私钥对交易信息进行加密(数字签名),B则使用A的公钥对这个数字签名进行解密。

其中,私钥是极度私密的东西。如果你把私钥发给别人,现在就开始写一部长篇小说吧,名字都帮你想好了,就叫《永别了,比特币》。

如果是李笑来老师(网传拥有数十万个BTC)这类币圈大佬,强烈建议使用冷钱包(离线钱包),分开储存;电视里的富豪在银行有自己的保险箱,有条件的话也可以参考。

当时,上述方法是安全系数最高的做法。但作为韭菜接班人,暂且假设我们最初只用闲置资金、持有少量的比特币,比如,小于5个。那么,动辄上千成本、操作复杂的冷钱包就有点杀鸡用牛刀了;因此,区块链观察网把选择范围限定在交易所和轻钱包2项:

在交易平台上买了(极少量)比特币,可以先不提出来,继续存在交易所。这种方式最适合币圈新手。在没有深入了解每种加密货币背后的故事之前,鲜嫩的我们总是充满了好奇,而放在交易所的比特币,可以直接进行币币交易,交易简单快捷,不用经数字钱包导来导去;另一方面,平台上币种齐全,可以满足我们的尝鲜心理,方便随时小试牛刀。

而且像火币、币安(已被墙)这些大型交易所,不仅安全等级比某些专为收割韭菜而生的小平台高很多,而且操作简单,很快就能上手,只需保管好自己的账号、密码就行了(再安全一级的话,开启谷歌二次验证),其他的就交给平台。

值得注意的是,存在交易所上的资产并不完全属于自己,更确切地说是借给平台的,我们在资产那一栏看到的数字,相当于平台向我们借钱而打的白条。此外,交易平台本身不是去中心化的,如果安全措施不到位,用户的账号密码有可能被黑客拿到。

轻钱包是相对于“全节点”钱包来说的。

全节点钱包,比如 Bitcoin-Core(核心钱包),运行时需要同步所有区块链数据,占用相当大内存空间(目前至少50GB以上),完全去中心化;

轻钱包虽然也依赖比特币网络上其他全节点,但其仅仅同步跟自己有关的交易数据,基本实现去中心化的同时,也提升了用户体验。

根据不同的设备类型,我们把轻钱包分为:

1)PC钱包:适用于电脑桌面操作系统(如Windows/MacOS/Linus);

2)手机钱包:适用于安卓、iOS智能手机,比如比太钱包(以太也有PC端);

3)网页钱包:通过浏览器访问,比如上文提过的blockchain网页版。

轻钱包操作比较简单,一般是免费获取。申请钱包的时候,系统会生成一个私钥。准备敲黑板!

1)不要截图、拍照存在手机里;

2)不要把私钥信息发给任何人;

3)最好手写(几份)抄下,藏在你觉得最安全的地方。

总之一句话,谁掌握了钱包的私钥,谁就拥有钱包的绝对控制权。私钥只要掌握在你的手里,比特币就绝不会丢。

最后多说几句,作为普通投资者,我们需要做的并不多:

1)走点心,不要把手机弄丢了,毕竟丢了对手机里的比特币钱包有风险;

2)不要手痒删掉设备上的钱包应用,除非你决定再也不用这个钱包了,否则后期很麻烦;

3)设置复杂的密码(原因见第1点),并用心去记牢,这是私钥弄丢以后留的一手。

对于记不住密码,又懒得科学备份私钥的朋友,咱还是把钱存在银行里吧。

㈦ 比特币有公钥和私钥,若公钥的数据破坏了,岂不是用户手上的比特币就没用了公钥保存在服务器上吗把服

㈧ 比特币是可以破解的吗

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

㈨ 比特币的密钥是怎么样


比特币的密钥是怎么样
比特币的密钥可以分为私钥和公钥。
私钥是一个256位的随机数,它是由比特币钱包生成的,并且只有钱包的所有者才能知道它。私钥是比特币交易的核心,因为只有持有私钥的人才能对其进行签名,从而授权比特币的转移。
公钥是由私钥通过一种数学算法生成的。具体来说,公钥是通过将椭圆曲线加密的私钥进行解密而生成的。公钥通常用于接收比特币,因为人们可以将其公开共享,而不会泄露私钥。
比特币地址是由公钥通过一种哈希算法生成的。比特币地址是一串长长的数字和字母,可以用来接收比特币。任何人都可以看到比特币地址,但只有持有私钥的人才能授权比特币的转移。
因此,私钥是比特币安全的基石,因为只有私钥持有人才能对比特币进行控制。任何其他人都不能够访问或操纵持有人的比特币,除非私钥持有人授权或泄露了私钥。

热点内容
比特币只知道公匙 发布:2024-10-21 17:51:03 浏览:535
电厂atc与btc 发布:2024-10-21 17:50:18 浏览:548
币圈找粉 发布:2024-10-21 17:48:34 浏览:436
入手矿机 发布:2024-10-21 17:47:48 浏览:104
币圈数据判断行情工具 发布:2024-10-21 17:47:00 浏览:954
微型矿机一天能赚多少钱 发布:2024-10-21 17:37:52 浏览:454
元宇宙打节奏是真人吗 发布:2024-10-21 17:36:13 浏览:191
脑波挖矿登陆 发布:2024-10-21 16:53:49 浏览:532
USDT节点每年分红多少 发布:2024-10-21 16:39:39 浏览:22
比特币怎么装硬盘 发布:2024-10-21 16:32:42 浏览:760