主页 > imtoken苹果版下载官网怎样下载 > 区块链的私钥有多少位,区块链币的私钥是怎么确定的?

区块链的私钥有多少位,区块链币的私钥是怎么确定的?

上节课,我们介绍了区块链使用的现代密码学知识。 在本节中,我将以比特币为例,介绍安全在区块链中的使用。

我们之前说过,比特币的所有价值都存储在区块链网络中数以百万计的 UTXO(未花费的交易输出)中。 那么一个UTXO如何证明是你的而不是我的呢? 我可以随意处理未使用的 UTXO 吗? 如何确保我支付给别人的比特币到达我想给的人手中? 在去中心化的区块链世界中,非对称加密算法被用于保护这一系列问题。 主要涉及私钥、公钥、地址三部分。

一、概述

比特币的所有权由数字签名、数字密钥和比特币地址决定。 每笔比特币交易都需要在区块链中存储有效的签名,只有有效的数字密钥才能生成有效的数字签名。 密钥总是成对出现的私钥和公钥。 公钥好比银行账户,私钥就是控制账户的签名。

当用比特币支付时,比特币的当前所有者提交他们的公钥和签名(私钥生成)。 网络中的每个人都可以验证交易是否有效,即付款人是否拥有交易中 UTXO 的所有权。

每个密钥对包括一个私钥和一个公钥。 私钥是一系列随机数,通常是随机生成的。 有了私钥,就可以在比特币中使用椭圆曲线乘法的单向加密函数生成公钥。 有了公钥,就可以通过单向加密哈希函数生成比特币地址。 公钥、私钥和比特币地址的关系如下:

比特币钱包导出私钥_比特币私钥公钥签名_比特币私钥破解软件

二、私钥

比特币私钥是一串 256 位随机数。 事实上,最随机的方法是找一枚硬币,将它抛向空中 256 次。 前面记录为数字1,后面记录为数字0,这样随机得到的256位二进制数就可以作为比特币的私钥。 也许这种方法比较笨拙,但是千万不要用自己写的或者编程语言写的随机函数来生成随机数。 这些随机函数是有根据的,生成的随机数很容易追踪。 比特币的私钥空间是2的256次方,如果换算成十进制,大概是10的77次方。 可见宇宙只有1080个原子。 因此,如果比特币的私钥能够保证随机性,基本上是不可能被破解的。

三、公钥

在比特币系统中,可以通过椭圆曲线乘法从私钥计算出公钥,这是一个不可逆的过程:k=k * g。 其中k(小写)为私钥比特币私钥破解软件,g为椭圆曲线上的生成点,得到的结果k为公钥。 逆向操作基本不可能,即从已知的公钥推导出私钥,也就是使用暴力破解,反复尝试计算结果。 如果全世界的计算机都组织在一起计算,需要数万年才能破解,这显然是不现实的。

那么什么是蛮力呢? 下面举个例子给大家做一个简单的说明。 比如我们最常骑的小黄车ofo,除了蓝牙解锁外,还可以输入密码解锁。 一般来说,小黄车的密码是四位数字,每个数字是1到4。也就是说,如果我们可以手动给小黄输入256次(4*4*4*4)组合密码car(从1111到4444),那我们肯定可以试试小黄车的密码,这样我们就可以免费使用小黄车了。 如果我们输入密码需要5秒,理论上我们可以在21分钟内打开密码锁。 以上假设都是基于没有其他办法锁定小黄车ofo。 其实,在连续多次输错密码后,通常都有锁定密码的手段。 例如比特币私钥破解软件,这就是银行避免暴力攻击的方式。 如果他们连续三次输入错误的密码,他们将锁定该帐户。

这种通过大量试错破解的方法就是暴力破解。 没有什么技巧,只要你够快,有足够的时间。 在计算机世界里,最简单的方法就是暴力破解,因为计算机的计算能力绝不是人类可以比拟的。 例如,手动打开ofo的组合密码需要21分钟,但对于电脑来说,不到1微秒。 上面说的椭圆曲线算法,就算全世界所有的计算机加起来,也需要几万年才能破解,这基本上是不可能的。

上图展示了如何通过椭圆曲线从私钥计算出公钥。 这里只是初步的感官印象。 具体技术细节涉及现代密码学知识。 如果你有兴趣,请留言,我会详细告诉你。

四.地址

地址是一串数字和字母,可以在区块链上广播并为所有人所知。 公钥生成的比特币地址(也是一串数字和字母)以数字“1”开头。 比特币地址可以通过单向加密哈希算法从公钥中获得。 其中,使用了SHA256和RIPEMD160。 以公钥K为输入,计算其SHA256哈希值,并根据计算结果计算RIPEMD160哈希值,得到长度为160位(20字节)的地址。 然后,我们可以通过“Base58Check”编码得到我们共同的比特币地址。

什么是“Base58Check”? 我们应该从二进制开始。 众所周知,我们的钥匙都是0/1的计算机编码规则,但是在现实中存在一个问题,就是在实际使用中不太好记。 不信我给你一个0/1的字符串,长度为512,复制10次,至少有一次是错误的。 也就是说,如果你这样记录你的私钥,在使用10次之后,你至少会犯一次错误,然后你至少会出现一次支付失败。 为了便于记忆,用十六进制代替二进制,即0到9的十个数字加上A到F的六个字母作为计数方式。 4 位二进制形式 1 位十六进制形式。 长度为52的0/1串变成128位,便于记忆。 接下来,为了便于记忆和存储,出现了Base64编码方式,经过四次压缩。 但是BASE64也容易认错,

又变成了Base58。 Base58是26个大写字母+26个小写字母+10个数字,然后去掉这四个元素:数字“0”,大写字母“O”,大写字母“I”,小写字母“l”。 Base58Check在base58的基础上增加了教研功能。

公钥通过哈希函数生成比特币地址。 当然,准确的说是两次哈希(SHA256+RIPEMD160)+一次编码(Base58Check),所以很多时候比特币地址其实可以理解为公钥。 当然,并不是所有的地址都是公钥,也有可能是一个可编程的脚本(这个其实就是我以后重点关注的智能合约的前身,不过比特币普遍支持,以太坊加强了对智能合约的支持) .

比特币私钥破解软件_比特币私钥公钥签名_比特币钱包导出私钥

在本课中,我们介绍了私钥、公钥和地址。 可以说私钥在区块链中非常重要。 由于它的匿名性,如果你想证明“你是你”,这枚币就属于你。 唯一的办法就是用私钥做数字证明。 私钥的丢失或复制意味着财产的转移。 因此,在区块链中,如何保护私钥的安全是重中之重。 一般大家都把密钥对保存在“钱包”里。 下一课,我们将为大家详细介绍什么是“钱包”。 .