CN117278192B - 一种基于区块链的反垃圾邮件系统 - Google Patents
一种基于区块链的反垃圾邮件系统 Download PDFInfo
- Publication number
- CN117278192B CN117278192B CN202310236255.7A CN202310236255A CN117278192B CN 117278192 B CN117278192 B CN 117278192B CN 202310236255 A CN202310236255 A CN 202310236255A CN 117278192 B CN117278192 B CN 117278192B
- Authority
- CN
- China
- Prior art keywords
- stamp
- user
- service system
- blockchain
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003213 activating effect Effects 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims description 124
- 238000013507 mapping Methods 0.000 claims description 63
- 238000012546 transfer Methods 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 25
- 230000004913 activation Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 15
- 230000009191 jumping Effects 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 230000001186 cumulative effect Effects 0.000 claims description 7
- 238000013461 design Methods 0.000 claims description 5
- 230000001343 mnemonic effect Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000012856 packing Methods 0.000 claims description 3
- 230000007474 system interaction Effects 0.000 claims description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011796 hollow space material Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Abstract
本发明涉及一种基于区块链的反垃圾邮件系统,该系统包括区块链邮票初始化单元、邮票获取与激活单元和邮票使用单元;区块链邮票初始化单元包括邮票账本创建模块和邮票发行模块;邮票获取与激活单元用于在使用区块链邮票之前为邮箱客户端创建邮票账本,在邮箱用户通过邮票发行渠道获取区块链邮票成功之后,如果是第一次获取该类区块链邮票,则在该区块链邮票对应的邮票合约中,余量映射表新增一条记录,否则增加新获取的邮票数量;邮票使用单元用于在邮票使用者发送邮件到邮票接收者对应的邮箱服务系统之前,首先发送贴邮票请求到邮票接收者对应的邮票服务系统。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的反垃圾邮件系统。
背景技术
现有技术中的互联网电子邮件系统反垃圾邮件的方式基本都是基于内容和邮件发送频率等参数,进行统计和分析,然后判定垃圾邮件。
现有技术中这种判定垃圾邮件的方式存在的问题包括:
1、邮件服务器需要累积一定的垃圾邮件数量之后才能判定垃圾邮件,此时危害已经造成,收件人可能已经接收到了垃圾邮件。
2、邮件服务器或者网络设备需要查看邮件的内容,根据内容的特征以及重复次数进行判定,容易造成用户隐私泄漏,且存在滥用数据分析技术的风险。
3、当前的邮件系统不能对邮件进行权重区分,营销邮件、普通邮件和重要邮件无法在保护用户隐私的前提下区别处理。
发明内容
本发明旨在提供一种基于区块链的反垃圾邮件系统,所要解决的技术问题至少包括如何实现邮件的事前定性而不是事后定性,如何在不窥探客户邮件内容的前提下,实现邮箱客户端与服务器之间的邮件分级发送,以及如何实现不同邮箱系统下的统一的付费服务规范。
为了实现上述目的,本发明提供一种基于区块链的反垃圾邮件系统,包括区块链邮票初始化单元、邮票获取与激活单元和邮票使用单元;所述的区块链邮票初始化单元包括邮票账本创建模块和邮票发行模块;所述的邮票账本创建模块用于通过区块链账本技术,使用口令或者助记词生成区块链邮票账本,该区块链邮票账本负责管理私钥、区块链地址与邮票余额;所述的邮票发行模块用于通过区块链邮票账本创建一个区块链邮票智能合约,即邮票合约;并在区块链上生成一个区块链智能合约地址,即邮票地址;所述的邮票获取与激活单元用于在使用区块链邮票之前为邮箱客户端创建邮票账本,在邮箱用户通过邮票发行渠道获取区块链邮票成功之后,如果是该邮箱用户的邮箱账本地址第一次获取该类区块链邮票,则在该区块链邮票对应的邮票合约中,余量映射表新增一条记录,否则余量映射表中本邮票账本地址对应的邮票数量增加新获取的邮票数量;同时已经拥有区块链邮票的用户能够通过客户端账本将持有的区块链邮票转账给接收者的邮票账本,转账方式为普通的区块链转账操作;转账成功之后,转账者账本地址对应的余量映射表中邮票数量减少转移量,接收者的账本地址对应的余量映射表中邮票数量新建记录或者增加转移量,如果是第一次接收则新增记录,否则增加邮票数量;邮票用于实现客户端与服务器之间以及不同服务器之间收发邮件的可信识别与服务服务费用记账;所述的邮票使用单元用于在邮票使用者发送邮件到邮票接收者对应的邮箱服务系统之前,首先发送贴邮票请求到邮票接收者对应的邮票服务系统,其中使用者地址为邮票使用者的区块链邮箱账本的地址;接收者地址为接收本次邮票的区块链邮箱账本地址。
优选地,接收邮票的系统与邮件系统在统一环境下运行。
优选地,接收邮票的系统与邮件系统分别运行在不同的系统中,由邮票接收者告知邮票服务系统有关的邮件支付状态;通过字段累积未兑付数描述累积的尚未兑付的邮票的数量,当贴邮票请求发送给邮票接收者之后,邮票接收者直接到区块链上的邮票合约进行兑付,或暂时不执行兑付函数,而是将邮票积累到一定的数量之后再去兑付,何时兑付取决于邮票接收者的系统设计;当邮票接收者收到贴邮票的请求之后,需要对该请求发送响应数据;邮票接收者发送的原始的请求数据,不做任何修改地复制到收邮票响应字段中。
优选地,将邮票积累到一定的数量之后再去兑付包括按时间周期兑付或按照累积量阈值兑付。
优选地,所述邮票账本的私钥存储分为两种模式,第一种模式为互联网邮箱,所述互联网邮箱的账本私钥由邮箱服务提供者管理,其安全性和管理方式由邮箱服务者提供;第二种模式为区块链邮箱,所述区块链邮箱的账本私钥由用户自己管理,由邮箱客户端负责邮箱账本的私钥管理和口令管理;该邮箱客户端支持区块链钱包的所有操作类型。
优选地,将支付邮票的一方定义为邮票使用者,接收邮票的一方定义为邮票接收者,邮票使用者和邮票接收者是拥有邮票账本的系统。
优选地,所述的邮票使用者和邮票接收者是邮票客户端和邮票服务器。
优选地,所述的邮票使用者和邮票接收者是智能合约或者IT系统。
优选地,当所述的邮票使用者在余量映射表拥有映射数据之后,并不能直接用于邮箱服务,需要将余量表中的邮票数量转转帐到激活映射表中,只有邮票使用者的账本地址在激活映射表中存在对应的邮票数量数据之后,邮箱服务器者才能够为所述的邮票使用者提供服务。
优选地,所述邮票使用者增加激活映射表数据的方式是互联网方式,或者通过区块链账本或者区块链智能合约的方式。
优选地,对于邮票接收者的邮票服务系统,需要实时检测区块链上邮票合约发生的变动,并及时更新邮票服务系统的使用者账本本地存储数据,避免每次贴邮票请求的处理都要去同步区块链数据。
优选地,对于邮票使用者的邮票服务系统,如果该邮票使用者的邮箱服务系统为邮箱服务器,则实时监控区块链上发生的变动,并及时更新本地存储数据;如果该邮票使用者的邮箱服务系统为邮箱客户端,则根据邮票接收者的提示进行区块链查询,或定时查询,或者在系统启动时查询。
优选地,所述反垃圾邮件系统发送邮件的具体流程包括:
S1.1:邮票使用者的邮件服务系统准备好要发送的邮件之后,将邮件的唯一标识和邮件接收者对应的邮票服务系统信息发送到邮票使用者的邮票服务系统,其中邮件接收者的邮票服务系统信息包括邮票地址和接收者地址;邮票接收者对应的邮票服务系统信息获取方式由邮票接收者在发行邮票的时候公告,邮票使用者通过互联网网站或者区块链智能合约等方式获取;
S1.2:邮票使用者根据邮票接收者的邮票服务系统信息中的接收者地址,首先检查本地存储的最新的收邮票响应字段,如果本地存在该收邮票响应字段,则流程跳转到S1.5,否则向邮票接收者的邮票服务系统查询最新的收邮票响应字段;如果查询失败,则提示错误信息,流程结束;如果查询成功,则将此收邮票响应字段作为最新的数据存储在本邮票服务系统,并以此数据为基础进行贴邮票的操作;
S1.3:邮票使用者通过邮票账本查询邮票合约中关于邮票接收者地址的信息,并以该信息更新邮票接收者账本本地存储的数据,然后流程跳转到S1.5;
S1.4:当邮票接收者的邮票服务系统接收到查询收邮票响应的请求时,根据邮票使用者提供的使用者地址,查询本地存储的最新的收邮票响应数据,如果存在该数据,则跳转到S1.5;否则查询使用者账本本地存储中的数据,如果该使用者账本本地存储中的数据中的激活映射表不存在邮票使用者地址对应的数据,或者数据为0,则发送非授权用户的响应数据给邮票使用者邮票服务系统,流程跳转结束;否则,检测使用者账本本地存储中的兑付映射表关于该邮票使用者地址的数据,如果兑付映射表中不存在该邮票使用者地址的数据,则新建一条兑付映射表数据,并将累积兑付数设置为0,然后创建一条默认收邮票响应数据,并将该默认收邮票响应数据存储在本邮票服务系统中,同时将该默认收邮票响应数据发送给邮票接收者的邮票服务系统;
S1.5:邮票使用者对本地存储或者最新接收到的收邮票响应数据进行检查,如果该收邮票响应数据的贴邮票请求的数字签名为系统自定义常量,则说明此次为第一次系统交互,流程跳转到S1.6;否则,根据该收邮票响应数据中的贴邮票请求的数字签名和传入的接收者地址参数,对该数字签名进行签名验证,如果验证失败,提示错误,流程结束;
S1.6:根据本地存储的收邮票响应和接收者账本本地存储,进行贴邮票操作,其中邮票地址为邮票接收者发行的邮票智能合约的区块链地址;使用者地址为邮票使用者的区块链邮票账本地址;接收者地址为邮票接收者的区块链邮票账本地址;累积未兑付数的数值为本地存储或者最新获取的收邮票响应字段中的累积未兑付数加收邮票响应字段中的本次支付数;累积兑付数为接收者账本本地存储中的累积兑付数;Unix时间为当前系统时间的Unix时间戳;本次支付数为本次贴邮票请求需要消耗的邮票的数量,默认为1,如果某些邮件需要邮箱服务系统提供持久存储,邮箱用户需要将该邮件长久的存储在邮箱服务系统中,则将该本次支付数的值设置为大于1的数值,邮件唯一标识为邮箱服务系统传入的、需要邮票接收者邮箱服务系统处理的邮件的唯一标识;
S1.7:邮票接收者邮票服务系统接收到贴邮票请求之后,做如下检查:a.校验邮票地址是否为本邮票服务系统发行的有效邮票;b.检查接收者地址是否为本邮票服务系统的邮票账本地址;c.检查Unix时间与本系统的Unix时间,如果Unix时间与本系统的Unix时间之间的时间差超过一定阈值,则认为是重放攻击或者DDOS攻击,该阈值由邮票接收者的邮票服务系统自定义;d.根据使用者地址与数字签名进行签名验证;如果以上检查失败,则向邮票使用者的邮票服务系统发送相关错误信息,流程结束;
S1.8:根据使用者地址,查询使用者账本本地存储关于该使用者地址的数据,如果不存在该使用者地址的数据,则向邮票使用者的邮票服务系统发送未授权用户的提示信息,流程结束;如果存在,则做如下校验:a.贴邮票请求中的累积兑付数是否等于使用者账本本地存储中兑付映射表的累积兑付数量,如果不相等,提示邮票使用者的邮票服务系统更新最新的邮票合约数据,流程跳转到S1.3;b.检查使用者账本本地存储中激活映射表的邮票数量是否大于贴邮票请求中的累积未兑付数加本次支付数的和,如果不大于,则发送余额不足的提示给邮票使用者的邮票服务系统,流程结束;
S1.9:根据贴邮票请求中的使用者地址,查询本地存储的最新的收邮票响应的数据,如果不存在该收邮票响应的数据,则按照S1.4的方式创建收邮票响应的数据并存储在本地邮票服务系统,将收到的贴邮票请求与本地存储的收邮票响应的信息进行校验:如果贴邮票请求中的累积未兑付数小于本地的收邮票响应中的累积未兑付数加收邮票响应中的本次支付数,则将本收邮票响应发送到邮票使用者的邮票服务系统,并提示邮票使用者的邮票服务系统以此最新的数据作为贴邮票操作的基础,重新发送贴邮票请求,流程转到S1.5;
S1.10:创建最新的收邮票响应字段,并将该最新的收邮票响应字段存储在本地邮票服务系统,同时将该最新的收邮票响应字段的数据发送到邮票接收者的邮票服务系统;同时将该最新的收邮票响应字段发送给邮票接收者的邮票服务系统,告知该邮票发送成功;
S1.11:邮票使用者的邮票服务系统收到邮票接收者的邮票服务系统发送的成功提示之后,更新本地邮票服务系统中该邮票接收者地址对应的收邮票响应,同时通知邮票使用者的邮箱服务系统发送该收邮票响应中邮件唯一标识对应的邮件到邮票接收者的邮箱服务系统;
S1.12:邮票接收者的邮箱服务系统在收到邮件后,首先通过邮票接收者的邮票服务系统,检查邮件对应的邮件唯一标识的支付状态,如果该邮件尚未支付邮票,则提示邮票接收者的邮箱服务系统需要首先支付区块链邮票才能接收该邮件,流程跳转到S1.1;否则存储该邮件并更新邮件相关的接收状态,同时通知邮票使用者的邮箱服务系统,邮件接收成功,流程结束。
优选地,所述的基于区块链的反垃圾邮件系统还包括邮票批量使用单元,如果邮票使用者与邮票接收者有多封邮件进行并行的收发,所述的邮票批量使用单元用于将贴邮票请求中的邮件唯一标识改为多封邮件的邮件唯一标识的组合,使用逗号作为分隔符,同时根据邮票的要求和本次邮件唯一标识的数量对本次支付数字段进行运算;邮票是否支持批量发送,以及邮票的用途用法,由邮票接收者在发行邮票的时候,广告或者通知给邮票使用者。
所述的基于区块链的反垃圾邮件系统还包括邮票结算单元,当某邮票使用者的累积未兑付数达到阈值之后,或者邮票接收者的邮票服务系统的时间阈值满足后,邮票接收者使用所述的邮票结算单元通过邮票合约的兑换函数,将未兑付的邮票在区块链上进行兑付。
所述的邮票结算单元将未兑付的邮票在区块链上进行兑付的具体流程包括:
S2.1:邮票接收者的邮票服务系统进入结算状态后,不再接收新的关于正在结算的邮票使用者发送的贴邮票请求,如果此时有新的贴邮票请求发送到本邮票服务系统,则提示本邮票服务系统正在结算操作到邮票使用者的邮票服务系统,当邮票使用者的邮票服务系统接收到该提示之后,需要等待5分钟后再次尝试发送贴邮票请求;
S2.2:邮票接收者的邮票服务系统选择需要结算的邮票使用者的最新的收邮票响应,通过邮票接收者的区块链邮票账本,将该最新的收邮票响应发送到邮票合约并调用兑付函数;该兑付函数接收到收邮票响应的数据后,首先检查发起该调用的邮票账本地址是否在邮票合约的操作员地址列表中,如果不存在,则提示无操作权限,流程结束;
S2.3:根据邮票接收者的区块链邮票账本地址与收邮票响应的数字签名进行签名验证,如果验证失败,则提示无效的收邮票响应,流程结束;
S2.4:提取收邮票响应中的贴邮票请求的数据,检查贴邮票请求中的累积兑付数与邮票合约中的兑付映射表中关于该贴邮票请求中的接收者地址对应的累积兑付数是否一致,如果不一致,则提示无效邮票响应,流程结束;
S2.5:将贴邮票请求中的累积未兑付数与本次支付数相加,得到的和定义为兑付额;比较兑付额与邮票合约中的激活映射表中关于该接收者地址的邮票数量,如果兑付额大于邮票合约中的激活映射表中关于该接收者地址的邮票数量,则提示余额不足,流程结束;
S2.6:将邮票合约中的激活映射表中关于贴邮票请求的接收者地址的邮票数量减去兑付额,累积映射表中关于该接收者地址的累积兑付额增加兑付额,余量映射表中关于该接收者地址的邮票数量增加兑付额,提示该兑付函数操作成功;
S2.7:邮票接收者的邮票服务系统等待区块链打包成功,如果打包失败,则流程跳转到S2.1,如果失败次数超过一定阈值,提示管理处理异常;如果打包成功,主动更新本地邮票服务系统的使用者账本本地存储,或者不主动通知,而是通过持续运行后台进程实时监控区块链上邮票合约的数据变动;同时解除关于收邮票响应中使用者地址对应的结算状态,允许该邮票使用者发送贴邮票请求,流程选择新的使用者进入结算状态,流程跳转到S2.1,否则流程结束。
与现有技术相比,本发明所述的基于区块链的反垃圾邮件系统的有益效果是:
1、识别垃圾邮件成本极大降低:拥有区块链邮票的邮件可以迅速被定为有效邮件,而无需进行垃圾邮件识别,节约识别垃圾邮件需要的计算和存储,并降低了系统设计的复杂性。
2、识别垃圾邮件的成功率极大提升:因为拥有区块链邮票需要一定的经济成本,并且邮票具备区块链账本的签名能力,因此通过区块链账本的验签技术,几乎不会错误的识别重要邮件或者将正常邮件识别为垃圾邮件,成功率几乎为百分之百。
3、增加邮件分级能力:通过设计不同的区块链邮票,可以将邮件区分为重要邮件和长期存储邮件,而且可以设计专用的营销邮件,增加了邮件分级管理的能力,丰富了邮件的管理方式。
4、增加了邮件服务的收费新模式:通过区块链邮票账本,可以为不同的邮件用户实现丰富的增值服务,还可以实现不同的邮件系统之间的可信交互与服务计费。
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.通过区块链钱包技术实现在不窥探客户邮件内容的前提下,实现邮箱客户端与服务器之间的邮件分级发送。
3.通过区块链支付技术,实现不同邮箱系统下的统一的付费服务规范。
本发明中区块链邮票智能合约数据结构为:
管理员地址;
操作员地址列表;
邮票名称;
邮票数量;
邮票类型;
邮票附加信息;
余量映射表:【账本地址】=邮票数量;
授权映射表:【账本地址】=>【地址】=授权数量;
兑付映射表:【账本地址】=累积兑付数;
激活映射表:【账本地址】=邮票数量。
如图1所示,本发明所述的基于区块链的反垃圾邮件系统包括区块链邮票初始化单元、邮票获取与激活单元和邮票使用单元;所述的区块链邮票初始化单元包括邮票账本创建模块和邮票发行模块;所述的邮票账本创建模块用于通过区块链账本技术,使用口令或者助记词生成区块链邮票账本,该区块链邮票账本负责管理私钥、区块链地址与邮票余额;所述的邮票发行模块用于通过区块链邮票账本创建一个区块链邮票智能合约,即邮票合约;并在区块链上生成一个区块链智能合约地址,即邮票地址;所述的邮票获取与激活单元用于在使用区块链邮票之前为邮箱客户端创建邮票账本,在邮箱用户通过邮票发行渠道获取区块链邮票成功之后,如果是该邮箱用户的邮箱账本地址第一次获取该类区块链邮票,则在该区块链邮票对应的邮票合约中,余量映射表新增一条记录,否则余量映射表中本邮票账本地址对应的邮票数量增加新获取的邮票数量;同时已经拥有区块链邮票的用户能够通过客户端账本将持有的区块链邮票转账给接收者的邮票账本,转账方式为普通的区块链转账操作;转账成功之后,转账者账本地址对应的余量映射表中邮票数量减少转移量,接收者的账本地址对应的余量映射表中邮票数量新建记录或者增加转移量,如果是第一次接收则新增记录,否则增加邮票数量;邮票用于实现客户端与服务器之间以及不同服务器之间收发邮件的可信识别与服务服务费用记账;所述的邮票使用单元用于在邮票使用者发送邮件到邮票接收者对应的邮箱服务系统之前,首先发送贴邮票请求到邮票接收者对应的邮票服务系统,其中使用者地址为邮票使用者的区块链邮箱账本的地址;接收者地址为接收本次邮票的区块链邮箱账本地址。
区块链邮票初始化:
Step1:创建邮票账本
通过区块链账本技术,使用口令或者助记词生成区块链邮票账本,该账本负责管理私钥、区块链地址与邮票余额。该账本的生成与管理不属于本专利讨论范围。
Step2:发行邮票
区块链邮票是一种部署在区块链公链上的智能合约,通过邮票账本可以创建一个区块链邮票智能合约,该区块链邮票智能合约简称为邮票合约。管理员地址:创建合约时,邮票账本的区块链地址默认为本合约的管理员地址;操作员地址列表:为了方便邮票的管理与维护,通过管理员可以新增其它区块链邮票账本地址为操作员地址到邮票合约的操作员地址列表中,其中管理员地址在合约创建时自动加入该列表;邮票名称:在创建合约时,需要填写本邮票的名称,用于展现在邮箱客户端,方便用户区分和识别;邮票数量:邮票的发行总量,该发行数量根据预期的邮箱的用户数量以及与其它邮箱系统的交互量指定;邮票等级:根据不同的邮票类型,邮件服务器之间应该给予邮件不同的处理方式,该邮票类型使用单个英文字母大写表示,即A~Z表示,对于该字母类型对应的解释不在该专利讨论范围,由其它区块智能合约存储并由所有邮件服务提供者共同认可使用,所有邮件服务提供者对同类型的邮件的处理方式必须相同;邮票附加信息:为了方便展示邮票的纪念属性和其它附加意义,可以在该字段中增加邮票的图片链接、邮票简介、邮票英文字母缩写等,该字段的格式与使用方式不在本专利的讨论范围;余量映射表:表示所有邮箱账本拥有的该类邮票的数量,授权映射表:邮票拥有者可以将自己的邮票授权给其它邮票账本使用,被授权的邮票账本地址可以是普通的邮票账本,也可以是其它智能合约的地址;兑付映射表:邮箱服务提供者在接收到其它邮箱账本提供的邮票之后,可以将该邮票兑付到自己的账本地址下,该映射表记录邮票服务提供者累积兑付的邮票数量;激活映射表:邮票的使用者对应的邮票账本地址需要在该表中具有一定的邮票数量,邮箱服务者才会为其提供需要邮票的邮箱服务,该映射表的数据可以通过多种方式增加邮票数量,增加方式包含但不限于区块链邮箱账本转账,智能合约转账,但是只能通过邮票合约的兑付函数减少邮票的映射数量。
当邮票合约创建成功之后,会在区块链上生成一个区块链智能合约地址,该地址简称邮票地址。邮箱服务提供者负责将该邮票的相关信息公告给系统的使用者,使用者通过邮票地址,在区块链查询智能合约的详细信息,同时服务者需要将邮票合约的源代码公告给使用者,使用者通过计算源代码的哈希值,校验邮票合约的真实性和可信性。在公告合约地址、源代码之后,通过区块链技术存储的该邮票即可被认定为安全可信的。
邮票获取与激活:
在使用区块链邮票之前,需要为邮箱客户端创建邮票账本,该邮箱用户的账本的私钥存储分为两种模式,第一种模式账本私钥由邮箱服务提供者管理,其安全性和管理方式由邮箱服务者提供,该类邮箱定义为传统的互联网电子邮箱,以下简称互联网邮箱。第二种模式账本私钥由用户自己管理,该方式需要邮箱客户端负责邮箱账本的私钥管理和口令管理。该邮箱客户端支持区块链钱包的所有操作类型,该类邮箱定义为新型的区块链分布式邮箱,以下简称区块链邮箱。
邮箱用户通过邮票发行渠道获取区块链邮票,获取方式不在本专利描述范畴。获取成功之后,如果是该用户的邮箱账本地址第一次获取该类邮票,则该邮票对应的邮票合约中,余量映射表新增一条记录,否则余量映射表中本邮票账本地址对应的邮票数量增加新获取的邮票数量。同时已经拥有区块链邮票的用户可以通过客户端账本将持有的邮票转账给其它邮票账本,转账方式为普通的区块链转账操作,不在本专利描述范畴。转账成功之后,转账者账本地址对应的余量映射表中邮票数量减少转移量,接收者的账本地址对应的余量映射表中邮票数量新建记录或者增加转移量,如果是第一次接收则新增记录,否则增加邮票数量。
邮票可以实现客户端与服务器之间以及不同服务器之间收发邮件的可信识别与服务服务费用记账,因此将支付邮票的一方定义为邮票使用者,接收邮票的一方定义为邮票接收者,邮票使用者和邮票接收者可以任何拥有邮票账本的任何系统,不限于邮票客户端和邮票服务器,可以是其它智能合约或者IT系统。
当邮票使用者在余量映射表拥有映射数据之后,并不能直接用于邮箱服务,需要将余量表中的邮票数量转转帐到激活映射表中。只有邮票使用者的账本地址在激活映射表中存在对应的邮票数量数据之后,邮箱服务器者才能够为其提供服务。邮票使用者也可以通过其它渠道增加激活映射表的邮票数量数值,不是必须首先拥有余量映射表数据,增加激活映射表数据的方式可以是互联网方式,也可以通过区块链账本或者其它区块链智能合约,该方式不在本专利讨论范围。
邮票使用:
当邮票使用者在激活映射表中拥有邮票数量的数据之后,则可以使用邮箱客户端收发邮件,邮箱客户端可以是互联网邮箱,也可以是区块链邮箱,只需满足邮票账本私钥对贴邮票请求进行签名即可。邮票使用者与邮票接收者均对应邮箱服务系统和邮票系统,邮箱服务系统负责收发邮件,邮票服务系统负责邮票的发送与接收。
贴邮票请求数据结构为:
邮票地址;
使用者地址;
接收者地址;
累积未兑付数;
累积兑付数;
Unix时间;
本次支付数;
邮件唯一标识;
数字签名。
接收者账本本地存储数据结构为:
兑付映射表:【使用者地址】=累积兑付数;
激活映射表:【使用者地址】=邮票数量。
在邮票使用者发送邮件到邮票接收者对应的邮箱服务系统之前,需要首先发送贴邮票请求到邮票接收者对应的邮票服务系统,其中邮票地址:即为前文已经定义的邮票地址;使用者地址:为邮票使用者的区块链邮箱账本的地址;接收者地址:接收本次邮票的区块链邮箱账本地址,接收邮票的系统可以与邮件系统在统一环境下运行,也可以分别运行在不同的系统中,由接收者告知邮票服务系统有关的邮件支付状态;累积未兑付数:该字段描述了累积的尚未兑付的邮票的数量,当贴邮票请求发送给邮票接收者之后,邮票接收者可以直接到区块链上的邮票合约进行兑付,也可以暂时不执行兑付函数,而是将邮票积累到一定的数量之后再去兑付,何时兑付取决于邮票接收者的系统设计,可以按时间周期兑付,也可以按照累积量阈值兑付,此阈值参数不在本系统描述范围;累积兑付数:该值表示邮票使用者的邮箱账本地址在邮票合约的兑付映射表中对应的累积兑付数;Unix时间:发送该请求时的Unix时间戳,本字段用于数据排序和防止重放攻击;本次支付数:取决于本次发送的邮票的数量,如果是多封邮件发送,则需要贴多张邮票,也可以是在前一张邮票发送失败的情况下,尝试重新发送前一张邮票与本次邮票,即可以累积发送本次邮件的邮票和之前发送失败的邮票的;邮件唯一标识:表示需要支付费用的邮件的唯一标识,方便邮箱服务提供者为响应的邮件标识正确的支付状态;数字签名:邮票使用者区块链账本私钥对以上信息的数字签名。
收邮票响应数据结构为:
贴邮票请求;
Unix时间;
数字签名。
使用者账本本地存储数据结构为:
兑付映射表:【使用者地址】=累积兑付数;
激活映射表:【使用者地址】=邮票数量。
当邮票接收者收到贴邮票的请求之后,需要对该请求发送响应数据。贴邮票请求:邮票接收者发送的原始的请求数据,不做任何修改的复制到【收邮票响应】中;Unix时间:该数据生成时的服务器Unix时间戳;数字签名:通过邮票接收者的区块链邮箱账本的私钥,以上数据进行的签名。
对于邮票接收者的邮票服务系统,需要实时检测区块链上邮票合约发生的变动,并及时更新邮票服务系统的使用者账本本地存储数据,此设计是为了避免每次贴邮票请求的处理都要去同步区块链数据。
对于邮票使用者的邮票服务系统,如果该邮票使用者邮箱服务系统为邮箱服务器,则可以实时监控区块链上发生的变动,并及时更新本地存储数据。如果该邮箱服务系统为邮箱客户端,则可以根据邮票接收者的提示进行区块链查询,也可以定时查询或者在系统启动时查询,其查询方式不受限制。
优选地,所述反垃圾邮件系统发送邮件的具体流程包括:
S1.1:邮票使用者的邮件服务系统准备好要发送的邮件之后,将邮件的唯一标识和邮件接收者对应的邮票服务系统信息发送到邮票使用者的邮票服务系统,其中邮件接收者的邮票服务系统信息包括邮票地址和接收者地址;邮票接收者对应的邮票服务系统信息获取方式由邮票接收者在发行邮票的时候公告,邮票使用者通过互联网网站或者区块链智能合约等方式获取,该信息获取方式不在本专利讨论范围。
S1.2:邮票使用者根据邮票接收者的邮票服务系统信息中的接收者地址,首先检查本地存储的最新的收邮票响应字段,如果本地存在该收邮票响应字段,则流程跳转到S1.5,否则向邮票接收者的邮票服务系统查询最新的收邮票响应字段;如果查询失败,则提示错误信息,流程结束;如果查询成功,则将此收邮票响应字段作为最新的数据存储在本邮票服务系统,并以此数据为基础进行贴邮票的操作。
S1.3:邮票使用者通过邮票账本查询邮票合约中关于邮票接收者地址的信息,并以该信息更新邮票接收者账本本地存储的数据,然后流程跳转到S1.5。
S1.4:当邮票接收者的邮票服务系统接收到查询收邮票响应的请求时,根据邮票使用者提供的使用者地址,查询本地存储的最新的收邮票响应数据,如果存在该数据,则跳转到S1.5;否则查询使用者账本本地存储中的数据,如果该使用者账本本地存储中的数据中的激活映射表不存在邮票使用者地址对应的数据,或者数据为0,则发送非授权用户的响应数据给邮票使用者邮票服务系统,流程跳转结束;否则,检测使用者账本本地存储中的兑付映射表关于该邮票使用者地址的数据,如果兑付映射表中不存在该邮票使用者地址的数据,则新建一条兑付映射表数据,并将累积兑付数设置为0,然后创建一条默认收邮票响应数据,并将该默认收邮票响应数据存储在本邮票服务系统中,同时将该默认收邮票响应数据发送给邮票接收者的邮票服务系统。
此默认收邮票响应数据构造如下:
Unix时间:当前的服务器Unix时间戳;
贴邮票请求:
{
邮票地址:传入的邮票地址,
使用者地址:邮票使用者的区块链邮箱账本地址,
接收者地址:传入的接收者地址,
累积未兑付数:0,
累积兑付数:0,
Unix时间:0,
本次支付数:0
邮件唯一标识:空,
数字签名:“xxxxxx”(系统自定义的字符串常量,所有空响应均使用该常数值)
}
S1.5:邮票使用者对本地存储或者最新接收到的收邮票响应数据进行检查,如果该收邮票响应数据的贴邮票请求的数字签名为系统自定义常量,则说明此次为第一次系统交互,流程跳转到S1.6;否则,根据该收邮票响应数据中的贴邮票请求的数字签名和传入的接收者地址参数,对该数字签名进行签名验证,如果验证失败,提示错误,流程结束;
S1.6:根据本地存储的收邮票响应和接收者账本本地存储,进行贴邮票操作,其中邮票地址为邮票接收者发行的邮票智能合约的区块链地址;使用者地址为邮票使用者的区块链邮票账本地址;接收者地址为邮票接收者的区块链邮票账本地址;累积未兑付数的数值为本地存储或者最新获取的收邮票响应字段中的累积未兑付数加收邮票响应字段中的本次支付数;累积兑付数为接收者账本本地存储中的累积兑付数;Unix时间为当前系统时间的Unix时间戳;本次支付数为本次贴邮票请求需要消耗的邮票的数量,默认为1,如果某些邮件需要邮箱服务系统提供持久存储,邮箱用户需要将该邮件长久的存储在邮箱服务系统中,则将该本次支付数的值设置为大于1的数值,例如一张邮票表示存储该邮件1个月,则邮票使用者可以将该值设置为5,表示该邮票对应的邮件需要存储5个月;也可以将该值设置为0,表示所有持有该邮票的邮箱用户均可以使用对应的邮箱服务。该业务逻辑不在本专利讨论范围,本字段设计仅为丰富邮票服务系统的使用方式;邮件唯一标识为邮箱服务系统传入的、需要邮票接收者邮箱服务系统处理的邮件的唯一标识。
S1.7:邮票接收者邮票服务系统接收到贴邮票请求之后,做如下检查:a.校验邮票地址是否为本邮票服务系统发行的有效邮票;b.检查接收者地址是否为本邮票服务系统的邮票账本地址;c.检查Unix时间与本系统的Unix时间,如果Unix时间与本系统的Unix时间之间的时间差超过一定阈值,则认为是重放攻击或者DDOS攻击,该阈值由邮票接收者的邮票服务系统自定义;d.根据使用者地址与数字签名进行签名验证;如果以上检查失败,则向邮票使用者的邮票服务系统发送相关错误信息,流程结束。
S1.8:根据使用者地址,查询使用者账本本地存储关于该使用者地址的数据,如果不存在该使用者地址的数据,则向邮票使用者的邮票服务系统发送未授权用户的提示信息,流程结束;如果存在,则做如下校验:a.贴邮票请求中的累积兑付数是否等于使用者账本本地存储中兑付映射表的累积兑付数量,如果不相等,提示邮票使用者的邮票服务系统更新最新的邮票合约数据,流程跳转到S1.3;b.检查使用者账本本地存储中激活映射表的邮票数量是否大于贴邮票请求中的累积未兑付数加本次支付数的和,如果不大于,则发送余额不足的提示给邮票使用者的邮票服务系统,流程结束。
S1.9:根据贴邮票请求中的使用者地址,查询本地存储的最新的收邮票响应的数据,如果不存在该收邮票响应的数据,则按照S1.4的方式创建收邮票响应的数据并存储在本地邮票服务系统,将收到的贴邮票请求与本地存储的收邮票响应的信息进行校验:如果贴邮票请求中的累积未兑付数小于本地的收邮票响应中的累积未兑付数加收邮票响应中的本次支付数,则将本收邮票响应发送到邮票使用者的邮票服务系统,并提示邮票使用者的邮票服务系统以此最新的数据作为贴邮票操作的基础,重新发送贴邮票请求,流程转到S1.5。
S1.10:创建最新的收邮票响应字段,并将该最新的收邮票响应字段存储在本地邮票服务系统,同时将该最新的收邮票响应字段的数据发送到邮票接收者的邮票服务系统;同时将该最新的收邮票响应字段发送给邮票接收者的邮票服务系统,告知该邮票发送成功;该收邮票响应字段构造如下:
{
贴邮票请求:从邮票使用者接收到的贴邮票请求,
Unix时间:本邮票服务系统的Unix时间戳,
数字签名:邮票接收者的邮票服务系统邮票账本对应的私钥对以上信息的数字签名。
}
S1.11:邮票使用者的邮票服务系统收到邮票接收者的邮票服务系统发送的成功提示之后,更新本地邮票服务系统中该邮票接收者地址对应的收邮票响应,同时通知邮票使用者的邮箱服务系统发送该收邮票响应中邮件唯一标识对应的邮件到邮票接收者的邮箱服务系统。
S1.12:邮票接收者的邮箱服务系统在收到邮件后,首先通过邮票接收者的邮票服务系统,检查邮件对应的邮件唯一标识的支付状态,如果该邮件尚未支付邮票,则提示邮票接收者的邮箱服务系统需要首先支付区块链邮票才能接收该邮件,流程跳转到S1.1;否则存储该邮件并更新邮件相关的接收状态,同时通知邮票使用者的邮箱服务系统,邮件接收成功,流程结束。
邮票批量使用:
以上流程描述了邮票使用者与邮票接收者针对一封邮件的区块链邮票的使用方式,如果邮票使用者与邮票接收者有多封邮件进行并行的收发,尤其是邮票使用者与邮票接收者均为服务器的情况下,在使用该流程时,可以将贴邮票请求中的邮件唯一标识改为多封邮件的邮件唯一标识的组合,使用逗号作为分隔符,同时本次支付数字段也要根据邮票的相关要求和本次邮件唯一标识的数量进行运算,例如:1张区块链邮票标识一封邮件存储一个月,则5封邮件存储4个月的情况下,本次支付数为20。邮票是否支持批量发送,以及邮票的用途用法,在由邮票接收者发行邮票的时候,广告或者通知给邮票使用者,广告或者通知方式以及具体的批量用法描述不在本专利讨论范围。
邮票结算:
所述的基于区块链的反垃圾邮件系统还包括邮票结算单元,当某邮票使用者的累积未兑付数达到阈值之后,或者邮票接收者的邮票服务系统的时间阈值满足后,邮票接收者可以使用所述的邮票结算单元通过邮票合约的兑换函数,将未兑付的邮票在区块链上进行兑付,以上阈值的设定根据不在本专利讨论范围。
所述的邮票结算单元将未兑付的邮票在区块链上进行兑付的具体流程包括:
S2.1:邮票接收者的邮票服务系统进入结算状态后,不再接收新的关于正在结算的邮票使用者发送的贴邮票请求,如果此时有新的贴邮票请求发送到本邮票服务系统,则提示本邮票服务系统正在结算操作到邮票使用者的邮票服务系统,当邮票使用者的邮票服务系统接收到该提示之后,需要等待5分钟后再次尝试发送贴邮票请求。
S2.2:邮票接收者的邮票服务系统选择需要结算的邮票使用者的最新的收邮票响应,通过邮票接收者的区块链邮票账本,将该最新的收邮票响应发送到邮票合约并调用兑付函数;该兑付函数接收到收邮票响应的数据后,首先检查发起该调用的邮票账本地址是否在邮票合约的操作员地址列表中,如果不存在,则提示无操作权限,流程结束。
S2.3:根据邮票接收者的区块链邮票账本地址与收邮票响应的数字签名进行签名验证,如果验证失败,则提示无效的收邮票响应,流程结束。
S2.4:提取收邮票响应中的贴邮票请求的数据,检查贴邮票请求中的累积兑付数与邮票合约中的兑付映射表中,关于该贴邮票请求中的接收者地址对应的累积兑付数是否一致,如果不一致,则提示无效邮票响应,流程结束。
S2.5:将贴邮票请求中的累积未兑付数与本次支付数相加,得到的和定义为兑付额;比较兑付额与邮票合约中的激活映射表中关于该接收者地址的邮票数量,如果兑付额大于邮票合约中的激活映射表中关于该接收者地址的邮票数量,则提示余额不足,流程结束。
S2.6:将邮票合约中的激活映射表中关于贴邮票请求的接收者地址的邮票数量减去兑付额,累积映射表中关于该接收者地址的累积兑付额增加兑付额,余量映射表中关于该接收者地址的邮票数量增加兑付额,提示该兑付函数操作成功。
S2.7:邮票接收者的邮票服务系统等待区块链打包成功,如果打包失败,则流程跳转到S2.1,如果失败次数超过一定阈值,提示管理处理异常;如果打包成功,可以主动更新本地邮票服务系统的使用者账本本地存储,也可以不主动通知,而是通过持续运行后台进程实时监控区块链上邮票合约的数据变动,该方式不在本专利做限定。同时解除关于收邮票响应中使用者地址对应的结算状态,允许该邮票使用者发送贴邮票请求,流程选择新的使用者进入结算状态,流程跳转到S2.1,否则流程结束。
以上描述了本发明优选实施方式,然其并非用以限定本发明。本领域技术人员对在此公开的实施方案可进行并不偏离本发明范畴和精神的改进和变化。
Claims (10)
1.一种基于区块链的反垃圾邮件系统,其特征在于,所述的基于区块链的反垃圾邮件系统包括区块链邮票初始化单元、邮票获取与激活单元和邮票使用单元;所述的区块链邮票初始化单元包括邮票账本创建模块和邮票发行模块;所述的邮票账本创建模块用于通过区块链账本技术,使用口令或者助记词生成区块链邮票账本,该区块链邮票账本负责管理私钥、区块链地址与邮票余额;所述的邮票发行模块用于通过区块链邮票账本创建一个区块链邮票智能合约,即邮票合约;并在区块链上生成一个区块链智能合约地址,即邮票地址;所述的邮票获取与激活单元用于在使用区块链邮票之前为邮箱客户端创建邮票账本,在邮箱用户通过邮票发行渠道获取区块链邮票成功之后,如果是该邮箱用户的邮箱账本地址第一次获取该区块链邮票,则在该区块链邮票对应的邮票合约中,余量映射表新增一条记录,否则余量映射表中本邮票账本地址对应的邮票数量增加新获取的邮票数量;同时已经拥有区块链邮票的用户能够通过客户端账本将持有的区块链邮票转账给接收者的邮票账本,转账方式为普通的区块链转账操作;转账成功之后,转账者账本地址对应的余量映射表中邮票数量减少转移量,接收者的账本地址对应的余量映射表中邮票数量新建记录或者增加转移量,如果是第一次接收则新增记录,否则增加邮票数量;邮票用于实现客户端与服务器之间以及不同服务器之间收发邮件的可信识别与服务费用记账;所述的邮票使用单元用于在邮票使用者发送邮件到邮票接收者对应的邮箱服务系统之前,首先发送贴邮票请求到邮票接收者对应的邮票服务系统,其中使用者地址为邮票使用者的区块链邮箱账本的地址;接收者地址为接收本次邮票的区块链邮箱账本地址。
2.根据权利要求1所述的基于区块链的反垃圾邮件系统,其特征在于,接收邮票的系统与邮件系统在统一环境下运行。
3.根据权利要求1所述的基于区块链的反垃圾邮件系统,其特征在于,接收邮票的系统与邮件系统分别运行在不同的系统中,由邮票接收者告知邮票服务系统有关的邮件支付状态;通过字段累积未兑付数描述累积的尚未兑付的邮票的数量,当贴邮票请求发送给邮票接收者之后,邮票接收者直接到区块链上的邮票合约进行兑付,或暂时不执行兑付函数,而是将邮票积累到一定的数量之后再去兑付,何时兑付取决于邮票接收者的系统设计;当邮票接收者收到贴邮票的请求之后,需要对该请求发送响应数据;邮票接收者发送的原始的请求数据,不做任何修改地复制到收邮票响应字段中。
4.根据权利要求3所述的基于区块链的反垃圾邮件系统,其特征在于,将邮票积累到一定的数量之后再去兑付包括按时间周期兑付或按照累积量阈值兑付。
5.根据权利要求1所述的基于区块链的反垃圾邮件系统,其特征在于,对于邮票接收者的邮票服务系统,需要实时检测区块链上邮票合约发生的变动,并及时更新邮票服务系统的使用者账本本地存储数据,避免每次贴邮票请求的处理都要去同步区块链数据。
6.根据权利要求1所述的基于区块链的反垃圾邮件系统,其特征在于,对于邮票使用者的邮票服务系统,如果该邮票使用者的邮箱服务系统为邮箱服务器,则实时监控区块链上发生的变动,并及时更新本地存储数据;如果该邮票使用者的邮箱服务系统为邮箱客户端,则根据邮票接收者的提示进行区块链查询,或定时查询,或者在系统启动时查询。
7.根据权利要求1所述的基于区块链的反垃圾邮件系统,其特征在于,所述反垃圾邮件系统发送邮件的具体流程包括:
S1.1: 邮票使用者的邮件服务系统准备好要发送的邮件之后,将邮件的唯一标识和邮件接收者对应的邮票服务系统信息发送到邮票使用者的邮票服务系统,其中邮件接收者的邮票服务系统信息包括邮票地址和接收者地址;邮票接收者对应的邮票服务系统信息获取方式由邮票接收者在发行邮票的时候公告,邮票使用者通过互联网网站或者区块链智能合约方式获取;
S1.2: 邮票使用者根据邮票接收者的邮票服务系统信息中的接收者地址,首先检查本地存储的最新的收邮票响应字段,如果本地存在该收邮票响应字段,则流程跳转到S1.5,否则向邮票接收者的邮票服务系统查询最新的收邮票响应字段;如果查询失败,则提示错误信息,流程结束;如果查询成功,则将此收邮票响应字段作为最新的数据存储在本邮票服务系统,并以此数据为基础进行贴邮票的操作;
S1.3: 邮票使用者通过邮票账本查询邮票合约中关于邮票接收者地址的信息,并以该信息更新邮票接收者账本本地存储的数据,然后流程跳转到S1.5;
S1.4: 当邮票接收者的邮票服务系统接收到查询收邮票响应的请求时,根据邮票使用者提供的使用者地址,查询本地存储的最新的收邮票响应数据,如果存在该数据,则跳转到S1.5;否则查询使用者账本本地存储中的数据,如果该使用者账本本地存储中的数据中的激活映射表不存在邮票使用者地址对应的数据,或者数据为0,则发送非授权用户的响应数据给邮票使用者邮票服务系统,流程跳转结束;否则,检测使用者账本本地存储中的兑付映射表关于该邮票使用者地址的数据,如果兑付映射表中不存在该邮票使用者地址的数据,则新建一条兑付映射表数据,并将累积兑付数设置为0,然后创建一条默认收邮票响应数据,并将该默认收邮票响应数据存储在本邮票服务系统中,同时将该默认收邮票响应数据发送给邮票接收者的邮票服务系统;
S1.5: 邮票使用者对本地存储或者最新接收到的收邮票响应数据进行检查,如果该收邮票响应数据的贴邮票请求的数字签名为系统自定义常量,则说明此次为第一次系统交互,流程跳转到S1.6;否则,根据该收邮票响应数据中的贴邮票请求的数字签名和传入的接收者地址参数,对该数字签名进行签名验证,如果验证失败,提示错误,流程结束;
S1.6: 根据本地存储的收邮票响应和接收者账本本地存储,进行贴邮票操作,其中邮票地址为邮票接收者发行的邮票智能合约的区块链地址;使用者地址为邮票使用者的区块链邮票账本地址;接收者地址为邮票接收者的区块链邮票账本地址;累积未兑付数的数值为本地存储或者最新获取的收邮票响应字段中的累积未兑付数加收邮票响应字段中的本次支付数;累积兑付数为接收者账本本地存储中的累积兑付数;Unix时间为当前系统时间的Unix时间戳;本次支付数为本次贴邮票请求需要消耗的邮票的数量,默认为1,如果某些邮件需要邮箱服务系统提供持久存储,邮箱用户需要将该邮件长久的存储在邮箱服务系统中,则将该本次支付数的值设置为大于1的数值,邮件唯一标识为邮箱服务系统传入的、需要邮票接收者邮箱服务系统处理的邮件的唯一标识;
S1.7: 邮票接收者邮票服务系统接收到贴邮票请求之后,做如下检查:a.校验邮票地址是否为本邮票服务系统发行的有效邮票;b.检查接收者地址是否为本邮票服务系统的邮票账本地址;c.检查Unix时间与本系统的Unix时间,如果Unix时间与本系统的Unix时间之间的时间差超过一定阈值,则认为是重放攻击或者DDOS攻击,该阈值由邮票接收者的邮票服务系统自定义;d.根据使用者地址与数字签名进行签名验证;如果以上检查失败,则向邮票使用者的邮票服务系统发送相关错误信息,流程结束;
S1.8:根据使用者地址,查询使用者账本本地存储关于该使用者地址的数据,如果不存在该使用者地址的数据,则向邮票使用者的邮票服务系统发送未授权用户的提示信息,流程结束;如果存在,则做如下校验:a.贴邮票请求中的累积兑付数是否等于使用者账本本地存储中兑付映射表的累积兑付数量,如果不相等,提示邮票使用者的邮票服务系统更新最新的邮票合约数据,流程跳转到S1.3;b.检查使用者账本本地存储中激活映射表的邮票数量是否大于贴邮票请求中的累积未兑付数加本次支付数的和,如果不大于,则发送余额不足的提示给邮票使用者的邮票服务系统,流程结束;
S1.9:根据贴邮票请求中的使用者地址,查询本地存储的最新的收邮票响应的数据,如果不存在该收邮票响应的数据,则按照S1.4的方式创建收邮票响应的数据并存储在本地邮票服务系统,将收到的贴邮票请求与本地存储的收邮票响应的信息进行校验:如果贴邮票请求中的累积未兑付数小于本地的收邮票响应中的累积未兑付数加收邮票响应中的本次支付数,则将本收邮票响应发送到邮票使用者的邮票服务系统,并提示邮票使用者的邮票服务系统以此最新的数据作为贴邮票操作的基础,重新发送贴邮票请求,流程转到S1.5;
S1.10:创建最新的收邮票响应字段,并将该最新的收邮票响应字段存储在本地邮票服务系统,同时将该最新的收邮票响应字段的数据发送到邮票接收者的邮票服务系统;同时将该最新的收邮票响应字段发送给邮票接收者的邮票服务系统,告知该邮票发送成功;
S1.11:邮票使用者的邮票服务系统收到邮票接收者的邮票服务系统发送的成功提示之后,更新本地邮票服务系统中该邮票接收者地址对应的收邮票响应,同时通知邮票使用者的邮箱服务系统发送该收邮票响应中邮件唯一标识对应的邮件到邮票接收者的邮箱服务系统;
S1.12:邮票接收者的邮箱服务系统在收到邮件后,首先通过邮票接收者的邮票服务系统,检查邮件对应的邮件唯一标识的支付状态,如果该邮件尚未支付邮票,则提示邮票接收者的邮箱服务系统需要首先支付区块链邮票才能接收该邮件,流程跳转到S1.1;否则存储该邮件并更新邮件相关的接收状态,同时通知邮票使用者的邮箱服务系统,邮件接收成功,流程结束。
8.根据权利要求1所述的基于区块链的反垃圾邮件系统,其特征在于,所述的基于区块链的反垃圾邮件系统还包括邮票批量使用单元,如果邮票使用者与邮票接收者有多封邮件进行并行的收发,所述的邮票批量使用单元用于将贴邮票请求中的邮件唯一标识改为多封邮件的邮件唯一标识的组合,使用逗号作为分隔符,同时根据邮票的要求和本次邮件唯一标识的数量对本次支付数字段进行运算;邮票是否支持批量发送,以及邮票的用途用法,由邮票接收者在发行邮票的时候,广告或者通知给邮票使用者。
9.根据权利要求1所述的基于区块链的反垃圾邮件系统,其特征在于,所述的基于区块链的反垃圾邮件系统还包括邮票结算单元,当某邮票使用者的累积未兑付数达到阈值之后,或者邮票接收者的邮票服务系统的时间阈值满足后,邮票接收者使用所述的邮票结算单元通过邮票合约的兑换函数,将未兑付的邮票在区块链上进行兑付。
10.根据权利要求9所述的基于区块链的反垃圾邮件系统,其特征在于,所述的邮票结算单元将未兑付的邮票在区块链上进行兑付的具体流程包括:
S2.1:邮票接收者的邮票服务系统进入结算状态后,不再接收新的关于正在结算的邮票使用者发送的贴邮票请求,如果此时有新的贴邮票请求发送到本邮票服务系统,则提示本邮票服务系统正在结算操作到邮票使用者的邮票服务系统,当邮票使用者的邮票服务系统接收到该提示之后,需要等待5分钟后再次尝试发送贴邮票请求;
S2.2:邮票接收者的邮票服务系统选择需要结算的邮票使用者的最新的收邮票响应,通过邮票接收者的区块链邮票账本,将该最新的收邮票响应发送到邮票合约并调用兑付函数;该兑付函数接收到收邮票响应的数据后,首先检查发起该调用的邮票账本地址是否在邮票合约的操作员地址列表中,如果不存在,则提示无操作权限,流程结束;
S2.3: 根据邮票接收者的区块链邮票账本地址与收邮票响应的数字签名进行签名验证,如果验证失败,则提示无效的收邮票响应,流程结束;
S2.4: 提取收邮票响应中的贴邮票请求的数据,检查贴邮票请求中的累积兑付数与邮票合约中的兑付映射表中关于该贴邮票请求中的接收者地址对应的累积兑付数是否一致,如果不一致,则提示无效邮票响应,流程结束;
S2.5: 将贴邮票请求中的累积未兑付数与本次支付数相加,得到的和定义为兑付额;比较兑付额与邮票合约中的激活映射表中关于该接收者地址的邮票数量,如果兑付额大于邮票合约中的激活映射表中关于该接收者地址的邮票数量,则提示余额不足,流程结束;
S2.6:将邮票合约中的激活映射表中关于贴邮票请求的接收者地址的邮票数量减去兑付额,累积映射表中关于该接收者地址的累积兑付额增加兑付额,余量映射表中关于该接收者地址的邮票数量增加兑付额,提示该兑付函数操作成功;
S2.7: 邮票接收者的邮票服务系统等待区块链打包成功,如果打包失败,则流程跳转到S2.1,如果失败次数超过一定阈值,提示管理处理异常;如果打包成功,主动更新本地邮票服务系统的使用者账本本地存储,或者不主动通知,而是通过持续运行后台进程实时监控区块链上邮票合约的数据变动;同时解除关于收邮票响应中使用者地址对应的结算状态,允许该邮票使用者发送贴邮票请求,流程选择新的使用者进入结算状态,流程跳转到S2.1,否则流程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310236255.7A CN117278192B (zh) | 2023-03-13 | 2023-03-13 | 一种基于区块链的反垃圾邮件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310236255.7A CN117278192B (zh) | 2023-03-13 | 2023-03-13 | 一种基于区块链的反垃圾邮件系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117278192A CN117278192A (zh) | 2023-12-22 |
CN117278192B true CN117278192B (zh) | 2024-04-19 |
Family
ID=89220253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310236255.7A Active CN117278192B (zh) | 2023-03-13 | 2023-03-13 | 一种基于区块链的反垃圾邮件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117278192B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035015A (zh) * | 2018-06-26 | 2018-12-18 | 广东邮政邮件快件服务有限公司 | 一种基于区块链的邮票交易方法 |
CN113272850A (zh) * | 2018-10-29 | 2021-08-17 | 强力交易投资组合2018有限公司 | 自适应智能共享基础设施借贷交易支持平台 |
CN115277753A (zh) * | 2022-07-06 | 2022-11-01 | 上海万向区块链股份公司 | 基于区块链的数字邮票系统、方法及介质 |
-
2023
- 2023-03-13 CN CN202310236255.7A patent/CN117278192B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035015A (zh) * | 2018-06-26 | 2018-12-18 | 广东邮政邮件快件服务有限公司 | 一种基于区块链的邮票交易方法 |
CN113272850A (zh) * | 2018-10-29 | 2021-08-17 | 强力交易投资组合2018有限公司 | 自适应智能共享基础设施借贷交易支持平台 |
CN115277753A (zh) * | 2022-07-06 | 2022-11-01 | 上海万向区块链股份公司 | 基于区块链的数字邮票系统、方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117278192A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4717886B2 (ja) | 電子メールを規制する方法及びシステム | |
US20050193075A1 (en) | Method, apparatus and system for regulating electronic mail | |
US8209191B2 (en) | Methods and systems for linking an electronic address to a physical address of a customer | |
US20080235766A1 (en) | Apparatus and method for document certification | |
WO2005119487A1 (en) | Electronic message delivery with estimate approaches | |
TWI579795B (zh) | 電子郵件投遞認證方法 | |
AU2013223990B2 (en) | Method for the certification of data messages transmission to moblie terminals | |
CN110808841B (zh) | 基于区块链网络的通信系统及其通信方法 | |
CN117278192B (zh) | 一种基于区块链的反垃圾邮件系统 | |
US20050102526A1 (en) | System governing the sending and delivery of electronic mail using an eMstamp | |
US20060047762A1 (en) | Method of generating a certified email return receipt | |
US8069118B2 (en) | Mediated electronic messaging with value-added services | |
WO2003027933A1 (en) | A ticket and a method of billing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |