一种计算联合发币股东机构贡献度的方法及装置与流程

文档序号:16885184发布日期:2019-02-15 22:34阅读:192来源:国知局
一种计算联合发币股东机构贡献度的方法及装置与流程

本发明涉及区块链安全技术领域,尤其涉及一种计算联合发币股东机构贡献度的方法及装置。



背景技术:

随着2009年比特币的出现,区块链技术也随之发展。区块链技术,又称为“分布式账本技术”,是一种去中心化、集体维护分布式账本的技术方案,其本质是由多个节点集体参与的分布式数据库系统。区块链不是一种单一的技术,而是多种技术整合的结果,利用区块链技术维护一个可靠的、难以篡改的账本记录,可以降低信任的风险,并能有效的降低众参与方协作的维护成本。在区块链实际应用中,每个用户会产生一对非对称密钥对,用于区块链上的交易签名,其对应公钥的hash值作为其交易账户的身份标识。考虑到安全性、效率等多种因素,区块链非对称加密算法一般选用ecc(椭圆曲线)算法,其算法的安全性取决于椭圆曲线离散对数问题(ecdlp)的难解性。

在现有技术中,区块链网络中都是单一机构发行代币。由多个企业联合发行一款数字货币,优势互补,资源集聚,币的质量更有生命力。多个机构共同发行区块链代币(以后称为代币)时,随着用户对代币的交换、使用,代币分散在区块链网络中的每个账户钱包中,无法获知股东机构与联合发行的代币之间的关联性,也就是说无法获取股东机构对联合发币的贡献度,导致区块链网络中代币数据交换的不安全性。



技术实现要素:

为解决现有技术中的技术问题,本发明实施例提供了一种计算联合发币股东机构贡献度的方法及装置,可以确定区块链网络中股东机构对发币的贡献度。

一方面,本发明实施例提供了一种计算联合发币股东机构贡献度的方法,包括,

对分配给每个股东机构的代币进行染色,不同股东机构发行的代币具有不同染色体;

当发生代币交易时,更新所述代币交易参与方账户地址中所述染色体对应的代币数量;

当所述代币被注入到交易所黑洞地址时,根据不同股东机构分配得到的不同染色体对应的代币数量与所述交易所黑洞地址中相应染色体对应的代币数量,计算不同股东机构发行代币的贡献度。

另一方面,本发明实施例还提供了一种区块链网络中计算联合发币股东机构贡献度的装置,包括,

染色单元,用于对分配给每个股东机构的代币进行染色,不同股东机构发行的代币具有不同染色体;

更新单元,用于当发生代币交易时,更新所述代币交易参与方账户地址中所述染色体对应的代币数量;

计算单元,用于当所述代币被注入到交易所黑洞地址时,根据不同股东机构分配得到的不同染色体对应的代币数量与所述交易所黑洞地址中相应染色体对应代币数量,计算不同股东机构发行代币的贡献度。

另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

另一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述方法。

利用本发明实施例,可以计算得到联合发行代币的多个股东机构所发行代币的数量,当股东机构所发行的代币活跃度较高时,该股东机构的贡献度较高,根据股东机构的贡献度可以确定更安全、可靠的股东机构节点作为区块链网络的记账节点,所述贡献度还可以例如确定哪个股东机构节点更加可信,从而可以分配给该节点更多的工作负荷,提高整个区块链网络中交易数据交换效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种区块链网络中计算联合发币股东机构贡献度的方法流程示意图;

图2所示为本发明实施例一种区块链网络中计算联合发币股东机构贡献度的装置结构示意图;

图3所示为本发明实施例更新单元的结构示意图;

图4所示为本发明实施例一种区块链网络中联合发币的流程示意图;

图5所示为本发明实施例一种区块链网络中联合发币的代币交易流程图;

图6所示为本发明实施例一种区块链网络中联合发币的代币交易流程图;

图7所示为本发明实施例一种区块链网络中向股东机构发币的流程图;

图8所示为本发明实施例运行上述方法的计算系统的结构框图

图9所示为本发明实施例一种计算股东机构贡献度的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一种区块链网络中计算联合发币股东机构贡献度的方法流程示意图,本实施例中的方法应用于多个发行方发行区块链代币,每个发行方都是该区块链代币的股东(即股东机构),股东机构将代币发放给终端用户后,终端用户可以在所有股东机构甚至第三方机构处进行代币的数据交换,通过本申请中的染色体将不同股东机构发行的代币进行染色,用以区别该代币是由哪个股东机构发行的,在交易站回收代币时,可以统计所述股东机构发行的代币占联合发布代币数量的比例,从而可以计算该股东机构对联合发币的贡献度,其中股东机构例如可以为电商平台、线下的经营场所或者是代币的交易机构等,终端用户例如可以为用户终端,或者为在区块链网络中的账户钱包。如图1所示,该方法于区块链网络的节点的智能合约中运行,包括:

步骤101,对分配给每个股东机构的代币进行染色,不同股东机构发行的代币具有不同染色体。

步骤102,当发生代币交易时,更新所述代币交易参与方账户地址中所述染色体对应的代币数量。

步骤103,当所述代币被注入到交易所黑洞地址时,根据不同股东机构分配得到的不同染色体对应的代币数量与所述交易所黑洞地址中相应染色体的对应代币数量,计算不同股东机构发行代币的贡献度。

根据本发明的一个实施例,对分配给每个股东机构的代币进行染色进一步包括,

给每个所述股东机构分配一唯一标识符;

在每个所述股东机构账户地址的状态文件中记录该股东机构的唯一标识符与所发行代币的关系。

其中,例如有12个股东机构联合发行区块链代币,这些股东机构联合起来成立一个联合发币委员会,由该委员会在区块链上发行并拥有代币的所有权,股东机构从委员会认购代币后,委员会根据认购额将代币分配给该股东机构,给每个股东机构分配一唯一标识符,该唯一标识符可以为rgb色彩值,也可以为字符串,或者是基因序列等,智能合约记录该唯一标识符以及相应的代币数量,并将该对应关系存储于该股东机构账户地址对应的状态文件中,每当股东机构向终端用户发行代币后,该股东机构账户地址对应的状态文件中记录的代币数量都会变化(通常是变少)。

根据本发明的一个实施例,对分配给每个股东机构的代币进行染色进一步包括,

若所述股东机构未持有任何染色体对应的代币,则将所述分配给该股东机构的代币染色为新的染色体;

否则,将所述分配给该股东机构的代币染色为该股东机构现有染色体。

其中,给新增股东机构分配代币时,需要给每一个新增股东机构分配新的染色体,以区别于其他股东机构。

根据本发明的一个实施例,当发生代币交易时,更新所述代币交易参与方账户地址中所述染色体对应的代币数量中进一步包括,

所述代币交易参与方包括代币转出方和代币转入方,根据所述代币转出方转出代币数量以及所述转出代币所属股东机构染色体,在所述代币转出方账户地址的状态文件中修改与所述所属股东机构染色体对应的剩余代币数量;

在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量。

其中,所述终端用户可以从多个股东机构获得代币,在该终端用户账户地址的状态文件中,记录所获得代币以及该代币来自于哪个股东机构的对应关系,例如,终端用户从股东机构a获得50个代币,从股东机构b获得100个代币,那么在该终端用户账户地址的状态文件中记录该终端用户具有股东机构a染色体对应的50个代币,股东机构b染色体对应的100个代币,如果该终端用户账户地址的状态文件中已经记录有股东机构a染色体对应的30个代币,那么在通过转账交易后,该终端用户账户地址的状态文件中与股东机构a染色体对应的代币数量为80个,如果终端用户账户地址中原本没有股东机构b染色体的记录,则将在本次交易中获得的100个股东机构b染色体对应的代币加入该终端用户账户地址相应的状态文件中,加入股东机构b染色体以及其对应的100个代币,该终端用户账户地址中总共具有180个代币,其中包括80个股东机构a染色体的代币,100个股东机构b染色体的代币。在股东机构账户地址的状态文件中同样要修改该股东机构染色体对应的代币数量,例如股东机构a账户地址状态文件中,该股东机构a染色体对应的代币数量减少50个。

根据本发明的一个实施例,在所述代币转出方账户地址的状态文件中修改与所述所属股东机构染色体对应的剩余代币数量,在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量中进一步包括,

计算所述转出方账户地址的状态文件中所有股东机构染色体对应代币比例;

根据所述比例调整所述转出方账户地址的状态文件中所有股东机构染色体对应的代币剩余数量;以及

根据所述比例在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量。

其中,根据转出方账户地址的状态文件中不同股东机构染色体对应的代币数量计算所述比例,例如,转出方账户地址的状态文件中具有股东机构a染色体对应的100个代币,股东机构b染色体对应的100个代币,则股东机构a染色体对应的代币和股东机构b染色体对应的代币各占转出方账户地址中代币总数的50%,当转出方向转入方转出100个代币时,在区块链节点的智能合约中会调配50个股东机构a染色体对应的代币,以及50个股东机构b染色体对应的代币构成转出的100个代币,在转出方账户地址的状态文件中修改股东机构a染色体对应的代币剩余数量为50个,股东机构b染色体对应的代币剩余数量为50个,在转入方账户地址的状态文件中加入50个股东机构a染色体对应的代币,以及50个股东机构b染色体对应的代币。

根据本发明的一个实施例,在所述代币转出方账户地址的状态文件中修改与所述所属股东机构染色体对应的剩余代币数量,在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量中进一步包括,

接收转出方的调配指令;

根据所述调配指令调整所述转出方账户地址的状态文件中特定股东机构染色体对应的代币剩余数量;以及

根据所述调配指令在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量。

其中,在发生代币交易时,转出方发出转账交易指令,其中包括代币转出方账户地址,转入方账户地址,以及转出代币数量,转出方对交易指令的数据签名,还包括调配指令。智能合约根据该调配指令将转出方账户地址中某个或者某些股东机构染色体的代币组合形成转出代币,例如转出方账户地址中具有100个股东机构a染色体的代币,50个股东机构b染色体的代币,在交易中转出方可以在交易指令中或者在交易过程中的某些信令(或通信数据)中加入调配指令,智能合约根据该调配指令将该转出方账户地址中的50个股东机构a染色体的代币以及25个股东机构b染色体的代币构成为75个转出代币,在该转出方账户地址的状态文件中相应的减少50个股东机构a染色体的代币,以及减少25个股东机构b染色体的代币;在转入方账户地址的状态文件中相应的增加股东机构a染色体的50个代币,以及增加股东机构b染色体的25个代币。

根据本发明的一个实施例,当所述代币被注入到交易所黑洞地址时,根据不同股东机构所述分配得到的不同染色体对应的代币数量与所述交易所黑洞地址中相应染色体对应代币数量,计算不同股东机构发行代币的贡献度进一步包括,

将某一股东机构所述分配得到的代币数量减去所述交易所黑洞地址中该股东机构染色体对应代币数量,得到该股东机构发行代币的活跃数量;

利用所述活跃数量除以该股东机构所述分配得到的代币数量,得到该股东机构发行代币的贡献度;

重复上述步骤计算联合发币中所有股东机构发行代币的贡献度。

其中,终端用户或者商户将不再使用的代币注入到交易所的黑洞地址与其他数字数据进行交换,所述黑洞地址是指由联合发币委员会设定的或者由交易所设定的账户地址,该账户地址能够接收任意终端用户转入的代币,该黑洞地址相应的状态文件中记录有接收到代币的数量以及转入代币相应的染色体信息。智能合约根据股东机构分配得到的代币以及股东机构相应的染色体,可以计算得到股东机构在终端用户处剩余的活跃的代币数量,利用活跃的代币数量除以股东机构分配得到的代币数量得到当前活跃比例,例如,股东机构a从委员会分配得到50个代币,相应的染色体为ra,股东机构b从委员会分配得到20个代币,相应的染色体为rb,股东机构c从委员会分配得到30个代币,相应的染色体为rc,交易站黑洞地址中回收了50个代币,其中包括染色体ra的20个代币,染色体rb的10个代币,染色体rc的20个代币,则股东机构a发行的代币当前活跃比例为(50-20)\(50+20+30)=0.3,股东机构b发行的代币当前活跃比例为(20-10)\(50+20+30)=0.1,股东机构c发行的代币当前活跃比例为(30-20)\(50+20+30)=0.1,三个股东机构的贡献度分别为股东机构a的贡献度为0.3,股东机构b的贡献度为0.1,股东机构c的贡献度为0.1。

在某些应用中,例如区块链网络中进行共识验证时的投票权,可以采用上述贡献度作为投票权的权重,投票得分为投票乘以权重,当共识验证的投票得分超过预定门限值时则认为共识验证通过;或者可以根据股东机构的贡献度,调整股东机构相应节点获得共识验证工作的可能性;还有很多可以根据股东机构的贡献度进行不同应用的场景,在此不再赘述。

根据本发明的一个实施例,在计算不同股东机构发行代币的贡献度之后还包括,清除所述黑洞地址的状态文件中代币与相应股东机构染色体的对应关系。

在本步骤中,代币被注入到交易所黑洞地址,计算完毕股东机构对发行代币的贡献度之后,清除所述黑洞地址状态文件中记录的代币与不同染色体的对应关系,或者将不同的染色体修改为同一的染色体,例如白色,这样当代币从黑洞地址中转入到委员会账户地址,重新分配到股东机构时,再在股东机构账户地址的状态文件中重新建立股东机构染色体和相应分配得到的代币的对应关系,这样可以使得交易站中回收的代币重新回到活跃状态。

通过本发明实施例的方法,可以计算得到联合发行代币的多个股东机构所发行代币的数量,当股东机构所发行的代币活跃度较高时,该股东机构的贡献度较高,根据股东机构的贡献度可以确定更安全、可靠的股东机构节点作为区块链网络的记账节点,所述贡献度还可以例如确定哪个股东机构节点更加可信,从而可以分配给该节点更多的工作负荷,提高整个区块链网络中交易数据交换效率。

如图2所示为本发明实施例一种区块链网络中计算联合发币股东机构贡献度的装置结构示意图,在本实施例中描述了区块链网络中记账节点上对每个账户地址中状态文件的记录与修改,该记账节点可以是计算机或者类似的具有数据处理功能的电子设备,该装置具体包括:

染色单元201,用于对分配给每个股东机构的代币进行染色,不同股东机构发行的代币具有不同染色体。

更新单元202,用于当发生代币交易时,更新所述代币交易参与方账户地址中所述染色体对应的代币数量。

计算单元203,用于当所述代币被注入到交易所黑洞地址时,根据不同股东机构分配得到的不同染色体对应的代币数量与所述交易所黑洞地址中相应染色体对应代币数量,计算不同股东机构发行代币的贡献度。

根据本发明的一个实施例,所述染色单元还用于,给每个所述股东机构分配一唯一标识符;

在每个所述股东机构账户地址的状态文件中记录该股东机构的唯一标识符与所发行代币的关系。

根据本发明的一个实施例,所述染色单元还用于,若所述股东机构未持有任何染色体对应的代币,则将所述分配给该股东机构的代币染色为新的染色体;

否则,将所述分配给该股东机构的代币染色为该股东机构现有染色体。

根据本发明的一个实施例,所述代币交易参与方包括代币转出方和代币转入方,所述更新单元进一步包括(如图3所示为本发明实施例更新单元的结构示意图),转出方更新单元2021,用于根据所述代币转出方转出代币数量以及所述转出代币所属股东机构染色体,在所述代币转出方账户地址的状态文件中修改与所述所属股东机构染色体对应的剩余代币数量;

转入方更新单元2022,用于在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量。

根据本发明的一个实施例,所述转出方更新单元2021进一步用于,计算所述转出方账户地址的状态文件中所有股东机构染色体对应代币比例;根据所述比例调配所述转出方账户地址的状态文件中所有股东机构染色体对应的代币数量组成转出代币;

所述转入方更新单元2022进一步用于,根据所述比例在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量。

根据本发明的一个实施例,所述转出方更新单元2021进一步用于,接收转出方的调配指令;根据所述调配指令调配所述转出方账户地址的状态文件中特定股东机构染色体对应的代币数量组成转出代币;

所述转入方更新单元2022进一步用于,根据所述调配指令在所述代币转入方账户地址的状态文件中修改与转入代币所属股东机构染色体对应的代币数量。

根据本发明的一个实施例,所述计算单元进一步用于,将某一股东机构所述分配得到的代币数量减去所述交易所黑洞地址中该股东机构染色体对应代币数量,得到该股东机构发行代币的活跃数量;利用所述活跃数量除以该股东机构所述分配得到的代币数量,得到该股东机构发行代币的贡献度;重复上述步骤计算联合发币中所有股东机构发行代币的贡献度。

根据本发明的一个实施例,还包括清除单元204,用于在计算不同股东机构发行代币的贡献度之后,清除所述黑洞地址的状态文件中代币与相应股东机构染色体的对应关系。

通过本发明实施例的装置,可以计算得到联合发行代币的多个股东机构所发行代币的数量,当股东机构所发行的代币活跃度较高时,该股东机构的贡献度较高,根据股东机构的贡献度可以确定更安全、可靠的股东机构节点作为区块链网络的记账节点,所述贡献度还可以例如确定哪个股东机构节点更加可信,从而可以分配给该节点更多的工作负荷,提高整个区块链网络中交易数据交换效率。

如图4所示为本发明实施例一种区块链网络中联合发币的流程示意图,在本实施例区块链网络的节点中加入智能合约,该智能合约可以将分配给股东机构a的100个代币染色为染色体ra,将分配给股东机构b的150个代币染色为染色体rb,将分配给股东机构c的200个代币染色为染色体rc,由这三家代币股东机构发行代币。其中,ra、rb和rc可以分别为某个特定的rgb色彩值,例如ra为(0,0,0)记为000,rb为(125,125,125)记为125,rc为(255,255,255)记为255,智能合约在股东机构a的账户地址对应的状态文件中记录获得的100个代币以及该股东机构a的染色体ra的对应关系,在股东机构b的账户地址对应的状态文件中记录获得的150个代币以及该股东机构b的染色体rb的对应关系,在股东机构c的账户地址对应的状态文件中记录获得的200个代币以及该股东机构c的染色体rc的对应关系,在所述每个账户地址对应的状态文件中还包括账户余额、交易流水号、根哈希、以太坊智能合约虚拟机编码(evmcode)等其他信息,如果该账户地址为股东机构账户地址,还包括该股东机构从委员会分配得到代币的数量,或者在委员会账户地址对应的状态文件中记录有分配给每个股东的代币数量。

步骤401,终端用户d向股东机构a发起兑换代币的交易请求。

在本步骤中,该交易请求至少包括终端用户d的账户地址,以及请求兑换的代币数量,例如要求转入20个股东机构a的代币。

步骤402,股东机构a对终端用户d进行转账交易。

在本步骤中,股东机构a根据交易请求生成相应的转账交易数据,并利用股东机构a账户地址对应的私钥对转账交易数据进行签名,并如同现有技术中区块链交易一样,将该签名后的转账交易数据在区块链网络中进行广播进行共识验证。根据股东结构a的签名对该股东机构a的身份和所述加密转账交易数据是否被篡改进行共识验证,股东架构a根据加密转账交易数据生成摘要,可以是加密转账交易数据的一部分(例如加密转账交易数据开始的5%),利用股东机构a的私钥对该部分摘要进行签名,再将所述加密转账交易数据以及签名发送给其它区块链节点。在某个区块链节点接收到所述加密的转账交易数据以及签名后,使用股东机构a的公钥对所述签名进行解密,得到加密转账交易数据的摘要,将解密后的摘要与接收到的加密转账交易数据相比较,若两者一致(例如加密转账交易数据开始的5%相同),则说明加密转账交易数据未被篡改,验证账户余额大于手续费和转账交易数值之和,交易序号正确,在区块链节点中会将所述加密转账交易数据写入区块链中,向区块链网进行广播,通过区块链网络中其他节点的共识验证。

步骤403,智能合约分别在股东机构a和终端用户d的账户地址对应的状态文件中更新该股东机构a染色体ra对应的代币数量。

在本步骤中,智能合约在股东机构a账户地址对应的状态文件中,将染色体ra对应的100个代币数量减少20个,股东机构a账户地址对应的当前状态文件中记录的染色体ra和其相应的代币数量对应关系为ra:80。在终端用户d账户地址对应的状态文件中,新增染色体ra对应的20个代币,终端用户d账户地址对应的当前状态文件中记录的染色体ra和其相应的代币数量对应关系为ra:20。

步骤404,终端用户d向股东机构b发起兑换代币的交易请求。

在本步骤中,该交易请求至少包括终端用户d的账户地址,以及请求兑换的代币数量,例如要求转入30个股东机构b的代币。

步骤405,股东机构b对终端用户d进行转账交易。

本步骤中可以参考上述步骤402的方法,在此不再赘述。

步骤406,智能合约分别在股东机构b和终端用户d的账户地址对应的状态文件中更新该股东机构b染色体rb对应的代币数量。

在本步骤中,智能合约在股东机构b账户地址对应的状态文件中,将染色体rb对应的150个代币数量减少30个,股东机构b账户地址对应的当前状态文件中记录的染色体rb和其相应的代币数量对应关系为ra:120。在终端用户d账户地址对应的状态文件中,新增染色体rb对应的30个代币,终端用户d账户地址对应的当前状态文件中记录的染色体ra和其相应的代币数量对应关系为ra:20,染色体rb和其相应的代币数量对应关系为rb:30。

步骤407,终端用户d向股东机构c发起兑换代币的交易请求。

在本步骤中,该交易请求至少包括终端用户d的账户地址,以及请求兑换的代币数量,例如要求转入50个股东机构c的代币。

步骤408,股东机构c对终端用户d进行转账交易。

本步骤中可以参考上述步骤402的方法,在此不再赘述。

步骤409,智能合约分别在股东机构c和终端用户d的账户地址对应的状态文件中更新该股东机构c染色体rc对应的代币数量。

在本步骤中,智能合约在股东机构c账户地址对应的状态文件中,将染色体rc对应的200个代币数量减少50个,股东机构c账户地址对应的当前状态文件中记录的染色体rc和其相应的代币数量对应关系为ra:150。在终端用户d账户地址对应的状态文件中,新增染色体rc对应的50个代币,终端用户d账户地址对应的当前状态文件中记录的染色体ra和其相应的代币数量对应关系为rc:20,染色体rb和其相应的代币数量对应关系为rb:30,染色体rc和其相应的代币数量对应关系为rc:50。

通过上述本发明实施例的方法,可以在账户地址的状态文件中记录股东机构发币的流通情况,无论该代币在区块链网络中如何流通,都能够追溯到该代币的发行股东机构,可以提高区块链网络中联合发行代币规范化程度,避免代币发行的风险和终端用户的损失。

如图5所示为本发明实施例一种区块链网络中联合发币的代币交易流程图,在本实施例中终端用户d拥有多种染色体的代币,可以与其他商户(属于终端用户的一员)进行代币交易,其中商户可以看作为是代币交易参与方中的转入方,终端用户d可以看作为代币交易参与方的转出方,例如通过向商户e转账一定数量的代币,从而获得商户e的虚拟或者实物礼品,或者其他与所述代币进行交换的事物(包括有形的实物和无形的数字资产或者服务),也就是所述代币在区块链网络中的流通;或者终端用户d还可以与另一个终端用户(或者商户)进行代币交易,完成代币与事物的交换。具体包括:

步骤501,终端用户d向商户e发起交易请求。

在本步骤中,终端用户d在商户e的游戏世界中具有一游戏人物,终端用户d发起的交易请求可以例如为通过转账给商户e10个代币,以换取商户e给予终端用户d的游戏人物一新皮肤。

步骤502,商户e与终端用户d确定转账交易数据。

在本步骤中,商户e将得到终端用户d的游戏人物id,并将商户e的账户地址发送给终端用户d,终端用户d生成交易数据,其中至少包括转账金额(10个代币)、商户e的账户地址。

步骤503,终端用户d将转账交易数据发送给区块链节点的智能合约进行转账交易。

在本步骤中,终端用户d利用终端用户d账户地址对应的私钥对转账交易数据进行签名,并如同现有技术中区块链交易一样,将该签名后的转账交易数据在区块链网络中进行广播,区块链节点进行共识验证将交易数据记录区块,以完成转账交易。

步骤504,智能合约根据终端用户d账户地址相应的状态文件,计算终端用户d账户地址中不同染色体的代币比例。

在本步骤中,终端用户d账户地址中共有100个代币,其中终端用户d账户地址对应的当前状态文件中记录的染色体ra和其相应的代币数量对应关系为rc:20,染色体rb和其相应的代币数量对应关系为rb:30,染色体rc和其相应的代币数量对应关系为rc:50,也就是说终端用户d账户地址中属于不同染色体(染色体ra、rb、rc)的代币比例为2:3:5。

步骤505,根据所述比例调配终端用户d账户地址中各染色体代币的剩余数量。

在本步骤中,终端用户d要向商户e转出10个代币,根据所持有代币的比例,分别调配2个属于染色体ra的代币,3个属于染色体rb的代币,5个属于染色体rc的代币,构成总数为10个的转出代币。

智能合约更新终端用户d账户地址对应的状态文件中各染色体对应的剩余代币数量,终端用户d账户地址对应的当前状态文件中记录的染色体ra和其相应的代币数量对应关系为ra:18,染色体rb和其相应的代币数量对应关系为rb:27,染色体rc和其相应的代币数量对应关系为rc:45。

步骤506,根据所述比例调配商户e账户地址中各染色体代币的数量。

在本步骤中,智能合约将商户e账户地址对应的状态文件中各染色体代币的数量进行调整,在本例中,假设商户e账户地址对应的状态文件中已经记录有染色体ra对应的50个代币,在本次交易中商户e账户地址总共收入10个代币,其中包括2个属于染色体ra的代币,3个属于染色体rb的代币,5个属于染色体rc的代币,在商户e账户地址对应的状态文件中已有的染色体ra对应的50个代币基础之上加2个代币,更新后染色体ra相应的代币数量为52个,增加新的染色体rb以及相应的3个代币,增加新的染色体rc以及相应的5个代币。

步骤507,商户e向终端用户d提供交易请求的事物。

在本步骤中,商户e根据终端用户d游戏人物id在游戏世界中(也就是商户e掌管的游戏世界数据库中)给所述终端用户d的游戏人物一终端用户d指定的皮肤。

如图6所示为本发明实施例一种区块链网络中联合发币的代币交易流程图,在本实施例中终端用户d拥有多种染色体的代币,可以与其他商户(属于终端用户的一员)进行代币交易,其中商户可以看作为是代币交易参与方中的转入方,终端用户d可以看作为代币交易参与方的转出方,与图5所示实施例不同之处在于根据终端用户d的指定调配不同染色体对应的代币组成转出代币,具体包括:

步骤601,终端用户d向商户e发起交易请求。

步骤602,商户e与终端用户d确定转账交易数据。

步骤603,终端用户d将转账交易数据发送给区块链节点的智能合约进行转账交易。

在本步骤中,在区块链节点的智能合约执行转账交易,共识验证后将交易数据记录区块,以完成转账交易。在所述转账交易数据的附属信息中由终端用户d指定由哪种或者哪几种染色体的代币组成转出代币,也就是在智能合约修改终端用户d账户地址对应的状态文件时,修改哪种或者哪几种染色体对应的剩余代币数量,并在转入方商户e账户地址对应的状态文件中修改哪种或者哪几种染色体对应的剩余代币数量。

步骤604,所述智能合约获取转账交易数据中携带的调配指令。

在本步骤中,终端用户d指定本次转账交易的10个代币分别由该终端用户d账户地址中染色体ra对应的5个代币,以及染色体rb对应的5个代币组成。

步骤605,根据所述调配指令调配终端用户d账户地址中各染色体代币的剩余数量。

在本步骤中,终端用户d要向商户e转出10个代币,根据终端用户d的调配指令,分别调配5个属于染色体ra的代币,5个属于染色体rb的代币,构成总数为10个的转出代币。

智能合约更新终端用户d账户地址对应的状态文件中各染色体对应的剩余代币数量,终端用户d账户地址对应的当前状态文件中记录的染色体ra和其相应的代币数量对应关系为ra:15,染色体rb和其相应的代币数量对应关系为rb:25,染色体rc和其相应的代币数量对应关系为rc:50。

步骤606,根据所述调配指令智能合约计算更新商户e账户地址中各染色体代币的数量。

在本步骤中,智能合约将商户e账户地址对应的状态文件中各染色体代币的数量进行调整,在本例中,假设商户e账户地址对应的状态文件中已经记录有染色体ra对应的50个代币,在本次交易中商户e账户地址总共收入10个代币,其中包括5个属于染色体ra的代币,5个属于染色体rb的代币,在商户e账户地址对应的状态文件中已有的染色体ra对应的50个代币基础之上加5个代币,更新后染色体ra相应的代币数量为55个,增加新的染色体rb以及相应的5个代币。

步骤607,商户e向终端用户d提供交易请求的事物。

如图7所示为本发明实施例一种区块链网络中向股东机构发币的流程图,在本实施例中股东机构a具有两种染色体的代币,分别为染色体ra和染色体rc,股东机构b没有任何染色体对应的代币,通过委员会分别向这两个股东机构发币,以实现不同股东机构联合发币,具体包括:

步骤701,股东机构a向委员会发起发币认领请求。

在本步骤中,所述发币认领请求至少包括股东机构a的账户地址,以及请求发币的数量。

其中,智能合约判断,如果股东机构a已有染色体信息,则继续使用现有的染色体;否则智能合约给分配一个未使用的染色体。

步骤702,委员会根据所述发币认领请求生成转账交易数据发送给区块链节点智能合约进行转账交易。

在本步骤中,委员会生成向股东机构a的转账交易数据,并利用委员会账户地址对应的私钥对转账交易数据进行签名,并如同现有技术中区块链交易一样,将该签名后的转账交易数据在区块链网络中进行广播,区块链节点进行共识验证将交易数据记录区块。

步骤703,智能合约在股东机构a账户地址对应的状态文件中修改相应的染色体的代币数量。

在本步骤中,智能合约在股东机构a账户地址对应的状态文件中对已有ra染色体对应的代币数量进行修改。

步骤704,股东机构b向委员会发起发币认领请求。

在本步骤中,所述发币认领请求至少包括股东机构b的账户地址,以及请求发币的数量(例如1000个代币)。

步骤705,委员会根据所述发币请求生成转账交易数据发送给区块链节点智能合约进行转账交易。

步骤706,智能合约在股东机构b账户地址对应的状态文件中修改相应的染色体的代币数量。

在本步骤中,智能合约判断由于股东机构b账户地址对应的状态文件中没有染色体信息,则为股东机构b新建一种染色体,例如rb,并与本次转账交易的代币数量进行对应关联,该股东机构b账户地址对应的状态文件中记录的染色体rb及其对应的1000个代币。

如图8所示为本发明实施例运行上述方法的计算系统的结构框图,计算系统800包括总线805或者用于通信信息的其它通信组件、和耦合至总线805的用于处理信息的处理器810。计算系统800还包括耦合至总线805的用于存储信息的主存储器815(诸如,随机存取存储器(ram)或者其它动态存储设备)和待由处理器810执行的指令。主存储器815还可以用于存储位置信息、临时变量、或者在处理器810执行指令期间的其它中间信息。计算系统800可以进一步包括只读存储器(rom)820或者耦合至总线805的用于存储用于处理器810的静态信息和指令的其它静态存储设备。存储设备825(诸如,固态设备、磁盘或者光盘)被耦合至总线805以便持久地存储信息和指令。

在一些实施方式中,计算系统800可以包括通信适配器840(诸如,网络适配器)。可以将通信适配器840耦合至总线805,并且可以将其配置为使能与计算或者通信网络845和/或其它计算系统的通信。在各种说明性实施方式中,可以使用通信适配器840来实现任何类型的组网配置,诸如,有线、无线、预配置、对等点对点、lan、wan等。

根据各种实施方式,响应于处理器810执行包含在主存储器815中的指令的布置,可以通过计算系统800来实行本文所描述的实施方式的过程。可以通过另一计算机可读介质(诸如,存储设备825)来将这样的指令读入到主存储器815中。对包含在主存储器815中的指令的布置的执行使计算系统800能够执行本文所描述的说明性过程。还可以采用在多处理布置中的一个或者多个处理器来执行包含在存储器815中的指令。在替选实施方式中,硬连线电路可以代替软件指令或者与软件指令组合使用以实现本申请的实施方式。因此,实施方式不限于硬件电路和软件的任何特定组合。

虽然已经在图8中对示例处理系统进行了描述,但是可以通过使用其它类型的数字电子电路系统、或者在计算机软件、固件、或者硬件中(包括本说明书所公开的结构及其结构等效物)、或者它们中的一个或者多个的组合中实现本说明书中描述的主题的实施方式和功能操作。

通过上述本申请实施例中的方法以及装置,可以跟踪联合发布过程中每个股东机构发行代币的流通情况,并且根据代币的可追溯性可以提高区块链网络中发行代币的安全性,通过对代币流通的监视还可以有效的避免不法分子利用区块链躲避金融机构检查,以达到非法目的的可能。

如图9所示为本发明实施例一种计算股东机构贡献度的方法流程图,在本图的实施例中终端用户将代币汇集到交易所的黑洞地址中,智能合约计算黑洞地址中各种染色体对应的代币数量,并计算各种染色体对应的股东机构所分配到的代币数量,从而计算各股东机构对联合发行代币的贡献度,其中黑洞地址可以由委员会指定,也可以由交易所指定,并且该黑洞地址可以为多个,具体包括:

步骤901,终端用户将账户地址中的代币向交易所的黑洞地址进行转账交易。

在本步骤中,终端用户账户地址中可能具有多种染色体对应的代币,终端用户可以指定向黑洞地址转账代币的染色体以及相应数量,也可以只指定转账的代币数量,采用前述实施例中描述的方法由智能合约自动分配不同染色体的代币数量。在本例中,终端用户将账户地址中全部代币都转账给黑洞地址,终端用户账户地址中例如有染色体ra对应的100个代币,染色体rb对应的50个代币,总共转账给黑洞地址150个代币。

其中,黑洞地址可以由交易所设置,或者由发币委员会设置。

步骤902,智能合约分别在终端用户账户地址和黑洞地址对应的状态文件中更新染色体以及代币数量。

在本步骤中,智能合约在终端用户账户地址的状态文件中,将股东机构a的ra染色体的100个代币数量减为0,将股东机构b的rb染色体的50个代币数量减为0,在黑洞地址的状态文件中,将原有ra染色体100个代币的基础之上再加上100个代币,构成200个染色体为ra的代币,将原有rb染色体150个代币的基础之上再加上50个代币,构成200个染色体为rb的代币。

步骤903,智能合约计算多个股东机构从委员会分配到的代币数量。

在本步骤中,智能合约在多个股东机构的账户地址对应的状态文件中查找分配得到代币数量的信息,或者在委员会账户地址对应的状态文件中查找向每个股东机构分配的代币数量,在本例中,例如股东机构a分配得到400个代币,股东机构b分配得到600个代币。

步骤904,智能合约计算各个股东的贡献度。

在本步骤中,黑洞地址中有200个股东机构a发行的代币,该股东机构a发行代币的活跃比例为200/1000=0.2,黑洞地址中有200个股东机构b发行的代币,该股东机构b发行代币的活跃比例为400/1000=0.4,也就是说股东机构a的贡献度为0.2,股东机构b的贡献度为0.4。根据各股东机构的贡献度大小,可以按照所述贡献度的大小比例分配共识验证的工作量,以达到贡献度大的股东机构的区块链节点承担更多的共识验证记录区块的工作,从而可以更加有效率的完成区块链记账的工作,并且增加区块链网络区块数据的安全性。

步骤905,智能合约清除所述黑洞地址的状态文件中代币与染色体的对应关系。

在本步骤中,智能合约在状态文件中将代币所对应的染色体数据清空,或者将所有代币相应的染色体统一改为同一种预定颜色,例如白色。当终端用户将属于自己的代币转出时,从交易站黑洞地址向用户终端账户地址转账交易转出的代币都不具有染色体信息,用户终端账户地址对应的状态文件中记录的转入代币余额对应的染色体为空(null)或者为白色。

本发明实施例还提供一种计算机可读指令,其中在当电子设备中执行所述指令时,其中的程序使得电子设备执行如图1、图4至图9所示的方法。

通过本申请实施例的方法及装置,可以计算得到联合发行代币的多个股东机构所发行代币的数量,当股东机构所发行的代币活跃度较高时,该股东机构的贡献度较高,根据股东机构的贡献度可以确定更安全、可靠的股东机构节点作为区块链网络的记账节点,所述贡献度还可以例如确定哪个股东机构节点更加可信,从而可以分配给该节点更多的工作负荷,提高整个区块链网络中交易数据交换效率。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

还应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1