发明内容
本发明要解决的技术问题是:目前的碳排放权交易容易泄露企业经营信息的技术问题。提出了一种基于智能合约的碳排放权交易系统及方法,能够在完成碳排放权交易的同时,保护企业的生产经营信息。
为解决上述技术问题,本发明所采取的技术方案为:基于智能合约的碳排放权交易系统,包括主管子系统、存放智能合约和交易智能合约,所述主管子系统包括分配模块和交易模块,所述分配模块在区块链上发布通证,所述存放智能合约包括若干个存放记录栏和转出填写栏,所述存放智能合约具有存放虚拟账户,所述存放记录存储存放通证数量和存放企业虚拟账户,所述存放通证数量和存放企业虚拟账户均使用存放智能合约的公钥加密,所述转出填写栏接收企业的转出请求,所述转出请求包括转出通证数量、接收虚拟账户和转出签名,所述转出签名为存放虚拟账户对应的企业私钥对通证数量和接收虚拟账户的签名,所述分配模块为企业分配相应数量的通证并转入存放虚拟账户,在存放记录栏添加存放记录,将存放通证数量使用企业的公钥加密后发送给企业,所述交易模块设置交易期,交易期开始前在区块链上发布交易智能合约,在交易期内所述交易智能合约接收企业的挂牌请求和购买请求,所述挂牌请求包括挂牌数量和挂牌单价,所述购买请求包括购买数量和单价限价,所述挂牌请求和购买请求均使用交易智能合约的公钥加密,购买企业将相应数量的数字资产转入交易智能合约的交易虚拟账户,交易期结束后所述交易智能合约确定成交方案,所述成交方案包括每个挂牌请求及购买请求的成交量和成交单价,交易智能合约按照成交方案将对应数量的数字资产转入出售通证的企业,将成交方案发送给存放智能合约,所述存放智能合约按照成交方案更改企业的存放通证数量。
作为优选,所述主管子系统还包括清缴模块,所述清缴模块设有清缴账户,企业清缴时生成清缴转出请求,所述清缴转出请求包括清缴数量和清缴签名,所述清缴签名为企业私钥对清缴数量和清缴账户的签名,所述清缴模块将清缴数量、清缴地址和清缴签名写入转出填写栏,若清缴账户收到存放虚拟账户转入的数量相符的通证,则记录企业完成清缴。
作为优选,所述交易智能合约确定成交方案时,执行以下步骤:读取并解密全部挂牌请求和购买请求,生成划线单价,使单价限价高于划线单价的购买需求全部成交,挂牌单价低于划线单价的挂牌请求全部成交,单价限价等于划线单价的购买需求或者挂牌单价等于划线单价的挂牌请求全部成交;获得成交的挂牌请求和购买请求作为成交方案。
作为优选,所述交易智能合约确定成交方案时,执行以下步骤:读取并解密全部挂牌请求和购买请求,生成划线单价,使单价限价高于划线单价的购买需求全部成交,挂牌单价低于划线单价的挂牌请求全部成交,单价限价等于划线单价的购买需求或者挂牌单价等于划线单价的挂牌请求全部成交;以成交量为权重计算获得成交的挂牌请求的挂牌均价和购买请求的购买均价;计算购买均价和挂牌均价的比值,比值的二次方值记为折价比;获得成交的挂牌请求的成交单价为挂牌单价与折价比的乘积,获得成交的购买需求的成交单价为限价单价与折价比的商;所述交易智能合约按照挂牌请求的成交单价向出售企业支付数字资产,按照购买需求的成交单价扣除购买企业的数字资产,将购买企业的剩余数字资产退回。
作为优选,所述交易模块在交易期开始前,生成N个变量并赋值;企业向交易模块申请m个变量,所述交易模块为每个企业分配的m个变量互不相同;企业提交挂牌请求和购买请求时,使用m个变量的一次多项式表示挂牌数量或购买数量,作为挂牌数量及购买数量的变量表达式;出售企业将挂牌单价关联挂牌数量的变量表达式发送给交易智能合约,购买企业将单价限价关联购买数量的变量表达式发送给交易智能合约;交易期结束后所述交易模块将变量之间的比值发送给所述交易智能合约;所述交易智能合约计算每个挂牌单价下能够获得成交的总挂牌数量的总挂牌量表达式,计算每个单价限价下能够获得成交的总购买数量的总购买量表达式,相同挂牌单价和单价限价下总挂牌数量和总购买数量的较小值作为成交量;所述交易智能合约确定划线单价,使得成交量取最大值;以成交量为权重计算挂牌均价和购买均价的表达式,计算获得折价比;将划线单价和折价比发送给获得成交的出售企业和购买企业;所述交易智能合约将获得成交的挂牌请求和购买请求进行撮合配对,将配对结果发送给相应的出售企业和购买企业;出售企业和购买企业各自计算成交单价,出售企业根据成交单价和成交数量生成收款单发送给交易智能合约,购买企业根据成交单价和成交数量生成退还收款单发送给交易智能合约;出售企业根据成交数量生成转出请求提交给存放智能合约,转出请求的接收虚拟账户为配对的购买企业的虚拟账户;交易智能合约检查全部成交企业的收款单和退还收款单匹配后,按照收款单和退还收款单将数字资产从交易虚拟账户转入相应的企业虚拟账户,交易智能合约向存放智能合约发送交易成功信号;存放智能合约收到交易成功信号后,执行收到的转出请求,完成通证交割。
作为优选,所述交易智能合约将获得成交的挂牌请求和购买请求进行撮合配对时,为每个挂牌请求配对多个购买请求,多个购买请求的匹配量的和等于挂牌请求的成交量,将配对的匹配量关联对应购买企业的虚拟账户加密后发送给出售企业。
基于智能合约的碳排放权交易方法,包括:在区块链上发布通证和存放智能合约,所述通证代表碳排放权,所述存放智能合约记录企业的存放记录,所述存放记录包括存放通证数量和存放企业虚拟账户,所述存放记录使用存放智能合约的公钥加密;主管机构为企业分配初始碳排放权额度,为企业在存放智能合约内存入相应数量的通证;所述存放智能合约在接收并验证企业的转出请求后,将相应数量的通证转入接收虚拟账户,所述转出请求包括转出通证数量、接收虚拟账户和转出签名;设置交易期,交易期开始前在区块链上发布交易智能合约,在交易期内所述交易智能合约接收企业的挂牌请求和购买请求,所述挂牌请求包括挂牌数量和挂牌单价,所述购买请求包括购买数量和单价限价,所述挂牌请求和购买请求均使用交易智能合约的公钥加密;购买企业将相应数量的数字资产转入交易智能合约的交易虚拟账户;交易期结束后所述交易智能合约确定成交方案,所述成交方案包括每个挂牌请求及购买请求的成交量和成交单价;交易智能合约按照成交方案将对应数量的数字资产转入出售通证的企业;将成交方案发送给存放智能合约,所述存放智能合约按照成交方案更改企业的存放通证数量。
作为优选,所述交易智能合约确定成交方案的方法包括:读取并解密全部挂牌请求和购买请求,生成划线单价,使单价限价高于划线单价的购买需求全部成交,挂牌单价低于划线单价的挂牌请求全部成交,单价限价等于划线单价的购买需求或者挂牌单价等于划线单价的挂牌请求全部成交;以成交量为权重计算获得成交的挂牌请求的挂牌均价和购买请求的购买均价;计算购买均价和挂牌均价的比值,比值的二次方值记为折价比;获得成交的挂牌请求的成交单价为挂牌单价与折价比的乘积,获得成交的购买需求的成交单价为限价单价与折价比的商;所述交易智能合约按照挂牌请求的成交单价向出售企业支付数字资产,按照购买需求的成交单价扣除购买企业的数字资产,将购买企业的剩余数字资产退回。
作为优选,在交易期开始前,生成N个变量并赋值,为每个企业分配m个变量,每个企业被分配的m个变量互不相同;企业提交挂牌请求和购买请求时,使用m个变量的一次多项式表示挂牌数量或购买数量,作为挂牌数量及购买数量的变量表达式;出售企业将挂牌单价关联挂牌数量的变量表达式发送给交易智能合约,购买企业将单价限价关联购买数量的变量表达式发送给交易智能合约;交易期结束后将变量之间的比值发送给所述交易智能合约;所述交易智能合约计算每个挂牌单价下能够获得成交的总挂牌数量的总挂牌量表达式,计算每个单价限价下能够获得成交的总购买数量的总购买量表达式,相同挂牌单价和单价限价下总挂牌数量和总购买数量的较小值作为成交量;所述交易智能合约确定划线单价,使得成交量取最大值;以成交量为权重计算挂牌均价和购买均价的表达式,计算获得折价比;将划线单价和折价比发送给获得成交的出售企业和购买企业;所述交易智能合约将获得成交的挂牌请求和购买请求进行撮合配对,将配对结果发送给相应的出售企业和购买企业;出售企业和购买企业各自计算成交单价,出售企业根据成交单价和成交数量生成收款单发送给交易智能合约,购买企业根据成交单价和成交数量生成退还收款单发送给交易智能合约;出售企业根据成交数量生成转出请求提交给存放智能合约,转出请求的接收虚拟账户为配对的购买企业的虚拟账户;交易智能合约检查全部成交企业的收款单和退还收款单匹配后,按照收款单和退还收款单将数字资产从交易虚拟账户转入相应的企业虚拟账户,交易智能合约向存放智能合约发送交易成功信号;存放智能合约收到交易成功信号后,执行收到的转出请求,完成通证交割。
作为优选,所述交易智能合约将获得成交的挂牌请求和购买请求进行撮合配对时,为每个挂牌请求配对多个购买请求,多个购买请求的匹配量的和等于挂牌请求的成交量,将配对的匹配量关联对应购买企业的虚拟账户加密后发送给出售企业。
本发明的实质性效果是:借助区块链实现通证交易的透明可信和可追溯,方便主管机构监管和公众监督企业的碳排放权履约情况;通过存放智能合约使企业拥有的通证数量得以隐藏,同时不影响碳排放权的交易和清缴,使企业的生产经营信息得以隐藏,保护了企业的商业隐私数据;通过设置交易智能合约完成交易撮合,能够起到抑制碳排放权价格短期波动的作用,有助于减少或避免市场上的投机炒作行为,维护市场调节作用的发挥;借助变量表达式使企业的通证交易数量得以隐藏,在完成碳排放权交易的同事,维持企业的交易数据的隐私。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
基于智能合约的碳排放权交易系统,请参阅附图1,包括主管子系统、存放智能合约和交易智能合约,主管子系统包括分配模块、交易模块和清缴模块,分配模块在区块链上发布通证,存放智能合约包括若干个存放记录栏和转出填写栏,存放智能合约具有存放虚拟账户,存放记录存储存放通证数量和存放企业虚拟账户,存放通证数量和存放企业虚拟账户均使用存放智能合约的公钥加密,转出填写栏接收企业的转出请求,转出请求包括转出通证数量、接收虚拟账户和转出签名,转出签名为存放虚拟账户对应的企业私钥对通证数量和接收虚拟账户的签名,分配模块为企业分配相应数量的通证并转入存放虚拟账户,在存放记录栏添加存放记录,将存放通证数量使用企业的公钥加密后发送给企业,交易模块设置交易期,交易期开始前在区块链上发布交易智能合约,在交易期内交易智能合约接收企业的挂牌请求和购买请求,挂牌请求包括挂牌数量和挂牌单价,购买请求包括购买数量和单价限价,挂牌请求和购买请求均使用交易智能合约的公钥加密,购买企业将相应数量的数字资产转入交易智能合约的交易虚拟账户,交易期结束后交易智能合约确定成交方案,成交方案包括每个挂牌请求及购买请求的成交量和成交单价,交易智能合约按照成交方案将对应数量的数字资产转入出售通证的企业,将成交方案发送给存放智能合约,存放智能合约按照成交方案更改企业的存放通证数量。清缴模块设有清缴账户,企业清缴时生成清缴转出请求,清缴转出请求包括清缴数量和清缴签名,清缴签名为企业私钥对清缴数量和清缴账户的签名,清缴模块将清缴数量、清缴地址和清缴签名写入转出填写栏,若清缴账户收到存放虚拟账户转入的数量相符的通证,则记录企业完成清缴。
碳排放权由主管机构为控排企业规定的碳排放的权利。主管机构根据企业用能设备运行情况,产生企业的认定碳排放量,企业需要将与认定碳排放量相符的碳排放权向主管机构清缴。企业获得碳排放权的来源有两个:一是由主管机构控排周期起始时,根据控排目标和企业的生产情况,为企业免费分配的碳排放权额度;二是企业之间进行交易获得。清缴和交易的碳排放权额度最低为1吨。本实施例在区块链上发布通证,每个通证代表1吨碳排放权额度。通证为一串独有的字符串,如HE8Y5WKSU0T6XVCO247MGD1F3BQLRIAJN9PZ即为一个通证。在区块链上进行查询,能够获得每个通证的全部交易记录。区块链上的虚拟账户为公钥或者公钥的哈希值。本实施例直接使用公钥表示虚拟账户。知晓企业的虚拟账户后,在区块链上能够查询到虚拟账户的全部交易记录,从而获得虚拟账户当前的通证数量,以及历史交易记录。能够直接的获得企业当前拥有的碳排放权,以及往年清缴的通证数量。若企业的虚拟账户中的通证数量明显增加,则表明企业欲扩大其生产规模,即泄露了企业的生产安排情况。甚至能够根据通证数量,计算出生产规模扩大的具体情况。本实施例通过设置存放智能合约,使企业的通证交易情况得以隐藏,同时企业进行交易和清缴时不能作伪,保证碳排放权交易和清缴的真实性。
表1 存放智能合约记载内容示意表
存放通证数量 |
存放企业虚拟账户 |
690 |
0x5396917F5986711D45 |
2140 |
0x8C07C1D5F3606C1685 |
300 |
0x7B6263493BEC7BB3D9 |
5030 |
0xB5E67CA09ABDF1D9B6 |
… |
… |
转出填写栏1 |
(100,0x8C07C1D5F3606C1685,SIGN(SEND)) |
转出填写栏2 |
NULL |
转出填写栏3 |
NULL |
… |
… |
如表1所示,本实施例发布的存放智能合约记载内容示意表,记录了虚拟账户的存放通证数量。存放的全部通证均存入存放虚拟账户下。存放通证数量和存放企业虚拟账户均使用存放智能合约的公钥加密,只有存放智能合约的私钥解密后才能查看到具体的内容。存放智能合约预设有多个转出填写栏,用于接收转出请求。存放智能合约核实转出的虚拟账户内有足够的通证数量,且转出签名相符,则执行转出,将相应数量的通证转入接收虚拟账户。如表1中转出填写栏1内的转出请求是将100个通证转入到虚拟账户0x8C07C1D5F3606C1685中。存放智能合约验证后,将通证从存放虚拟账户交易到虚拟账户0x8C07C1D5F3606C1685。SIGN(SEND)表示转出签名,即转出虚拟账户的私钥将通证数量、接收虚拟账户和时间戳的哈希值用私钥签名获得。完成转出交易后,存放智能合约将转出填写栏清空。企业拥有的通证一部分存放在存放智能合约,另一部分提取到自己的虚拟账户名下,从而使区块链上公开的通证不能反映企业实际拥有的通证数量,使企业拥有的碳排放权额度得以保密。
表2 交易智能合约收集到的挂牌请求
挂牌数量 |
挂牌单价,单位万元 |
出售企业 |
4000 |
0.2 |
企业甲 |
6000 |
0.3 |
企业乙 |
9000 |
0.5 |
企业丙 |
表3 交易智能合约收集到的购买请求
购买数量 |
单价限价,单位万元 |
购买企业 |
16000 |
0.15 |
企业丁 |
8000 |
0.2 |
企业戊 |
5000 |
0.3 |
企业己 |
3000 |
0.5 |
企业庚 |
如表2所示,为交易智能合约收到的挂牌请求,表3为交易智能合约收到的购买请求。交易智能合约确定成交方案时,执行以下步骤:读取并解密全部挂牌请求和购买请求,生成划线单价,使单价限价高于划线单价的购买需求全部成交,挂牌单价低于划线单价的挂牌请求全部成交,单价限价等于划线单价的购买需求或者挂牌单价等于划线单价的挂牌请求全部成交;获得成交的挂牌请求和购买请求作为成交方案。请参阅表2和表3,可得出当划线单价等于0.3时,能够获得最大的成交量,即成交8000个通证。企业甲的挂牌请求全部成交,企业庚的购买请求全部成交。单价限价等于划线单价的购买请求,即企业己的购买请求全部成交。挂牌单价等于划线单价的挂牌请求,即企业乙的挂牌请求部分成交,即成交4000个通证,剩余2000个通证未成交。因而企业甲成交4000个通证,企业乙成交4000个通证,企业己成交5000个通证,企业庚成交3000个通证,构成成交方案。将成交方案发送给存放智能合约,完成通证的转移。交易智能合约按照成交方案中挂牌请求的成交量和挂牌单价,将对应数量的数字资产转入出售通证的企业,剩余的数字资产退回购买企业。
作为可替代的实施方式,提供了另一种数字资产支付实施方案。交易智能合约确定成交方案时,请参阅附图2,执行以下步骤:步骤A01)读取并解密全部挂牌请求和购买请求,生成划线单价,使单价限价高于划线单价的购买需求全部成交,挂牌单价低于划线单价的挂牌请求全部成交,单价限价等于划线单价的购买需求或者挂牌单价等于划线单价的挂牌请求全部成交;步骤A02)以成交量为权重计算获得成交的挂牌请求的挂牌均价和购买请求的购买均价;步骤A03)计算购买均价和挂牌均价的比值,比值的二次方值记为折价比;步骤A04)获得成交的挂牌请求的成交单价为挂牌单价与折价比的乘积,获得成交的购买需求的成交单价为限价单价与折价比的商;步骤A05)交易智能合约按照挂牌请求的成交单价向出售企业支付数字资产,按照购买需求的成交单价扣除购买企业的数字资产,将购买企业的剩余数字资产退回。请参阅表2和表3,计算获得成交的挂牌请求的挂牌均价为:0.25=(4000*0.2+4000*0.3)/8000,计算获得成交的购买请求的购买均价为:0.375=(5000*0.3+3000*0.5)/8000,进而计算获得折价比为:1.225=sqrt(0.375/0.25)。
而后为每个企业计算其成交方案。具体为,企业甲的成交单价为0.2*1.225,向下规整后获得企业甲的成交单价为0.24,企业乙的成交单价为0.3*1.225,向下规整获得企业乙的成交单价为0.36。企业甲和企业乙均成交了4000个通证。因而需要向企业甲支付的金额为960万元,需要向企业乙支付的金额为1440万元,使用价值相符的数字资产支付即可。使用的数字资产推荐为法定数字货币。为企业己计算成交单价为0.3/1.225,向上规整为0.25,企业庚的成交单价为0.5/1.225,规整为0.41。即需要扣除企业己的金额为0.25*5000,为1250万元,扣除企业庚的金额为1230万元。扣除后剩余的金额返还给企业己和企业庚。企业己预先支付的金额为购买请求中的购买数量和单价限价的乘积,为1500万元,向企业己返回价值与250万元相符的数字资产。向企业庚返回价值与270万元相符的数字资产。本方案使出价高的购买需求能够以相对更低的价格获得成交。能够减缓碳排放权单价上涨的速率。同时将挂牌单价较低的挂牌需求,以相对更高的价格获得成交,同样能够减缓碳排放权单价下跌的速率。起到抑制碳排放权单价短期波动的效果,能够避免市场紧张情绪,使企业更加理性的参与碳排放权的交易,有助于抑制市场上的投机炒作行为。之所以能够抑制单价短期波动,是因为本技术方案通过交易智能合约,使碳排放权交易变为统一提交挂牌需求和购买需求。购买需求反映了企业的单价承受能力,单价承受能力较低的企业将永远被排除在成交之外。使这些企业不能获得额外的碳排放权,促使这些企业进行减排或者进行工艺设备的升级改造。这是目前已公开的交易技术方案所不能达到的效果。使用数字资产进行支付时,将产生手续费,向出售企业支付数字资产时,扣除相应手续费。购买企业预先支付金额时,需要额外加上相应的手续费,使最终到账金额与购买需求相符。
基于智能合约的碳排放权交易方法,请参阅附图3,包括:步骤B01)在区块链上发布通证和存放智能合约,通证代表碳排放权,存放智能合约记录企业的存放记录,存放记录包括存放通证数量和存放企业虚拟账户,存放记录使用存放智能合约的公钥加密;步骤B02)主管机构为企业分配初始碳排放权额度,为企业在存放智能合约内存入相应数量的通证;步骤B03)存放智能合约在接收并验证企业的转出请求后,将相应数量的通证转入接收虚拟账户,转出请求包括转出通证数量、接收虚拟账户和转出签名;步骤B04)设置交易期,交易期开始前在区块链上发布交易智能合约,在交易期内交易智能合约接收企业的挂牌请求和购买请求,挂牌请求包括挂牌数量和挂牌单价,购买请求包括购买数量和单价限价,挂牌请求和购买请求均使用交易智能合约的公钥加密;步骤B05)购买企业将相应数量的数字资产转入交易智能合约的交易虚拟账户;步骤B06)交易期结束后交易智能合约确定成交方案,成交方案包括每个挂牌请求及购买请求的成交量和成交单价;步骤B07)交易智能合约按照成交方案将对应数量的数字资产转入出售通证的企业;步骤B08)将成交方案发送给存放智能合约,存放智能合约按照成交方案更改企业的存放通证数量。借助存放智能合约实现通证的划转,即能够保证交易的真实可信,同时不造成交易结果的泄露,保护企业的隐私。智能合约在区块链上以二进制机器码的形式存储和执行,不具有可读性。因而存放智能合约和交易智能合约均不会造成通证交易信息的泄露。
请参阅附图4,交易智能合约确定成交方案的方法包括:步骤C01)读取并解密全部挂牌请求和购买请求,生成划线单价,使单价限价高于划线单价的购买需求全部成交,挂牌单价低于划线单价的挂牌请求全部成交,单价限价等于划线单价的购买需求或者挂牌单价等于划线单价的挂牌请求全部成交;步骤C02)以成交量为权重计算获得成交的挂牌请求的挂牌均价和购买请求的购买均价;步骤C03)计算购买均价和挂牌均价的比值,比值的二次方值记为折价比;步骤C04)获得成交的挂牌请求的成交单价为挂牌单价与折价比的乘积,获得成交的购买需求的成交单价为限价单价与折价比的商;步骤C05)交易智能合约按照挂牌请求的成交单价向出售企业支付数字资产,按照购买需求的成交单价扣除购买企业的数字资产,将购买企业的剩余数字资产退回。
请参阅表2和表3,若使用现有技术中的即时交易撮合的方式,若企业戊及早提交购买需求,则能够购买到企业甲出售的4000的通证。企业庚则需要购买2000个挂牌价格为0.5的通证,导致企业庚需要支出更多的资金。由于企业庚能够承受单价较高的碳排放权,说明企业庚的能源利用效率较高。即单位碳排放下,企业庚能够提供的产品更多。因而采用即时交易撮合的方式,并不一定能有效的淘汰高排放的企业。反而会导致高能源利用效率的企业需要支出更多的资金。采用本实施例提供的技术方案,需要在交易期提交购买需求,交易期结束后统一进行撮合,就能够有效将企业戊排除在成交之外,使企业戊不能获得额外的碳排放权。而且能够使企业庚节省部分资金,节省的资金用于进一步提高企业庚的企业竞争力。进而能够通过市场调节手段,逐步增加高能源利用效率的企业的竞争力,最终实现整体上提高能源利用效率的目标,减少碳的排放量。
本实施例的有益技术效果是:借助区块链实现通证交易的透明可信和可追溯,方便主管机构监管和公众监督企业的碳排放权履约情况;通过存放智能合约使企业拥有的通证数量得以隐藏,同时不影响碳排放权的交易和清缴,使企业的生产经营信息得以隐藏,保护了企业的商业隐私数据;通过设置交易智能合约完成交易撮合,能够起到抑制碳排放权价格短期波动的作用,有助于减少或避免市场上的投机炒作行为,维护市场调节作用的发挥。
实施例二:
基于智能合约的碳排放权交易系统,相对于实施例一,本实施例提供的方案能够使碳排放权的交易过程更加隐蔽,更为有效的保护企业的经营数据。请参阅附图5,本交易系统的交易模块执行以下步骤:步骤D01)在交易期开始前,交易模块生成N个变量并赋值;步骤D02)企业向交易模块申请m个变量,交易模块为每个企业分配的m个变量互不相同;步骤D03)企业提交挂牌请求和购买请求时,使用m个变量的一次多项式表示挂牌数量或购买数量,作为挂牌数量及购买数量的变量表达式;步骤D04)出售企业将挂牌单价关联挂牌数量的变量表达式发送给交易智能合约,购买企业将单价限价关联购买数量的变量表达式发送给交易智能合约;步骤D05)交易期结束后交易模块将变量之间的比值发送给交易智能合约;步骤D06)交易智能合约计算每个挂牌单价下能够获得成交的总挂牌数量的总挂牌量表达式,计算每个单价限价下能够获得成交的总购买数量的总购买量表达式,相同挂牌单价和单价限价下总挂牌数量和总购买数量的较小值作为成交量;步骤D07)交易智能合约确定划线单价,使得成交量取最大值;步骤D08)以成交量为权重计算挂牌均价和购买均价的表达式,计算获得折价比;步骤D09)将划线单价和折价比发送给获得成交的出售企业和购买企业;步骤D10)交易智能合约将获得成交的挂牌请求和购买请求进行撮合配对,将配对结果发送给相应的出售企业和购买企业;步骤D11)出售企业和购买企业各自计算成交单价,出售企业根据成交单价和成交数量生成收款单发送给交易智能合约,购买企业根据成交单价和成交数量生成退还收款单发送给交易智能合约;步骤D12)出售企业根据成交数量生成转出请求提交给存放智能合约,转出请求的接收虚拟账户为配对的购买企业的虚拟账户;步骤D13)交易智能合约检查全部成交企业的收款单和退还收款单匹配后,按照收款单和退还收款单将数字资产从交易虚拟账户转入相应的企业虚拟账户,交易智能合约向存放智能合约发送交易成功信号;步骤D14)存放智能合约收到交易成功信号后,执行收到的转出请求,完成通证交割。
本实施例中交易模块生成N个变量如表4所示,交易模块生成的变量赋值不对外公开,变量的值均为正值。参与碳排放权交易的企业,向交易模块申请2个变量,即本实施例中m的值等于2,交易模块为每个企业分配的2个变量互相不完全相同,即至多有1个变量相同。企业使用分配到的变量构建变量表达式,用于表示挂牌数量和购买数量。如表5所示,为企业构建的变量表达式。企业将单价,挂牌单价或者单价限价,关联变量表达式发送给交易智能合约。
表4 变量表及变量比值
变量 |
x |
y |
z |
r |
s |
变量值 |
20 |
5 |
16 |
36 |
8 |
与x的比值 |
1 |
0.25 |
0.8 |
1.8 |
0.4 |
表5 企业挂牌数量及购买数量变量表达式表
企业 |
分配的变量 |
变量表达式 |
挂牌单价或单价限价 |
企业甲 |
x=20,y=5 |
4000=230*x-120*y |
0.2 |
企业乙 |
x=20,z=16 |
6000=108*x+240*z |
0.3 |
企业丙 |
x=20,r=36 |
9000=243*x+115*r |
0.5 |
企业丁 |
y=5,z=16 |
16000=640*y+800*z |
0.15 |
企业戊 |
y=5,r=36 |
8000=232*y+190*r |
0.2 |
企业己 |
y=5,s=8 |
5000=256*y+465*s |
0.3 |
企业庚 |
z=16,s=8 |
3000=240*z-105*s |
0.5 |
交易期结束后,交易智能合约获得交易模块发送的变量之间的比值,如表4所示。而后交易智能合约计算每个挂牌单价下能够获得成交的总挂牌数量的总挂牌量表达式。挂牌单价0.2万元/吨时,能够获得成交的最多挂牌数量为230*x-120*y,即总挂牌量表达式S(0.2)=230*x-120*y。挂牌单价0.3万元/吨时,能够获得成交的最多挂牌数量为230*x-120*y和108*x+240*z的和,即总挂牌量表达式S(0.3)=230*x-120*y+108*x+240*z=338*x-120*y+240*z。同样获得S(0.5)=581*x-120*y+240*z+115*r。而后使用变量对x的比值,将总挂牌量表达式转换为仅包含x的表达式,获得S(0.2)=230*x-120*y=200*x,S(0.3)=500*x,S(0.5)=950*x。
同样计算总购买量表达式,当单价限价为0.15时,获得:B(0.15)=240*z+145*s+256*y+465*s+232*y+190*r+640*y+800*z=1128*y+1040*z+190*r+610*s=1600*x。同样获得单价限价为0.2、0.3以及0.5时的总购买量表达式分别为:
B(0.2)=488*y+240*z+190*r+360*s=800*x;
B(0.3)=256*y+240*z+360*s=400*x;
B(0.5)=240*z-105*s=150*x。
当划线单价为0.2时,S(0.2)=200*x,B(0.2)=800*x,二者中的较小值为200*x,S(0.3)和B(0.3)中的较小值为400*x,S(0.5)和B(0.5)中的较小值为250*x。获得最终的划线单价为0.3万元/吨。此时的成交量为400*x。
挂牌单价低于划线单价的挂牌需求全部成交,即企业甲成交量为其挂牌数量:230*x-120*y=200*x。
挂牌单价等于划线单价的挂单需求部分成交,即企业乙的成交量为其挂牌数量减去未成交部分:108*x+240*z-(100*x)=200*x。
单价限价等于划线单价的购买需求全部成交,即企业己的成交量为其购买数量:256*y+465*s=250*x。
单价限价高于划线单价的购买需求全部成交,即企业庚的成交量为其购买数量:240*z-105*s=150*x。
以成交量为权重计算挂牌单价的加权均值,作为挂牌均价,挂牌均价=(200*x*0.2+200*x*0.3)/(200*x+200*x)=0.25。
以成交量为权重计算购买需求的单价限价的加权均值,作为购买均价,购买均价=(150*x*0.5+250*x*0.3)/(150*x+250*x)=0.375。
同样能够计算出折价比。折价比为:1.225=sqrt(0.375/0.25)。此时交易智能合约内由于没有x的具体值,因而交易智能合约内并不直接存储企业的成交量,能够使企业的碳排放权交易信息更为保密和安全。
交易智能合约计算出折价比后,将折价比和成交量发送给获得成交的企业。由于企业甲、企业己和企业庚的挂牌需求和购买需求均全部获得成交,因而将折价比和全部成交信号发送给企业甲、企业己和企业庚即可。
对应企业乙,由于其挂牌需求中的挂牌数量部分成交,企业乙成交量为200*x,因而交易智能合约需要将获得成交的成交量反馈给企业乙,即将(成交量,折价比)=(200*x,1.225)发送给企业乙。企业乙知晓变量x的值,因而能够直接得知成交量,即为4000个通证。企业乙通过折价比计算获得其成交价为0.3675=0.3*1.225,成交量为4000,则金额为1470=0.3675*4000。生成收款金额为1470万元的收款单,发送给交易智能合约。交易智能合约扣除相应手续费后,将价值相符的数字资产转入企业乙的虚拟账户。同样的企业甲生成相应的收款单。
对于企业己,其购买需求全部成交,获得折价比为1.225,成交价为0.3675=0.3*1.225,购买需要的金额为:1837.5=5000*0.3675万元。企业己加上相应的手续费后,将相符的数字资产转入交易智能合约。
如此进行交易,交易智能合约从企业己和企业庚收到数字资产,用于支付企业甲和企业乙的收款单,正好能够完成资金的交付。
由于交易智能合约不知晓具体的成交量,因而无法直接通知存放智能合约进行通证的转移。本实施例提供以下方案完成通证的转移。
交易智能合约为达成成交的挂单请求和购买请求进行配对。交易智能合约获得企业甲的挂牌成交量为200*x,企业乙的挂牌成交量为200*x,企业己的购买成交量为250*x,企业庚的购买成交量为150*x。交易智能合约撮合配对结果为:企业甲的200*x个通证转移给企业己,企业乙的50*x个通证转移给企业己,企业乙的150*x个通证转移给企业庚。生成发送给企业甲的配对结果为(200*x,ADDR(己)),ADDR(己)为企业己的虚拟账户。生成发送给企业乙的配对结果为((50*x,ADDR(己)),(150*x,ADDR(庚))),ADDR(庚)为企业庚的虚拟账户。企业甲和企业乙分别根据配对结果,生成相应的转出请求发送给存放智能合约。由存放智能合约完成通证的转移。交易智能合约收到企业己和企业庚支付的数字资产,以及企业甲和企业乙的收款单后,检查收到的数字资产是否足以支付收款单相应的金额。本实施例认为企业参与碳排放权交易时一定会履行达成的成交,而不会在达成成交后反悔。若出现企业在达成成交后反悔,则回退全部交易,使任何通证不达成成交,原路退回金额,取消全部挂牌需要和购买需求。因而需要通过对达成成交之后反悔的企业进行足够的惩罚。
为了进一步使交易成交量达到隐藏,交易智能合约将获得成交的挂牌请求和购买请求进行撮合配对时,为每个挂牌请求配对多个购买请求,多个购买请求的匹配量的和等于挂牌请求的成交量,将配对的匹配量关联对应购买企业的虚拟账户加密后发送给出售企业。即交易智能合约撮合配对结果改进为:企业甲的150*x个通证转移给企业己,企业甲的50*x个通证转移给企业庚。企业乙的100*x个通证转移给企业己,企业乙的100*x个通证转移给企业庚。发送给企业甲的配对结果为((150*x,ADDR(己)),(50*x,ADDR(庚))),发送给企业乙的配对结果为((100*x,ADDR(己)),(100*x,ADDR(庚)))。企业甲和企业乙都知晓x的值,因而配对结果使用x表达式能够使企业甲和企业乙得知具体的配对通证数量。
假设在另外的实施例中,企业甲被分配的变量为z=16和r=36,则可以将以x的表达式表达的配对结果,更改为以z的表达式表达。即将配对结果((150*x,ADDR(己)),(50*x,ADDR(庚)))中的变量x替换为变量z,使配对结果更改为((187.5*z,ADDR(己)),(62.5*z,ADDR(庚)))发送给企业甲。
基于智能合约的碳排放权交易方法,请参阅附图6,包括:步骤E01)在交易期开始前,生成N个变量并赋值,为每个企业分配m个变量,每个企业被分配的m个变量互不相同;步骤E02)企业提交挂牌请求和购买请求时,使用m个变量的一次多项式表示挂牌数量或购买数量,作为挂牌数量及购买数量的变量表达式;步骤E03)出售企业将挂牌单价关联挂牌数量的变量表达式发送给交易智能合约,购买企业将单价限价关联购买数量的变量表达式发送给交易智能合约;步骤E04)交易期结束后将变量之间的比值发送给交易智能合约;步骤E05)交易智能合约计算每个挂牌单价下能够获得成交的总挂牌数量的总挂牌量表达式,计算每个单价限价下能够获得成交的总购买数量的总购买量表达式,相同挂牌单价和单价限价下总挂牌数量和总购买数量的较小值作为成交量;步骤E06)交易智能合约确定划线单价,使得成交量取最大值;步骤E07)以成交量为权重计算挂牌均价和购买均价的表达式,计算获得折价比;步骤E08)将划线单价和折价比发送给获得成交的出售企业和购买企业;步骤E09)交易智能合约将获得成交的挂牌请求和购买请求进行撮合配对,将配对结果发送给相应的出售企业和购买企业;步骤E10)出售企业和购买企业各自计算成交单价,出售企业根据成交单价和成交数量生成收款单发送给交易智能合约,购买企业根据成交单价和成交数量生成退还收款单发送给交易智能合约;步骤E11)出售企业根据成交数量生成转出请求提交给存放智能合约,转出请求的接收虚拟账户为配对的购买企业的虚拟账户;步骤E12)交易智能合约检查全部成交企业的收款单和退还收款单匹配后,按照收款单和退还收款单将数字资产从交易虚拟账户转入相应的企业虚拟账户,交易智能合约向存放智能合约发送交易成功信号;步骤E13)存放智能合约收到交易成功信号后,执行收到的转出请求,完成通证交割。
相对于实施例一,本实施例借助变量表达式使企业的通证交易数量得以隐藏,在完成碳排放权交易的同时,维持企业的交易数据的保密。使企业的生产经营数据得以隐藏,保护企业的生产经营活动。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。