IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 公钥,私钥,助记词和 keystore -> 正文阅读

[区块链]公钥,私钥,助记词和 keystore

前言

  1. 本文在谈论私钥,公钥,助记词时,主要以比特币中的私钥,公钥和助记词为主。但其他公链的钱包也大都是差不多的,只是一些实现的细节不同罢了。
  2. 而对于 keystore 则是一种以太坊钱包存储私钥的方式。
  3. 本文所谈论的公,私钥(密钥对),在更大的层次上则是属于非对称加密算法,这里不对非对称加密算法进行细节上的解释。在比特币中,我们所使用的,具体的非对称加密算法叫做椭圆曲线加密算法(ECC)
  4. 钱包:数字货币中我们所谈论的钱包并不是日常中的钱包,日常中我们的钱包是用来装钱的,而数字货币中,钱包是用来装可以支配你钱的私钥,也就是说数字货币钱包装的是私钥

私钥

私钥就是一串随机生成的数字,且这串数字是 256 位的 0,1组成的,所以理论上,你可以通过抛硬币的方式来计算出你的私钥。

将硬币的正面看做 1,反面看做 0,抛出 256 次后,就可以获得你的私钥。

当然实际的情况中我们不太可能使用这种方式生成私钥,在比特币中,它使用操作系统底层提供的随机数生成器来产生 256 位的私钥,一般来说 256 位的私钥也就是 64 位的 16 进制数,又因为 256 位的数字非常难以记忆,所以比特币中的私钥也通过 base58 编码方式进行编码,使其变得稍微人类可读,其实可读性也非常差。

// 256 位私钥
114604904405053798927683516487502222919494336928199559807704145590363653599709
// 转换成 16 进制
fd6013c32e8390f9dd2ca5f4eafb8ebb60716cb7a559d456b4a07d5a18aaf1dd

// 非压缩的 base58 编码,下面的这一串数字字符组合并不是来源于上面,且非压缩的方式已经被遗弃了
5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ
// 压缩的 base58 编码 
KwdMAjGmerYanjeui5SHS7JkmpZvVipYvB2LJGU1ZxJwYvP98617

特别的,经过 base58 编码后的格式也叫做钱包导入格式,你导入钱包用的私钥格式就是这个。

这里有一篇《私钥》的文章,其中介绍了关于比特币私钥进行 base58 编码的过程。

这里有一个通过鼠标移动生成私钥的在线 demo,你可以尝试一下。

私钥的意义是非常重要的,每个账户只有一个私钥,你尽可以把私钥当做是你的银行账户+密码。任何人拥有了你的私钥,就拥有了你比特币账户的使用权,所以一定要对你的私钥完全保密。

通常私钥可以用各种钱包来进行保存。比如纸钱包,其实就是记在纸上,脑钱包则是记在你的大脑里,往往我们使用的是各种钱包应用的 app,你可以通过这些 app 来创建你各种公链的钱包。

公钥

前面我们讲过,一个密钥对包含一个私钥和一个公钥,私钥是随机选择出来的,而公钥则是将私钥进行椭圆曲线算法得出来的,其中椭圆曲线算法就是一种单向函数,而接着我们又将公钥进行单向哈希运算,就得到了比特币的地址,其他公链的地址也大致如此。
在这里插入图片描述

助记词

助记词就是私钥的另一种形式,因为私钥是一串数字,非常容易摘抄出错,更不要说记忆了,比如像这个样子 0xA4356E49C88C8B7AB370AF7D5C0C54F0261AAA006F6BDE09CD4745CF54E0115A于是将私钥通过一个算法生成一串英文单词,这就是助记词。

这里有一篇关于 钱包助记词从原理到实践 的文章,描述的足够清晰了。

keystore

keystore 是支持以太坊的钱包对私钥进行加密后保存为 json 文件的方式,简言之,就是对私钥保存的一种方式。相比于比特币这种未提供加密保存私钥的方式(当然你可以自己对其进行加密),keystore 更加的安全。

这里有一篇《什么是以太坊私钥存储文件》的文章,详细的介绍了 keystore 的原理。

参考

精通比特币_第四章 密钥和地址
钱包助记词从原理到实践
什么是以太坊私钥存储文件

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:51:58  更:2021-12-08 13:52:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:00:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码