用于区块链的虚拟地址生成方法技术

技术编号:26072725 阅读:26 留言:0更新日期:2020-10-28 16:46
本发明专利技术提供一种用于区块链的虚拟地址生成方法,其特征在于通过合约地址数据和令牌数据计算生成,其具体生成步骤为:对合约地址数据和令牌数据式化预处理;将区块链系统内合约地址A和由令牌数据进行哈希运算得到的字节类型数据T进行拼接后,得到定长字节类型数据(A,T),对拼接后数据进行哈希预算Hash(A,T),最终生成的定长字节类型数据可作为虚拟地址。本发明专利技术得到的虚拟地址是独一无二的。交易行为会产生唯一的交易Id,投票行为会产生唯一的投票Id等等,在此类场景下利用Id作为令牌数据,而合约处理相应业务逻辑时可以为该行为产生一个唯一的Virtual Address。该Virtual Address可以理解为某个业务在这个合约上的映射,该业务涉及到款项可以安全地使用这个虚拟地址来管理。

【技术实现步骤摘要】
用于区块链的虚拟地址生成方法
本专利技术涉及虚拟地址领域,尤其涉及一种用于区块链的虚拟地址生成方法。
技术介绍
AElf区块链使用Account模型,即无论是用户还是合约,都拥有Address,言下之意实际上我们使用Address做为用户或合约的唯一标识。而除此之外,出于扩展合约功能的目的,每一个合约可以基于自己的Address,加上任意的Hash值,得到无数个只有该合约能够操作的抽象的Address。即,某个合约使用自己的Address和一个Hash生成的地址,称之为VirtualAddress,即虚拟地址。在AElf区块链中的转账方法为对MultiToken合约发送Transfer交易,并在该交易的参数中传入接收方和代币种类、数额等。一次转账行为涉及发送方和接收方,二者都以Address作为标识。在这个场景中,前面提到的合约通过自己的Address和某个Hash生成的VirtualAddress,与普通的对应于一个用户或一个合约的Address并无二致,能够作为转账行为的任意一方。而由于VirtualAddress被实现为只能由生成它的合约亲自来操控,这就为该合约完全独立地保管每一笔业务、或者每一个用户的相关资金提供了可能。在经济活动中,合约需要对用户的token进行操作,如果开发者在自己的合约中直接对用户的address进行操作,会增加用户所持token被转移的风险,给用户账户安全带来隐患。
技术实现思路
根据以上技术问题,本专利技术提供一种用于区块链的虚拟地址生成方法,其特征在于通过合约地址数据和令牌数据计算生成,其具体生成步骤为:一、对合约地址数据和令牌数据格式化预处理;选取区块链系统内合约地址,合约地址为定长的数据结构,将原始合约地址数据转换为字节数据结构A;二、由于业务门类的区别,对不同类型的令牌数据进行哈希运算得到定长的字节类型数据T;三、将上述预处理的数据拼接后得到定长字节类型数据(A,T),对拼接后数据进行哈希预算Hash(A,T),最终生成的定长字节类型数据可作为虚拟地址;其中使用哈希算法为SHA256。所述合约地址数据是区块链系统中智能合约的标识数据,唯一性且无法更改。所述令牌数据是指针对不同业务门类提供的用来生成虚拟地址的自定义数据,不同令牌数据代表不同业务逻辑,具有不同含义。本专利技术的有益效果为:本专利技术得到的虚拟地址是独一无二的。一次交易行为会产生唯一的交易Id,一次投票行为会产生唯一的投票Id,等等,且无论交易Id和投票Id都是Hash值,处理相应逻辑的合约可以为该行为产生一个唯一的VirtualAddress。该VirtualAddress可以理解为某个业务在这个合约上的映射,该业务涉及到款项可以安全地使用这个虚拟地址来管理。本申请方法使用时用户根据不同的业务,使用不同的虚拟地址,管理数据及业务逻辑,有效规避数据安全风险。根据虚拟地址的定义,每个虚拟地址都必须使用确定的合约地址用来计算生成。附图说明图1为本专利技术实施例2示意图。具体实施方式实施例1用于区块链的虚拟地址生成方法,所述虚拟地址通过合约地址数据和令牌数据计算生成,其具体生成步骤为:1对合约地址数据和令牌数据格式化预处理;2选取区块链系统内合约地址,合约地址为定长的数据结构,将原始合约地址数据转换为字节数据结构A;3由于业务门类的区别,对不同类型的令牌数据进行哈希运算得到定长的字节类型数据T;4将上述预处理的数据拼接后得到定长字节类型数据(A,T),对拼接后数据进行哈希预算Hash(A,T),最终生成的定长字节类型数据可作为虚拟地址;其中使用哈希算法为SHA256。实施例2本申请生成的虚拟地址在资产转移中的应用:使用CentreAssetManagement(中心资产管理)合约进行资产转移时,UserA(使用者A)首先调用创建持有人CreateHolder生成一个Holder,这里Holder可以理解为是一个小交易所,其中保存了参与交易的人员信息,以及交易规则。相关交易人通过该交易所进行令牌token的转移。每一次转移token,都会根据其转移的行为(如holderId、token类别)生成一个对应的虚拟地址VirtualAddress。用户将该token转入这个合约地址virtualaddress,交易所通过virtualaddress完成最后的操作。如下图1所示;其具体操作方法为:(1)用户调用MultiToken合约中的Transfer将token转入至virtualaddress。(2)用户通过调用CentreAssetManagement合约的接口完成将token转移到UserB的address上。实施例3本申请生成的虚拟地址在分红中的应用:合约可以被看作一个对象,同样合约也可以根据其需要生成virtualaddress。在分红相关的经济活动中,对于各轮分红,根据其schemeid和分红信息生成virtualaddress,用该地址存放资金池,活动到期后释放资金池。将各期的资金池存放在自己的virtualaddress中,可以将不同活动资金池有效隔离开。以上显示和描述了本专利技术的基本原理和主要特征和本专利技术的优点。本专利技术提到的各个部件为现有领域常见技术,本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本专利技术要求保护范围由所附的权利要求书及其等效物界定。本文档来自技高网...

【技术保护点】
1.一种用于区块链的虚拟地址生成方法,其特征在于通过合约地址数据和令牌数据计算生成,其具体生成步骤为:/n一、对数据进行合约地址数据和令牌数据格式化预处理;/n二、选取区块链系统内合约地址,合约地址为定长的数据结构,将原始合约地址数据转换为字节数据结构A;/n三、由于业务门类的区别,对不同类型的令牌数据进行哈希运算得到定长的字节类型数据T;/n四、将上述预处理的数据拼接后得到定长字节类型数据(A,T),对拼接后数据进行哈希预算Hash(A,T),最终生成的定长字节类型数据可作为虚拟地址;其中使用哈希算法为SHA256。/n

【技术特征摘要】
1.一种用于区块链的虚拟地址生成方法,其特征在于通过合约地址数据和令牌数据计算生成,其具体生成步骤为:
一、对数据进行合约地址数据和令牌数据格式化预处理;
二、选取区块链系统内合约地址,合约地址为定长的数据结构,将原始合约地址数据转换为字节数据结构A;
三、由于业务门类的区别,对不同类型的令牌数据进行哈希运算得到定长的字节类型数据T;
四、将上述预处理的数据拼接后得到定长字节类型数据(A,T),对拼接后数据进行哈希预算Has...

【专利技术属性】
技术研发人员:马昊伯
申请(专利权)人:北京好扑信息科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1