区块链钱包_区块链钱包的作用

区块链钱包_区块链钱包的作用什么是区块链钱包 在介绍区块链钱包之前,我们先详细介绍下比特币的地址生成过程。大的流程是:私钥–》公钥–》地址。先啰嗦一点计算机知识:位,字节,字,KB,MB 位:“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。 字节:8个二进制位构成1个“字节(Byte)”,它是存储空间的基本计量单位。1个字节用16进制来表示是两个字符,比如1011…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

什么是区块链钱包

 

在介绍区块链钱包之前,我们先详细介绍下比特币的地址生成过程。

大的流程是:私钥–》公钥–》地址。

先啰嗦一点计算机知识:位,字节,字,KB,MB

  • 位:“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。

  • 字节:8个二进制位构成1个“字节(Byte)”,它是存储空间的基本计量单位。1个字节用16进制来表示是两个字符,比如1011 1111可以表示为AF、1110 0000可以表示为E0。

  • 字:“字”由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。

  • KB:K表示1024,也就是2的10次方。1KB表示1K个Byte,也就是1024个字节。

  • MB:1MB = 220 Bytes = 1048576Bytes

私钥是一个256位随机数,根据上面的计算机知识,所谓256位就是256个0和1组成的数字,256除以8等于32,即32个字节,用16进制表示这个数的范围大小是介于0x0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 ~ 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之间的一个数。

  1. 我们随机生成一个合法的私钥如下:

8F72F6B29E6E225A36B68DFE333C7CE5E55D83249D3D2CD6332671FA445C4DD3

  1. 椭圆曲线算公钥

生成了私钥之后,我们使用椭圆曲线加密算法(ECDSA-secp256k1)计算私钥所对应的非压缩公钥,生成的公钥共65字节, 其中一个字节是0x04,非压缩的公钥如下:
0406CCAE7536386DA2C5ADD428B099C7658814CA837F94FADE365D0EC6B1519385FF83EC5F2C0C8F016A32134589F7B9E97ACBFEFD2EF12A91FA622B38A1449EEB

  1. 对公钥哈希技术

对上面的公钥进行SHA-256哈希计算,得到结果:2572e5f4a8e77ddf5bb35b9e61c61f66455a4a24bcfd6cb190a8e8ff48fc097d

  1. 计算 RIPEMD-160哈希值

取上一步结果,进行RIPEMD-160计算,得到结果:
0b14f003d63ab31aef5fedde2b504699547dd1f6

  1. 加入地址版本号

比特币主网版本号“0x00”,取上一步结果,在前面加上16进制的00,即:000b14f003d63ab31aef5fedde2b504699547dd1f6

  1. 计算 SHA-256 哈希值

取上一步结果,进行SHA-256计算,可得:
ddc2270f93cc84cc6869dd373f3c340bbf5cb9a8f5559297cc9e5d947aab2536
然后,对以上结果再次计算 SHA-256 哈希值,得到:
869ac57b83ccf75ca9da8895823562fffb611e3c297d9c2d4612aeeb32850078

  1. 取上一步结果的前4个字节(8位十六进制)869ac57b

  2. 把这4个字节加在第五步的结果后面作为校验位,将这4个字节加载第五步的结果后面,这就是比特币地址的16进制形态了:869ac57b000b14f003d63ab31aef5fedde2b504699547dd1f6

  3. 用Base58编码变换地址

对上一步的结果进行Base58编码,得到:
1QCXRuoxWo5Bya9NxHaVBArBQYhatHJrU7

啰嗦了这么长,是为了让开发者能够清楚怎么出编程开发出一个钱包工具。

从上面的比特币的地址生成流程来看,钱包的本质其实就是一个私钥,它是一个随机的哈希值字符串,拥有了私钥就拥有了该钱包的使用权。但是为什么在讲区块链钱包的时候,还有keystore,助记词、冷钱包、热钱包、硬件钱包等等相关的概念,让人产生很多迷惑。

  • keystore

这个比较好理解,大家在用钱包工具创建钱包密钥的时候,要输入一个密码,这个密码是做什么用的呢?keystore 是使用输入的密码加密过后的私钥, 使用 keystore 进行交易转账等钱包操作, 必须知道该 keystore 的密码。

  • 助记词

从上面例子中私钥是一个256位的数字,用16进制表示是:8F72F6B29E6E225A36B68DFE333C7CE5E55D83249D3D2CD6332671FA445C4DD3,是一个64个0-F的字符组成的,它没有任何的含义,人类很难理解和记忆。助记词则是通过某个算法(可以理解成谍战剧中发电报中用的密码本)把这64个字符转换成一系列的单词(可以是英文、法文、中文甚至是你会的方言), 它最早是由 BIP39提案产生的 , 可以是12个, 15个, 18个, 21个, 24个特定的单词。这些单词有一个统一的、固定的词库, 并不是凭空而来。比如我们熟悉的imToken 创建钱包生成的助记词个数是12个。

用户可以将助记词理解为明文私钥, 即拥有助记词, 就相当于掌握了该钱包的使用权, 无需密码,即你创建钱包输入的密码也是不需要的。

  • 冷钱包

理解了钱包的本质是私钥后,就需要私钥保存好,冷钱包是指网络不能访问到你私钥的钱包。冷钱包往往依靠“冷”设备确保比特币私钥的安全,比如不联网的电脑、手机、写着私钥地址的小本本等。冷钱包避免了被黑客盗取私钥的风险,但是可能面临物理安全风险,比如电脑硬盘损坏(比如冠希)、小本本被当做厕纸使用等等。

  • 热钱包

热钱包是指互联网能购访问你私钥的钱包。热钱包往往是在线钱包的形式。使用热钱包时,最好在不同平台设置不同密码,且开启二次认证,以确保自己的资产安全。

  • 硬件钱包

硬件钱包顾名思义是用你摸得着的硬件,方便你生成和存储密钥,比较知名的有:Trezor,Ledger,可以去淘宝看看有得卖后,其实就是一个类似银行开通网银发我们的U盾类似的硬件。发两张图大家看看,本人也没有用过,图片来自淘宝,不过这玩意弄不好也容易有安全漏洞,还是好好保存和备份好才是王道。

 

最后讲讲钱包安全

钱包安全, 主要是两点, 一是防盗, 二是防丢。

  • 防盗

防盗要做到防止私钥泄露, 这里要理解 keystore 和助记词的区别,上面已经提到,没有完全理解可以往上翻再看看。

助记词作为钱包私钥的友好格式,是非常方便大家做备份和导入的,由于它的明文性,我们不建议它以电子方式保存,而是抄写在物理介质上保管好,它和 keystore 作为双重备份互为补充。

而 keystore 可以放在线上存储, 比如云盘等, 也可以存储在自己的 U 盘里(硬件钱包就是利用这一点), 这比线上存储相对安全一些, 即使黑客盗取了你的 keystore, 在没有该 keystore 的密码情况下, 还是无法盗取其中资产, 所以这时候该 keystore 的密码显得尤为重要。建议用户将 keystore 和 密码分开存储, 不要放在同一地方, 并且使用高强度、随机生成的密码。

  • 防丢

防丢的策略主要是多重备份, 多次备份。比如备份一个钱包的时候不光备份 keystore, 也要备份助记词和私钥, 这是多重备份

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179511.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 大篆汉字对照表_甲骨文汉字对照表大全_甲骨文数字象形字对照图

    几个汉字演变过程(从甲骨文到行书)甲骨文:出现于商代,刻写在龟甲骨上的文字,主要用于占卜,也用于记事。甲骨文被认为是“汉字”的第一种形式,它既是象形字又是表音字,至今汉字中仍有一些和图画一样的象形文字。金文:始于夏商,古代刻在青铜的钟鼎和石鼓上的文字,是商代书写使用的正体,与甲骨文并行使用,具有正体多繁,俗体趋简的特点。大篆:到了西周后期,汉字发展演变为大篆。大篆有两个特点:线条化和规范化,粗细不…

  • 朋友圈集赞图片生成器_朋友圈集赞神器

    朋友圈集赞图片生成器_朋友圈集赞神器大家好这是一款朋友圈积攒截图小程序里面内涵三款样式生成,一款图文,一款分享,一款查看的样式也就是我们威信朋友圈所用到的样式就包含了那些可以用户自由的添加哈!赞的数量那些可以用户自定义的哈另外所需的内容也是用户自定义的安装方法的话和往常一样!直接威信开发者工具打开源码然后设置一个合法域名上传审核就可以了合法域名在压缩包里面,搭建解压了就可以看到了下面让我们来看看小编的测试演示图:小程序源码下载地址:(已更新)朋友圈集赞万能截图生成器威信小程序源码下载-小程序文.

  • 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)

    史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)原文地址:https://blog.csdn.net/forezp/article/details/69808079上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可…

  • 我的python之路6(基础练习)

    我的python之路6(基础练习)恢复内容开始1、执行Python脚本的两种方式打开Windows命令提示符二、使用其它集成开发工具进行PYTHON程序的开发,如Eclips\Pycharm等,使用这种集成开发工具开发时,那都

  • mac idea 2021.5 激活码【在线注册码/序列号/破解码】

    mac idea 2021.5 激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • window 启动tomcat闪退 查看日志方法

    window 启动tomcat闪退 查看日志方法window启动tomcat闪退查看日志方法找到bin下面的startup.bat用文本方式打开找到末尾start改为run然后打开cmd窗口cd到tomcatbin路径执行startup.bat下图本来该报错会闪退,catalina日志文件也没记录该报错,导致我们看不到报错信息,设置后可清晰看到报错原因,端口号超出范围,改小就行了…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号