一种基于区块链的反垃圾邮件系统的制作方法

文档序号:36501938发布日期:2023-12-28 05:27阅读:24来源:国知局
一种基于区块链的反垃圾邮件系统的制作方法

本发明涉及区块链,具体涉及一种基于区块链的反垃圾邮件系统。


背景技术:

1、现有技术中的互联网电子邮件系统反垃圾邮件的方式基本都是基于内容和邮件发送频率等参数,进行统计和分析,然后判定垃圾邮件。

2、现有技术中这种判定垃圾邮件的方式存在的问题包括:

3、1、邮件服务器需要累积一定的垃圾邮件数量之后才能判定垃圾邮件,此时危害已经造成,收件人可能已经接收到了垃圾邮件。

4、2、邮件服务器或者网络设备需要查看邮件的内容,根据内容的特征以及重复次数进行判定,容易造成用户隐私泄漏,且存在滥用数据分析技术的风险。

5、3、当前的邮件系统不能对邮件进行权重区分,营销邮件、普通邮件和重要邮件无法在保护用户隐私的前提下区别处理。


技术实现思路

1、本发明旨在提供一种基于区块链的反垃圾邮件系统,所要解决的技术问题至少包括如何实现邮件的事前定性而不是事后定性,如何在不窥探客户邮件内容的前提下,实现邮箱客户端与服务器之间的邮件分级发送,以及如何实现不同邮箱系统下的统一的付费服务规范。

2、为了实现上述目的,本发明提供一种基于区块链的反垃圾邮件系统,包括区块链邮票初始化单元、邮票获取与激活单元和邮票使用单元;所述的区块链邮票初始化单元包括邮票账本创建模块和邮票发行模块;所述的邮票账本创建模块用于通过区块链账本技术,使用口令或者助记词生成区块链邮票账本,该区块链邮票账本负责管理私钥、区块链地址与邮票余额;所述的邮票发行模块用于通过区块链邮票账本创建一个区块链邮票智能合约,即邮票合约;并在区块链上生成一个区块链智能合约地址,即邮票地址;所述的邮票获取与激活单元用于在使用区块链邮票之前为邮箱客户端创建邮票账本,在邮箱用户通过邮票发行渠道获取区块链邮票成功之后,如果是该邮箱用户的邮箱账本地址第一次获取该类区块链邮票,则在该区块链邮票对应的邮票合约中,余量映射表新增一条记录,否则余量映射表中本邮票账本地址对应的邮票数量增加新获取的邮票数量;同时已经拥有区块链邮票的用户能够通过客户端账本将持有的区块链邮票转账给接收者的邮票账本,转账方式为普通的区块链转账操作;转账成功之后,转账者账本地址对应的余量映射表中邮票数量减少转移量,接收者的账本地址对应的余量映射表中邮票数量新建记录或者增加转移量,如果是第一次接收则新增记录,否则增加邮票数量;邮票用于实现客户端与服务器之间以及不同服务器之间收发邮件的可信识别与服务服务费用记账;所述的邮票使用单元用于在邮票使用者发送邮件到邮票接收者对应的邮箱服务系统之前,首先发送贴邮票请求到邮票接收者对应的邮票服务系统,其中使用者地址为邮票使用者的区块链邮箱账本的地址;接收者地址为接收本次邮票的区块链邮箱账本地址。

3、优选地,接收邮票的系统与邮件系统在统一环境下运行。

4、优选地,接收邮票的系统与邮件系统分别运行在不同的系统中,由邮票接收者告知邮票服务系统有关的邮件支付状态;通过字段累积未兑付数描述累积的尚未兑付的邮票的数量,当贴邮票请求发送给邮票接收者之后,邮票接收者直接到区块链上的邮票合约进行兑付,或暂时不执行兑付函数,而是将邮票积累到一定的数量之后再去兑付,何时兑付取决于邮票接收者的系统设计;当邮票接收者收到贴邮票的请求之后,需要对该请求发送响应数据;邮票接收者发送的原始的请求数据,不做任何修改地复制到收邮票响应字段中。

5、优选地,将邮票积累到一定的数量之后再去兑付包括按时间周期兑付或按照累积量阈值兑付。

6、优选地,所述邮票账本的私钥存储分为两种模式,第一种模式为互联网邮箱,所述互联网邮箱的账本私钥由邮箱服务提供者管理,其安全性和管理方式由邮箱服务者提供;第二种模式为区块链邮箱,所述区块链邮箱的账本私钥由用户自己管理,由邮箱客户端负责邮箱账本的私钥管理和口令管理;该邮箱客户端支持区块链钱包的所有操作类型。

7、优选地,将支付邮票的一方定义为邮票使用者,接收邮票的一方定义为邮票接收者,邮票使用者和邮票接收者是拥有邮票账本的系统。

8、优选地,所述的邮票使用者和邮票接收者是邮票客户端和邮票服务器。

9、优选地,所述的邮票使用者和邮票接收者是智能合约或者it系统。

10、优选地,当所述的邮票使用者在余量映射表拥有映射数据之后,并不能直接用于邮箱服务,需要将余量表中的邮票数量转转帐到激活映射表中,只有邮票使用者的账本地址在激活映射表中存在对应的邮票数量数据之后,邮箱服务器者才能够为所述的邮票使用者提供服务。

11、优选地,所述邮票使用者增加激活映射表数据的方式是互联网方式,或者通过区块链账本或者区块链智能合约的方式。

12、优选地,对于邮票接收者的邮票服务系统,需要实时检测区块链上邮票合约发生的变动,并及时更新邮票服务系统的使用者账本本地存储数据,避免每次贴邮票请求的处理都要去同步区块链数据。

13、优选地,对于邮票使用者的邮票服务系统,如果该邮票使用者的邮箱服务系统为邮箱服务器,则实时监控区块链上发生的变动,并及时更新本地存储数据;如果该邮票使用者的邮箱服务系统为邮箱客户端,则根据邮票接收者的提示进行区块链查询,或定时查询,或者在系统启动时查询。

14、优选地,所述反垃圾邮件系统发送邮件的具体流程包括:

15、s1.1:邮票使用者的邮件服务系统准备好要发送的邮件之后,将邮件的唯一标识和邮件接收者对应的邮票服务系统信息发送到邮票使用者的邮票服务系统,其中邮件接收者的邮票服务系统信息包括邮票地址和接收者地址;邮票接收者对应的邮票服务系统信息获取方式由邮票接收者在发行邮票的时候公告,邮票使用者通过互联网网站或者区块链智能合约等方式获取;

16、s1.2:邮票使用者根据邮票接收者的邮票服务系统信息中的接收者地址,首先检查本地存储的最新的收邮票响应字段,如果本地存在该收邮票响应字段,则流程跳转到s1.5,否则向邮票接收者的邮票服务系统查询最新的收邮票响应字段;如果查询失败,则提示错误信息,流程结束;如果查询成功,则将此收邮票响应字段作为最新的数据存储在本邮票服务系统,并以此数据为基础进行贴邮票的操作;

17、s1.3:邮票使用者通过邮票账本查询邮票合约中关于邮票接收者地址的信息,并以该信息更新邮票接收者账本本地存储的数据,然后流程跳转到s1.5;

18、s1.4:当邮票接收者的邮票服务系统接收到查询收邮票响应的请求时,根据邮票使用者提供的使用者地址,查询本地存储的最新的收邮票响应数据,如果存在该数据,则跳转到s1.5;否则查询使用者账本本地存储中的数据,如果该使用者账本本地存储中的数据中的激活映射表不存在邮票使用者地址对应的数据,或者数据为0,则发送非授权用户的响应数据给邮票使用者邮票服务系统,流程跳转结束;否则,检测使用者账本本地存储中的兑付映射表关于该邮票使用者地址的数据,如果兑付映射表中不存在该邮票使用者地址的数据,则新建一条兑付映射表数据,并将累积兑付数设置为0,然后创建一条默认收邮票响应数据,并将该默认收邮票响应数据存储在本邮票服务系统中,同时将该默认收邮票响应数据发送给邮票接收者的邮票服务系统;

19、s1.5:邮票使用者对本地存储或者最新接收到的收邮票响应数据进行检查,如果该收邮票响应数据的贴邮票请求的数字签名为系统自定义常量,则说明此次为第一次系统交互,流程跳转到s1.6;否则,根据该收邮票响应数据中的贴邮票请求的数字签名和传入的接收者地址参数,对该数字签名进行签名验证,如果验证失败,提示错误,流程结束;

20、s1.6:根据本地存储的收邮票响应和接收者账本本地存储,进行贴邮票操作,其中邮票地址为邮票接收者发行的邮票智能合约的区块链地址;使用者地址为邮票使用者的区块链邮票账本地址;接收者地址为邮票接收者的区块链邮票账本地址;累积未兑付数的数值为本地存储或者最新获取的收邮票响应字段中的累积未兑付数加收邮票响应字段中的本次支付数;累积兑付数为接收者账本本地存储中的累积兑付数;unix时间为当前系统时间的unix时间戳;本次支付数为本次贴邮票请求需要消耗的邮票的数量,默认为1,如果某些邮件需要邮箱服务系统提供持久存储,邮箱用户需要将该邮件长久的存储在邮箱服务系统中,则将该本次支付数的值设置为大于1的数值,邮件唯一标识为邮箱服务系统传入的、需要邮票接收者邮箱服务系统处理的邮件的唯一标识;

21、s1.7:邮票接收者邮票服务系统接收到贴邮票请求之后,做如下检查:a.校验邮票地址是否为本邮票服务系统发行的有效邮票;b.检查接收者地址是否为本邮票服务系统的邮票账本地址;c.检查unix时间与本系统的unix时间,如果unix时间与本系统的unix时间之间的时间差超过一定阈值,则认为是重放攻击或者ddos攻击,该阈值由邮票接收者的邮票服务系统自定义;d.根据使用者地址与数字签名进行签名验证;如果以上检查失败,则向邮票使用者的邮票服务系统发送相关错误信息,流程结束;

22、s1.8:根据使用者地址,查询使用者账本本地存储关于该使用者地址的数据,如果不存在该使用者地址的数据,则向邮票使用者的邮票服务系统发送未授权用户的提示信息,流程结束;如果存在,则做如下校验:a.贴邮票请求中的累积兑付数是否等于使用者账本本地存储中兑付映射表的累积兑付数量,如果不相等,提示邮票使用者的邮票服务系统更新最新的邮票合约数据,流程跳转到s1.3;b.检查使用者账本本地存储中激活映射表的邮票数量是否大于贴邮票请求中的累积未兑付数加本次支付数的和,如果不大于,则发送余额不足的提示给邮票使用者的邮票服务系统,流程结束;

23、s1.9:根据贴邮票请求中的使用者地址,查询本地存储的最新的收邮票响应的数据,如果不存在该收邮票响应的数据,则按照s1.4的方式创建收邮票响应的数据并存储在本地邮票服务系统,将收到的贴邮票请求与本地存储的收邮票响应的信息进行校验:如果贴邮票请求中的累积未兑付数小于本地的收邮票响应中的累积未兑付数加收邮票响应中的本次支付数,则将本收邮票响应发送到邮票使用者的邮票服务系统,并提示邮票使用者的邮票服务系统以此最新的数据作为贴邮票操作的基础,重新发送贴邮票请求,流程转到s1.5;

24、s1.10:创建最新的收邮票响应字段,并将该最新的收邮票响应字段存储在本地邮票服务系统,同时将该最新的收邮票响应字段的数据发送到邮票接收者的邮票服务系统;同时将该最新的收邮票响应字段发送给邮票接收者的邮票服务系统,告知该邮票发送成功;

25、s1.11:邮票使用者的邮票服务系统收到邮票接收者的邮票服务系统发送的成功提示之后,更新本地邮票服务系统中该邮票接收者地址对应的收邮票响应,同时通知邮票使用者的邮箱服务系统发送该收邮票响应中邮件唯一标识对应的邮件到邮票接收者的邮箱服务系统;

26、s1.12:邮票接收者的邮箱服务系统在收到邮件后,首先通过邮票接收者的邮票服务系统,检查邮件对应的邮件唯一标识的支付状态,如果该邮件尚未支付邮票,则提示邮票接收者的邮箱服务系统需要首先支付区块链邮票才能接收该邮件,流程跳转到s1.1;否则存储该邮件并更新邮件相关的接收状态,同时通知邮票使用者的邮箱服务系统,邮件接收成功,流程结束。

27、优选地,所述的基于区块链的反垃圾邮件系统还包括邮票批量使用单元,如果邮票使用者与邮票接收者有多封邮件进行并行的收发,所述的邮票批量使用单元用于将贴邮票请求中的邮件唯一标识改为多封邮件的邮件唯一标识的组合,使用逗号作为分隔符,同时根据邮票的要求和本次邮件唯一标识的数量对本次支付数字段进行运算;邮票是否支持批量发送,以及邮票的用途用法,由邮票接收者在发行邮票的时候,广告或者通知给邮票使用者。

28、所述的基于区块链的反垃圾邮件系统还包括邮票结算单元,当某邮票使用者的累积未兑付数达到阈值之后,或者邮票接收者的邮票服务系统的时间阈值满足后,邮票接收者使用所述的邮票结算单元通过邮票合约的兑换函数,将未兑付的邮票在区块链上进行兑付。

29、所述的邮票结算单元将未兑付的邮票在区块链上进行兑付的具体流程包括:

30、s2.1:邮票接收者的邮票服务系统进入结算状态后,不再接收新的关于正在结算的邮票使用者发送的贴邮票请求,如果此时有新的贴邮票请求发送到本邮票服务系统,则提示本邮票服务系统正在结算操作到邮票使用者的邮票服务系统,当邮票使用者的邮票服务系统接收到该提示之后,需要等待5分钟后再次尝试发送贴邮票请求;

31、s2.2:邮票接收者的邮票服务系统选择需要结算的邮票使用者的最新的收邮票响应,通过邮票接收者的区块链邮票账本,将该最新的收邮票响应发送到邮票合约并调用兑付函数;该兑付函数接收到收邮票响应的数据后,首先检查发起该调用的邮票账本地址是否在邮票合约的操作员地址列表中,如果不存在,则提示无操作权限,流程结束;

32、s2.3:根据邮票接收者的区块链邮票账本地址与收邮票响应的数字签名进行签名验证,如果验证失败,则提示无效的收邮票响应,流程结束;

33、s2.4:提取收邮票响应中的贴邮票请求的数据,检查贴邮票请求中的累积兑付数与邮票合约中的兑付映射表中关于该贴邮票请求中的接收者地址对应的累积兑付数是否一致,如果不一致,则提示无效邮票响应,流程结束;

34、s2.5:将贴邮票请求中的累积未兑付数与本次支付数相加,得到的和定义为兑付额;比较兑付额与邮票合约中的激活映射表中关于该接收者地址的邮票数量,如果兑付额大于邮票合约中的激活映射表中关于该接收者地址的邮票数量,则提示余额不足,流程结束;

35、s2.6:将邮票合约中的激活映射表中关于贴邮票请求的接收者地址的邮票数量减去兑付额,累积映射表中关于该接收者地址的累积兑付额增加兑付额,余量映射表中关于该接收者地址的邮票数量增加兑付额,提示该兑付函数操作成功;

36、s2.7:邮票接收者的邮票服务系统等待区块链打包成功,如果打包失败,则流程跳转到s2.1,如果失败次数超过一定阈值,提示管理处理异常;如果打包成功,主动更新本地邮票服务系统的使用者账本本地存储,或者不主动通知,而是通过持续运行后台进程实时监控区块链上邮票合约的数据变动;同时解除关于收邮票响应中使用者地址对应的结算状态,允许该邮票使用者发送贴邮票请求,流程选择新的使用者进入结算状态,流程跳转到s2.1,否则流程结束。

37、与现有技术相比,本发明所述的基于区块链的反垃圾邮件系统的有益效果是:

38、1、识别垃圾邮件成本极大降低:拥有区块链邮票的邮件可以迅速被定为有效邮件,而无需进行垃圾邮件识别,节约识别垃圾邮件需要的计算和存储,并降低了系统设计的复杂性。

39、2、识别垃圾邮件的成功率极大提升:因为拥有区块链邮票需要一定的经济成本,并且邮票具备区块链账本的签名能力,因此通过区块链账本的验签技术,几乎不会错误的识别重要邮件或者将正常邮件识别为垃圾邮件,成功率几乎为百分之百。

40、3、增加邮件分级能力:通过设计不同的区块链邮票,可以将邮件区分为重要邮件和长期存储邮件,而且可以设计专用的营销邮件,增加了邮件分级管理的能力,丰富了邮件的管理方式。

41、4、增加了邮件服务的收费新模式:通过区块链邮票账本,可以为不同的邮件用户实现丰富的增值服务,还可以实现不同的邮件系统之间的可信交互与服务计费。

42、5、实现了跨域邮箱收发,增加了全新的鉴权方式:传统的邮箱技术,邮箱服务系统只能为本系统内的用户实现邮件收发服务,例如:alice@163.com这个用户只能通过163.com的邮箱服务器的用户名密码验证之后,才能够收发邮件,而且当此用户发送邮件到bob@qq.com时,必须通过163.com的邮箱服务系统转发到qq.com的邮箱服务系统,否则无法通过用户鉴权并会被认定为一种网络攻击。如果alice@163.com拥有了区块链邮箱账本,并且qq.com拥有了邮票服务系统,则alice@163.com在获取了qq.com发行的区块链邮票之后,便可以通过为邮件贴邮票的方式,直接将邮件发送到qq.com的邮票服务系统。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1