1.一种基于区块链的时延容忍网络公平激励方法,其特征在于,包括消息发送阶段、消息中转阶段、密文数据接收阶段一、密文数据接收阶段二、关闭阶段,每个阶段步骤如下:所述消息发送阶段:发送节点首先将消息发送至中间节点,中间节点对待发送消息进行加密并产生相应加密的零知识证明;随后,中间节点将密文及零知识证明返回至发送节点,发送节点根据证明对密文验证成功后部署智能合约并向其预先存储手续费,同时对密文数据进行签名并将对应签名及其他信息存储至智能合约;
所述发送节点拥有签名公私钥对(sks,pks),所述中间节点拥有密公私钥(y,x),所述发送节点签名公私钥用于签名产生和验证,所述中间节点拥有加解密公私钥,同时加解密公x私钥满足关系y=g;
所述消息发送阶段包括如下具体步骤:
假设待发送消息为m且 当发送者需要向接收者发送消息m时,首先将m发送至中间节点,中间节点接收到m后进行以下步骤:A1:从 群中选取随机数r;
r
A2:计算密文c1=g和
A3:使用零知识证明技术对密文(c1,c2)产生证明proof;
A4:将证明proof与密文(c1,c2)一同发送至发送者;
接受者接收到证明proof与密文(c1,c2)后进行以下操作:B1:根据证明proof、消息m对密文(c1,c2)进行验证;
B2:验证成功,利用sha256哈希函数计算密文(c1,c2)的对应哈希值ch=sha256(c1||c2);
B3:利用签名私钥sks对哈希值ch签名得到δc,同时将δc发送至中间节点;
B4:最后调用智能合约Send函数记录本次消息发送;
所述发送节点向中间节点传输完相应数据后向区块链系统部署一份智能合约,并调用Send函数,所述Send函数仅允许发送节点调用,用于构建并部署消息所需合约以及预支付此次消息发送手续费;
所述消息中转阶段:中间节点通过智能合约得到相关消息后,首先根据签名、密文数据与发送节点公钥对消息进行验证,如果验证成功便存储该消息同时前往接收节点所在区域,同时中间节点向智能合约发送保证金;
所述密文数据接收阶段一:中间节点到达接收节点所在区域后,通过与接收节点建立的临时通信信道将存储的密文和签名数据转发至接收节点;接收节点同样对密文数据进行验证,验证成功调用智能合约函数进行解密密密钥交换;
所述密文数据接收阶段二:中间节点通过区块链同步机制获悉接收节点发送数据,调用智能合约函数提交最后的密钥交换信息,智能合约将验证提交信息是否有效,如果有效则自动向中间节点发送手续费;
所述关闭阶段:如果接收节点通过中间节点提交信息可对密文数据进行解密获取原文,消息发送正式结束,同时中间节点赎回保证金;如果在截止时间前,中间节点始终未执行密文数据接收阶段二中制定动作,接收节点可通过只用智能合约中函数获取中间节点提交的保证金作为补偿。
2.根据权利要求1所述的基于区块链的时延容忍网络公平激励方法,其特征在于,所述消息中转阶段包括如下具体步骤:中间节点通过智能合约拿到发送节点关于消息m的对应签名δc后,进行如下操作:C1:利用sha256哈希函数计算密文(c1,c2)对应哈希值ch′=sha256(c1||c2)C2:通过签名数据δc与发送节点签名公钥pks对哈希值ch′进行验证;
r
C3:签名验证有效后,利用等式c1=g 和 验证密文是否加密正确;
如果验证正确,中间节点将会存储该消息并前往接收节点区域,最后调用智能合约Forward函数存储押金,否则不做任何操作,Forward函数仅允许中间节点调用,用于防止中间节点进行恶意攻击需要中间节点提交部分押金。
3.根据权利要求1所述的基于区块链的时延容忍网络公平激励方法,其特征在于,所述密文数据接收阶段一包括如下具体步骤:当到达接收节点所在区域后,中间节点将密文(c1,c2)及发送节点的对应签名δc发送至接收节点,接收节点收到中间节点发送的消息后,进行如下操作:D1:利用sha256哈希函数计算密文(c1,c2)对应哈希值ch′=sha256(c1||c2);
D2:通过签名数据δc与发送节点签名公钥pks对哈希值ch′进行验证,确认该消息真实来自于发送节点;
′
D3:如果验证成功,则在 中随机选取x;
D4:计算 和
随后接收节点调用智能合约Recive_1函数,所述Recive_1函数由接收节点调用,用来进行解密密钥交换,通过智能合约对等式 对R进行有效性检查。
4.根据权利要求1所述的基于区块链的时延容忍网络公平激励方法,其特征在于,所述密文数据接收阶段二包括如下具体步骤:中间节点在通过区块链系统共识机制获悉到接收节点已成功接收发送数据并触发智能合约Recive_1函数,之后进行如下操作:x
E1:中间节点从智能合约中获取接收节点提交的R,同时计算临时解密密钥A=R;
E2:最后中间节点调用智能合约中的Receive_2函数,所述Receive_2函数用来进行解密密钥交换,同时智能合约通过等式 对A的有效性进行检查,当检查通过后,智能合约将自动向中间节点发送对应手续费从而保障中间节点的利益并促进延迟容忍网络的发展运行。
5.根据权利要求1所述的基于区块链的时延容忍网络公平激励方法,其特征在于,所述关闭阶段包括如下具体步骤:接收节点通过区块链同步机制发现中间节点已提交的临时解密密钥A后,接收节点进行如下操作:F1:接收节点从智能合约中取出临时解密密钥A,之后计算F2:随后利用k对密文(c1,c2)进行解密操作获取消息m,计算步骤如下:如果中间节点未在规定时间内向智能合约发送临时解密密钥A,接收节点可调用智能合约Close函数对中间节点做出惩罚;
当中间节点在规定时间内未向接收节点提供临时解密密钥时,接收节点调用Close函数申请赔偿,智能合约把中间节点存储的押金作为补偿发送至发送节点,中间节点通过Close函数拿回押金。