当前位置:首页 > 物联网 > 区块链
[导读] 关于种子&助记词 什么是哈希算法?有什么性质? 什么是公钥密码?什么是公钥与私钥? 分层确定性钱包表示方法与示例 1、关于种子&助记词 什么是种子 | R

关于种子&助记词

什么是哈希算法?有什么性质?

什么是公钥密码?什么是公钥与私钥?

分层确定性钱包表示方法与示例

1、关于种子&助记词

什么是种子 | Root Seed

种子是一串由随机数生成器生成的随机数。这串随机数可以用来生成钱包中不同种币和不同账户的公私钥对,所以只需备份种子就相当于备份您的所有钱包了。由于网络空间存在各种各样的威胁,备份的私钥不接触电脑和手机等设备是最安全的,所以硬件钱包的备份方法是记在纸上。

什么是助记词 | Mnemonic Seed

种子是一串很长的随机数,看起来就是一串十六进制值,不利于人进行记录,所以我们用算法将其转化为一串助记词,人们就可以方便进行记录。助记词的产生过程如图:

不同长度的种子对应的单词数量如下表:

总结一下,就是将种子加上校验信息,每11位进行切分,按照得到的数字查询单词表索引得到单词。我们记录的英文单词是有校验信息的,所以不是随意MS个单词就能得到一个种子哦。以上的算法是可逆的,用记录下的助记词可以轻松得出种子。还记得硬件钱包初始化过程中让您记在纸上的那些英文单词吗?它们就相当于种子哦。

2、关于哈希和公私钥

哈希算法 | Hash Algorithm

密码哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为固定长度的二进制串,其输出值称为哈希值,也称为散列值。

哈希函数的性质:

1. 抗碰撞性

碰撞是与哈希函数相关的重要概念,体现着哈希函数的安全性,所谓碰撞是指两个不同的消息在同一个哈希函数作用下,具有相同的哈希值。哈希函数的安全性是指在现有的计算资源(包括时间、空间、资金等)下,找到一个碰撞是不可行的。

通俗地说,就是很难找到两个具有相同哈希值的不同消息。消息改变,输出的哈希值一般就会改变,哈希值可以看作消息的指纹。即使消息被略微篡改,这个指纹也会发生很大变化。所以哈希值可以用来做完整性校验。

2. 原像不可逆

通俗地说,知道输入值,很容易通过哈希函数计算出哈希值;但知道哈希值,没有办法计算出原来的输入值。

3. 难题友好性

难题友好性指的是没有便捷的方法去产生满足特殊要求的哈希值。

3、公钥密码算法

公钥密码算法需要两个密钥:公开密钥和私有密钥,简称公钥和私钥。公钥和私钥是一对,如果用公开密钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是不同的密钥,所以这种算法也叫做非对称密码算法。

区块链中所使用的公钥密码算法是椭圆曲线算法,每个用户拥有一对密钥,一个公开,另一个私有。利用椭圆曲线密码算法,用户可以用自己的私钥对交易进行签名,同时别的用户可以利用签名用户的公钥对签名进行验证。在比特币系统中,用户的公钥也被用来识别不同的用户,构造用户的比特币地址。

有一个很重要的特性,已知私钥通过密码学算法可以求出公钥,但知道公钥没办法反推出私钥。在下面的叙述中用point()表示由私钥求公钥的函数。在数字货币中,只要您能够用您的私钥对交易进行签名,就代表您有权利花出您手中这些币,别人只知道您的公钥,无法得到您的私钥,是没有办法使用您的币的。您可以简单认为您的私钥=您的所有币。硬件钱包就是要保护您的私钥,让它们远离被盗。

种子与公私钥对计算

由私钥创建公钥

椭圆曲线公钥创建函数,point(),输入为私钥,输出为公钥,即

point(私钥) == 公钥

主拓展公钥与主拓展私钥的生成

根种子为128、256或512位随机数,一般由随机数生成器生成。该根种子是用户唯一需要备份的,由该种子可以创建出用户所有钱包。

该种子经过哈希可以得到512位的哈希值,左右256位分别为主私钥m和主链码,主私钥与链码一起构成主拓展私钥。主公钥M由主私钥通过point()方式产生,主公钥与链码一起构成主拓展公钥。主拓展公钥和主拓展私钥位于分层钱包的最顶层。如图所示:

公钥生成函数的性质

由于point()的工作原理,可以把(父)公钥与一个通过整数值i创建的公钥相结合,得到(子)公钥。子公钥也可以通过point()方式产生,输入为父私钥加上整数i后取模p,用公式描述为

point( (父私钥 + i) % p ) == 父公钥 + point(i) == 子公钥

通过这种方式,只要确定一个整数序列,就可以从父公私钥对产生唯一确定的子公私钥对。如果仅需要子公钥,可以在不接触父私钥的情况下生成所有子公钥。

通过这种子密钥推导操作迭代,子公钥可以用于生成他们自己的子公钥(孙公钥),如下:

point( (子私钥+ i) % p ) == 子公钥 + point(i) == 孙公钥

普通的分层确定性密钥推导

普通密钥推导的过程如图所示,

指定不同的索引号,可以从相同的父密钥中创建出不同的子密钥。使用子链码对子密钥重复这个过程可以创建出孙密钥,以此类推,分成结构的密钥就可以创建出来了。

加强的分层确定性密钥推导

如果黑客得到了正常的父链码和父公钥,他就可以通过以上方式暴力枚举出所有由它推导出的链码和公钥。如果黑客也获得任何一个子孙的私钥,通过逆向上述普通分层确定性密钥算法,那么父私钥以及它子孙的所有私钥也就都泄露了。由于一个私钥泄露可以导致推导出一串私钥。图片中展示出了黑客的推导过程,红色框部分为黑客获得信息。

所以用户不应该导出链码和私钥到不可信的环境中。当然这种风险可以通过加强分层确定性密钥推导算法来避免。普通子私钥推导和加强子私钥推导的过程如图所示。

在加强子私钥推导中,父拓展公钥(父公钥+父链码)已经不能产生子链码了,子链码的产生需要父私钥的参与。加强拓展私钥就像防火墙一样,防止了上面攻击的发生。

使用普通密钥推导还是使用加强密钥推导是由索引决定的,索引号从0x00到0x7fffffff将产生普通密钥,当索引号从0x80000000到0xffffffff将产生加强密钥。

简化表示方法

为了表述方便,使用撇号’来表示加强密钥,不加撇号为普通密钥,第一个普通密钥(0x00)和第一个加强密钥(0x80000000)都表示为0。

M和m表示密钥类型,M表示主公钥,m表示主私钥。斜杠/表示密钥的层次。例如m/0’/0/122’表示主私钥的第一个加强子私钥的第一个普通子私钥的第123个加强子私钥。

下图是简化表示方法的示意图,虚线代表密钥的推导过程,可以清晰看到加强密钥和普通密钥的区别。

每个层次代表的含义

m / purpose‘ / coin_type’ / account‘ / change / address_index

purpose为加强推导,为固定常数44’

coin_type为加强推导,代表币的种类,具体见附录。

account为加强推导,代表账户

change为普通推导,0代表外部链,1代表内部链。外部链用于地址,钱包外部可见,如用于收款。内部链钱包外部不可见,用于返回交易改变。

address_index为普通推导,从0开始递增。

一些栗子

现在你知道这些表示方法的含义了吧?

币的种类附录(常见)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

现如今数字经济完全依赖各大平台的服务,交易能否达成与双方信用直接挂钩。平台往往在交易过程中抽取大量服务费用,导致了交易成本的提高。

关键字: 元宇宙 区块链 虚拟活动

业内消息,本周比特币盘中一度突破64000美元,续刷2021年11月以来新高。这是比特币自2021年11月以来最高价格,距离历史最高点68991美元仅一步之遥。随后,比特币涨势回落,截至发稿,比特币报60377.42美元...

关键字: 加密货币 爆仓 比特币 以太坊 狗狗币 BNB

随着人工智能(AI)技术的不断发展和创新,其应用领域也在不断拓展。AI正在逐步渗透到各个行业中,为我们的生活和工作带来诸多变革。本文将为您探讨人工智能在各个领域的应用。

关键字: 人工智能 区块链 应用领域

本文中,小编将对区块链技术予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 区块链 Blockchain

深圳2023年9月8日 /美通社/ -- 近日,超算领域国际顶级会刊SC23公布了论文入选名单,由微众银行区块链团队发表的论文——《FISCO-BCOS:An Enterprise-grade Permissioned...

关键字: 区块链 OS 开源 联盟链

(全球TMT2023年9月6日讯)耀世星辉新文娱集团控股有限公司宣布,根据2023年8月16日签署的《股份认购协议》,完成发行总计8,064,516 股普通股,认购价格为每股2.48美元,总计2000万美元的战略投资完...

关键字: 云计算 移动互联网 区块链 生态系统

上海2023年8月17日 /美通社/ -- 低碳经济的新机遇和挑战激发了电池制造业的创新热情。为了引领行业电池安全生产标准的制定并保持市场领先地位,一些电池制造公司,已在电池创新技术上投入巨大的研发力量。 在这个背景下...

关键字: 区块链 新能源电池管理 区块链技术 AI

(全球TMT2023年8月17日讯)耀世星辉新文娱集团控股有限公司宣布与两家新的投资机构签署战略投资股份认购协议。根据协议,公司同意向两家机构发行总计8,064,516 股普通股,每股价格为2.48美元,总额2000万...

关键字: 云计算 移动互联网 区块链 生态系统

近日,SABIC携手区块链软件提供商Circularise共同推出区块链试点项目,旨在评估其技术在追踪特定材料从“端到端”流动的碳足迹方面的使用情况。

关键字: 区块链 碳中和

区块链技术是一种基于去中心化、分布式、不可篡改的数据存储和传输技术,其应用场景广泛,涉及到数字货币、供应链管理、智能合约、数字身份验证、物联网等多个领域。以下是区块链技术的几个具体应用:

关键字: 区块链 数字货币
关闭
关闭