深圳列举网 > 商务服务 > 网站/软件服务 > 助记词去中心化钱包开发
深圳
[切换城市]

助记词去中心化钱包开发

更新时间:2020-12-04 17:43:04 浏览次数:126次
区域: 深圳 > 宝安 > 梅林关口
类别:网站制作
地址:民治
助记词去中心化钱包开发
种子通过不可逆HMAC-SHA512算法推算出512位的哈希串,前256位是主私钥Master Private Key (m),后256位是主链码Master Chain Code(c)。 给定父扩展私钥和索引i,可以计算相应的子扩展私钥。 函数CKDpriv((kpar,cpar),i)→(ki,ci) 如果i ≥ 2^31(硬化的子密钥):让I= HMAC-SHA512(Key = cpar,Data = 0x00 || ser256(kpar)|| ser32(i))。 (注意:0x00将私钥补齐到33字节长。) 如果i<2^31(普通的子密钥):让I= HMAC-SHA512(Key = cpar,Data = serP(point(kpar))|| ser32(i))。 给定父扩展公钥和索引i,可以计算相应的子扩展公钥。它只针对未硬化的子密钥定义。 如果i ≥ 2^31(硬化子密钥):返回失败 如果i<2^31(普通子密钥):让I= HMAC-SHA512(Key = cpar, Data = serP(Kpar) || ser32(i)). 扩展私钥的前缀是xprv,如: tprv8iGPAfgu51nkCZZtua8jFgzVoCQLqHZrLCQonxTo7qdtzutL8ZFZt1yAtpcUF8sHdNyiVhece3SSRsBvtUCKpGkRvxXgV2TMdcDbKQzstta 扩展公钥的前缀是tpub,如: tpubDExRK5j9DPUR62bgoDoKf6ecNDvGzckkuW1b5UW6Y7SHqQ96kx5A4Wb34w6bkHUStdq5w7ZHPQHkipwRdSQMbGnqTAQj1sEBaJmL9wXvBSu 每个扩展密钥有 2^31 个普通子密钥,2^31个硬化子密钥。这些子密钥都有一个索引,普通子密钥使用索引0到2^31-1,硬化的子密钥使用索引 2^31 到 2^32-1,为了简化硬化密钥索引的符号,数字iH表示i + 2^31。 以上过程再结合BIP43,BIP44,HD钱包就实现了多币种、多账户、多用途等功能。
其实无论 Geth 节点或 Ethereum Wallet 都可以称作钱包,因为它们都可以存储以太币、都可以发送交易指令等。但这里讲的钱包分类是另外一个维度,基于 Geth 节点上层再次开发出来的移动端 App 钱包。根据私钥存储的位置可分为两类:
去中心化钱包不是本次要讲的重点,这里只给大家简单介绍一下。无论是中心化的钱包或去中心化的钱包,在 App 层面都是很轻量级的,App 内是不会内置一个 Geth 节点,交易的查询或发送都是通过服务器来进行操作,不同点是交易签名的私钥由谁来保管和负责。
去中心化的钱包有个关键词:助记词。可以用下面的表达式来形容助记词的作用:
通过上面的公式可以看出助记词的重要作用,也是去中心钱包功能的一个亮点。当在这类钱包中创建一个账户之后,钱包会根据生成的私钥文件,生成一套助记词,可为英文可为中文,通过助记词可以反向计算出 keystore + 密码。助记词由用户手抄存放在安全的地方,当进行交易时,输入助记词对交易进行签名,发送交易。当助记词丢失,也就意味着失去了私钥,而钱包一般不会保存用户的私钥信息,资产将丢失。
去中心化钱包的好处是不用担心平台从中作梗,不用担心平台被攻击而导致资产损失,但要求个人有一定的私钥保存能力。
深圳网站/软件服务相关信息
BIM建模出图
南山-华侨城
4月26日
BIM公司
南山-华侨城
4月25日
4月17日
注册时间:2014年04月21日
UID:124635
---------- 认证信息 ----------
邮箱已认证 手机已认证
查看用户主页