本发明属于区块链技术领域,更具体的,涉及一种针对智能合约的价值分配方法和系统。
背景技术:
价值分配目前已经广泛存在于商业中,用于界定不同主体对于价值的创造有什么贡献,以及如何去分配它。核心是在价值创造和价值的基础上,根据不同主体的价值贡献度的不同,对创造的价值进行分配。
目前主要的价值分配方法是简单的根据个人理解给出对共同的价值创造进行分配的方案。在各自创造价值之后,根据事先商定的分配方案进行重新分配。
然而,上述价值分配方法存在一些不可忽略的问题:首先,创造的价值控制在合作的各方手中,合作方不能完全互信;其次,在涉及到很多合作方时,分配方案不能更加精细的控制;最后,分配方案不够公开透明,不能自动化的进行价值分配。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提供了一种针对智能合约的价值分配方法和系统,其目的在于,解决现有价值分配方法中存在的合作方不能完全互信、分配方案不能更加精细的控制、分配方案不够公开透明、以及不能自动化的进行价值分配的问题。
为实现上述目的,按照本发明的一个方面,提供了一种针对智能合约的价值分配方法,包括以下步骤:
(1)区块链节点接收来自于客户端的策略请求,该策略请求中包括带有时间戳的用户签名信息、以及带有时间戳的用户交易信息;
(2)区块链节点根据策略请求中的用户签名信息和用户交易信息验证用户的合法性;
(3)区块链节点判断当前参与价值分配的用户的数量是否已经等于设置的参与价值分配的用户总数量,如果等于则进入步骤(4),否则返回步骤(1);
(4)服务器判断是否所有参与价值分配的用户的策略请求中均包括同样的待添加价值分配策略或同样的待修改价值分配策略,如果是则进入步骤(5),否则过程结束;
(5)服务器判断所有参与价值分配的用户的策略请求中的策略是待添加价值分配策略还是待修改价值分配策略,如果是待添加价值分配策略,则将该待添加价值分配策略加入到本地的分配策略列表中,如果是待修改价值分配策略,则从分配策略列表中读取该待修改价值分配策略,并根据策略请求中的修改策略对待修改价值分配策略进行修改。
(6)区块链节点接收并存储来自客户端的价值输入请求,该价值输入请求包括用户出售商品的交易记录、以及交易记录所涉及的数字货币金额;
(7)区块链节点读取其本地的分配策略列表、用户出售商品的交易记录、以及交易记录所涉及的数字货币金额,并根据分配策略列表获得各个用户将被分配的数字货币金额;
(8)根据步骤(7)得到的各个用户将被分配的数字货币金额将对应的数字货币金额分配给对应的用户。
优选地,所述方法还包括在步骤(1)之前,设置参与价值分配的用户总数量和各个用户的价值分配地址。
优选地,用户交易信息包括价值分配地址、用户的公钥、以及待添加价值分配策略、或待修改价值分配策略以及修改策略,其中价值分配地址是客户端的标识符。
优选地,步骤(2)具体包括以下子步骤:
(2-1)区块链节点根据用户交易信息中用户的公钥使用哈希算法计算得到新的地址,并判断该新的地址是否与用户交易信息中价值分配地址一致,如果一致,则表示用户的公钥与用户交易信息中价值分配地址是对应的,然后转入步骤(2-2),否则表示用户的认证失败,过程结束;
(2-2)区块链节点判断用户交易信息的时间戳是否在预定的时间范围内,如果在则转入步骤(2-3),否则表示用户的交易已经过期,过程结束;
(2-3)区块链节点根据用户的公钥并使用非对称加密算法验证用户签名信息的合法性。
优选地,预定的时间范围是距离时间戳1小时的时间范围内。
按照本发明的另一方面,提供了一种针对智能合约的价值分配系统,其设置于区块链节点,所述系统包括:
第一模块,用于接收来自于客户端的策略请求,该策略请求中包括带有时间戳的用户签名信息、以及带有时间戳的用户交易信息;
第二模块,用于根据策略请求中的用户签名信息和用户交易信息验证用户的合法性;
第三模块,用于判断当前参与价值分配的用户的数量是否已经等于设置的参与价值分配的用户总数量,如果等于则进入第四模块,否则返回第一模块;
第四模块,用于判断是否所有参与价值分配的用户的策略请求中均包括同样的待添加价值分配策略或同样的待修改价值分配策略,如果是则进入第五模块,否则过程结束;
第五模块,用于判断所有参与价值分配的用户的策略请求中的策略是待添加价值分配策略还是待修改价值分配策略,如果是待添加价值分配策略,则将该待添加价值分配策略加入到本地的分配策略列表中,如果是待修改价值分配策略,则从分配策略列表中读取该待修改价值分配策略,并根据策略请求中的修改策略对待修改价值分配策略进行修改。
第六模块,用于接收并存储来自客户端的价值输入请求,该价值输入请求包括用户出售商品的交易记录、以及交易记录所涉及的数字货币金额;
第七模块,用于读取其本地的分配策略列表、用户出售商品的交易记录、以及交易记录所涉及的数字货币金额,并根据分配策略列表获得各个用户将被分配的数字货币金额;
第八模块,用于根据第七模块得到的各个用户将被分配的数字货币金额将对应的数字货币金额分配给对应的用户。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明能够解决现有价值分配中存在的合作方不能完全互信的问题:由于本发明采用了步骤(1)到(6),将分配策略、价值记录、以及产生的价值保管在服务器上,因此解决了合作方不能互信的问题。
2、本发明能够解决现有价值分配中存在的分配方案不能更加精细的问题:由于本发明采用了步骤(1)到(5),各个合作方可以根据实际情况制定并修改分配方案,因此解决了不能精细化控制分配方案的问题。
3、本发明能够解决现有价值分配中存在的分配方案不够公开透明,不能自动化的进行价值分配的问题:由于本发明采用了步骤(6)到(8),各个合作方可以读取到公开透明的价值创造的记录、分配方案、以及创造的价值,因此解决了分配方案不够公开透明,不能自动化的进行价值分配的问题。
4、本发明的针对智能合约的价值分配系统分配策略的拟定需要所有分配方的同意,防止了联合欺骗的问题;
5、本发明的针对智能合约的价值分配方法定义了不同合作放之间的合作方式,合作方可以更加方便的加入分配系统,实现共赢,降低开发成本。
附图说明
图1是本发明针对智能合约的价值分配方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的整体思路在于,利用区块链的不可抵赖以及可追溯的特性,让智能合约之间相互合作,事先约定好一种分配策略。在智能合约合作的过程中,按照约定好的分配策略,比如分配时间和分配比例,进行公开透明的分配,并且在分配过程中做到更加精细的分配控制。
如图1所示,本发明针对智能合约的价值分配方法包括以下步骤:
(1)区块链节点接收来自于客户端的策略请求,该策略请求中包括带有时间戳的用户签名信息、以及带有时间戳的用户交易信息;
具体而言,用户交易信息包括价值分配地址、用户的公钥、以及待添加价值分配策略、或待修改价值分配策略以及修改策略,其中价值分配地址是客户端的标识符。
价值分配策略指的是如何对各个用户产生的价值进行分配。
例如,价值分配策略可以是以百分比形式,例如a方分配价值的90%,b方分配价值的10%,也可以是数值方式,例如a方分配10万元的价值,b方分配90万元的价值。
需要注意的是,本发明的方法还包括在本步骤(1)之前,设置参与价值分配的用户总数量(其可以为任意值)和各个用户的价值分配地址;
(2)区块链节点根据策略请求中的用户签名信息和用户交易信息验证用户的合法性;
本步骤具体包括以下子步骤:
(2-1)区块链节点根据用户交易信息中用户的公钥使用哈希算法计算得到新的地址,并判断该新的地址是否与用户交易信息中价值分配地址一致,如果一致,则表示用户的公钥与用户交易信息中价值分配地址是对应的,然后转入步骤(2-2),否则表示用户的认证失败,过程结束;
(2-2)区块链节点判断用户交易信息的时间戳是否在预定的时间范围内,如果在则转入步骤(2-3),否则表示用户的交易已经过期,过程结束;
具体而言,本步骤中预定的时间范围,是距离时间戳1小时的时间范围内,优选是1分钟。
(2-3)区块链节点根据用户的公钥并使用非对称加密算法验证用户签名信息的合法性。
(3)区块链节点判断当前参与价值分配的用户的数量是否已经等于设置的参与价值分配的用户总数量,如果等于则进入步骤(4),否则返回步骤(1);
(4)服务器判断是否所有参与价值分配的用户的策略请求中均包括同样的待添加价值分配策略或同样的待修改价值分配策略,如果是则进入步骤(5),否则过程结束;
(5)服务器判断所有参与价值分配的用户的策略请求中的策略是待添加价值分配策略还是待修改价值分配策略,如果是待添加价值分配策略,则将该待添加价值分配策略加入到本地的分配策略列表中,如果是待修改价值分配策略,则从分配策略列表中读取该待修改价值分配策略,并根据策略请求中的修改策略对待修改价值分配策略进行修改。
(6)区块链节点接收并存储来自客户端的价值输入请求,该价值输入请求包括用户出售商品的交易记录、以及交易记录所涉及的数字货币金额;
(7)区块链节点读取其本地的分配策略列表、用户出售商品的交易记录、以及交易记录所涉及的数字货币金额,并根据分配策略列表获得各个用户将被分配的数字货币金额;
例如,获取到的分配策略是对于x商品,a方分配90%,b方分配10%,用户出售的商品记录中,x涉及的数字货币为100万元,根据分配策略可得,a需要分配90万元,b需要分配10万元。
(8)区块链节点根据步骤(7)得到的各个用户将被分配的数字货币金额将对应的数字货币金额分配给对应的用户。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。