1.一种基于区块链的电子支票交易方法,其特征在于,所述方法包括:转出方A将指定金额S打入区块链上预先创建的智能合约C,并通过智能合约C内置的非对称加密算法和数字签名算法生成支票编码cadr0、查询验证代码q1和转移确认代码q2;
接收方B由转出方A处获取所述支票编码cadr0、转入金额S以及查询验证代码q1,并根据所述支票编码cadr0和查询验证代码q1,在智能合约C上基于合约内置的非对称加密算法和数字签名验签算法,验证查询支票来源的钱包地址walletA,并将接收方B钱包地址walletB变更为唯一可查询和可转入的地址完成合约钱包所有者的变更;
接收方B使用转移确认代码q2和接收方B的签名解锁处于冻结状态的金额S;
接收方B使用转移确认代码q2以及通过私钥pkB签名后从智能合约C中将金额S提现到个人钱包地址wallet B,同时电子支票编码cadr0失效。
2.根据权利要求1所述的一种基于区块链的电子支票交易方法,其特征在于,通过智能合约C内置的非对称加密算法和数字签名算法生成支票编码cadr0、查询验证代码q1和转移确认代码q2,具体包括:
智能合约C创建多签名合约钱包地址,此钱包地址即支票编码cadr0,此时合约钱包所有者设置为转出方A钱包地址walletA;
智能合约C通过内置的数字签名算法,使用转出方A的私钥pkA对转入金额S进行签名,签名结果即为查询验证代码q1,所述查询验证代码q1作为合约钱包所有者转移函数的触发条件之一;
同时智能合约C调用钱包地址walletA的私钥签出与金额S一致的包含转出地址缺省值的签名,签名结果即为多签名钱包资产转移确认代码q2。
3.根据权利要求1所述的一种基于区块链的电子支票交易方法,其特征在于,所述非对称加密算法包括椭圆曲线算法。
4.根据权利要求1所述的一种基于区块链的电子支票交易方法,其特征在于,所述方法还包括:
转出方A将所述支票编码cadr0、转入金额S以及查询验证代码q1打印到纸质凭据上;
接收方B由转出方A处获取所述纸质凭据,从而获取所述支票编码cadr0、转入金额S以及查询验证代码q1。
5.根据权利要求1所述的一种基于区块链的电子支票交易方法,其特征在于,所述区块链包括以太坊区块链。
6.根据权利要求1所述的一种基于区块链的电子支票交易方法,其特征在于,所述智能合约C中包括新建单一所有者的合约钱包创建程序、合约钱包所有者属性控制函数以及合约钱包余额转账函数。
7.一种基于区块链的电子支票交易系统,其特征在于,所述系统包括:支票生成模块,用于转出方A将指定金额S打入区块链上预先创建的智能合约C,并通过智能合约C内置的非对称加密算法和数字签名算法生成支票编码cadr0、查询验证代码q1和转移确认代码q2;
钱包所有者变更模块,用于接收方B由转出方A处获取所述支票编码cadr0、转入金额S以及查询验证代码q1,并根据所述支票编码cadr0和查询验证代码q1,在智能合约C上基于合约内置的非对称加密算法和数字签名验签算法,验证查询支票来源的钱包地址walletA,并将接收方B钱包地址walletB变更为唯一可查询和可转入的地址完成合约钱包所有者的变更;
资金解锁模块,用于接收方B使用转移确认代码q2和接收方B的签名解锁处于冻结状态的资金金额S;
转账提现模块,用于接收方B使用转移确认代码q2以及通过私钥pkB签名后从智能合约C中将金额S提现到个人钱包地址wallet B,同时电子支票编码cadr0失效。
8.根据权利要求7所述的一种基于区块链的电子支票交易系统,其特征在于,所述支票生成模块具体用于:
智能合约C创建多签名合约钱包地址,此钱包地址即支票编码cadr0,此时合约钱包所有者设置为转出方A钱包地址walletA;
智能合约C通过内置的数字签名算法,使用转出方A的私钥pkA对转入金额S进行签名,签名结果即为查询验证代码q1,所述查询验证代码q1作为合约钱包所有者转移函数的触发条件之一;
同时智能合约C调用钱包地址walletA的私钥签出与金额S一致的包含转出地址缺省值的签名,签名结果即为多签名钱包资产转移确认代码q2。
9.根据权利要求7所述的一种基于区块链的电子支票交易系统,其特征在于,所述系统还包括:
打印模块,用于转出方A将所述支票编码cadr0、转入金额S以及查询验证代码q1打印到纸质凭据上,以便接收方B由转出方A处获取所述纸质凭据,从而获取所述支票编码cadr0、转入金额S以及查询验证代码q1。