基于区块链的期货交易方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910233885.2
(22)申请日 2019.03.26
(71)申请人 武汉大学
地址 430072 湖北省武汉市武昌区珞珈山
武汉大学
(72)发明人 陈艳姣 李佳洁 李赛南 汪旭 
黄荟萱 
(74)专利代理机构 武汉科皓知识产权代理事务
所(特殊普通合伙) 42222
代理人 齐晨涵 姜学德
(51)Int.Cl.
G06Q  40/04(2012.01)
H04L  9/06(2006.01)
(54)发明名称
基于区块链的期货交易方法
(57)摘要
本发明公开了一种基于区块链的期货交易
方法,利用可信硬件进行期货市场上的匹配订
单、逐日盯市的操作,根据交易者保证金变更,
将结果公布在区块链上。解决了传统期货市场中
交易费用过高、缺乏对交易者隐私信息保护的问
题,通过将期货市场部署到区块链上,并利用智
能合约和可信硬件完成交易所的操作,可以有效
保护交易者的隐私,
降低期货交易费用。权利要求书1页  说明书4页  附图2页CN 109978691 A 2019.07.05
C N  109978691
A
1.一种基于区块链的期货交易方法,其特征在于,包括以下步骤:
步骤1:注册,所有的交易者向可信硬件进行注册,具体过程为:
步骤1.1:可信硬件生成一对非对称密钥对(PK ,SK);
步骤1.2:所有交易者生成对称密钥key,使用PK加密自己的密钥key,并发送给可信硬件;
步骤1.3:可信硬件使用SK进行解密得到每一个交易者的密钥key,并在可信硬件中存储所有交易者的key;
步骤2:在发布订单之前,交易者向智能合约缴纳一笔初始保证金,保证金=价位*交易仓位*α,存储在智能合约中;
步骤3:交易者发布订单,在可信硬件中进行期货市场操作;
步骤4:根据本轮的交易情况,调整每位交易者的保证金;
步骤5:将本轮交易的平均成交价、用户的保证金、加密的仓位发送给智能合约,智能合约重新调整交易者的保证金;
步骤6:合约到期后,智能合约根据每个交易者保证金账户余额发还保证金,每个交易者取回剩余保证金。
2.根据权利要求1所述的基于区块链的期货交易方法,其特征在于:所述步骤3的具体过程为:
步骤3.1:交易者使用key加密自己需要发布的买卖订单,可信硬件使用存储的交易者的key解密接受到的订单,从而得到交易者发布的订单;
步骤3.2:可信硬件对每一笔订单进行匹配,成交时修改成交双方对应的库存,在可信硬件中记录成交的合同数量和匹配价格,将未被匹配的订单计入订单表中;可信硬件中存储交易成交记录,交易者的库存信息,和订单表;
步骤3.3:根据现在市场的交易价格(即订单表中的中间价)重新计算每位交易者的总资产,总资产=当前保证金总额+仓位*(本轮清算价-上轮清算价);
步骤3.4:如果某一位交易者的总资产小于维持保证金,则对改交易者进行强制平仓,取消其之前发布的在订单表中未被匹配的订单,并将其持有的仓位以最低价成交。
3.根据权利要求2所述的基于区块链的期货交易方法,其特征在于:所述步骤4的具体过程为:
步骤4.1:当合约到期时,对于所有用户:保证金额=原保证金额+仓位*(本期清算价-上期清算价);并且所有交易者仓位更新为0;
步骤4.2:分三种情况分别计算用户保证金额:
对于仓位没有变动的用户:保证金额=原保证金额+仓位*(本期清算价-上期清算价);对于仓位有变动,但不是强制平仓的用户:保证金额=原保证金额+未变的仓位*(本期清算价-上期清算价)+变化的仓位*(成交价-上期清算价);
对于被强制平仓的用户:保证金额=原保证金额+∑变化的仓位*(成交价-上期清算价)。
4.根据权利要求1所述的基于区块链的期货交易方法,其特征在于:所述可信硬件为英特尔SGX可信处理器。
权 利 要 求 书1/1页CN 109978691 A
基于区块链的期货交易方法
技术领域
[0001]本发明属于涉及期货市场交易安全领域,具体地指一种基于区块链的期货交易方法。
背景技术
[0002]期货市场中交易者的仓位和保证金额都是非常重要的隐私信息,目前存在的基于区块链智能合
约的商品交易系统,并不能解决期货市场中可能存在的隐私泄露问题,而且期货市场中计算交易者保证金的过程比较复杂,简单的商品交易系统不能保证交易过程的隐私性。
发明内容
[0003]本发明针对现有技术的缺乏,提供了一种基于区块链的期货交易方法,可以有效地提高交易效率,保护交易者的隐私。
[0004]本发明的所设计的一种基于区块链的期货交易方法,其特殊之处在于,包括以下步骤:
[0005]步骤1:注册,所有的交易者向可信硬件进行注册,具体过程为:
[0006]步骤1.1:可信硬件生成一对非对称密钥对(PK,SK);
[0007]步骤1.2:所有交易者生成对称密钥key,使用PK加密自己的密钥key,并发送给可信硬件;
[0008]步骤1.3:可信硬件使用SK进行解密得到每一个交易者的密钥key,并在可信硬件中存储所有交易者的key;
[0009]步骤2:在发布订单之前,交易者向智能合约缴纳一笔初始保证金,保证金=价位*交易仓位*α,存储在智能合约中;
[0010]步骤3:交易者发布订单,在可信硬件中进行期货市场操作;
[0011]步骤4:根据本轮的交易情况,调整每位交易者的保证金;
[0012]步骤5:将本轮交易的平均成交价、用户的保证金、加密的仓位发送给智能合约,智能合约重新调整交易者的保证金;
[0013]步骤6:合约到期后,智能合约根据每个交易者保证金账户余额发还保证金,每个交易者取回剩余保证金。
[0014]进一步地,所述步骤3的具体过程为:
[0015]步骤3.1:交易者使用key加密自己需要发布的买卖订单,可信硬件使用存储的交易者的key解密接受到的订单,从而得到交易者发布的订单;
[0016]步骤3.2:可信硬件对每一笔订单进行匹配,成交时修改成交双方对应的库存,在可信硬件中记录成交的合同数量和匹配价格,将未被匹配的订单计入订单表中;可信硬件中存储交易成交记录,交易者的库存信息,和订单表;
[0017]步骤3.3:根据现在市场的交易价格(即订单表中的中间价)重新计算每位交易者
的总资产,总资产=当前保证金总额+仓位*(本轮清算价-上轮清算价);
[0018]步骤3.4:如果某一位交易者的总资产小于维持保证金,则对改交易者进行强制平仓,取消其之前发布的在订单表中未被匹配的订单,并将其持有的仓位以最低价成交。[0019]更进一步地,所述步骤4的具体过程为:
[0020]步骤4.1:当合约到期时,对于所有用户:保证金额=原保证金额+仓位*(本期清算价-上期清算价);并且所有交易者仓位更新为0;
[0021]步骤4.2:分三种情况分别计算用户保证金额:
[0022]对于仓位没有变动的用户:保证金额=原保证金额+仓位*(本期清算价-上期清算价);
[0023]对于仓位有变动,但不是强制平仓的用户:保证金额=原保证金额+未变的仓位* (本期清算价-上期清算价)+变化的仓位*(成交价-上期清算价);
[0024]对于被强制平仓的用户:保证金额=原保证金额+∑变化的仓位*(成交价-上期清算价)。
[0025]进一步地,所述可信硬件为英特尔SGX可信处理器。
附图说明
[0026]图1是本发明实施的系统框架图。
[0027]图2是本发明实施的期货市场的流程图。
[0028]图3是本发明实施的变更交易者保证金的流程图。
具体实施方式
[0029]本发明主要基于区块链和智能合约,提出的一种能保证隐私安全的分布式期货市场。本方法充分考虑了期货市场交易中的隐私保护,通过利用可信的处理器技术Intel SGX 来保护各用户的隐私以及订单匹配过程。通过本发明可取代第三方期货交易所,降低期货交易的佣金费用。
[0030]实现本发明提供的方法过程中,使用英特尔SGX作为可信处理器,利用C++编程完成智能合约的部署,智能合约在Solidity 0.4.4中实现。交易者需运用带有2.4GHz英特尔E5-26CPU的Linux服务器完成交易。同时使用了Tuffle框架与EntUnjs TESTPC进行测试。评估了密钥长度为128位,192位,256位的AES算法下的系统成本,发现密钥长度越长,系统开销越大;但是保密效果越好。改变交易者和订单数量,观察系统的内存消耗和系统耗时,发现是成正比的。同时,通过改变订单价格,交易者数量,发现当这些变量改变时,市场上的订单成交量符合传统期货交易市场的发展规律。
[0031]如图1所示,本发明的具体实施过程具体如下:
[0032]步骤1,将编程好的智能合约部署到Ethereum上。各交易者完成注册过程。[0033]具体过程如下:
[0034]可信处理器SGX产生RSA密钥(PK,SK),交易者产生自己独有的AES密钥,并用PK将自己的AES密钥加密并发送给SGX,SGX运用SK得到每个人的AES密钥。实施例中还分别模拟了AES长度为128位,192位,256位时,计算系统的时间开销,从而得出AES长度对系统开销的影响。
[0035]步骤2,交易者发布订单,并缴纳保证金。
[0036]具体过程如下:
[0037]分别模拟产生100,200,300,…,1000份订单,交易者使用AES密钥加密需要发布的买卖订单,并将订单发送给可信处理器SGX。订单信息包括交易者ID,交易者的保证金余额,以及加密的时间,价位,交易仓位。SGX使用步骤1中存储的AES密钥解密接受到的订单,从而得到交易者发布的订单。同时交易者需要向智能合约缴纳足够的保证金。保证金=价位*交易仓位*α,α由市场机制决定,实施中采用20%。
[0038]步骤3,SGX对订单进行处理。
[0039]具体过程如下:
[0040]SGX按顺序对每一笔订单进行匹配,如果一个订单为买入(卖出),存在另一笔订单为卖出(买入)且价格相同,则两笔订单以最小的合同量成交,若存在多个卖出(买入)价格相同的订单,则根据时间先后依次匹配,匹配先存入订单表的订单。并根据交易信息以及市场交易价格计算每位交易者的损益,计算每一位交易者(id=i)的总资产:mi为账户保证金数额,Vi为持有仓位,Pm为本轮市场价,Pm’为上一轮市场价:
[0041]Ni=mi+Vi*(Pm–Pm’)
[0042]若总资产小于维持保证金K,K=|Vi|*Pm*β,(Vi为用户i持有仓位,Pm为本轮市场价,β由市场机制决定,实施中采用15%)则该交易者被强制平仓。
[0043]强制平仓的具体过程:
[0044]取消该交易者在订单表中的所有未被匹配的订单,然后将该交易者的总持有仓位按市场上的最低价进行成交,直至该交易者的总持有仓位为0,他被赶出期货市场。[0045]在SGX中记录成交的合同数量和匹配价格,将未被匹配的订单计入订单表中。SGX 中存储交易成交记录,交易者的库存信息,和订单表。
[0046]步骤4,智能合约对每个交易者的保证金进行调整。
[0047]具体过程如下:
[0048]在处理完100个订单后,即一轮结束后,SGX更新每个交易者的库存信息。[0049]对于仓位没有变动的用户:保证金额=原保证金额+仓位*(本期清算价-上期清算价);
[0050]对于仓位有变动,但不是强制平仓的用户:保证金额=原保证金额+未变的仓位* (本期清算价-上期清算价)+变化的仓位*(成交价-上期清算价);
[0051]对于被强制平仓的用户:保证金额=原保证金额+∑变化的仓位*(成交价-上期清算价);
[0052]当合约到期时,对于所有用户:保证金额=原保证金额+仓位*(本期清算价-上期清算价)。并且所有交易者仓位更新为0。
[0053]步骤5,将本轮交易的平均成交价、步骤4调整后用户的保证金数额、加密的交易者总持有仓位发送给智能合约,智能合约重新调整合约中存储的各交易者的保证金数额。[0054]步骤6,合约到期后,智能合约根据每个交易者保证金账户余额发还保证金,每个交易者取回剩余保证金。
[0055]传统的期货市场中交易者的信息都被保存在交易所,可能存在信息泄露的问题,信息泄露之后就有可能被其它交易者攻击,逐出交易市场。而且传统交易所会根据你订单

本文发布于:2024-09-22 01:17:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/400054.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:交易者   订单   保证金   可信
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议