1.一种多机构多链多币种多账户的私钥管理方法,其特征在于,包括如下步骤:S1,调整childPath结构规则,其中,依据调整后的所述childPath结构规则,将childPath定义为包括链类型和机构代码类型的多字符数据;
S2,根据预设的协议生成主私钥,根据所述主私钥与所述childPath结构规则生成管理私钥;
S3,依据所述管理私钥进入重启的硬件系统,以所述管理私钥作为父私钥,业务方根据需求传入机构代表、币种类型和用户编码,以生成子账户的地址及childPath;
S4,所述业务方在需要使用子账户私钥进行签名时,传入子账户的地址、所述childPath和交易体Hash,所述硬件系统根据所述childPath选择预设的算法进行签名处理;
所述硬件系统拒存所述子账户的私钥、地址及所述childPath;所述业务方仅存储属于账户的地址及所述childPath;
所述多字符数据还包括协议类型、币种类型、账户编号、找零标识和地址索引;
具体的,所述多字符数据的结构如下:
purpose' / chain_type' / coin_type' / org' / account' / change / address_index;其中,purpose'为协议类型,是44,代表BIP44协议;chain_type'为币种类型;account'为账户编号,从0开始递增;change为找零标识,代表是否为找零账户;address_index为地址索引,其代表该用户下的多个地址索引,从0开始递增;chain_type为链类型;org为机构代码类型,其用于表示机构组织编码;
所述多字符数据的结构能够区分不同的机构;以及同一个链上有多个币种;
所述根据预设的协议生成主私钥,根据所述主私钥与所述childPath结构规则生成管理私钥的步骤,具体包括如下步骤:根据BIP39协议生成助记词,并使用所述助记词生成对应的种子数据;
根据BIP32协议和所述种子数据生成所述主私钥及其对应的chainCode;
将所述主私钥及其对应的chainCode进行基础处理,并输出的字符串,其中,所述输出的字符串即为所述主私钥对应的所述管理私钥;
所述主私钥+ChainCode+Index形成新的Hash值,然后将Hash的右侧的256作为子私钥的chainCode,然后左侧的256位和主私钥进行运算得到子私钥,即为管理私钥。
2.一种多机构多链多币种多账户的私钥管理系统,其特征在于,包括:
调整模块,所述调整模块用于调整childPath结构规则,其中,依据调整后的所述childPath结构规则,将childPath定义为包括链类型和机构代码类型的多字符数据;
第一生成模块,所述第一生成模块用于根据预设的协议生成主私钥,根据所述主私钥与所述childPath结构规则生成管理私钥;
第二生成模块,所述第二生成模块用于依据所述管理私钥进入重启的硬件系统,以所述管理私钥作为父私钥,业务方根据需求传入机构代表、币种类型和用户编码,以生成子账户的地址及childPath;
签名模块,所述签名模块用于,所述业务方在需要使用子账户私钥进行签名时,传入子账户的地址、所述childPath和交易体Hash,所述硬件系统根据所述childPath选择预设的算法进行签名处理;
所述硬件系统拒存子账户的私钥、地址及所述childPath;所述业务方仅存储属于账户的地址及所述childPath;
所述多字符数据还包括协议类型、币种类型、账户编号、找零标识和地址索引;
具体的,所述多字符数据的结构如下:
purpose' / chain_type' / coin_type' / org' / account' / change / address_index;其中,purpose'为协议类型,是44,代表BIP44协议;chain_type'为币种类型;account'为账户编号,从0开始递增;change为找零标识,代表是否为找零账户;address_index为地址索引,其代表该用户下的多个地址索引,从0开始递增;chain_type为链类型;org为机构代码类型,其用于表示机构组织编码;
所述多字符数据的结构能够区分不同的机构;以及同一个链上有多个币种;
所述第一生成模块具体用于:
根据BIP39协议生成助记词,并使用所述助记词生成对应的种子数据;
根据BIP32协议和所述种子数据生成所述主私钥及其对应的chainCode;
将所述主私钥及其对应的chainCode进行基础处理,并输出的字符串,其中,输出的字符串即为所述主私钥对应的所述管理私钥;
所述主私钥+ChainCode+Index形成新的Hash值,然后将Hash的右侧的256作为子私钥的chainCode,然后左侧的256位和主私钥进行运算得到子私钥,即为管理私钥。