钱包用来存钱的,在区块链中,我们的数字资产都会对应到一个账户地址上,只有拥有账户的钥匙才可以对资产进行消费。
私钥和地址的关系如下:
图来自精通比特币)一句话概括下就是:私钥通过椭圆曲线生成公钥,公钥通过哈希函数生成地址,这两个过程都是单向的。
因此实际上,数字钱包实际是一个管理私钥的工具,注意钱包并不保存资产,资产是在链上的。
如何创建账号
元宇宙、虚拟网红、量子计算入围《经济学人》2022年22大新兴技术:金色财经报道,英国《经济学人》网站发表题为《下一个是什么?2022年值得关注的22项新兴技术》的文章,元宇宙、虚拟网红和量子计算入围。《经济学人》指出,2022年,元宇宙被用来指代电子游戏、社交网络与娱乐的融合,目的是创造新的沉浸式体验,《我的世界》《堡垒之夜》等游戏都可以视为通往新兴媒介的跳板。在量子计算方面,《经济学人》称中国团队已经制造了一台拥有66个量子比特的计算机;在虚拟网红方面,《经济学人》预计2022年将有150亿美元用于网红营销,虚拟网红也会迅速增多。[2021/12/5 12:52:12]
创建账号关键是生成一个私钥,私钥是一个32个字节的数,生成一个私钥在本质上在1到2^256之间选一个数字。因此生成密钥的第一步也是最重要的一步,是要找到足够安全的熵源,即随机性来源,只要选取的结果是不可预测或不可重复的,那么选取数字的具体方法并不重要。
澳大利亚研发高效区块链协议MatRiCT 能抵御量子计算机攻击:澳大利亚联邦科学与工业研究组织日前发布公报说,来自该组织等科研机构的人员已研发出“世界最高效的区块链协议”MatRiCT,既能抵御量子计算机的攻击,又能保护用户及其交易的隐私。据悉,MatRiCT是一套管理区块链网络运行的规则,引入了三个新的关键特征:迄今为止最短的量子安全环签名方案,该方案仅使用签名对活动和交易进行身份验证;“零知识证明”法,用于隐藏敏感的交易信息;可审核功能,可以帮助防止非法使用加密货币。此外,公报表示,该技术还可应用于加密货币以外的领域,例如数字健康、金融和政府服务等。(新华社)[2020/10/2]
比如可以掷硬币256次,用纸和笔记录正反面并转换为0和1,随机得到的256位二进制数字可作为钱包的私钥。
声音 | 前比特币核心开发者:谷歌的量子计算机突破对比特币来说不是威胁:针对此前谷歌声称其量子计算机已实现了“量子霸权”一事,前比特币核心开发者Peter Todd提出了其质疑。Todd表示:“这毫无意义,因为谷歌的量子突破是为了一种原始类型的量子计算,而这种计算远没有突破密码学。我们甚至不知道量子计算机是否有可能规模化。”
注:谷歌研究人员此前在刊登于NASA网站一篇论文中表示,谷歌的处理器能够在3分20秒内执行完成当今最强大的超级计算机Summit需要10000年才能完成的计算。研究人员表示,这意味着谷歌的量子计算机已实现了“量子霸权”。(Cointelegraph)[2019/9/25]
从编程的角度来看,一般是通过在一个密码学安全的随机源(不建议大家自己去写一个随机数)中取出一长串随机字节,对其使用SHA256哈希算法进行运算,这样就可以方便地产生一个256位的数字。
实际过程需要比较下是否小于n-1,我们就有了一个合适的私钥。否则,我们就用另一个随机数再重复一次。这样得到的私钥就可以根据上面的方法进一步生成公钥及地址。
BIP32
钱包也是一个私钥的容器,按照上面的方法,我们可以生成一堆私钥,而每个私钥都需要备份就特别麻烦的。
最早期的比特币钱包就是就是这样,还有一个昵称:“JustaBunchOfKeys(一堆私钥)“
为了解决这种麻烦,就有了BIP32提议:根据一个随机数种子通过分层确定性推导的方式得到n个私钥,这样保存的时候,只需要保存一个种子就可以,私钥可以推导出来,如图:
上图中的孙秘钥就可以用来签发交易。
补充说明下BIP:BitcoinImprovementProposals比特币改进建议,bip32是第32个改进建议。BIP32提案的名字是:HierarchicalDeterministicWallets,就是我们所说的HD钱包。
来分析下这个分层推导的过程,第一步推导主秘钥的过程:
根种子输入到HMAC-SHA512算法中就可以得到一个可用来创造主私钥(m)和一个主链编码及主链编码再加上一个索引号,将作为HMAC-SHA512算法的输入继续衍生出下一层的私钥及链编码,如下图:
衍生推导的方案其实有两个:一个用父私钥推导,一个用父公钥推导。同时为了区分这两种不同的衍生,在索引号也进行了区分,索引号小于2^31用于常规衍生,而2^31到2^32-1之间用于强化衍生,为了方便表示索引号i',表示2^31+i。
因此增加索引及通过子秘钥向下一层可以无限生成私钥。
注意,这个推导过程是确定也是单向的,子密钥不能推导出同层级的兄弟密钥,也不能推出父密钥。如果没有子链码也不能推导出孙密钥。现在我们已经对分层推导有了认识。
一句话概括下BIP32就是:为了避免管理一堆私钥的麻烦提出的分层推导方案。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。